Ejemplo n.º 1
0
 def _readModelSettings(self,
                        reset=False,
                        show_routine_attributes=None,
                        show_special_attributes=None):
     """ Reads the persistent model settings .
         The persistent settings (show_routine_attributes, show_special_attributes) can be \
         overridden by giving it a True or False value.
         If reset is True and the setting is None, True is used as default.
     """
     default_sra = True
     default_ssa = True
     if reset:
         logger.debug("Resetting persistent model settings")
         if show_routine_attributes is None:
             show_routine_attributes = default_sra
         if show_special_attributes is None:
             show_special_attributes = default_ssa
     else:
         logger.debug("Reading model settings for window: {:d}".format(
             self._instance_nr))
         settings = QtCore.QSettings()
         settings.beginGroup(self._settings_group_name('model'))
         if show_routine_attributes is None:
             show_routine_attributes = setting_str_to_bool(
                 settings.value("show_routine_attributes", default_sra))
         if show_special_attributes is None:
             show_special_attributes = setting_str_to_bool(
                 settings.value("show_special_attributes", default_ssa))
         settings.endGroup()
         logger.debug("read show_routine_attributes: {!r}".format(
             show_routine_attributes))
         logger.debug("read show_special_attributes: {!r}".format(
             show_special_attributes))
     return (show_routine_attributes, show_special_attributes)
Ejemplo n.º 2
0
    def write_view_settings(self, key, settings=None):
        """ Writes the view settings to the persistent store
        """
        logger.debug("Writing view settings for: {}".format(key))

        if settings is None:
            settings = QtCore.QSettings()
        settings.setValue(key, self._horizontal_header().saveState())
Ejemplo n.º 3
0
 def _writeModelSettings(self):
     """ Writes the model settings to the persistent store
     """         
     logger.debug("Writing model settings for window: {:d}".format(self._instance_nr))
     
     settings = QtCore.QSettings()
     settings.beginGroup(self._settings_group_name('model'))
     logger.debug("writing show_routine_attributes: {!r}".format(self._tree_model.getShowCallables()))
     logger.debug("wrting show_special_attributes: {!r}".format(self._tree_model.getShowSpecialAttributes()))
     settings.setValue("show_routine_attributes", self._tree_model.getShowCallables())
     settings.setValue("show_special_attributes", self._tree_model.getShowSpecialAttributes())
     settings.endGroup()
Ejemplo n.º 4
0
 def _writeViewSettings(self):
     """ Writes the view settings to the persistent store
     """         
     logger.debug("Writing view settings for window: {:d}".format(self._instance_nr))
     
     settings = QtCore.QSettings()
     settings.beginGroup(self._settings_group_name('view'))
     self.obj_tree.write_view_settings("table/header_state", settings)
     settings.setValue("central_splitter/state", self.central_splitter.saveState())
     settings.setValue("details_button_idx", self.button_group.checkedId())
     settings.setValue("main_window/pos", self.pos())
     settings.setValue("main_window/size", self.size())
     settings.endGroup()
Ejemplo n.º 5
0
    def _readViewSettings(self, reset=False):
        """ Reads the persistent program settings
        
            :param reset: If True, the program resets to its default settings
        """
        pos = QtCore.QPoint(20 * self._instance_nr, 20 * self._instance_nr)
        window_size = QtCore.QSize(1024, 700)
        details_button_idx = 0

        header = self.obj_tree.header()
        header_restored = False

        if reset:
            logger.debug("Resetting persistent view settings")
        else:
            logger.debug("Reading view settings for window: {:d}".format(
                self._instance_nr))
            settings = QtCore.QSettings()
            settings.beginGroup(self._settings_group_name('view'))
            pos = settings.value("main_window/pos", pos)
            window_size = settings.value("main_window/size", window_size)
            details_button_idx = int(
                settings.value("details_button_idx", details_button_idx))
            self.central_splitter.restoreState(
                settings.value("central_splitter/state"))
            header_restored = self.obj_tree.read_view_settings(
                'table/header_state', settings, reset)
            settings.endGroup()

        if not header_restored:
            column_sizes = [col.width for col in self._attr_cols]
            column_visible = [col.col_visible for col in self._attr_cols]

            for idx, size in enumerate(column_sizes):
                if size > 0:  # Just in case
                    header.resizeSection(idx, size)

            for idx, visible in enumerate(column_visible):
                self.obj_tree.toggle_column_actions_group.actions(
                )[idx].setChecked(visible)

        self.resize(window_size)
        self.move(pos)
        button = self.button_group.button(details_button_idx)
        if button is not None:
            button.setChecked(True)
Ejemplo n.º 6
0
    def read_view_settings(self, key, settings=None, reset=False):
        """ Reads the persistent program settings
        
            :param reset: If True, the program resets to its default settings
            :returns: True if the header state was restored, otherwise returns False
        """
        logger.debug("Reading view settings for: {}".format(key))
        header_restored = False
        if not reset:
            if settings is None:
                settings = QtCore.QSettings()
            horizontal_header = self._horizontal_header()
            header_restored = horizontal_header.restoreState(
                settings.value(key))

            # update actions
            for col, action in enumerate(horizontal_header.actions()):
                is_checked = not horizontal_header.isSectionHidden(col)
                action.setChecked(is_checked)

        return header_restored