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(_translate("TreeProjectsWidget", "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 = main_container.MainContainer() if 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, _translate("TreeProjectsWidget", "File Already Exists"), (_translate("TreeProjectsWidget", "Invalid Path: the file '%s' already exists.") % ex.filename))
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) 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 _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) 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 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 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 save_properties(self): if unicode(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 = unicode(self.projectData.name.text()) self._item.description = unicode( self.projectData.description.toPlainText()) self._item.license = unicode(self.projectData.cboLicense.currentText()) self._item.mainFile = unicode(self.projectExecution.path.text()) self._item.url = unicode(self.projectData.url.text()) self._item.projectType = unicode(self.projectData.txtType.text()) self._item.pythonPath = unicode( self.projectExecution.txtPythonPath.text()) # FIXME self._item.PYTHONPATH = unicode( self.projectExecution.PYTHONPATH.toPlainText()) self._item.preExecScript = unicode( self.projectExecution.txtPreExec.text()) self._item.postExecScript = unicode( self.projectExecution.txtPostExec.text()) self._item.programParams = unicode( self.projectExecution.txtParams.text()) self._item.venv = unicode(self.projectExecution.txtVenvPath.text()) extensions = unicode(self.projectData.txtExtensions.text()).split(', ') self._item.extensions = tuple(extensions) #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['pythonPath'] = self._item.pythonPath # FIXME project['PYTHONPATH'] = self._item.PYTHONPATH project['preExecScript'] = self._item.preExecScript project['postExecScript'] = self._item.postExecScript project['venv'] = self._item.venv project['programParams'] = self._item.programParams 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.close()
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, unicode(item.text(0))), QMessageBox.Yes, QMessageBox.No) if val == QMessageBox.Yes: path = file_manager.create_path(item.path, unicode(item.text(0))) file_manager.delete_file(item.path, unicode(item.text(0))) self.removeItemWidget(item, 0) mainContainer = main_container.MainContainer() if mainContainer.is_open(path): mainContainer.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) mainContainer = main_container.MainContainer() if mainContainer.is_open(path): mainContainer.close_deleted_file(path)
def save_properties(self): if unicode(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 = unicode(self.projectData.name.text()) self._item.description = unicode( self.projectData.description.toPlainText()) self._item.license = unicode(self.projectData.cboLicense.currentText()) self._item.mainFile = unicode(self.projectExecution.path.text()) self._item.url = unicode(self.projectData.url.text()) self._item.projectType = unicode(self.projectData.txtType.text()) self._item.pythonPath = unicode( self.projectExecution.txtPythonPath.text()) self._item.preExecScript = unicode( self.projectExecution.txtPreExec.text()) self._item.postExecScript = unicode( self.projectExecution.txtPostExec.text()) self._item.programParams = unicode( self.projectExecution.txtParams.text()) self._item.venv = unicode(self.projectExecution.txtVenvPath.text()) extensions = unicode(self.projectData.txtExtensions.text()).split(', ') self._item.extensions = tuple(extensions) #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['pythonPath'] = self._item.pythonPath project['preExecScript'] = self._item.preExecScript project['postExecScript'] = self._item.postExecScript project['venv'] = self._item.venv project['programParams'] = self._item.programParams 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.close()