def testDefaultColors(self): # default color theme, default application theme QgsApplication.setUITheme('default') self.assertEqual(QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Keyword).name(), '#8959a8') # default colors should respond to application ui theme QgsApplication.setUITheme('Night Mapping') self.assertEqual(QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Keyword).name(), '#6cbcf7') # explicit theme, should override ui theme defaults self.assertEqual(QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Keyword, 'solarized').name(), '#b79b00') self.assertEqual(QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Keyword, 'solarized_dark').name(), '#6cbcf7')
def testFontSize(self): f = QgsCodeEditor().getMonospaceFont() self.assertEqual(f.pointSize(), 10) QgsSettings().setValue('codeEditor/fontsize', 14, QgsSettings.Gui) f = QgsCodeEditor().getMonospaceFont() self.assertEqual(f.pointSize(), 14)
def testFontFamily(self): f = QgsCodeEditor().getMonospaceFont() self.assertTrue(f.styleHint() & QFont.Monospace) QgsSettings().setValue('codeEditor/fontfamily', getTestFont().family(), QgsSettings.Gui) f = QgsCodeEditor().getMonospaceFont() self.assertEqual(f.family(), 'QGIS Vera Sans')
def testColors(self): QgsApplication.setUITheme('default') self.assertEqual(QgsCodeEditor.color(QgsCodeEditor.ColorRole.Keyword).name(), '#8959a8') QgsApplication.setUITheme('Night Mapping') self.assertEqual(QgsCodeEditor.color(QgsCodeEditor.ColorRole.Keyword).name(), '#6cbcf7') QgsSettings().setValue('codeEditor/colorScheme', 'solarized', QgsSettings.Gui) self.assertEqual(QgsCodeEditor.color(QgsCodeEditor.ColorRole.Keyword).name(), '#b79b00') QgsSettings().setValue('codeEditor/colorScheme', 'solarized_dark', QgsSettings.Gui) self.assertEqual(QgsCodeEditor.color(QgsCodeEditor.ColorRole.Keyword).name(), '#6cbcf7') QgsSettings().setValue('codeEditor/overrideColors', True, QgsSettings.Gui) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Keyword, QColor('#cc11bb')) self.assertEqual(QgsCodeEditor.color(QgsCodeEditor.ColorRole.Keyword).name(), '#cc11bb')
def _resetFontColor(self): self.defaultFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Default)) self.keywordFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Keyword)) self.classFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Class)) self.methodFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Method)) self.decorFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Decoration)) self.numberFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Number)) self.commentFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Comment)) self.commentBlockFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.CommentBlock)) self.paperBackgroundColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Background)) self.cursorColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Cursor)) self.caretLineColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.CaretLine)) self.singleQuoteFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.SingleQuote)) self.doubleQuoteFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.DoubleQuote)) self.tripleSingleQuoteFontColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.TripleSingleQuote)) self.tripleDoubleQuoteFontColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.TripleDoubleQuote)) self.marginBackgroundColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.MarginBackground)) self.marginForegroundColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.MarginForeground)) self.selectionBackgroundColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.SelectionBackground)) self.selectionForegroundColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.SelectionForeground)) self.matchedBraceBackgroundColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.MatchedBraceBackground)) self.matchedBraceForegroundColor.setColor( QgsCodeEditor.defaultColor( QgsCodeEditor.ColorRole.MatchedBraceForeground)) self.stderrFontColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Error)) self.edgeColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Edge)) self.foldColor.setColor( QgsCodeEditor.defaultColor(QgsCodeEditor.ColorRole.Fold))
def restoreSettings(self): settings = QgsSettings() font = QFontDatabase.systemFont(QFontDatabase.FixedFont) self.spinBox.setValue( settings.value("pythonConsole/fontsize", font.pointSize(), type=int)) self.fontComboBox.setCurrentFont( QFont(settings.value("pythonConsole/fontfamilytext", font.family()))) self.preloadAPI.setChecked( settings.value("pythonConsole/preloadAPI", True, type=bool)) self.lineEdit.setText( settings.value("pythonConsole/preparedAPIFile", "", type=str)) self.tokenGhLineEdit.setText( settings.value("pythonConsole/accessTokenGithub", "", type=str)) itemTable = settings.value("pythonConsole/userAPI", []) if itemTable: self.tableWidget.setRowCount(0) for i in range(len(itemTable)): self.tableWidget.insertRow(i) self.tableWidget.setColumnCount(2) pathSplit = itemTable[i].split("/") apiName = pathSplit[-1][0:-4] self.tableWidget.setItem(i, 0, QTableWidgetItem(apiName)) self.tableWidget.setItem(i, 1, QTableWidgetItem(itemTable[i])) self.autoSaveScript.setChecked( settings.value("pythonConsole/autoSaveScript", False, type=bool)) self.autoCompThreshold.setValue( settings.value("pythonConsole/autoCompThreshold", 2, type=int)) self.groupBoxAutoCompletion.setChecked( settings.value("pythonConsole/autoCompleteEnabled", True, type=bool)) self.enableObjectInspector.setChecked( settings.value("pythonConsole/enableObjectInsp", False, type=bool)) self.autoCloseBracket.setChecked( settings.value("pythonConsole/autoCloseBracket", False, type=bool)) self.autoInsertionImport.setChecked( settings.value("pythonConsole/autoInsertionImport", True, type=bool)) if settings.value("pythonConsole/autoCompleteSource") == 'fromDoc': self.autoCompFromDoc.setChecked(True) elif settings.value("pythonConsole/autoCompleteSource") == 'fromAPI': self.autoCompFromAPI.setChecked(True) elif settings.value( "pythonConsole/autoCompleteSource") == 'fromDocAPI': self.autoCompFromDocAPI.setChecked(True) # Setting font lexer color self.defaultFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Default)) self.keywordFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Keyword)) self.classFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Class)) self.methodFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Method)) self.decorFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Decoration)) self.numberFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Number)) self.commentFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Comment)) self.commentBlockFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.CommentBlock)) self.paperBackgroundColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Background)) self.cursorColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Cursor)) self.caretLineColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.CaretLine)) self.singleQuoteFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.SingleQuote)) self.doubleQuoteFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.DoubleQuote)) self.tripleSingleQuoteFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.TripleSingleQuote)) self.tripleDoubleQuoteFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.TripleDoubleQuote)) self.marginBackgroundColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.MarginBackground)) self.marginForegroundColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.MarginForeground)) self.selectionBackgroundColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.SelectionBackground)) self.selectionForegroundColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.SelectionForeground)) self.matchedBraceBackgroundColor.setColor( QgsCodeEditor.color( QgsCodeEditor.ColorRole.MatchedBraceBackground)) self.matchedBraceForegroundColor.setColor( QgsCodeEditor.color( QgsCodeEditor.ColorRole.MatchedBraceForeground)) self.stderrFontColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Error)) self.edgeColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Edge)) self.foldColor.setColor( QgsCodeEditor.color(QgsCodeEditor.ColorRole.Fold))
def saveSettings(self): settings = QgsSettings() settings.setValue("pythonConsole/preloadAPI", self.preloadAPI.isChecked()) settings.setValue("pythonConsole/autoSaveScript", self.autoSaveScript.isChecked()) settings.setValue("pythonConsole/accessTokenGithub", self.tokenGhLineEdit.text()) fontFamilyText = self.fontComboBox.currentText() settings.setValue("pythonConsole/fontfamilytext", fontFamilyText) fontSize = self.spinBox.value() for i in range(0, self.tableWidget.rowCount()): text = self.tableWidget.item(i, 1).text() self.listPath.append(text) settings.setValue("pythonConsole/fontsize", fontSize) settings.setValue("pythonConsole/userAPI", self.listPath) settings.setValue("pythonConsole/autoCompThreshold", self.autoCompThreshold.value()) settings.setValue("pythonConsole/autoCompleteEnabled", self.groupBoxAutoCompletion.isChecked()) settings.setValue("pythonConsole/usePreparedAPIFile", self.groupBoxPreparedAPI.isChecked()) settings.setValue("pythonConsole/preparedAPIFile", self.lineEdit.text()) if self.autoCompFromAPI.isChecked(): settings.setValue("pythonConsole/autoCompleteSource", 'fromAPI') elif self.autoCompFromDoc.isChecked(): settings.setValue("pythonConsole/autoCompleteSource", 'fromDoc') elif self.autoCompFromDocAPI.isChecked(): settings.setValue("pythonConsole/autoCompleteSource", 'fromDocAPI') settings.setValue("pythonConsole/enableObjectInsp", self.enableObjectInspector.isChecked()) settings.setValue("pythonConsole/autoCloseBracket", self.autoCloseBracket.isChecked()) settings.setValue("pythonConsole/autoInsertionImport", self.autoInsertionImport.isChecked()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Default, self.defaultFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Class, self.classFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Keyword, self.keywordFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Decoration, self.decorFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Number, self.numberFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Method, self.methodFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Comment, self.commentFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.CommentBlock, self.commentBlockFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Background, self.paperBackgroundColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Cursor, self.cursorColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.CaretLine, self.caretLineColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Error, self.stderrFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.SingleQuote, self.singleQuoteFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.DoubleQuote, self.doubleQuoteFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.TripleSingleQuote, self.tripleSingleQuoteFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.TripleDoubleQuote, self.tripleDoubleQuoteFontColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Edge, self.edgeColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.MarginBackground, self.marginBackgroundColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.MarginForeground, self.marginForegroundColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.Fold, self.foldColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.SelectionBackground, self.selectionBackgroundColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.SelectionForeground, self.selectionForegroundColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.MatchedBraceBackground, self.matchedBraceBackgroundColor.color()) QgsCodeEditor.setColor(QgsCodeEditor.ColorRole.MatchedBraceForeground, self.matchedBraceForegroundColor.color())