Example #1
0
    def __init__(self):
        super(PugdebugMainWindow, self).__init__()
        self.setObjectName("pugdebug")
        self.setWindowTitle("pugdebug")

        if has_setting("window/geometry"):
            self.restoreGeometry(get_setting("window/geometry"))

        self.file_browser = PugdebugFileBrowser()
        self.projects_browser = PugdebugProjectsBrowser()
        self.settings_window = PugdebugSettingsWindow(self)
        self.new_project_window = PugdebugNewProjectWindow(self)
        self.document_viewer = PugdebugDocumentViewer()
        self.variable_viewer = PugdebugVariableViewer()
        self.breakpoint_viewer = PugdebugBreakpointViewer()
        self.stacktrace_viewer = PugdebugStacktraceViewer()
        self.expression_viewer = PugdebugExpressionViewer()

        self.setCentralWidget(self.document_viewer)

        self.setup_gui_elements()

        if has_setting("window/state"):
            self.restoreState(get_setting("window/state"))

        if has_setting("current_project"):
            self.set_window_title(get_setting("current_project"))

        self.projects_browser.project_deleted_signal.connect(self.handle_project_deleted)
Example #2
0
    def __init__(self):
        super(PugdebugMainWindow, self).__init__()
        self.setObjectName("pugdebug")
        self.setWindowTitle("pugdebug")

        if has_setting("window/geometry"):
            self.restoreGeometry(get_setting("window/geometry"))

        self.file_browser = PugdebugFileBrowser()
        self.projects_browser = PugdebugProjectsBrowser()
        self.settings_window = PugdebugSettingsWindow(self)
        self.new_project_window = PugdebugNewProjectWindow(self)
        self.document_viewer = PugdebugDocumentViewer()
        self.variable_viewer = PugdebugVariableViewer()
        self.breakpoint_viewer = PugdebugBreakpointViewer()
        self.stacktrace_viewer = PugdebugStacktraceViewer()
        self.expression_viewer = PugdebugExpressionViewer()
        self.file_search_window = PugdebugFileSearchWindow(self)

        self.setCentralWidget(self.document_viewer)

        self.setup_gui_elements()

        if has_setting("window/state"):
            self.restoreState(get_setting("window/state"))

        if has_setting("current_project"):
            self.set_window_title(get_setting("current_project"))

        self.projects_browser.project_deleted_signal.connect(
            self.handle_project_deleted)
Example #3
0
    def handle_settings_changed(self, changed_settings):
        """Handle when settings have changed.

        Given argument is a set of settings's names which have been changed.
        """

        if has_setting('current_project'):
            project_name = get_setting('current_project')

            project = self.projects_browser.load_project_by_name(project_name)

            if project is not None:
                project.set_settings(changed_settings)

        changed_setting_keys = changed_settings.keys()

        if 'path/project_root' in changed_setting_keys:
            self.handle_project_root_changed()

        features = [
            'debugger/max_depth', 'debugger/max_children', 'debugger/max_data'
        ]

        if any(True for feature in features
               if feature in changed_setting_keys):
            self.handle_debugger_features_changed()
Example #4
0
    def handle_settings_changed(self, changed_settings):
        """Handle when settings have changed.

        Given argument is a set of settings's names which have been changed.
        """

        if has_setting('current_project'):
            project_name = get_setting('current_project')

            project = self.projects_browser.load_project_by_name(project_name)

            if project is not None:
                project.set_settings(changed_settings)

        changed_setting_keys = changed_settings.keys()

        if 'path/project_root' in changed_setting_keys:
            self.handle_project_root_changed()

        features = ['debugger/max_depth',
                    'debugger/max_children',
                    'debugger/max_data']

        if any(True for feature in features
               if feature in changed_setting_keys):
            self.handle_debugger_features_changed()
Example #5
0
    def get_settings(self):
        project_settings = {}

        for key in self.allKeys():
            if has_setting(key):
                project_settings[key] = self.value(key)

        return project_settings
Example #6
0
    def is_project_current(self):
        if has_setting("current_project"):
            current_project = get_setting("current_project")

            if current_project == self.get_project_name():
                return True

        return False
Example #7
0
    def get_settings(self):
        project_settings = {}

        for key in self.allKeys():
            if has_setting(key):
                project_settings[key] = self.value(key)

        return project_settings
Example #8
0
    def is_project_current(self):
        if has_setting('current_project'):
            current_project = get_setting('current_project')

            if current_project == self.get_project_name():
                return True

        return False
Example #9
0
    def restore_state(self):
        """Load expressions from settings"""
        expressions = []

        if has_setting('expressions_viewer/expressions'):
            expressions = get_setting('expressions_viewer/expressions')

        if expressions is not None:
            for expression in expressions:
                self.add_expression(expression)
Example #10
0
    def restore_state(self):
        """Load expressions from settings"""
        expressions = []

        if has_setting('expressions_viewer/expressions'):
            expressions = get_setting('expressions_viewer/expressions')

        if expressions is not None:
            for expression in expressions:
                self.add_expression(expression)
Example #11
0
 def load_settings(self):
     """Loads all settings from QSettings into the form"""
     for name, widget in self.form.widgets.items():
         value = get_setting(name) if has_setting(name) \
             else get_default_setting(name)
         self.form.set_widget_value(widget, value)