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()
Exemplo n.º 5
0
 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
Exemplo n.º 7
0
    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()
Exemplo n.º 8
0
 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)
Exemplo n.º 10
0
 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)
Exemplo n.º 11
0
 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)
Exemplo n.º 12
0
 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)
Exemplo n.º 13
0
 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)