def __init__(self, parent=None): QWidget.__init__(self, parent) self.l = l = QGridLayout(self) self.toc_title = None self.setLayout(l) l.setContentsMargins(0, 0, 0, 0) self.view = make_view_use_window_background(QTreeWidget(self)) self.delegate = Delegate(self.view) self.view.setItemDelegate(self.delegate) self.view.setHeaderHidden(True) self.view.setAnimated(True) self.view.setContextMenuPolicy(Qt.CustomContextMenu) self.view.customContextMenuRequested.connect(self.show_context_menu, type=Qt.QueuedConnection) self.view.itemActivated.connect(self.emit_navigate) self.view.itemPressed.connect(self.item_pressed) set_no_activate_on_click(self.view) self.view.itemDoubleClicked.connect(self.emit_navigate) l.addWidget(self.view) self.refresh_action = QAction(QIcon(I('view-refresh.png')), _('&Refresh'), self) self.refresh_action.triggered.connect(self.refresh) self.refresh_timer = t = QTimer(self) t.setInterval(1000), t.setSingleShot(True) t.timeout.connect(self.auto_refresh) self.toc_name = None self.currently_editing = None
def __init__(self, parent=None): QTreeView.__init__(self, parent) self.setHeaderHidden(True) self.setAnimated(True) self.activated.connect(self.item_activated) self.clicked.connect(self.item_activated) set_no_activate_on_click(self) self.initialized = False self.setExpandsOnDoubleClick(False)
def __init__(self, parent=None): QTreeWidget.__init__(self, parent) self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) self.customContextMenuRequested.connect(self.show_context_menu) self.default_decoration = QIcon(I('blank.png')) self.setHeaderHidden(True) self.num_of_items = 0 self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection) set_no_activate_on_click(self) self.itemActivated.connect(self.item_activated) self.currentItemChanged.connect(self.current_item_changed) self.uuid_map = {} self.section_font = QFont(self.font()) self.section_font.setItalic(True)
def __init__(self, parent=None): self.last_mouse_idx = -1 QListView.__init__(self, parent) self._model = CharModel(self) self.setModel(self._model) self.delegate = CharDelegate(self) self.setResizeMode(QListView.ResizeMode.Adjust) self.setItemDelegate(self.delegate) self.setFlow(QListView.Flow.LeftToRight) self.setWrapping(True) self.setMouseTracking(True) self.setSpacing(2) self.setUniformItemSizes(True) self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) self.customContextMenuRequested.connect(self.context_menu) self.showing_favorites = False set_no_activate_on_click(self) self.activated.connect(self.item_activated) self.clicked.connect(self.item_activated)
def __init__(self, parent=None): QTreeWidget.__init__(self, parent) make_view_use_window_background(self) self.categories = {} self.ordered_selected_indexes = False set_no_activate_on_click(self) self.current_edited_name = None self.delegate = ItemDelegate(self) self.delegate.rename_requested.connect(self.rename_requested) self.setTextElideMode(Qt.TextElideMode.ElideMiddle) self.setItemDelegate(self.delegate) self.setIconSize(QSize(16, 16)) self.header().close() self.setDragEnabled(True) self.setEditTriggers(QAbstractItemView.EditTrigger.EditKeyPressed) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection) self.viewport().setAcceptDrops(True) self.setDropIndicatorShown(True) self.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove) self.setAutoScroll(True) self.setAutoScrollMargin(TOP_ICON_SIZE*2) self.setDefaultDropAction(Qt.DropAction.MoveAction) self.setAutoExpandDelay(1000) self.setAnimated(True) self.setMouseTracking(True) self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) self.customContextMenuRequested.connect(self.show_context_menu) self.root = self.invisibleRootItem() self.emblem_cache = {} self.rendered_emblem_cache = {} self.font_name_cache = {} self.top_level_pixmap_cache = { name : QIcon(I(icon)).pixmap(TOP_ICON_SIZE, TOP_ICON_SIZE) for name, icon in iteritems({ 'text':'keyboard-prefs.png', 'styles':'lookfeel.png', 'fonts':'font.png', 'misc':'mimetypes/dir.png', 'images':'view-image.png', })} self.itemActivated.connect(self.item_double_clicked)
def setup_ui(self): self.l = l = QGridLayout(self) self.setLayout(l) self.la1 = la = QLabel(_('&Existing images in the book')) la.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) l.addWidget(la, 0, 0, 1, 2) if self.for_browsing: la.setVisible(False) self.view = v = QListView(self) v.setViewMode(QListView.ViewMode.IconMode) v.setFlow(QListView.Flow.LeftToRight) v.setSpacing(4) v.setResizeMode(QListView.ResizeMode.Adjust) v.setUniformItemSizes(True) set_no_activate_on_click(v) v.activated.connect(self.activated) v.doubleClicked.connect(self.activated) self.d = ImageDelegate(v) v.setItemDelegate(self.d) self.model = Images(self.view) self.fm = fm = QSortFilterProxyModel(self.view) self.fm.setDynamicSortFilter(self.for_browsing) fm.setSourceModel(self.model) fm.setFilterCaseSensitivity(False) v.setModel(fm) l.addWidget(v, 1, 0, 1, 2) v.pressed.connect(self.pressed) la.setBuddy(v) self.filter = f = QLineEdit(self) f.setPlaceholderText(_('Search for image by file name')) l.addWidget(f, 2, 0) self.cb = b = QToolButton(self) b.setIcon(QIcon(I('clear_left.png'))) b.clicked.connect(f.clear) l.addWidget(b, 2, 1) f.textChanged.connect(self.filter_changed) if self.for_browsing: self.bb.clear() self.bb.addButton(self.bb.Close) b = self.refresh_button = self.bb.addButton(_('&Refresh'), self.bb.ActionRole) b.clicked.connect(self.refresh) b.setIcon(QIcon(I('view-refresh.png'))) b.setToolTip(_('Refresh the displayed images')) self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose, False) else: b = self.import_button = self.bb.addButton(_('&Import image'), self.bb.ActionRole) b.clicked.connect(self.import_image) b.setIcon(QIcon(I('view-image.png'))) b.setToolTip(_('Import an image from elsewhere in your computer')) b = self.paste_button = self.bb.addButton(_('&Paste image'), self.bb.ActionRole) b.clicked.connect(self.paste_image) b.setIcon(QIcon(I('edit-paste.png'))) b.setToolTip(_('Paste an image from the clipboard')) self.fullpage = f = QCheckBox(_('Full page image'), self) f.setToolTip(_('Insert the image so that it takes up an entire page when viewed in a reader')) f.setChecked(tprefs['insert_full_screen_image']) self.preserve_aspect_ratio = a = QCheckBox(_('Preserve aspect ratio')) a.setToolTip(_('Preserve the aspect ratio of the inserted image when rendering it full paged')) a.setChecked(tprefs['preserve_aspect_ratio_when_inserting_image']) f.toggled.connect(self.full_page_image_toggled) a.toggled.connect(self.par_toggled) a.setVisible(f.isChecked()) h = QHBoxLayout() l.addLayout(h, 3, 0, 1, -1) h.addWidget(f), h.addStretch(10), h.addWidget(a) b = self.bb.addButton(_('&Zoom in'), self.bb.ActionRole) b.clicked.connect(self.zoom_in) b.setIcon(QIcon(I('plus.png'))) b = self.bb.addButton(_('Zoom &out'), self.bb.ActionRole) b.clicked.connect(self.zoom_out) b.setIcon(QIcon(I('minus.png'))) l.addWidget(self.bb, 4, 0, 1, 2)