Esempio n. 1
0
    def load_items(self):
        settings = IDE.data_settings()
        listByFavorites = []
        listNoneFavorites = []
        recent_projects_dict = dict(settings.value('recentProjects', {}))
        #Filter for favorites
        for recent_project_path, content in list(recent_projects_dict.items()):
            if bool(dict(content)["isFavorite"]):
                listByFavorites.append((recent_project_path,
                    content["lastopen"]))
            else:
                listNoneFavorites.append((recent_project_path,
                    content["lastopen"]))
        if len(listByFavorites) > 1:
            # sort by date favorites
            listByFavorites = sorted(listByFavorites,
                key=lambda date: listByFavorites[1])

        if len(listNoneFavorites) > 1:
            #sort by date last used
            listNoneFavorites = sorted(listNoneFavorites,
                key=lambda date: listNoneFavorites[1])

        for recent_project_path in listByFavorites:
            path = recent_project_path[0]
            name = recent_projects_dict[path]['name']
            self.root.add_project(name, path, True)

        for recent_project_path in listNoneFavorites:
            path = recent_project_path[0]
            name = recent_projects_dict[path]['name']
            self.root.add_project(name, path, False)
        self.root.forceActiveFocus()
    def save_recent_projects(self, folder):
        settings = IDE.data_settings()
        recent_project_list = settings.value('recentProjects', {})
        # if already exist on the list update the date time
        projectProperties = json_manager.read_ninja_project(folder)
        name = projectProperties.get('name', '')
        description = projectProperties.get('description', '')

        if name == '':
            name = file_manager.get_basename(folder)

        if description == '':
            description = translations.TR_NO_DESCRIPTION

        if folder in recent_project_list:
            properties = recent_project_list[folder]
            properties["lastopen"] = QDateTime.currentDateTime()
            properties["name"] = name
            properties["description"] = description
            recent_project_list[folder] = properties
        else:
            recent_project_list[folder] = {
                "name": name,
                "description": description,
                "isFavorite": False,
                "lastopen": QDateTime.currentDateTime()
            }
            # if the length of the project list it's high that 10 then delete
            # the most old
            # TODO: add the length of available projects to setting
            if len(recent_project_list) > 10:
                del recent_project_list[self.find_most_old_open(
                    recent_project_list)]
        settings.setValue('recentProjects', recent_project_list)
Esempio n. 3
0
 def _on_ide_going_down(self):
     """Save some settings before close"""
     if self.current_tree is None:
         return
     ds = IDE.data_settings()
     show_filesize = not bool(self.current_tree.isColumnHidden(1))
     ds.setValue("projectsExplorer/showFileSize", show_filesize)
Esempio n. 4
0
 def _on_click_on_favorite(self, path, value):
     settings = IDE.data_settings()
     recent_projects = settings.value("recentProjects")
     properties = recent_projects[path]
     properties["isFavorite"] = value
     recent_projects[path] = properties
     settings.setValue("recentProjects", recent_projects)
Esempio n. 5
0
    def save_recent_projects(self, folder):
        settings = IDE.data_settings()
        recent_project_list = settings.value('recentProjects', {})
        #if already exist on the list update the date time
        projectProperties = json_manager.read_ninja_project(folder)
        name = projectProperties.get('name', '')
        description = projectProperties.get('description', '')

        if name == '':
            name = file_manager.get_basename(folder)

        if description == '':
            description = translations.TR_NO_DESCRIPTION

        if folder in recent_project_list:
            properties = recent_project_list[folder]
            properties["lastopen"] = QDateTime.currentDateTime()
            properties["name"] = name
            properties["description"] = description
            recent_project_list[folder] = properties
        else:
            recent_project_list[folder] = {
                "name": name,
                "description": description,
                "isFavorite": False, "lastopen": QDateTime.currentDateTime()}
            #if the length of the project list it's high that 10 then delete
            #the most old
            #TODO: add the length of available projects to setting
            if len(recent_project_list) > 10:
                del recent_project_list[self.find_most_old_open(
                    recent_project_list)]
        settings.setValue('recentProjects', recent_project_list)
 def _on_ide_going_down(self):
     """Save some settings before close"""
     if self.current_tree is None:
         return
     ds = IDE.data_settings()
     show_filesize = not bool(self.current_tree.isColumnHidden(1))
     ds.setValue("projectsExplorer/showFileSize", show_filesize)
Esempio n. 7
0
 def save_bookmarks(self):
     """Save all bookmarks"""
     bookmarks = []
     for bookmark in self._manager.all_bookmarks():
         bookmarks.append((bookmark.filename, bookmark.lineno,
                           bookmark.linetext, bookmark.note))
     data_settings = IDE.data_settings()
     data_settings.setValue("bookmarks", bookmarks)
