예제 #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
파일: 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()