Add entry to context (right-click) menu to show book details

This commit is contained in:
Kovid Goyal 2008-12-04 11:19:01 -08:00
parent 263c6d7247
commit b5d167512a
4 changed files with 24 additions and 5 deletions

View File

@ -7,7 +7,7 @@ __docformat__ = 'restructuredtext en'
from PyQt4.QtGui import QDialog from PyQt4.QtGui import QDialog
from calibre.gui2.dialogs.comicconf_ui import Ui_Dialog from calibre.gui2.dialogs.comicconf_ui import Ui_Dialog
from calibre.gui2 import qstring_to_unicode from calibre.gui2 import qstring_to_unicode
from calibre.ebooks.lrf.comic.convert_from import config from calibre.ebooks.lrf.comic.convert_from import config, PROFILES
def set_conversion_defaults(window): def set_conversion_defaults(window):
d = ComicConf(window) d = ComicConf(window)
@ -52,6 +52,9 @@ class ComicConf(QDialog, Ui_Dialog):
self.opt_author.setText(author) self.opt_author.setText(author)
self.opt_colors.setValue(opts.colors) self.opt_colors.setValue(opts.colors)
self.opt_profile.addItem(opts.profile) self.opt_profile.addItem(opts.profile)
for x in PROFILES.keys():
if x != opts.profile:
self.opt_profile.addItem(x)
self.opt_dont_normalize.setChecked(opts.dont_normalize) self.opt_dont_normalize.setChecked(opts.dont_normalize)
self.opt_keep_aspect_ratio.setChecked(opts.keep_aspect_ratio) self.opt_keep_aspect_ratio.setChecked(opts.keep_aspect_ratio)
self.opt_dont_sharpen.setChecked(opts.dont_sharpen) self.opt_dont_sharpen.setChecked(opts.dont_sharpen)

View File

@ -563,7 +563,8 @@ class BooksView(TableView):
if col > -1: if col > -1:
self.setItemDelegateForColumn(col, self.rating_delegate) self.setItemDelegateForColumn(col, self.rating_delegate)
def set_context_menu(self, edit_metadata, send_to_device, convert, view, save, open_folder): def set_context_menu(self, edit_metadata, send_to_device, convert, view,
save, open_folder, book_details):
self.setContextMenuPolicy(Qt.DefaultContextMenu) self.setContextMenuPolicy(Qt.DefaultContextMenu)
self.context_menu = QMenu(self) self.context_menu = QMenu(self)
if edit_metadata is not None: if edit_metadata is not None:
@ -576,6 +577,8 @@ class BooksView(TableView):
self.context_menu.addAction(save) self.context_menu.addAction(save)
if open_folder is not None: if open_folder is not None:
self.context_menu.addAction(open_folder) self.context_menu.addAction(open_folder)
if book_details is not None:
self.context_menu.addAction(book_details)
def contextMenuEvent(self, event): def contextMenuEvent(self, event):
self.context_menu.popup(event.globalPos()) self.context_menu.popup(event.globalPos())

View File

@ -104,10 +104,13 @@ class Main(MainWindow, Ui_MainWindow):
self.system_tray_menu.addAction(self.quit_action) self.system_tray_menu.addAction(self.quit_action)
self.quit_action.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_Q)) self.quit_action.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_Q))
self.action_restart.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_R)) self.action_restart.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_R))
self.action_show_book_details.setShortcut(QKeySequence(Qt.Key_I))
self.addAction(self.action_show_book_details)
self.system_tray_icon.setContextMenu(self.system_tray_menu) self.system_tray_icon.setContextMenu(self.system_tray_menu)
self.connect(self.quit_action, SIGNAL('triggered(bool)'), self.quit) self.connect(self.quit_action, SIGNAL('triggered(bool)'), self.quit)
self.connect(self.donate_action, SIGNAL('triggered(bool)'), self.donate) self.connect(self.donate_action, SIGNAL('triggered(bool)'), self.donate)
self.connect(self.restore_action, SIGNAL('triggered(bool)'), lambda c : self.show()) self.connect(self.restore_action, SIGNAL('triggered(bool)'), lambda c : self.show())
self.connect(self.action_show_book_details, SIGNAL('triggered(bool)'), self.show_book_info)
def restart_app(c): def restart_app(c):
self.quit(None, restart=True) self.quit(None, restart=True)
self.connect(self.action_restart, SIGNAL('triggered(bool)'), restart_app) self.connect(self.action_restart, SIGNAL('triggered(bool)'), restart_app)
@ -233,9 +236,10 @@ class Main(MainWindow, Ui_MainWindow):
####################### Library view ######################## ####################### Library view ########################
self.library_view.set_context_menu(self.action_edit, self.action_sync, self.library_view.set_context_menu(self.action_edit, self.action_sync,
self.action_convert, self.action_view, self.action_convert, self.action_view,
self.action_save, self.action_open_containing_folder) self.action_save, self.action_open_containing_folder,
self.memory_view.set_context_menu(None, None, None, self.action_view, self.action_save, None) self.action_show_book_details)
self.card_view.set_context_menu(None, None, None, self.action_view, self.action_save, None) self.memory_view.set_context_menu(None, None, None, self.action_view, self.action_save, None, None)
self.card_view.set_context_menu(None, None, None, self.action_view, self.action_save, None, None)
QObject.connect(self.library_view, SIGNAL('files_dropped(PyQt_PyObject)'), QObject.connect(self.library_view, SIGNAL('files_dropped(PyQt_PyObject)'),
self.files_dropped) self.files_dropped)
for func, target in [ for func, target in [

View File

@ -569,6 +569,15 @@
<string>Open containing folder</string> <string>Open containing folder</string>
</property> </property>
</action> </action>
<action name="action_show_book_details" >
<property name="icon" >
<iconset resource="images.qrc" >
<normaloff>:/images/dialog_information.svg</normaloff>:/images/dialog_information.svg</iconset>
</property>
<property name="text" >
<string>Show book details</string>
</property>
</action>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>