def __init__(self, main): QWidget.__init__(self) self._main = main vbox = QVBoxLayout(self) groupBoxTypo = QGroupBox('Typography:') groupBoxScheme = QGroupBox('Scheme Color:') #Settings settings = QSettings() settings.beginGroup('preferences') settings.beginGroup('editor') #Typo gridTypo = QGridLayout(groupBoxTypo) self.btnEditorFont = QPushButton( settings.value('font', 'Monospace, 11').toString()) gridTypo.addWidget(QLabel('Editor Font:'), 0, 0, Qt.AlignRight) gridTypo.addWidget(self.btnEditorFont, 0, 1) #Scheme hbox = QHBoxLayout(groupBoxScheme) self.listScheme = QListWidget() self.listScheme.addItem('default') self.schemes = loader.load_editor_skins() for item in self.schemes: self.listScheme.addItem(item) items = self.listScheme.findItems( settings.value('scheme', '').toString(), Qt.MatchExactly) if items: self.listScheme.setCurrentItem(items[0]) else: self.listScheme.setCurrentRow(0) hbox.addWidget(self.listScheme) settings.endGroup() settings.endGroup() vbox.addWidget(groupBoxTypo) vbox.addWidget(groupBoxScheme) vbox.addWidget(QLabel('Scheme Color requires restart.')) #Signals self.connect(self.btnEditorFont, SIGNAL("clicked()"), self._load_editor_font)
def __init__(self, main): QWidget.__init__(self) self._main = main vbox = QVBoxLayout(self) groupBoxTypo = QGroupBox('Typography:') groupBoxScheme = QGroupBox('Scheme Color:') #Settings settings = QSettings() settings.beginGroup('preferences') settings.beginGroup('editor') #Typo gridTypo = QGridLayout(groupBoxTypo) self.btnEditorFont = QPushButton(settings.value('font', 'Monospace, 11').toString()) gridTypo.addWidget(QLabel('Editor Font:'), 0, 0, Qt.AlignRight) gridTypo.addWidget(self.btnEditorFont, 0, 1) #Scheme hbox = QHBoxLayout(groupBoxScheme) self.listScheme = QListWidget() self.listScheme.addItem('default') self.schemes = loader.load_editor_skins() for item in self.schemes: self.listScheme.addItem(item) items = self.listScheme.findItems(settings.value('scheme', '').toString(), Qt.MatchExactly) if items: self.listScheme.setCurrentItem(items[0]) else: self.listScheme.setCurrentRow(0) hbox.addWidget(self.listScheme) settings.endGroup() settings.endGroup() vbox.addWidget(groupBoxTypo) vbox.addWidget(groupBoxScheme) vbox.addWidget(QLabel('Scheme Color requires restart.')) #Signals self.connect(self.btnEditorFont, SIGNAL("clicked()"), self._load_editor_font)
def start(): app = QApplication(sys.argv) QCoreApplication.setOrganizationName('NINJA-IDE') QCoreApplication.setOrganizationDomain('ninja-ide.org.ar') QCoreApplication.setApplicationName('Kunai') # Create and display the splash screen splash_pix = QPixmap(resources.images['splash']) splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint) splash.setMask(splash_pix.mask()) splash.show() app.processEvents() loader.load_syntax() #Loading GUI splash.showMessage("Loading GUI", Qt.AlignRight | Qt.AlignBottom, Qt.white) settings = QSettings() if not settings.value('preferences/skins/default', True).toBool(): selectedSkin = settings.value('preferences/skins/selectedSkin', '').toString() skins = loader.load_gui_skins() css = skins.get(str(selectedSkin), '') app.setStyleSheet(css) schemeColor = str(settings.value('preferences/editor/scheme', 'default').toString()) if schemeColor != 'default': resources.custom_scheme = loader.load_editor_skins().get(schemeColor, {}) #Editor Configuration EditorGeneric.codeCompletion = settings.value('preferences/editor/codeCompletion', True).toBool() EditorGeneric.indent = settings.value('preferences/editor/indent', 4).toInt()[0] EditorGeneric.findErrors = settings.value('preferences/editor/errors', False).toBool() EditorGeneric.checkStyle = settings.value('preferences/editor/checkStyle', True).toBool() EditorGeneric.highlightVariables = settings.value('preferences/editor/highlightWord', True).toBool() if not settings.value('preferences/editor/parentheses', True).toBool(): del EditorGeneric.braces_strings['('] if not settings.value('preferences/editor/brackets', True).toBool(): del EditorGeneric.braces_strings['['] if not settings.value('preferences/editor/keys', True).toBool(): del EditorGeneric.braces_strings['{'] if not settings.value('preferences/editor/simpleQuotes', True).toBool(): del EditorGeneric.braces_strings["'"] if not settings.value('preferences/editor/doubleQuotes', True).toBool(): del EditorGeneric.braces_strings['"'] ide = IDE() if settings.value('preferences/interface/centralRotate', False).toBool(): ide.main._splitter_central_rotate() if settings.value('preferences/interface/panelsRotate', False).toBool(): ide.main._splitter_main_rotate() if settings.value('preferences/interface/centralOrientation', False).toBool(): ide.main._splitter_central_orientation() #Settings splash.showMessage("Loading Settings", Qt.AlignRight | Qt.AlignBottom, Qt.white) resources.python_path = str(settings.value('preferences/general/pythonPath', 'python').toString()) if (settings.value('preferences/general/activatePlugins', Qt.Checked) == Qt.Checked): set_plugin_access(ide) ninja_ide.core.load_plugins(ide) resources.workspace = str(settings.value('preferences/general/workspace', '').toString()) supportedExtensions = settings.value('preferences/general/extensions', []).toList() if supportedExtensions: tempExtensions = [] for se in supportedExtensions: tempExtensions.append(str(se.toString())) manage_files.supported_extensions = tuple(tempExtensions) #Load Font preference font = str(settings.value('preferences/editor/font', "Monospace, 11").toString()) EditorGeneric.font_family = font.split(', ')[0] EditorGeneric.font_size = int(font.split(', ')[1]) ide.show() splash.showMessage("Loading Projects", Qt.AlignRight | Qt.AlignBottom, Qt.white) for projectFolder in settings.value('openFiles/projects', []).toStringList(): if os.path.isdir(projectFolder): ide.main.open_project_folder(str(projectFolder), False) if (settings.value('preferences/general/loadFiles', Qt.Checked) == Qt.Checked): for openFile in settings.value('openFiles/tab1', []).toList(): if len(openFile.toList()) > 0: fileList = openFile.toList() fileName = str(fileList[0].toString()) projectPath = str(fileList[1].toString()) if len(projectPath) == 0: projectPath = None cursorPosition = fileList[2].toInt()[0] if os.path.isfile(fileName): ide.main.open_document(fileName, projectPath) ide.main._central.obtain_editor().set_cursor_position(cursorPosition) for openFile2 in settings.value('openFiles/tab2', []).toList(): #ide.main.split_tab(True) if len(openFile2.toList()) > 0: ide.main._central._tabs2.show() ide.main._central._mainTabSelected = False fileList = openFile2.toList() fileName = fileList[0].toString() projectPath = fileList[1].toString() cursorPosition = fileList[2].toInt()[0] if os.path.isfile(fileName): ide.main.open_document(str(fileName), str(projectPath)) ide.main._central.obtain_editor().set_cursor_position(cursorPosition) ide.main._central._mainTabSelected = True filenames, projects_path = ninja_ide.core.cliparser.parse() for filename in filenames: ide.main.open_document(filename) for project_path in projects_path: ide.main.open_project_folder(project_path) splash.finish(ide) sys.exit(app.exec_())