def __init__(self): QWidget.__init__(self) vbox = QVBoxLayout(self) #Top Bar hbox = QHBoxLayout() self.radioDefault = QRadioButton("Default Skin") self.radioCustom = QRadioButton("Custom") self.comboSkins = QComboBox() self.skins = loader.load_gui_skins() for item in self.skins: self.comboSkins.addItem(item) hbox.addWidget(self.radioDefault) hbox.addWidget(self.radioCustom) hbox.addWidget(self.comboSkins) #Text Area self.txtStyle = QPlainTextEdit() self.txtStyle.setReadOnly(True) #Settings settings = QSettings() settings.beginGroup('preferences') settings.beginGroup('skins') if settings.value('default', True).toBool(): self.radioDefault.setChecked(True) self.comboSkins.setEnabled(False) else: self.radioCustom.setChecked(True) index = self.comboSkins.findText( settings.value('selectedSkin', '').toString()) self.comboSkins.setCurrentIndex(index) content = self.skins[str(self.comboSkins.currentText())] self.txtStyle.setPlainText(content) settings.endGroup() settings.endGroup() vbox.addLayout(hbox) vbox.addWidget(self.txtStyle) vbox.addWidget(QLabel('Requires restart the IDE')) #Signals self.connect(self.radioDefault, SIGNAL("clicked()"), self._default_clicked) self.connect(self.radioCustom, SIGNAL("clicked()"), self._custom_clicked)
def __init__(self): QWidget.__init__(self) vbox = QVBoxLayout(self) #Top Bar hbox = QHBoxLayout() self.radioDefault = QRadioButton("Default Skin") self.radioCustom = QRadioButton("Custom") self.comboSkins = QComboBox() self.skins = loader.load_gui_skins() for item in self.skins: self.comboSkins.addItem(item) hbox.addWidget(self.radioDefault) hbox.addWidget(self.radioCustom) hbox.addWidget(self.comboSkins) #Text Area self.txtStyle = QPlainTextEdit() self.txtStyle.setReadOnly(True) #Settings settings = QSettings() settings.beginGroup('preferences') settings.beginGroup('skins') if settings.value('default', True).toBool(): self.radioDefault.setChecked(True) self.comboSkins.setEnabled(False) else: self.radioCustom.setChecked(True) index = self.comboSkins.findText(settings.value('selectedSkin', '').toString()) self.comboSkins.setCurrentIndex(index) content = self.skins[str(self.comboSkins.currentText())] self.txtStyle.setPlainText(content) settings.endGroup() settings.endGroup() vbox.addLayout(hbox) vbox.addWidget(self.txtStyle) vbox.addWidget(QLabel('Requires restart the IDE')) #Signals self.connect(self.radioDefault, SIGNAL("clicked()"), self._default_clicked) self.connect(self.radioCustom, SIGNAL("clicked()"), self._custom_clicked)
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_())