Exemplo n.º 1
0
class LogWidget(QWidget):
    def __init__(self, parent=None, thread=None, iconsize=32):
        QWidget.__init__(self, parent=parent)
        self.log = QListWidget()
        self.log.setSortingEnabled(True)
        layout = QVBoxLayout(self)
        layout.addWidget(self.log)
        self.iconsize = iconsize

        self.thread = thread
        assert (thread is not None)
        self.thread.update.connect(self.update_progress)
        self.thread.start()

    def update_progress(self, progress):
        if not progress:
            return
        title, description, date, icon = progress

        entry = EntryWidget()
        entry.setTitle(title)
        entry.setDescription(description)
        entry.setDate(date)
        entry.setIcon(QIcon.fromTheme(icon))

        item = QListWidgetItem(self.log)
        item.setSizeHint(entry.sizeHint())

        self.log.insertItem(0, item)
        self.log.setItemWidget(item, entry)
Exemplo n.º 2
0
class SidebarWidget(QWidget):
    def __init__(self, parent=None, thread=None, iconsize=32):
        QWidget.__init__(self, parent=parent)
        self.list = QListWidget()
        self.list.setAttribute(Qt.WA_TranslucentBackground)
        self.list.setSortingEnabled(True)
        layout = QVBoxLayout(self)
        layout.addWidget(self.list)
        self.iconsize = iconsize

    def addEntry(self, title, description, icon):
        entry = EntryWidget()
        entry.setTitle(title)
        entry.setDescription(description)
        entry.setDate("")
        entry.setIcon(QIcon.fromTheme(icon))

        item = QListWidgetItem(self.list)
        item.setSizeHint(entry.sizeHint())
        self.list.insertItem(0, item)
        self.list.setItemWidget(item, entry)

        return self.list.count()