def loadSettings(self): ''' Load the settings from the settings instance to the local dict ''' for key in self.keys: Preferences.updateKeyValue( key, self.settings.value(key, defaultValue=None, type=str)) self.ensureValidData() self.ui.radioButtonAffectsPDF.setChecked( toBool(Preferences.data["radioButtonAffectsPDF"])) self.ui.comboBoxThemeSelect.setCurrentIndex( int(Preferences.data["comboBoxThemeSelect"])) self.receiversInst.setComboBoxThemeSelect( int(Preferences.data["comboBoxThemeSelect"])) self.ui.radioButtonUsePenAsDefault.setChecked( toBool(Preferences.data["radioButtonUsePenAsDefault"])) self.ui.radioButtonSmoothLines.setChecked( toBool(Preferences.data["radioButtonSmoothLines"])) self.ui.radioButtonSaveOnExit.setChecked( toBool(Preferences.data["radioButtonSaveOnExit"])) self.ui.comboBoxAutosaveMode.setCurrentIndex( int(Preferences.data["comboBoxAutosaveMode"])) self.ui.radioButtonNoInteractionWhileEditing.setChecked( toBool(Preferences.data["radioButtonNoInteractionWhileEditing"]))
def onQApplicationQuit(self): ''' Executed immediately when Application stops ''' Preferences.updateKeyValue('geometry', self.MainWindow.saveGeometry()) Preferences.updateKeyValue('state', self.MainWindow.saveState()) self.ui.graphicsView.terminate() self.receiversInst.terminate() self.preferencesGui.terminate() try: # Cleanup the eventually mess if Path.is_file(self.newPdf): Path.unlink(self.newPdf) except PermissionError as identifier: print(identifier)
def restoreDefaults(self): ''' Restores defaults for certain edit components ''' black = (0, 0, 0) yellow = (1, 1, 0) # restore defaults for better ux Preferences.updateKeyValue('freehandColor', tuple(map(lambda x: str(x), black))) Preferences.updateKeyValue('markerColor', tuple(map(lambda x: str(x), yellow))) Preferences.updateKeyValue('formColor', tuple(map(lambda x: str(x), black))) self.settingsChanged.emit()
def ensureValidData(self): # Apply all default preferences if necessary if Preferences.data['radioButtonAffectsPDF'] == "": Preferences.updateKeyValue('radioButtonAffectsPDF', str(True)) if Preferences.data['comboBoxThemeSelect'] == "": Preferences.updateKeyValue('comboBoxThemeSelect', 1) if Preferences.data['radioButtonSmoothLines'] == "": Preferences.updateKeyValue('radioButtonSmoothLines', str(True)) if Preferences.data['radioButtonUsePenAsDefault'] == "": Preferences.updateKeyValue('radioButtonUsePenAsDefault', str(True)) if Preferences.data['comboBoxDrawingMode'] == "": Preferences.updateKeyValue('comboBoxDrawingMode', 0) if Preferences.data['radioButtonSaveOnExit'] == "": Preferences.updateKeyValue('radioButtonSaveOnExit', str(True)) if Preferences.data['comboBoxAutosaveMode'] == "": Preferences.updateKeyValue('comboBoxAutosaveMode', 0) if Preferences.data['radioButtonNoInteractionWhileEditing'] == "": Preferences.updateKeyValue('radioButtonNoInteractionWhileEditing', str(True)) if Preferences.data['textSize'] == "": Preferences.updateKeyValue('textSize', "('0', '0', '0')") if Preferences.data['markerSize'] == "": Preferences.updateKeyValue('markerSize', "70") if Preferences.data['markerColor'] == "": Preferences.updateKeyValue('markerColor', "('0', '0', '0')") if Preferences.data['freehandSize'] == "": Preferences.updateKeyValue('freehandSize', "70") if Preferences.data['freehandColor'] == "": Preferences.updateKeyValue('freehandColor', "('0', '0', '0')") if Preferences.data['formSize'] == "": Preferences.updateKeyValue('formSize', "70") if Preferences.data['formColor'] == "": Preferences.updateKeyValue('formColor', "('0', '0', '0')")
def storeLooseEntries(self): ''' Saves all entries, which have been entered without explicit confirmation ''' Preferences.updateKeyValue( "radioButtonAffectsPDF", str(self.ui.radioButtonAffectsPDF.isChecked())) Preferences.updateKeyValue( "comboBoxThemeSelect", str(self.ui.comboBoxThemeSelect.currentIndex())) Preferences.updateKeyValue( "radioButtonSmoothLines", str(self.ui.radioButtonSmoothLines.isChecked())) Preferences.updateKeyValue( "radioButtonUsePenAsDefault", str(self.ui.radioButtonSmoothLines.isChecked())) Preferences.updateKeyValue( "radioButtonSaveOnExit", int(self.ui.radioButtonSaveOnExit.isChecked())) Preferences.updateKeyValue( "comboBoxAutosaveMode", int(self.ui.comboBoxAutosaveMode.currentIndex())) Preferences.updateKeyValue( "radioButtonNoInteractionWhileEditing", str(self.ui.radioButtonNoInteractionWhileEditing.isChecked()))
def storeSliderValue(self): if self.sizeButton.isChecked(): if self.editMode == editModes.newTextBox: Preferences.updateKeyValue('textSize', self.slider.value()) elif self.editMode == editModes.marker: Preferences.updateKeyValue('markerSize', self.slider.value()) elif self.editMode == editModes.freehand: Preferences.updateKeyValue('freehandSize', self.slider.value()) elif self.editMode == editModes.forms: Preferences.updateKeyValue('formSize', self.slider.value()) elif self.colorButton.isChecked(): normRGB = colorsys.hsv_to_rgb(self.slider.value() / 100, 1, 1) if self.editMode == editModes.marker: Preferences.updateKeyValue( 'markerColor', tuple(map(lambda x: str(x), normRGB))) elif self.editMode == editModes.freehand: Preferences.updateKeyValue( 'freehandColor', tuple(map(lambda x: str(x), normRGB))) elif self.editMode == editModes.forms: Preferences.updateKeyValue( 'formColor', tuple(map(lambda x: str(x), normRGB))) self.settingsChanged.emit()