예제 #1
0
파일: list.py 프로젝트: fisher2017/Anaconda
    def setup(self):
        """
        Initial setup for populating items if any.
        """
        # TODO: Check against regex and raise error accordingly!
        new_items = []
        for text in self.items_text:
            if self.normalize:
                text = text.lower()
            new_items.append(text)

        self.items_text = new_items

        if not self.duplicates:
            if len(set(self.items_text)) != len(self.items_text):
                raise Exception('The list cannot contains duplicates.')

        for item in self.items_text:
            item = QListWidgetItem(item)
            item.extra_data = None
            item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable)
            self.add(item)
            item.setSizeHint(QSize(item.sizeHint().width(), self._height()))

        self.refresh()
예제 #2
0
    def load_project_list(self):
        """
        Populate the project selection list.
        """
        self.list_projects.clear()

        for path in self.projects_dict:
            project = self.projects_dict[path]
            name = project.name

            item = QListWidgetItem(name)

            if getattr(project, 'icon', None):
                icon = self.api.load_icon(path, project)
            else:
                icon = qta.icon('fa.cog')

            item.setIcon(icon)
            item.project = project
            item.path = path
            if project.commands:
                item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable
                              | Qt.ItemIsEnabled)
                if project.is_app:
                    item.setCheckState(Qt.Checked)
                else:
                    item.setCheckState(Qt.Unchecked)

            self.list_projects.addItem(item)
            self.toogle_dev_tools(visible=self.dev_tool_visible)

        for i in range(self.list_projects.count()):
            item = self.list_projects.item(i)
            item.setSizeHint(QSize(item.sizeHint().width(), self._height()))
예제 #3
0
파일: list.py 프로젝트: fisher2017/Anaconda
 def add(self, item=None):
     """
     Return the text of all items in the list, except the current one being
     edited.
     """
     if item:
         if item.text() in self.get_texts() and not self.duplicates:
             raise Exception
         else:
             self.list.addItem(item)
     else:
         item = QListWidgetItem()
         item.extra_data = None
         item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable
                       | Qt.ItemIsEditable)
         self.list.addItem(item)
         self.list.setCurrentItem(item)
         item.setSizeHint(QSize(item.sizeHint().width(), self._height()))
         self.edit()
     self.refresh()