def save_properties(self): if self.projectData.name.text().strip() == '': QMessageBox.critical(self, self.tr("Properties Invalid"), self.tr("The Project must have a name.")) return tempName = self._item.name self._item.name = self.projectData.name.text() self._item.description = self.projectData.description.toPlainText() self._item.license = self.projectData.cboLicense.currentText() self._item.mainFile = self.projectExecution.path.text() self._item.url = self.projectData.url.text() self._item.projectType = self.projectData.txtType.text() # FIXME self._item.pythonPath = self.projectExecution.txtPythonPath.text() self._item.PYTHONPATH = self.projectExecution.PYTHONPATH.toPlainText() self._item.additional_builtins = filter( lambda e: e, # remove empty names self.projectExecution.additional_builtins.text().split(' ')) self._item.preExecScript = self.projectExecution.txtPreExec.text() self._item.postExecScript = self.projectExecution.txtPostExec.text() self._item.programParams = self.projectExecution.txtParams.text() self._item.venv = self.projectExecution.txtVenvPath.text() extensions = self.projectData.txtExtensions.text().split(', ') self._item.extensions = tuple(extensions) self._item.indentation = self.projectData.spinIndentation.value() self._item.useTabs = self.projectData.checkUseTabs.isChecked() related = self.projectMetadata.txt_projects.toPlainText() related = [path for path in related.split('\n') if path != ''] self._item.related_projects = related #save project properties project = {} project['name'] = self._item.name project['description'] = self._item.description project['url'] = self._item.url project['license'] = self._item.license project['mainFile'] = self._item.mainFile project['project-type'] = self._item.projectType project['supported-extensions'] = self._item.extensions project['indentation'] = self._item.indentation project['use-tabs'] = self._item.useTabs project['pythonPath'] = self._item.pythonPath # FIXME project['PYTHONPATH'] = self._item.PYTHONPATH project['additional_builtins'] = self._item.additional_builtins project['preExecScript'] = self._item.preExecScript project['postExecScript'] = self._item.postExecScript project['venv'] = self._item.venv project['programParams'] = self._item.programParams project['relatedProjects'] = self._item.related_projects if tempName != self._item.name and \ file_manager.file_exists(self._item.path, tempName + '.nja'): file_manager.delete_file(self._item.path, tempName + '.nja') json_manager.create_ninja_project( self._item.path, self._item.name, project) self._item.setText(0, self._item.name) self._item.setToolTip(0, self._item.name) if self._item.extensions != settings.SUPPORTED_EXTENSIONS: self._item._parent._refresh_project(self._item) self._item.update_paths() self.close()
def _remove_scheme(self): name = self._listScheme.currentItem().text() fileName = ('{0}.color'.format( file_manager.create_path(resources.EDITOR_SKINS, name))) file_manager.delete_file(fileName) item = self._listScheme.takeItem(self._listScheme.currentRow()) del item
def _move_file(self): path = self.model().filePath(self.currentIndex()) global projectsColumn pathProjects = [p.path for p in projectsColumn.projects] addToProject = add_to_project.AddToProject(pathProjects, self) addToProject.setWindowTitle(self.tr("Copy File to")) addToProject.exec_() if not addToProject.pathSelected: return name = file_manager.get_basename(path) path = file_manager.create_path(addToProject.pathSelected, name) try: content = file_manager.read_file_content(path) path = file_manager.store_file_content(path, content, newFile=True) file_manager.delete_file(path) # Update path of opened file main = IDE.get_service('main_container') if main and main.is_open(path): widget = main.get_widget_for_path(path) if widget: widget.ID = path except file_manager.NinjaFileExistsException as ex: QMessageBox.information(self, self.tr("File Already Exists"), (self.tr("Invalid Path: the file '%s' already exists.") % ex.filename))
def delete_theme(self): if self.list_skins.currentRow() != 0: file_name = ("%s.qss" % self.list_skins.currentItem().text()) qss_file = file_manager.create_path(resources.NINJA_THEME_DOWNLOAD, file_name) file_manager.delete_file(qss_file) self._refresh_list()
def _move_file(self): item = self.currentItem() if item.parent() is None: pathForFile = item.path else: pathForFile = os.path.join(item.path, item.text(0)) pathProjects = [p.path for p in self.get_open_projects()] addToProject = ui_tools.AddToProject(pathProjects, self) addToProject.setWindowTitle(self.tr("Copy File to")) addToProject.exec_() if not addToProject.pathSelected: return name = file_manager.get_basename(pathForFile) path = file_manager.create_path(addToProject.pathSelected, name) try: content = file_manager.read_file_content(pathForFile) path = file_manager.store_file_content(path, content, newFile=True) file_manager.delete_file(pathForFile) index = item.parent().indexOfChild(item) item.parent().takeChild(index) self.add_existing_file(path) # Update path of opened file main = IDE.get_service('main_container') if main and main.is_open(pathForFile): widget = main.get_widget_for_path(pathForFile) if widget: widget.ID = path except file_manager.NinjaFileExistsException as ex: QMessageBox.information(self, self.tr("File Already Exists"), (self.tr("Invalid Path: the file '%s' already exists.") % ex.filename))
def _remove_scheme(self): name = self._listScheme.currentItem().text() fileName = ('{0}.color'.format( file_manager.create_path(resources.EDITOR_SKINS, name))) file_manager.delete_file(fileName) item = self._listScheme.takeItem(self._listScheme.currentRow()) del item
def save_properties(self): if self.projectData.name.text().strip() == '': QMessageBox.critical(self, self.tr("Properties Invalid"), self.tr("The Project must have a name.")) return tempName = self._item.name self._item.name = self.projectData.name.text() self._item.description = self.projectData.description.toPlainText() self._item.license = self.projectData.cboLicense.currentText() self._item.mainFile = self.projectExecution.path.text() self._item.url = self.projectData.url.text() self._item.projectType = self.projectData.txtType.text() # FIXME self._item.pythonPath = self.projectExecution.txtPythonPath.text() self._item.PYTHONPATH = self.projectExecution.PYTHONPATH.toPlainText() self._item.additional_builtins = filter( lambda e: e, # remove empty names self.projectExecution.additional_builtins.text().split(' ')) self._item.preExecScript = self.projectExecution.txtPreExec.text() self._item.postExecScript = self.projectExecution.txtPostExec.text() self._item.programParams = self.projectExecution.txtParams.text() self._item.venv = self.projectExecution.txtVenvPath.text() extensions = self.projectData.txtExtensions.text().split(', ') self._item.extensions = tuple(extensions) self._item.indentation = self.projectData.spinIndentation.value() self._item.useTabs = self.projectData.checkUseTabs.isChecked() related = self.projectMetadata.txt_projects.toPlainText() related = [path for path in related.split('\n') if path != ''] self._item.related_projects = related #save project properties project = {} project['name'] = self._item.name project['description'] = self._item.description project['url'] = self._item.url project['license'] = self._item.license project['mainFile'] = self._item.mainFile project['project-type'] = self._item.projectType project['supported-extensions'] = self._item.extensions project['indentation'] = self._item.indentation project['use-tabs'] = self._item.useTabs project['pythonPath'] = self._item.pythonPath # FIXME project['PYTHONPATH'] = self._item.PYTHONPATH project['additional_builtins'] = self._item.additional_builtins project['preExecScript'] = self._item.preExecScript project['postExecScript'] = self._item.postExecScript project['venv'] = self._item.venv project['programParams'] = self._item.programParams project['relatedProjects'] = self._item.related_projects if tempName != self._item.name and \ file_manager.file_exists(self._item.path, tempName + '.nja'): file_manager.delete_file(self._item.path, tempName + '.nja') json_manager.create_ninja_project(self._item.path, self._item.name, project) self._item.setText(0, self._item.name) self._item.setToolTip(0, self._item.name) if self._item.extensions != settings.SUPPORTED_EXTENSIONS: self._item._parent._refresh_project(self._item) self._item.update_paths() self.close()
def _move_file(self): item = self.currentItem() if item.parent() is None: pathForFile = item.path else: pathForFile = os.path.join(item.path, item.text(0)) pathProjects = [p.path for p in self.get_open_projects()] addToProject = ui_tools.AddToProject(pathProjects, self) addToProject.setWindowTitle(self.tr("Copy File to")) addToProject.exec_() if not addToProject.pathSelected: return name = file_manager.get_basename(pathForFile) path = file_manager.create_path(addToProject.pathSelected, name) try: content = file_manager.read_file_content(pathForFile) path = file_manager.store_file_content(path, content, newFile=True) file_manager.delete_file(pathForFile) index = item.parent().indexOfChild(item) item.parent().takeChild(index) self.add_existing_file(path) # Update path of opened file main = IDE.get_service('main_container') if main and main.is_open(pathForFile): widget = main.get_widget_for_path(pathForFile) if widget: widget.ID = path except file_manager.NinjaFileExistsException as ex: QMessageBox.information( self, self.tr("File Already Exists"), (self.tr("Invalid Path: the file '%s' already exists.") % ex.filename))
def _delete_file(self): path = self.model().filePath(self.currentIndex()) val = QMessageBox.question(self, self.tr("Delete File"), self.tr("Do you want to delete the following file: ") + path, QMessageBox.Yes, QMessageBox.No) if val == QMessageBox.Yes: path = file_manager.create_path(path) file_manager.delete_file(path) main_container = IDE.get_service('main_container') if main_container and main_container.is_open(path): main_container.close_deleted_file(path)
def _delete_file(self): item = self.currentItem() val = QMessageBox.question(self, self.tr("Delete File"), self.tr("Do you want to delete the following file: ") + os.path.join(item.path, item.text(0)), QMessageBox.Yes, QMessageBox.No) if val == QMessageBox.Yes: path = file_manager.create_path(item.path, item.text(0)) file_manager.delete_file(item.path, item.text(0)) index = item.parent().indexOfChild(item) item.parent().takeChild(index) main_container = IDE.get_service('main_container') if main_container and main_container.is_open(path): main_container.close_deleted_file(path)
def _delete_file(self): item = self.currentItem() val = QMessageBox.question( self, self.tr("Delete File"), self.tr("Do you want to delete the following file: ") + os.path.join(item.path, item.text(0)), QMessageBox.Yes, QMessageBox.No) if val == QMessageBox.Yes: path = file_manager.create_path(item.path, item.text(0)) file_manager.delete_file(item.path, item.text(0)) index = item.parent().indexOfChild(item) item.parent().takeChild(index) main_container = IDE.get_service('main_container') if main_container and main_container.is_open(path): main_container.close_deleted_file(path)
def save_project_properties(self): # save project properties project = {} project['name'] = self._name project['description'] = self.description project['url'] = self.url project['license'] = self.license project['mainFile'] = self.main_file project['project-type'] = self.project_type project['supported-extensions'] = self.extensions project['indentation'] = self.indentation project['use-tabs'] = self.use_tabs project['pythonExec'] = self.python_exec # FIXME project['PYTHONPATH'] = self.python_path project['additional_builtins'] = self.additional_builtins project['preExecScript'] = self.pre_exec_script project['postExecScript'] = self.post_exec_script project['venv'] = self.venv project['programParams'] = self.program_params project['relatedProjects'] = self.related_projects if file_manager.file_exists(self.path, self._name + '.nja'): file_manager.delete_file(self.path, self._name + '.nja') json_manager.create_ninja_project(self.path, self._name, project)
def save_project_properties(self): #save project properties project = {} project['name'] = self._name project['description'] = self.description project['url'] = self.url project['license'] = self.license project['mainFile'] = self.main_file project['project-type'] = self.project_type project['supported-extensions'] = self.extensions project['indentation'] = self.indentation project['use-tabs'] = self.use_tabs project['pythonExec'] = self.python_exec # FIXME project['PYTHONPATH'] = self.python_path project['additional_builtins'] = self.additional_builtins project['preExecScript'] = self.pre_exec_script project['postExecScript'] = self.post_exec_script project['venv'] = self.venv project['programParams'] = self.program_params project['relatedProjects'] = self.related_projects if file_manager.file_exists(self.path, self._name + '.nja'): file_manager.delete_file(self.path, self._name + '.nja') json_manager.create_ninja_project(self.path, self._name, project)