Esempio n. 8
0
 def save_bookmarks(self):
     """Save all bookmarks"""
     bookmarks = []
     for bookmark in self._manager.all_bookmarks():
         bookmarks.append((
             bookmark.filename, bookmark.lineno,
             bookmark.linetext, bookmark.note
         ))
     data_settings = IDE.data_settings()
     data_settings.setValue("bookmarks", bookmarks)
Esempio n. 9
0
 def load_bookmarks(self):
     """Load all bookmarks from data settings"""
     data_settings = IDE.data_settings()
     bookmarks = data_settings.value("bookmarks")
     if bookmarks is None:
         return
     for bookmark_data in bookmarks:
         fname, lineno, linetext, note = bookmark_data
         bookmark = Bookmark(fname, lineno)
         bookmark.linetext = linetext
         bookmark.note = note
         self.add_bookmark(bookmark)
Esempio n. 10
0
 def load_bookmarks(self):
     """Load all bookmarks from data settings"""
     data_settings = IDE.data_settings()
     bookmarks = data_settings.value("bookmarks")
     if bookmarks is None:
         return
     for bookmark_data in bookmarks:
         fname, lineno, linetext, note = bookmark_data
         bookmark = Bookmark(fname, lineno)
         bookmark.linetext = linetext
         bookmark.note = note
         self.add_bookmark(bookmark)
Esempio n. 11
0
    def install(self):
        ninjaide = IDE.get_service("ide")
        ninjaide.place_me_on("main_container", self, "central", top=True)

        self.combo_area = combo_editor.ComboEditor(original=True)
        self.combo_area.allFilesClosed.connect(self._files_closed)
        self.combo_area.allFilesClosed.connect(
            lambda: self.allFilesClosed.emit())
        self.combo_area.fileClosed.connect(self._add_to_last_opened)
        self.splitter.add_widget(self.combo_area)
        self.add_widget(self.splitter)
        # Code Locator
        self._code_locator = locator_widget.LocatorWidget(ninjaide)

        data_settings = IDE.data_settings()
        recent_files = data_settings.value("lastSession/recentFiles")
        if recent_files is not None:
            self.__last_opened_files = recent_files
        ui_tools.install_shortcuts(self, actions.ACTIONS, ninjaide)
Esempio n. 12
0
    def __format_tree(self):
        """If not called after setting model, all the column format
        options are reset to default when the model is set"""
        self.setSelectionMode(QTreeView.SingleSelection)
        self.setAnimated(True)
        self.setHeaderHidden(True)
        self.header().setSectionResizeMode(QHeaderView.ResizeToContents)
        pal = self.palette()
        pal.setColor(pal.Base, pal.base().color())
        self.setPalette(pal)

        self.hideColumn(1)  # Size
        self.hideColumn(2)  # Type
        self.hideColumn(3)  # Modification date
        self.setUniformRowHeights(True)

        ds = IDE.data_settings()
        if ds.value("projectsExplorer/showFileSize", type=bool):
            self.show_filesize_info()
Esempio n. 13
0
    def __format_tree(self):
        """If not called after setting model, all the column format
        options are reset to default when the model is set"""
        self.setSelectionMode(QTreeView.SingleSelection)
        self.setAnimated(True)
        self.setHeaderHidden(True)
        self.header().setSectionResizeMode(QHeaderView.ResizeToContents)
        pal = self.palette()
        pal.setColor(pal.Base, pal.base().color())
        self.setPalette(pal)

        self.hideColumn(1)  # Size
        self.hideColumn(2)  # Type
        self.hideColumn(3)  # Modification date
        self.setUniformRowHeights(True)

        ds = IDE.data_settings()
        if ds.value("projectsExplorer/showFileSize", type=bool):
            self.show_filesize_info()
Esempio n. 14
0
    def install(self):
        ninjaide = IDE.get_service("ide")
        ninjaide.place_me_on("main_container", self, "central", top=True)

        self.combo_area = combo_editor.ComboEditor(original=True)
        self.combo_area.allFilesClosed.connect(self._files_closed)
        self.combo_area.allFilesClosed.connect(
            lambda: self.allFilesClosed.emit())
        self.combo_area.fileClosed.connect(self._add_to_last_opened)
        self.splitter.add_widget(self.combo_area)
        self.add_widget(self.splitter)
        # self.current_widget = self.combo_area
        # Code Locator
        self._code_locator = locator_widget.LocatorWidget(ninjaide)

        data_settings = IDE.data_settings()
        recent_files = data_settings.value("lastSession/recentFiles")
        if recent_files is not None:
            self.__last_opened_files = recent_files
        ui_tools.install_shortcuts(self, actions.ACTIONS, ninjaide)
Esempio n. 15
0
 def _on_click_on_delete(self, path):
     settings = IDE.data_settings()
     recent_projects = settings.value("recentProjects")
     if path in recent_projects:
         del recent_projects[path]
         settings.setValue("recentProjects", recent_projects)