def _create_file_list_item_widget(self, rel_path, created_time, was_updated, icon_info): abs_path = op.join(self._config.sync_directory, rel_path) abs_path = ensure_unicode(abs_path) abs_path = FilePath(abs_path).longpath widget = QWidget(parent=self._ui.file_list) widget.created_time = created_time widget.was_updated = was_updated widget.mouseReleaseEvent = lambda _: \ qt_reveal_file_in_file_manager( widget.get_link_button.abs_path) main_layout = QHBoxLayout(widget) icon_label = QLabel(widget) widget.icon_label = icon_label main_layout.addWidget(icon_label) vertical_layout = QVBoxLayout() main_layout.addLayout(vertical_layout) file_name_label = QLabel(widget) widget.file_name_label = file_name_label vertical_layout.addWidget(file_name_label) horizontal_layout = QHBoxLayout() vertical_layout.addLayout(horizontal_layout) time_delta_label = QLabel(widget) widget.time_delta_label = time_delta_label horizontal_layout.addWidget(time_delta_label, alignment=Qt.AlignTop) get_link_button = QPushButton(widget) widget.get_link_button = get_link_button horizontal_layout.addWidget(get_link_button, alignment=Qt.AlignTop) self._set_icon_label(icon_info, icon_label) file_name_label.setFixedSize(304, 24) file_name_label.setFont(QFont('Noto Sans', 10 * self._dp)) file_name_label.setAlignment(Qt.AlignTop | Qt.AlignLeft) file_name_label.setText( elided(rel_path, file_name_label)) time_delta_label.setText(get_added_time_string( created_time, was_updated, False)) time_delta_label.setFont(QFont('Noto Sans', 8 * self._dp, italic=True)) time_delta_label.setMinimumSize(time_delta_label.width(), 24) time_delta_label.setAlignment(Qt.AlignTop | Qt.AlignLeft) time_delta_label.setStyleSheet('color: #A792A9;') get_link_button.setText(' {} '.format(tr('Get link'))) get_link_button.setFlat(True) get_link_button.setChecked(True) get_link_button.setMinimumSize(120, 24) get_link_button.setFont(QFont("Noto Sans", 8 * self._dp, italic=True)) get_link_button.setMouseTracking(True) self._setup_get_link_button(get_link_button, rel_path, abs_path) return widget