def _refresh_project(self, item=None): if item is None: item = self.currentItem() parentItem = self._get_project_root(item) if parentItem is None: return if item.parent() is None: path = item.path else: path = file_manager.create_path(item.path, item.text(0)) thread = ui_tools.ThreadProjectExplore() self._thread_execution[path] = thread self.connect(thread, SIGNAL("folderDataRefreshed(PyQt_PyObject)"), self._callback_refresh_project) self.connect(thread, SIGNAL("finished()"), self._clean_threads) thread.refresh_project(path, item, parentItem.extensions)
def open_project_folder(self, folderName='', notIDEStart=True): """Open a Project and load the symbols in the Code Locator.""" #if not self.tree_projects and notIDEStart: #QMessageBox.information(self, self.tr("Projects Disabled"), #self.tr("Project support has been disabled from Preferences")) #return if not folderName: if settings.WORKSPACE: directory = settings.WORKSPACE else: directory = os.path.expanduser("~") #current_project = self.get_actual_project() #main_container = IDE.get_service('main_container') #if main_container: #editorWidget = main_container.get_actual_editor() #if current_project is not None: #directory = current_project #elif editorWidget is not None and editorWidget.ID: #directory = file_manager.get_folder(editorWidget.ID) folderName = QFileDialog.getExistingDirectory(self, self.tr("Open Project Directory"), directory) try: if not folderName: return #FIXME: Here we open project with fs if not self.tree_projects.is_open(folderName): self.tree_projects.mute_signals = True self.tree_projects.loading_project(folderName) thread = ui_tools.ThreadProjectExplore() self._thread_execution[folderName] = thread self.connect(thread, SIGNAL("folderDataAcquired(PyQt_PyObject)"), self._callback_open_project) self.connect(thread, SIGNAL("finished()"), self._unmute_tree_signals_clean_threads) thread.open_folder(folderName) else: self.tree_projects._set_current_project(folderName) except Exception as reason: logger.error('open_project_folder: %s', reason) if not notIDEStart: QMessageBox.information(self, self.tr("Incorrect Project"), self.tr("The project could not be loaded!"))
def open_project_folder(self, folderName='', notIDEStart=True): if not self._treeProjects and notIDEStart: QMessageBox.information( self, self.tr("Projects Disabled"), self.tr("Project support has been disabled from Preferences")) return if not folderName: if settings.WORKSPACE: directory = settings.WORKSPACE else: directory = os.path.expanduser("~") current_project = self.get_actual_project() mainContainer = main_container.MainContainer() editorWidget = mainContainer.get_actual_editor() if current_project is not None: directory = current_project elif editorWidget is not None and editorWidget.ID: directory = file_manager.get_folder(editorWidget.ID) folderName = unicode( QFileDialog.getExistingDirectory( self, self.tr("Open Project Directory"), directory)) try: if not folderName: return if not self._treeProjects.is_open(folderName): self._treeProjects.mute_signals = True self._treeProjects.loading_project(folderName) thread = ui_tools.ThreadProjectExplore() self._thread_execution[folderName] = thread self.connect(thread, SIGNAL("folderDataAcquired(PyQt_PyObject)"), self._callback_open_project) self.connect(thread, SIGNAL("finished()"), self._unmute_tree_signals_clean_threads) thread.open_folder(folderName) else: self._treeProjects._set_current_project(folderName) except Exception, reason: logger.error('open_project_folder: %s', reason) if not notIDEStart: QMessageBox.information( self, self.tr("Incorrect Project"), self.tr("The project could not be loaded!"))