示例#1
0
    def __init__(self, parent, source):
        """
        Set up the child widgets.
        """
        super().__init__(parent)
        self.source = source
        self.name = QLabel()
        self.updated = QLabel()

        layout = QVBoxLayout()
        self.setLayout(layout)

        self.summary = QWidget(self)
        self.summary_layout = QHBoxLayout()
        self.summary.setLayout(self.summary_layout)

        self.attached = load_svg('paperclip.svg')
        self.attached.setMaximumSize(16, 16)

        self.summary_layout.addWidget(self.name)
        self.summary_layout.addStretch()
        self.summary_layout.addWidget(self.attached)

        layout.addWidget(self.summary)
        layout.addWidget(self.updated)

        self.delete = load_svg('cross.svg')
        self.delete.setMaximumSize(16, 16)
        self.delete.mouseReleaseEvent = self.delete_source

        self.summary_layout.addWidget(self.delete)
        self.update()
示例#2
0
 def __init__(self, parent, source):
     """
     Set up the child widgets.
     """
     super().__init__(parent)
     self.source = source
     layout = QVBoxLayout()
     self.setLayout(layout)
     self.summary = QWidget(self)
     summary_layout = QHBoxLayout()
     self.summary.setLayout(summary_layout)
     self.attached = load_svg('paperclip.svg')
     self.attached.setMaximumSize(16, 16)
     self.starred = load_svg('star_on.svg')
     self.starred.setMaximumSize(16, 16)
     self.name = QLabel()
     summary_layout.addWidget(self.name)
     summary_layout.addStretch()
     summary_layout.addWidget(self.attached)
     summary_layout.addWidget(self.starred)
     layout.addWidget(self.summary)
     self.updated = QLabel()
     layout.addWidget(self.updated)
     self.details = QLabel()
     self.details.setWordWrap(True)
     layout.addWidget(self.details)
     self.update()
示例#3
0
    def display_star_icon(self):
        """
        Show the correct star icon
        """
        if getattr(self, 'starred', None):  # Delete icon if it exists.
            self.summary_layout.removeWidget(self.starred)

        if self.source.is_starred:
            self.starred = load_svg('star_on.svg')
        else:
            self.starred = load_svg('star_off.svg')

        self.summary_layout.addWidget(self.starred)
        self.starred.setMaximumSize(16, 16)
        self.starred.mousePressEvent = self.toggle_star
示例#4
0
    def update(self):
        """
        Updates the displayed values with the current values from self.source.

        TODO: Style this widget properly and work out what should be in the
        self.details label.
        """
        self.updated.setText(arrow.get(self.source.last_updated).humanize())
        if self.source.is_starred:
            self.starred = load_svg('star_on.svg')
        else:
            self.starred = load_svg('star_off.svg')
        self.name.setText("<strong>{}</strong>".format(
            self.source.journalist_designation))
        self.details.setText("Lorum ipsum dolor sit amet thingy dodah...")
示例#5
0
 def update_image(self, filename: str, svg_size: str = None) -> None:
     self.svg = load_svg(filename)
     self.svg.setFixedSize(svg_size) if svg_size else self.svg.setFixedSize(QSize())
     child = self.layout().takeAt(0)
     if child and child.widget():
         child.widget().deleteLater()
     self.layout().addWidget(self.svg)
示例#6
0
    def __init__(self, filename: str, svg_size: str = None) -> None:
        super().__init__()

        # Remove margins and spacing
        layout = QHBoxLayout(self)
        layout.setContentsMargins(0, 0, 0, 0)
        layout.setSpacing(0)
        self.setLayout(layout)

        # Add SVG and set its size
        self.svg = load_svg(filename)
        self.svg.setFixedSize(svg_size) if svg_size else self.svg.setFixedSize(QSize())
        layout.addWidget(self.svg)