def __init__(self, parent=None): QWidget.__init__(self, parent) self._layout = l = QVBoxLayout(self) self.header = QLabel( _('Double click on any entry to change the' ' keyboard shortcuts associated with it')) l.addWidget(self.header) self.view = QTreeView(self) self.view.setAlternatingRowColors(True) self.view.setHeaderHidden(True) self.view.setAnimated(True) l.addWidget(self.view) self.delegate = Delegate() self.view.setItemDelegate(self.delegate) self.delegate.sizeHintChanged.connect( self.editor_opened, type=Qt.ConnectionType.QueuedConnection) self.delegate.changed_signal.connect(self.changed_signal) self.search = SearchBox2(self) self.search.initialize('shortcuts_search_history', help_text=_('Search for a shortcut by name')) self.search.search.connect(self.find) self._h = h = QHBoxLayout() l.addLayout(h) h.addWidget(self.search) self.nb = QPushButton(QIcon(I('arrow-down.png')), _('&Next'), self) self.pb = QPushButton(QIcon(I('arrow-up.png')), _('&Previous'), self) self.nb.clicked.connect(self.find_next) self.pb.clicked.connect(self.find_previous) h.addWidget(self.nb), h.addWidget(self.pb) h.setStretch(0, 100)
def setup_ui(self): self.l = l = QVBoxLayout(self) self.recipes = r = QTreeView(self) r.setAnimated(True) r.setHeaderHidden(True) self.model = ChooseBuiltinRecipeModel(self) self.model.setSourceModel(self.recipe_model) r.setModel(self.model) r.doubleClicked.connect(self.accept) self.search = s = SearchBox2(self) self.search.initialize('scheduler_search_history') self.search.setMinimumContentsLength(15) self.search.search.connect(self.recipe_model.search) self.recipe_model.searched.connect(self.search.search_done, type=Qt.QueuedConnection) self.recipe_model.searched.connect(self.search_done) self.go_button = b = QToolButton(self) b.setText(_("Go")) b.clicked.connect(self.search.do_search) h = QHBoxLayout() h.addWidget(s), h.addWidget(b) l.addLayout(h) l.addWidget(self.recipes) l.addWidget(self.bb) self.search.setFocus(Qt.OtherFocusReason)
def setupUi(self, JobsDialog): JobsDialog.setObjectName(_fromUtf8("JobsDialog")) JobsDialog.resize(633, 542) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("jobs.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) JobsDialog.setWindowIcon(icon) self.gridLayout = QtGui.QGridLayout(JobsDialog) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.search = SearchBox2(JobsDialog) self.search.setObjectName(_fromUtf8("search")) self.horizontalLayout.addWidget(self.search) self.search_button = QtGui.QToolButton(JobsDialog) self.search_button.setObjectName(_fromUtf8("search_button")) self.horizontalLayout.addWidget(self.search_button) self.clear_button = QtGui.QToolButton(JobsDialog) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("clear_left.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.clear_button.setIcon(icon1) self.clear_button.setObjectName(_fromUtf8("clear_button")) self.horizontalLayout.addWidget(self.clear_button) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 2) self.jobs_view = QtGui.QTableView(JobsDialog) self.jobs_view.setContextMenuPolicy(QtCore.Qt.NoContextMenu) self.jobs_view.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) self.jobs_view.setAlternatingRowColors(True) self.jobs_view.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.jobs_view.setIconSize(QtCore.QSize(32, 32)) self.jobs_view.setObjectName(_fromUtf8("jobs_view")) self.gridLayout.addWidget(self.jobs_view, 1, 0, 1, 2) self.kill_button = QtGui.QPushButton(JobsDialog) self.kill_button.setObjectName(_fromUtf8("kill_button")) self.gridLayout.addWidget(self.kill_button, 2, 0, 1, 1) self.hide_button = QtGui.QPushButton(JobsDialog) self.hide_button.setObjectName(_fromUtf8("hide_button")) self.gridLayout.addWidget(self.hide_button, 2, 1, 1, 1) self.details_button = QtGui.QPushButton(JobsDialog) self.details_button.setObjectName(_fromUtf8("details_button")) self.gridLayout.addWidget(self.details_button, 3, 0, 1, 1) self.show_button = QtGui.QPushButton(JobsDialog) self.show_button.setObjectName(_fromUtf8("show_button")) self.gridLayout.addWidget(self.show_button, 3, 1, 1, 1) self.stop_all_jobs_button = QtGui.QPushButton(JobsDialog) self.stop_all_jobs_button.setObjectName( _fromUtf8("stop_all_jobs_button")) self.gridLayout.addWidget(self.stop_all_jobs_button, 4, 0, 1, 1) self.hide_all_button = QtGui.QPushButton(JobsDialog) self.hide_all_button.setObjectName(_fromUtf8("hide_all_button")) self.gridLayout.addWidget(self.hide_all_button, 4, 1, 1, 1) self.retranslateUi(JobsDialog) QtCore.QMetaObject.connectSlotsByName(JobsDialog)
def __init__(self, logger, opts, parent=None): MainWindow.__init__(self, opts, parent) Ui_MainWindow.__init__(self) self.setupUi(self) self.setAttribute(Qt.WA_DeleteOnClose) self.setWindowTitle(__appname__ + _(' - LRF Viewer')) self.logger = logger self.opts = opts self.create_document() self.spin_box_action = self.spin_box = QSpinBox() self.tool_bar.addWidget(self.spin_box) self.tool_bar.addSeparator() self.slider_action = self.slider = QSlider(Qt.Horizontal) self.tool_bar.addWidget(self.slider) self.tool_bar.addSeparator() self.search = SearchBox2(self) self.search.initialize('lrf_viewer_search_history') self.search_action = self.tool_bar.addWidget(self.search) self.search.search.connect(self.find) self.action_next_page.setShortcuts( [QKeySequence.MoveToNextPage, QKeySequence(Qt.Key_Space)]) self.action_previous_page.setShortcuts( [QKeySequence.MoveToPreviousPage, QKeySequence(Qt.Key_Backspace)]) self.action_next_match.setShortcuts(QKeySequence.FindNext) self.addAction(self.action_next_match) QObject.connect(self.action_next_page, SIGNAL('triggered(bool)'), self.next) QObject.connect(self.action_previous_page, SIGNAL('triggered(bool)'), self.previous) QObject.connect(self.action_back, SIGNAL('triggered(bool)'), self.back) QObject.connect(self.action_forward, SIGNAL('triggered(bool)'), self.forward) QObject.connect(self.action_next_match, SIGNAL('triggered(bool)'), self.next_match) QObject.connect(self.action_open_ebook, SIGNAL('triggered(bool)'), self.open_ebook) QObject.connect(self.action_configure, SIGNAL('triggered(bool)'), self.configure) QObject.connect(self.spin_box, SIGNAL('valueChanged(int)'), self.go_to_page) QObject.connect(self.slider, SIGNAL('valueChanged(int)'), self.go_to_page) self.graphics_view.setRenderHint(QPainter.Antialiasing, True) self.graphics_view.setRenderHint(QPainter.TextAntialiasing, True) self.graphics_view.setRenderHint(QPainter.SmoothPixmapTransform, True) self.closed = False
def __init__(self, toc_view, parent=None): QWidget.__init__(self, parent) self.toc_view = toc_view self.l = l = QHBoxLayout(self) self.search = s = SearchBox2(self) self.search.setMinimumContentsLength(15) self.search.initialize('viewer_toc_search_history', help_text=_('Search Table of Contents')) self.search.setToolTip(_('Search for text in the Table of Contents')) s.search.connect(self.do_search) self.go = b = QToolButton(self) b.setIcon(QIcon(I('search.png'))) b.clicked.connect(s.do_search) b.setToolTip(_('Find next match')) l.addWidget(s), l.addWidget(b)
def setupUi(self, x): self.l = l = QVBoxLayout(self) self.la1 = la = QLabel( _("Values for the tweaks are shown below. Edit them to change the behavior of calibre." " Your changes will only take effect <b>after a restart</b> of calibre." )) l.addWidget(la), la.setWordWrap(True) self.splitter = s = QSplitter(self) s.setChildrenCollapsible(False) l.addWidget(s, 10) self.lv = lv = QWidget(self) lv.l = l2 = QVBoxLayout(lv) l2.setContentsMargins(0, 0, 0, 0) self.tweaks_view = tv = TweaksView(self) l2.addWidget(tv) self.plugin_tweaks_button = b = QPushButton(self) b.setToolTip( _("Edit tweaks for any custom plugins you have installed")) b.setText(_("&Plugin tweaks")) l2.addWidget(b) s.addWidget(lv) self.lv1 = lv = QWidget(self) s.addWidget(lv) lv.g = g = QGridLayout(lv) g.setContentsMargins(0, 0, 0, 0) self.search = sb = SearchBox2(self) sb.sizePolicy().setHorizontalStretch(10) sb.setSizeAdjustPolicy(sb.AdjustToMinimumContentsLength) sb.setMinimumContentsLength(10) g.addWidget(self.search, 0, 0, 1, 1) self.next_button = b = QPushButton(self) b.setIcon(QIcon(I("arrow-down.png"))) b.setText(_("&Next")) g.addWidget(self.next_button, 0, 1, 1, 1) self.previous_button = b = QPushButton(self) b.setIcon(QIcon(I("arrow-up.png"))) b.setText(_("&Previous")) g.addWidget(self.previous_button, 0, 2, 1, 1) self.hb = hb = QGroupBox(self) hb.setTitle(_("Help")) hb.l = l2 = QVBoxLayout(hb) self.help = h = QPlainTextEdit(self) l2.addWidget(h) h.setLineWrapMode(QPlainTextEdit.NoWrap) h.setReadOnly(True) g.addWidget(hb, 1, 0, 1, 3) self.eb = eb = QGroupBox(self) g.addWidget(eb, 2, 0, 1, 3) eb.setTitle(_("Edit tweak")) eb.g = ebg = QGridLayout(eb) self.edit_tweak = et = QPlainTextEdit(self) et.setMinimumWidth(400) et.setLineWrapMode(QPlainTextEdit.NoWrap) ebg.addWidget(et, 0, 0, 1, 2) self.restore_default_button = b = QPushButton(self) b.setToolTip(_("Restore this tweak to its default value")) b.setText(_("&Reset this tweak")) ebg.addWidget(b, 1, 0, 1, 1) self.apply_button = ab = QPushButton(self) ab.setToolTip(_("Apply any changes you made to this tweak")) ab.setText(_("&Apply changes to this tweak")) ebg.addWidget(ab, 1, 1, 1, 1)
def __init__(self, parent): QWidget.__init__(self, parent) self._layout = l = QHBoxLayout() self.setLayout(self._layout) self._layout.setContentsMargins(0, 5, 0, 0) x = QToolButton(self) x.setText(_('Vi&rtual Library')) x.setIcon(QIcon(I('lt.png'))) x.setObjectName("virtual_library") x.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) l.addWidget(x) parent.virtual_library = x x = QToolButton(self) x.setIcon(QIcon(I('minus.png'))) x.setObjectName('clear_vl') l.addWidget(x) x.setVisible(False) x.setToolTip(_('Close the Virtual Library')) parent.clear_vl = x x = QLabel(self) x.setObjectName("search_count") l.addWidget(x) parent.search_count = x x.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) parent.advanced_search_button = x = QToolButton(self) parent.advanced_search_toggle_action = ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('advanced search toggle', _('Advanced search'), default_keys=("Shift+Ctrl+F", ), action=ac) ac.triggered.connect(x.click) x.setIcon(QIcon(I('search.png'))) l.addWidget(x) x.setToolTip(_("Advanced search")) x = parent.search = SearchBox2(self) x.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Minimum) x.setObjectName("search") x.setToolTip( _("<p>Search the list of books by title, author, publisher, " "tags, comments, etc.<br><br>Words separated by spaces are ANDed" )) x.setMinimumContentsLength(10) l.addWidget(x) self.search_button = QToolButton() self.search_button.setToolButtonStyle(Qt.ToolButtonTextOnly) self.search_button.setText(_('&Go!')) l.addWidget(self.search_button) self.search_button.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.search_button.clicked.connect(parent.do_search_button) self.search_button.setToolTip( _('Do Quick Search (you can also press the Enter key)')) x = parent.clear_button = QToolButton(self) x.setIcon(QIcon(I('clear_left.png'))) x.setObjectName("clear_button") l.addWidget(x) x.setToolTip(_("Reset Quick Search")) x = parent.highlight_only_button = QToolButton(self) x.setIcon(QIcon(I('arrow-down.png'))) l.addWidget(x) x = parent.saved_search = SavedSearchBox(self) x.setMaximumSize(QSize(150, 16777215)) x.setMinimumContentsLength(10) x.setObjectName("saved_search") l.addWidget(x) x = parent.copy_search_button = QToolButton(self) x.setIcon(QIcon(I("search_copy_saved.png"))) x.setObjectName("copy_search_button") l.addWidget(x) x.setToolTip(_("Copy current search text (instead of search name)")) x = parent.save_search_button = RightClickButton(self) x.setIcon(QIcon(I("search_add_saved.png"))) x.setObjectName("save_search_button") l.addWidget(x)
def __init__(self, debug_javascript): MainWindow.__init__(self, None) self.setWindowTitle(_('E-book viewer')) self.base_window_title = unicode(self.windowTitle()) self.setObjectName('EbookViewer') self.setWindowIcon(QIcon(I('viewer.png'))) self.setDockOptions(self.AnimatedDocks | self.AllowTabbedDocks) self.centralwidget = c = QWidget(self) c.setObjectName('centralwidget') self.setCentralWidget(c) self.central_layout = cl = QGridLayout(c) cl.setSpacing(0) c.setLayout(cl), cl.setContentsMargins(0, 0, 0, 0) self.view = v = DocumentView(self) v.setMinimumSize(100, 100) self.view.initialize_view(debug_javascript) v.setObjectName('view') cl.addWidget(v) self.vertical_scrollbar = vs = QScrollBar(c) vs.setOrientation(Qt.Vertical), vs.setObjectName("vertical_scrollbar") cl.addWidget(vs, 0, 1, 2, 1) self.horizontal_scrollbar = hs = QScrollBar(c) hs.setOrientation(Qt.Vertical), hs.setObjectName("horizontal_scrollbar") cl.addWidget(hs, 1, 0, 1, 1) self.tool_bar = tb = QToolBar(self) tb.setObjectName('tool_bar'), tb.setIconSize(QSize(32, 32)) self.addToolBar(Qt.LeftToolBarArea, tb) self.tool_bar2 = tb2 = QToolBar(self) tb2.setObjectName('tool_bar2') self.addToolBar(Qt.TopToolBarArea, tb2) self.tool_bar.setContextMenuPolicy(Qt.PreventContextMenu) self.tool_bar2.setContextMenuPolicy(Qt.PreventContextMenu) self.pos = DoubleSpinBox() self.pos.setDecimals(1) self.pos.setSuffix('/'+_('Unknown')+' ') self.pos.setMinimum(1.) self.tool_bar2.addWidget(self.pos) self.tool_bar2.addSeparator() self.reference = Reference() self.tool_bar2.addWidget(self.reference) self.tool_bar2.addSeparator() self.search = SearchBox2(self) self.search.setMinimumContentsLength(20) self.search.initialize('viewer_search_history') self.search.setToolTip(_('Search for text in book')) self.search.setMinimumWidth(200) self.tool_bar2.addWidget(self.search) self.toc_dock = d = QDockWidget(_('Table of Contents'), self) self.toc = TOCView(self) d.setObjectName('toc-dock') d.setWidget(self.toc) d.close() # starts out hidden self.addDockWidget(Qt.LeftDockWidgetArea, d) d.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.bookmarks_dock = d = QDockWidget(_('Bookmarks'), self) self.bookmarks = BookmarkManager(self) d.setObjectName('bookmarks-dock') d.setWidget(self.bookmarks) d.close() # starts out hidden self.addDockWidget(Qt.RightDockWidgetArea, d) d.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.create_actions() self.metadata = Metadata(self.centralwidget) self.history = History(self.action_back, self.action_forward) self.full_screen_label = QLabel(''' <center> <h1>%s</h1> <h3>%s</h3> <h3>%s</h3> <h3>%s</h3> </center> '''%(_('Full screen mode'), _('Right click to show controls'), _('Tap in the left or right page margin to turn pages'), _('Press Esc to quit')), self.centralWidget()) self.full_screen_label.setVisible(False) self.full_screen_label.final_height = 200 self.full_screen_label.setFocusPolicy(Qt.NoFocus) self.full_screen_label.setStyleSheet(''' QLabel { text-align: center; background-color: white; color: black; border-width: 1px; border-style: solid; border-radius: 20px; } ''') self.clock_label = QLabel('99:99', self.centralWidget()) self.clock_label.setVisible(False) self.clock_label.setFocusPolicy(Qt.NoFocus) self.info_label_style = ''' QLabel { text-align: center; border-width: 1px; border-style: solid; border-radius: 8px; background-color: %s; color: %s; font-family: monospace; font-size: larger; padding: 5px; }''' self.pos_label = QLabel('2000/4000', self.centralWidget()) self.pos_label.setVisible(False) self.pos_label.setFocusPolicy(Qt.NoFocus) self.resize(653, 746) if workaround_broken_under_mouse is not None: for bar in (self.tool_bar, self.tool_bar2): for ac in bar.actions(): m = ac.menu() if m is not None: m.aboutToHide.connect(partial(workaround_broken_under_mouse, bar.widgetForAction(ac)))
def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(723, 540) self.verticalLayout = QtGui.QVBoxLayout(Form) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.label_8 = QtGui.QLabel(Form) self.label_8.setWordWrap(True) self.label_8.setObjectName(_fromUtf8("label_8")) self.verticalLayout.addWidget(self.label_8) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.search = SearchBox2(Form) self.search.setObjectName(_fromUtf8("search")) self.horizontalLayout.addWidget(self.search) self.next_button = QtGui.QPushButton(Form) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.next_button.sizePolicy().hasHeightForWidth()) self.next_button.setSizePolicy(sizePolicy) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("arrow-down.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.next_button.setIcon(icon) self.next_button.setObjectName(_fromUtf8("next_button")) self.horizontalLayout.addWidget(self.next_button) self.previous_button = QtGui.QPushButton(Form) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.previous_button.sizePolicy().hasHeightForWidth()) self.previous_button.setSizePolicy(sizePolicy) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("arrow-up.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.previous_button.setIcon(icon1) self.previous_button.setObjectName(_fromUtf8("previous_button")) self.horizontalLayout.addWidget(self.previous_button) self.verticalLayout.addLayout(self.horizontalLayout) self.user_installed_plugins = QtGui.QCheckBox(Form) self.user_installed_plugins.setObjectName( _fromUtf8("user_installed_plugins")) self.verticalLayout.addWidget(self.user_installed_plugins) self.plugin_view = QtGui.QTreeView(Form) self.plugin_view.setAlternatingRowColors(True) self.plugin_view.setIconSize(QtCore.QSize(32, 32)) self.plugin_view.setAnimated(True) self.plugin_view.setWordWrap(True) self.plugin_view.setHeaderHidden(True) self.plugin_view.setObjectName(_fromUtf8("plugin_view")) self.verticalLayout.addWidget(self.plugin_view) self.horizontalLayout_6 = QtGui.QHBoxLayout() self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6")) self.toggle_plugin_button = QtGui.QPushButton(Form) self.toggle_plugin_button.setObjectName( _fromUtf8("toggle_plugin_button")) self.horizontalLayout_6.addWidget(self.toggle_plugin_button) self.customize_plugin_button = QtGui.QPushButton(Form) self.customize_plugin_button.setObjectName( _fromUtf8("customize_plugin_button")) self.horizontalLayout_6.addWidget(self.customize_plugin_button) self.remove_plugin_button = QtGui.QPushButton(Form) self.remove_plugin_button.setObjectName( _fromUtf8("remove_plugin_button")) self.horizontalLayout_6.addWidget(self.remove_plugin_button) self.verticalLayout.addLayout(self.horizontalLayout_6) self.frame = QtGui.QFrame(Form) self.frame.setFrameShape(QtGui.QFrame.HLine) self.frame.setObjectName(_fromUtf8("frame")) self.verticalLayout.addWidget(self.frame) self.horizontalLayout_7 = QtGui.QHBoxLayout() self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7")) self.button_plugin_new = QtGui.QPushButton(Form) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(_fromUtf8(I("plugins/plugin_new.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.button_plugin_new.setIcon(icon2) self.button_plugin_new.setObjectName(_fromUtf8("button_plugin_new")) self.horizontalLayout_7.addWidget(self.button_plugin_new) self.button_plugin_updates = QtGui.QPushButton(Form) icon3 = QtGui.QIcon() icon3.addPixmap( QtGui.QPixmap(_fromUtf8(I("plugins/plugin_updater.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.button_plugin_updates.setIcon(icon3) self.button_plugin_updates.setObjectName( _fromUtf8("button_plugin_updates")) self.horizontalLayout_7.addWidget(self.button_plugin_updates) self.button_plugin_add = QtGui.QPushButton(Form) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(_fromUtf8(I("document_open.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.button_plugin_add.setIcon(icon4) self.button_plugin_add.setObjectName(_fromUtf8("button_plugin_add")) self.horizontalLayout_7.addWidget(self.button_plugin_add) self.verticalLayout.addLayout(self.horizontalLayout_7) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
def __init__(self, pathtoebook=None, debug_javascript=False, open_at=None, start_in_fullscreen=False): MainWindow.__init__(self, None) self.setupUi(self) self.view.initialize_view(debug_javascript) self.view.magnification_changed.connect(self.magnification_changed) self.show_toc_on_open = False self.current_book_has_toc = False self.base_window_title = unicode(self.windowTitle()) self.iterator = None self.current_page = None self.pending_search = None self.pending_search_dir= None self.pending_anchor = None self.pending_reference = None self.pending_bookmark = None self.pending_restore = False self.existing_bookmarks= [] self.selected_text = None self.was_maximized = False self.read_settings() self.dictionary_box.hide() self.close_dictionary_view.clicked.connect(lambda x:self.dictionary_box.hide()) self.history = History(self.action_back, self.action_forward) self.metadata = Metadata(self) self.pos = DoubleSpinBox() self.pos.setDecimals(1) self.pos.setSuffix('/'+_('Unknown')+' ') self.pos.setMinimum(1.) self.pos.value_changed.connect(self.update_pos_label) self.splitter.setCollapsible(0, False) self.splitter.setCollapsible(1, False) self.pos.setMinimumWidth(150) self.tool_bar2.insertWidget(self.action_find_next, self.pos) self.reference = Reference() self.tool_bar2.insertSeparator(self.action_find_next) self.tool_bar2.insertWidget(self.action_find_next, self.reference) self.tool_bar2.insertSeparator(self.action_find_next) self.setFocusPolicy(Qt.StrongFocus) self.search = SearchBox2(self) self.search.setMinimumContentsLength(20) self.search.initialize('viewer_search_history') self.search.setToolTip(_('Search for text in book')) self.search.setMinimumWidth(200) self.tool_bar2.insertWidget(self.action_find_next, self.search) self.view.set_manager(self) self.pi = ProgressIndicator(self) self.toc.setVisible(False) self.action_quit = QAction(_('&Quit'), self) self.addAction(self.action_quit) self.view_resized_timer = QTimer(self) self.view_resized_timer.timeout.connect(self.viewport_resize_finished) self.view_resized_timer.setSingleShot(True) self.resize_in_progress = False self.action_quit.triggered.connect(self.quit) self.action_copy.setDisabled(True) self.action_metadata.setCheckable(True) self.action_table_of_contents.setCheckable(True) self.toc.setMinimumWidth(80) self.action_reference_mode.setCheckable(True) self.action_reference_mode.triggered[bool].connect(self.view.reference_mode) self.action_metadata.triggered[bool].connect(self.metadata.setVisible) self.action_table_of_contents.toggled[bool].connect(self.set_toc_visible) self.action_copy.triggered[bool].connect(self.copy) self.action_font_size_larger.triggered.connect(self.font_size_larger) self.action_font_size_smaller.triggered.connect(self.font_size_smaller) self.action_open_ebook.triggered[bool].connect(self.open_ebook) self.action_next_page.triggered.connect(self.view.next_page) self.action_previous_page.triggered.connect(self.view.previous_page) self.action_find_next.triggered.connect(self.find_next) self.action_find_previous.triggered.connect(self.find_previous) self.action_full_screen.triggered[bool].connect(self.toggle_fullscreen) self.action_full_screen.setToolTip(_('Toggle full screen [%s]') % _(' or ').join([x for x in self.view.shortcuts.get_shortcuts('Fullscreen')])) self.action_back.triggered[bool].connect(self.back) self.action_forward.triggered[bool].connect(self.forward) self.action_preferences.triggered.connect(self.do_config) self.pos.editingFinished.connect(self.goto_page_num) self.vertical_scrollbar.valueChanged[int].connect(lambda x:self.goto_page(x/100.)) self.search.search.connect(self.find) self.search.focus_to_library.connect(lambda: self.view.setFocus(Qt.OtherFocusReason)) self.toc.pressed[QModelIndex].connect(self.toc_clicked) self.reference.goto.connect(self.goto) self.bookmarks_menu = QMenu() self.action_bookmark.setMenu(self.bookmarks_menu) self.set_bookmarks([]) self.themes_menu = QMenu() self.action_load_theme.setMenu(self.themes_menu) self.tool_bar.widgetForAction(self.action_load_theme).setPopupMode(QToolButton.InstantPopup) self.load_theme_menu() if pathtoebook is not None: f = functools.partial(self.load_ebook, pathtoebook, open_at=open_at) QTimer.singleShot(50, f) self.view.setMinimumSize(100, 100) self.toc.setCursor(Qt.PointingHandCursor) self.tool_bar.setContextMenuPolicy(Qt.PreventContextMenu) self.tool_bar2.setContextMenuPolicy(Qt.PreventContextMenu) self.tool_bar.widgetForAction(self.action_bookmark).setPopupMode(QToolButton.InstantPopup) self.action_full_screen.setCheckable(True) self.full_screen_label = QLabel(''' <center> <h1>%s</h1> <h3>%s</h3> <h3>%s</h3> <h3>%s</h3> </center> '''%(_('Full screen mode'), _('Right click to show controls'), _('Tap in the left or right page margin to turn pages'), _('Press Esc to quit')), self) self.full_screen_label.setVisible(False) self.full_screen_label.setStyleSheet(''' QLabel { text-align: center; background-color: white; color: black; border-width: 1px; border-style: solid; border-radius: 20px; } ''') self.window_mode_changed = None self.toggle_toolbar_action = QAction(_('Show/hide controls'), self) self.toggle_toolbar_action.setCheckable(True) self.toggle_toolbar_action.triggered.connect(self.toggle_toolbars) self.toolbar_hidden = None self.addAction(self.toggle_toolbar_action) self.full_screen_label_anim = QPropertyAnimation( self.full_screen_label, 'size') self.clock_label = QLabel('99:99', self) self.clock_label.setVisible(False) self.clock_label.setFocusPolicy(Qt.NoFocus) self.info_label_style = ''' QLabel { text-align: center; border-width: 1px; border-style: solid; border-radius: 8px; background-color: %s; color: %s; font-family: monospace; font-size: larger; padding: 5px; }''' self.original_frame_style = self.frame.frameStyle() self.pos_label = QLabel('2000/4000', self) self.pos_label.setVisible(False) self.pos_label.setFocusPolicy(Qt.NoFocus) self.clock_timer = QTimer(self) self.clock_timer.timeout.connect(self.update_clock) self.print_menu = QMenu() self.print_menu.addAction(QIcon(I('print-preview.png')), _('Print Preview')) self.action_print.setMenu(self.print_menu) self.tool_bar.widgetForAction(self.action_print).setPopupMode(QToolButton.MenuButtonPopup) self.action_print.triggered.connect(self.print_book) self.print_menu.actions()[0].triggered.connect(self.print_preview) self.open_history_menu = QMenu() self.clear_recent_history_action = QAction( _('Clear list of recently opened books'), self) self.clear_recent_history_action.triggered.connect(self.clear_recent_history) self.build_recent_menu() self.action_open_ebook.setMenu(self.open_history_menu) self.open_history_menu.triggered[QAction].connect(self.open_recent) w = self.tool_bar.widgetForAction(self.action_open_ebook) w.setPopupMode(QToolButton.MenuButtonPopup) for x in ('tool_bar', 'tool_bar2'): x = getattr(self, x) for action in x.actions(): # So that the keyboard shortcuts for these actions will # continue to function even when the toolbars are hidden self.addAction(action) for plugin in self.view.document.all_viewer_plugins: plugin.customize_ui(self) self.view.document.settings_changed.connect(self.settings_changed) self.restore_state() self.settings_changed() self.action_toggle_paged_mode.toggled[bool].connect(self.toggle_paged_mode) if (start_in_fullscreen or self.view.document.start_in_fullscreen): self.action_full_screen.trigger()
def __init__(self, recipe_model, parent=None): QDialog.__init__(self, parent) self.commit_on_change = True self.previous_urn = None self.setWindowIcon(QIcon(I('scheduler.png'))) self.setWindowTitle(_("Schedule news download")) self.l = l = QGridLayout(self) # Left panel self.h = h = QHBoxLayout() l.addLayout(h, 0, 0, 1, 1) self.search = s = SearchBox2(self) self.search.initialize('scheduler_search_history') self.search.setMinimumContentsLength(15) self.go_button = b = QToolButton(self) b.setText(_("Go")) b.clicked.connect(self.search.do_search) h.addWidget(s), h.addWidget(b) self.recipes = RecipesView(self) l.addWidget(self.recipes, 1, 0, 1, 1) self.recipe_model = recipe_model self.recipe_model.do_refresh() self.recipes.setModel(self.recipe_model) self.recipes.setFocus(Qt.OtherFocusReason) self.count_label = la = QLabel(_('%s news sources') % self.recipe_model.showing_count) la.setAlignment(Qt.AlignCenter) l.addWidget(la, 2, 0, 1, 1) self.search.search.connect(self.recipe_model.search) self.recipe_model.searched.connect(self.search.search_done, type=Qt.QueuedConnection) self.recipe_model.searched.connect(self.search_done) # Right Panel self.scroll_area_contents = sac = QWidget(self) self.l.addWidget(sac, 0, 1, 2, 1) sac.v = v = QVBoxLayout(sac) v.setContentsMargins(0, 0, 0, 0) self.detail_box = QTabWidget(self) self.detail_box.setVisible(False) self.detail_box.setCurrentIndex(0) v.addWidget(self.detail_box) v.addItem(QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)) # First Tab (scheduling) self.tab = QWidget() self.detail_box.addTab(self.tab, _("&Schedule")) self.tab.v = vt = QVBoxLayout(self.tab) vt.setContentsMargins(0, 0, 0, 0) self.blurb = la = QLabel('blurb') la.setWordWrap(True), la.setOpenExternalLinks(True) vt.addWidget(la) self.frame = f = QFrame(self.tab) vt.addWidget(f) f.setFrameShape(f.StyledPanel) f.setFrameShadow(f.Raised) f.v = vf = QVBoxLayout(f) self.schedule = s = QCheckBox(_("&Schedule for download:"), f) self.schedule.stateChanged[int].connect(self.toggle_schedule_info) vf.addWidget(s) f.h = h = QHBoxLayout() vf.addLayout(h) self.days_of_week = QRadioButton(_("&Days of week"), f) self.days_of_month = QRadioButton(_("Da&ys of month"), f) self.every_x_days = QRadioButton(_("Every &x days"), f) self.days_of_week.setChecked(True) h.addWidget(self.days_of_week), h.addWidget(self.days_of_month), h.addWidget(self.every_x_days) self.schedule_stack = ss = QStackedWidget(f) self.schedule_widgets = [] for key in reversed(self.SCHEDULE_TYPES): self.schedule_widgets.insert(0, self.SCHEDULE_TYPES[key](self)) self.schedule_stack.insertWidget(0, self.schedule_widgets[0]) vf.addWidget(ss) self.last_downloaded = la = QLabel(f) la.setWordWrap(True) vf.addWidget(la) self.account = acc = QGroupBox(self.tab) acc.setTitle(_("&Account")) vt.addWidget(acc) acc.g = g = QGridLayout(acc) acc.unla = la = QLabel(_("&Username:"******"&Password:"******"&Show password"), self.account) spw.stateChanged[int].connect(self.set_pw_echo_mode) g.addWidget(spw, 2, 0, 1, 2) self.rla = la = QLabel(_("For the scheduling to work, you must leave calibre running.")) vt.addWidget(la) for b, c in iteritems(self.SCHEDULE_TYPES): b = getattr(self, b) b.toggled.connect(self.schedule_type_selected) b.setToolTip(textwrap.dedent(c.HELP)) # Second tab (advanced settings) self.tab2 = t2 = QWidget() self.detail_box.addTab(self.tab2, _("&Advanced")) self.tab2.g = g = QGridLayout(t2) g.setContentsMargins(0, 0, 0, 0) self.add_title_tag = tt = QCheckBox(_("Add &title as tag"), t2) g.addWidget(tt, 0, 0, 1, 2) t2.la = la = QLabel(_("&Extra tags:")) self.custom_tags = ct = QLineEdit(self) la.setBuddy(ct) g.addWidget(la), g.addWidget(ct, 1, 1) t2.la2 = la = QLabel(_("&Keep at most:")) la.setToolTip(_("Maximum number of copies (issues) of this recipe to keep. Set to 0 to keep all (disable).")) self.keep_issues = ki = QSpinBox(t2) tt.toggled['bool'].connect(self.keep_issues.setEnabled) ki.setMaximum(100000), la.setBuddy(ki) ki.setToolTip(_( "<p>When set, this option will cause calibre to keep, at most, the specified number of issues" " of this periodical. Every time a new issue is downloaded, the oldest one is deleted, if the" " total is larger than this number.\n<p>Note that this feature only works if you have the" " option to add the title as tag checked, above.\n<p>Also, the setting for deleting periodicals" " older than a number of days, below, takes priority over this setting.")) ki.setSpecialValueText(_("all issues")), ki.setSuffix(_(" issues")) g.addWidget(la), g.addWidget(ki, 2, 1) si = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) g.addItem(si, 3, 1, 1, 1) # Bottom area self.hb = h = QHBoxLayout() self.l.addLayout(h, 2, 1, 1, 1) self.labt = la = QLabel(_("Delete downloaded &news older than:")) self.old_news = on = QSpinBox(self) on.setToolTip(_( "<p>Delete downloaded news older than the specified number of days. Set to zero to disable.\n" "<p>You can also control the maximum number of issues of a specific periodical that are kept" " by clicking the Advanced tab for that periodical above.")) on.setSpecialValueText(_("never delete")), on.setSuffix(_(" days")) on.setMaximum(1000), la.setBuddy(on) on.setValue(gconf['oldest_news']) h.addWidget(la), h.addWidget(on) self.download_all_button = b = QPushButton(QIcon(I('news.png')), _("Download &all scheduled"), self) b.setToolTip(_("Download all scheduled news sources at once")) b.clicked.connect(self.download_all_clicked) self.l.addWidget(b, 3, 0, 1, 1) self.bb = bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel, self) bb.accepted.connect(self.accept), bb.rejected.connect(self.reject) self.download_button = b = bb.addButton(_('&Download now'), bb.ActionRole) b.setIcon(QIcon(I('arrow-down.png'))), b.setVisible(False) b.clicked.connect(self.download_clicked) self.l.addWidget(bb, 3, 1, 1, 1) geom = gprefs.get('scheduler_dialog_geometry') if geom is not None: QApplication.instance().safe_restore_geometry(self, geom)
def __init__(self, parent): QFrame.__init__(self, parent) self.setFrameStyle(QFrame.Shape.NoFrame) self.setObjectName('search_bar') self._layout = l = QHBoxLayout(self) l.setContentsMargins(0, 4, 0, 4) x = parent.virtual_library = QToolButton(self) x.setCursor(Qt.CursorShape.PointingHandCursor) x.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) x.setText(_('Virtual library')) x.setAutoRaise(True) x.setIcon(QIcon(I('vl.png'))) x.setObjectName("virtual_library") x.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) l.addWidget(x) x = QToolButton(self) x.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) x.setAutoRaise(True) x.setIcon(QIcon(I('minus.png'))) x.setObjectName('clear_vl') l.addWidget(x) x.setVisible(False) x.setToolTip(_('Close the Virtual library')) parent.clear_vl = x self.vl_sep = QFrame(self) self.vl_sep.setFrameStyle(QFrame.Shape.VLine | QFrame.Shadow.Sunken) l.addWidget(self.vl_sep) parent.sort_sep = QFrame(self) parent.sort_sep.setFrameStyle(QFrame.Shape.VLine | QFrame.Shadow.Sunken) parent.sort_sep.setVisible(False) parent.sort_button = self.sort_button = sb = QToolButton(self) sb.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) sb.setToolTip(_('Change how the displayed books are sorted')) sb.setCursor(Qt.CursorShape.PointingHandCursor) sb.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) sb.setAutoRaise(True) sb.setText(_('Sort')) sb.setIcon(QIcon(I('sort.png'))) sb.setMenu(QMenu(sb)) sb.menu().aboutToShow.connect(self.populate_sort_menu) sb.setVisible(False) l.addWidget(sb) l.addWidget(parent.sort_sep) x = parent.search = SearchBox2(self, as_url=search_as_url) x.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) x.setObjectName("search") x.setToolTip(_("<p>Search the list of books by title, author, publisher, " "tags, comments, etc.<br><br>Words separated by spaces are ANDed")) x.setMinimumContentsLength(10) l.addWidget(x) parent.advanced_search_toggle_action = ac = parent.search.add_action('gear.png', QLineEdit.ActionPosition.LeadingPosition) parent.addAction(ac) ac.setToolTip(_('Advanced search')) parent.keyboard.register_shortcut('advanced search toggle', _('Advanced search'), default_keys=("Shift+Ctrl+F",), action=ac) self.search_button = QToolButton() self.search_button.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextOnly) self.search_button.setIcon(QIcon(I('search.png'))) self.search_button.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) self.search_button.setText(_('Search')) self.search_button.setAutoRaise(True) self.search_button.setCursor(Qt.CursorShape.PointingHandCursor) l.addWidget(self.search_button) self.search_button.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) self.search_button.clicked.connect(parent.do_search_button) self.search_button.setToolTip( _('Do quick search (you can also press the Enter key)')) x = parent.highlight_only_button = QToolButton(self) x.setAutoRaise(True) x.setText(_('Highlight')) x.setCursor(Qt.CursorShape.PointingHandCursor) x.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) x.setIcon(QIcon(I('arrow-down.png'))) l.addWidget(x) x = parent.saved_search = SavedSearchBox(self) x.setMaximumSize(QSize(150, 16777215)) x.setMinimumContentsLength(10) x.setObjectName("saved_search") l.addWidget(x) x.setVisible(tweaks['show_saved_search_box']) x = parent.copy_search_button = QToolButton(self) x.setAutoRaise(True) x.setCursor(Qt.CursorShape.PointingHandCursor) x.setIcon(QIcon(I("search_copy_saved.png"))) x.setObjectName("copy_search_button") l.addWidget(x) x.setToolTip(_("Copy current search text (instead of search name)")) x.setVisible(tweaks['show_saved_search_box']) x = parent.save_search_button = RightClickButton(self) x.setAutoRaise(True) x.setCursor(Qt.CursorShape.PointingHandCursor) x.setIcon(QIcon(I("search_add_saved.png"))) x.setObjectName("save_search_button") l.addWidget(x) x.setVisible(tweaks['show_saved_search_box']) x = parent.add_saved_search_button = RightClickButton(self) x.setToolTip(_( 'Use an existing Saved search or create a new one' )) x.setText(_('Saved search')) x.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) x.setCursor(Qt.CursorShape.PointingHandCursor) x.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) x.setAutoRaise(True) x.setIcon(QIcon(I("bookmarks.png"))) l.addWidget(x) x.setVisible(not tweaks['show_saved_search_box'])
def setupUi(self, Dialog): Dialog.setObjectName(_fromUtf8("Dialog")) Dialog.resize(792, 575) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("scheduler.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) Dialog.setWindowIcon(icon) self.gridLayout = QtGui.QGridLayout(Dialog) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) self.search = SearchBox2(Dialog) self.search.setObjectName(_fromUtf8("search")) self.horizontalLayout_2.addWidget(self.search) self.go_button = QtGui.QToolButton(Dialog) self.go_button.setObjectName(_fromUtf8("go_button")) self.horizontalLayout_2.addWidget(self.go_button) self.clear_search_button = QtGui.QToolButton(Dialog) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("clear_left.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.clear_search_button.setIcon(icon1) self.clear_search_button.setObjectName( _fromUtf8("clear_search_button")) self.horizontalLayout_2.addWidget(self.clear_search_button) self.gridLayout.addLayout(self.horizontalLayout_2, 0, 0, 1, 1) self.scrollArea = QtGui.QScrollArea(Dialog) self.scrollArea.setFrameShape(QtGui.QFrame.NoFrame) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName(_fromUtf8("scrollArea")) self.scrollAreaWidgetContents = QtGui.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 518, 498)) self.scrollAreaWidgetContents.setObjectName( _fromUtf8("scrollAreaWidgetContents")) self.verticalLayout_5 = QtGui.QVBoxLayout( self.scrollAreaWidgetContents) self.verticalLayout_5.setMargin(0) self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5")) self.detail_box = QtGui.QTabWidget(self.scrollAreaWidgetContents) self.detail_box.setObjectName(_fromUtf8("detail_box")) self.tab = QtGui.QWidget() self.tab.setObjectName(_fromUtf8("tab")) self.verticalLayout = QtGui.QVBoxLayout(self.tab) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.blurb = QtGui.QLabel(self.tab) self.blurb.setWordWrap(True) self.blurb.setOpenExternalLinks(True) self.blurb.setObjectName(_fromUtf8("blurb")) self.verticalLayout.addWidget(self.blurb) spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem) self.frame = QtGui.QFrame(self.tab) self.frame.setFrameShape(QtGui.QFrame.StyledPanel) self.frame.setFrameShadow(QtGui.QFrame.Raised) self.frame.setObjectName(_fromUtf8("frame")) self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame) self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) self.schedule = QtGui.QCheckBox(self.frame) self.schedule.setObjectName(_fromUtf8("schedule")) self.verticalLayout_2.addWidget(self.schedule) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.days_of_week = QtGui.QRadioButton(self.frame) self.days_of_week.setObjectName(_fromUtf8("days_of_week")) self.horizontalLayout.addWidget(self.days_of_week) self.days_of_month = QtGui.QRadioButton(self.frame) self.days_of_month.setObjectName(_fromUtf8("days_of_month")) self.horizontalLayout.addWidget(self.days_of_month) self.every_x_days = QtGui.QRadioButton(self.frame) self.every_x_days.setObjectName(_fromUtf8("every_x_days")) self.horizontalLayout.addWidget(self.every_x_days) self.verticalLayout_2.addLayout(self.horizontalLayout) self.schedule_stack = QtGui.QStackedWidget(self.frame) self.schedule_stack.setMaximumSize(QtCore.QSize(16777215, 75)) self.schedule_stack.setObjectName(_fromUtf8("schedule_stack")) self.verticalLayout_2.addWidget(self.schedule_stack) self.last_downloaded = QtGui.QLabel(self.frame) self.last_downloaded.setText(_fromUtf8("")) self.last_downloaded.setWordWrap(True) self.last_downloaded.setObjectName(_fromUtf8("last_downloaded")) self.verticalLayout_2.addWidget(self.last_downloaded) self.verticalLayout.addWidget(self.frame) spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem1) self.account = QtGui.QGroupBox(self.tab) self.account.setObjectName(_fromUtf8("account")) self.gridLayout_2 = QtGui.QGridLayout(self.account) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.username = QtGui.QLineEdit(self.account) self.username.setObjectName(_fromUtf8("username")) self.gridLayout_2.addWidget(self.username, 0, 1, 1, 1) self.label_2 = QtGui.QLabel(self.account) self.label_2.setObjectName(_fromUtf8("label_2")) self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1) self.label_3 = QtGui.QLabel(self.account) self.label_3.setObjectName(_fromUtf8("label_3")) self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1) self.password = QtGui.QLineEdit(self.account) self.password.setEchoMode(QtGui.QLineEdit.Password) self.password.setObjectName(_fromUtf8("password")) self.gridLayout_2.addWidget(self.password, 1, 1, 1, 1) self.show_password = QtGui.QCheckBox(self.account) self.show_password.setObjectName(_fromUtf8("show_password")) self.gridLayout_2.addWidget(self.show_password, 2, 0, 1, 1) self.verticalLayout.addWidget(self.account) self.label = QtGui.QLabel(self.tab) self.label.setWordWrap(True) self.label.setObjectName(_fromUtf8("label")) self.verticalLayout.addWidget(self.label) self.detail_box.addTab(self.tab, _fromUtf8("")) self.tab_2 = QtGui.QWidget() self.tab_2.setObjectName(_fromUtf8("tab_2")) self.gridLayout_3 = QtGui.QGridLayout(self.tab_2) self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3")) self.add_title_tag = QtGui.QCheckBox(self.tab_2) self.add_title_tag.setObjectName(_fromUtf8("add_title_tag")) self.gridLayout_3.addWidget(self.add_title_tag, 0, 0, 1, 1) self.label_5 = QtGui.QLabel(self.tab_2) self.label_5.setObjectName(_fromUtf8("label_5")) self.gridLayout_3.addWidget(self.label_5, 1, 0, 1, 1) self.label_6 = QtGui.QLabel(self.tab_2) self.label_6.setObjectName(_fromUtf8("label_6")) self.gridLayout_3.addWidget(self.label_6, 3, 0, 1, 2) self.keep_issues = QtGui.QSpinBox(self.tab_2) self.keep_issues.setMaximum(100000) self.keep_issues.setObjectName(_fromUtf8("keep_issues")) self.gridLayout_3.addWidget(self.keep_issues, 3, 2, 1, 1) spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem2, 4, 1, 1, 1) self.custom_tags = QtGui.QLineEdit(self.tab_2) self.custom_tags.setObjectName(_fromUtf8("custom_tags")) self.gridLayout_3.addWidget(self.custom_tags, 1, 2, 1, 1) self.detail_box.addTab(self.tab_2, _fromUtf8("")) self.verticalLayout_5.addWidget(self.detail_box) spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem3) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.gridLayout.addWidget(self.scrollArea, 0, 1, 2, 1) self.recipes = QtGui.QTreeView(Dialog) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.recipes.sizePolicy().hasHeightForWidth()) self.recipes.setSizePolicy(sizePolicy) self.recipes.setProperty("showDropIndicator", False) self.recipes.setIconSize(QtCore.QSize(16, 16)) self.recipes.setAnimated(True) self.recipes.setHeaderHidden(True) self.recipes.setObjectName(_fromUtf8("recipes")) self.gridLayout.addWidget(self.recipes, 1, 0, 1, 1) self.count_label = QtGui.QLabel(Dialog) self.count_label.setText(_fromUtf8("")) self.count_label.setAlignment(QtCore.Qt.AlignCenter) self.count_label.setObjectName(_fromUtf8("count_label")) self.gridLayout.addWidget(self.count_label, 2, 0, 1, 1) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3")) self.label_7 = QtGui.QLabel(Dialog) self.label_7.setObjectName(_fromUtf8("label_7")) self.horizontalLayout_3.addWidget(self.label_7) self.old_news = QtGui.QSpinBox(Dialog) self.old_news.setMaximum(1000) self.old_news.setObjectName(_fromUtf8("old_news")) self.horizontalLayout_3.addWidget(self.old_news) self.gridLayout.addLayout(self.horizontalLayout_3, 2, 1, 1, 1) self.download_all_button = QtGui.QPushButton(Dialog) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(_fromUtf8(I("news.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.download_all_button.setIcon(icon2) self.download_all_button.setObjectName( _fromUtf8("download_all_button")) self.gridLayout.addWidget(self.download_all_button, 3, 0, 1, 1) self.buttonBox = QtGui.QDialogButtonBox(Dialog) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Save) self.buttonBox.setObjectName(_fromUtf8("buttonBox")) self.gridLayout.addWidget(self.buttonBox, 3, 1, 1, 1) self.label_2.setBuddy(self.username) self.label_3.setBuddy(self.password) self.label_5.setBuddy(self.custom_tags) self.label_6.setBuddy(self.keep_issues) self.label_7.setBuddy(self.old_news) self.retranslateUi(Dialog) self.detail_box.setCurrentIndex(0) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject) QtCore.QObject.connect(self.add_title_tag, QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.keep_issues.setEnabled) QtCore.QMetaObject.connectSlotsByName(Dialog)
def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(756, 531) self.verticalLayout_4 = QtGui.QVBoxLayout(Form) self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4")) self.label_18 = QtGui.QLabel(Form) self.label_18.setWordWrap(True) self.label_18.setObjectName(_fromUtf8("label_18")) self.verticalLayout_4.addWidget(self.label_18) self.splitter = QtGui.QSplitter(Form) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(10) sizePolicy.setHeightForWidth( self.splitter.sizePolicy().hasHeightForWidth()) self.splitter.setSizePolicy(sizePolicy) self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setChildrenCollapsible(False) self.splitter.setObjectName(_fromUtf8("splitter")) self.layoutWidget = QtGui.QWidget(self.splitter) self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) self.verticalLayout_2 = QtGui.QVBoxLayout(self.layoutWidget) self.verticalLayout_2.setMargin(0) self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) self.tweaks_view = QtGui.QListView(self.layoutWidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tweaks_view.sizePolicy().hasHeightForWidth()) self.tweaks_view.setSizePolicy(sizePolicy) self.tweaks_view.setMinimumSize(QtCore.QSize(300, 0)) self.tweaks_view.setAlternatingRowColors(True) self.tweaks_view.setSpacing(5) self.tweaks_view.setUniformItemSizes(True) self.tweaks_view.setObjectName(_fromUtf8("tweaks_view")) self.verticalLayout_2.addWidget(self.tweaks_view) self.plugin_tweaks_button = QtGui.QPushButton(self.layoutWidget) self.plugin_tweaks_button.setObjectName( _fromUtf8("plugin_tweaks_button")) self.verticalLayout_2.addWidget(self.plugin_tweaks_button) self.layoutWidget1 = QtGui.QWidget(self.splitter) self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1")) self.gridLayout_3 = QtGui.QGridLayout(self.layoutWidget1) self.gridLayout_3.setMargin(0) self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3")) self.groupBox = QtGui.QGroupBox(self.layoutWidget1) self.groupBox.setObjectName(_fromUtf8("groupBox")) self.verticalLayout = QtGui.QVBoxLayout(self.groupBox) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.help = QtGui.QPlainTextEdit(self.groupBox) self.help.setLineWrapMode(QtGui.QPlainTextEdit.NoWrap) self.help.setReadOnly(True) self.help.setObjectName(_fromUtf8("help")) self.verticalLayout.addWidget(self.help) self.gridLayout_3.addWidget(self.groupBox, 1, 0, 1, 3) self.groupBox_2 = QtGui.QGroupBox(self.layoutWidget1) self.groupBox_2.setObjectName(_fromUtf8("groupBox_2")) self.gridLayout = QtGui.QGridLayout(self.groupBox_2) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.edit_tweak = QtGui.QPlainTextEdit(self.groupBox_2) self.edit_tweak.setLineWrapMode(QtGui.QPlainTextEdit.NoWrap) self.edit_tweak.setObjectName(_fromUtf8("edit_tweak")) self.gridLayout.addWidget(self.edit_tweak, 0, 0, 1, 2) self.restore_default_button = QtGui.QPushButton(self.groupBox_2) self.restore_default_button.setObjectName( _fromUtf8("restore_default_button")) self.gridLayout.addWidget(self.restore_default_button, 1, 0, 1, 1) self.apply_button = QtGui.QPushButton(self.groupBox_2) self.apply_button.setObjectName(_fromUtf8("apply_button")) self.gridLayout.addWidget(self.apply_button, 1, 1, 1, 1) self.gridLayout_3.addWidget(self.groupBox_2, 2, 0, 1, 3) self.search = SearchBox2(self.layoutWidget1) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(10) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.search.sizePolicy().hasHeightForWidth()) self.search.setSizePolicy(sizePolicy) self.search.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToMinimumContentsLength) self.search.setMinimumContentsLength(10) self.search.setObjectName(_fromUtf8("search")) self.gridLayout_3.addWidget(self.search, 0, 0, 1, 1) self.next_button = QtGui.QPushButton(self.layoutWidget1) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("arrow-down.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.next_button.setIcon(icon) self.next_button.setObjectName(_fromUtf8("next_button")) self.gridLayout_3.addWidget(self.next_button, 0, 1, 1, 1) self.previous_button = QtGui.QPushButton(self.layoutWidget1) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("arrow-up.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.previous_button.setIcon(icon1) self.previous_button.setObjectName(_fromUtf8("previous_button")) self.gridLayout_3.addWidget(self.previous_button, 0, 2, 1, 1) self.verticalLayout_4.addWidget(self.splitter) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)