From 9370e50d593ca7c733eeb340c9a8989c3c497025 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 4 Jul 2010 12:05:13 -0600 Subject: [PATCH] Add help button to main toolbar --- resources/images/help.svg | 269 ++++++++++++++++++++++++++++++++++++++ src/calibre/gui2/init.py | 16 ++- src/calibre/gui2/main.ui | 17 +++ 3 files changed, 300 insertions(+), 2 deletions(-) create mode 100644 resources/images/help.svg diff --git a/resources/images/help.svg b/resources/images/help.svg new file mode 100644 index 0000000000..be41385b7d --- /dev/null +++ b/resources/images/help.svg @@ -0,0 +1,269 @@ + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py index 8ac36e06b9..056d0c0d1d 100644 --- a/src/calibre/gui2/init.py +++ b/src/calibre/gui2/init.py @@ -8,12 +8,12 @@ __docformat__ = 'restructuredtext en' import functools from PyQt4.Qt import QMenu, Qt, pyqtSignal, QToolButton, QIcon, QStackedWidget, \ - QSize, QSizePolicy, QStatusBar + QSize, QSizePolicy, QStatusBar, QUrl from calibre.utils.config import prefs from calibre.ebooks import BOOK_EXTENSIONS from calibre.constants import isosx, __appname__, preferred_encoding -from calibre.gui2 import config, is_widescreen +from calibre.gui2 import config, is_widescreen, open_url from calibre.gui2.library.views import BooksView, DeviceBooksView from calibre.gui2.widgets import Splitter from calibre.gui2.tag_view import TagBrowserWidget @@ -47,6 +47,7 @@ class SaveMenu(QMenu): # {{{ class ToolbarMixin(object): # {{{ def __init__(self): + self.action_help.triggered.connect(self.show_help) md = QMenu() md.addAction(_('Edit metadata individually'), partial(self.edit_metadata, False, bulk=False)) @@ -185,6 +186,9 @@ class ToolbarMixin(object): # {{{ self.tool_bar.contextMenuEvent = self.no_op + def show_help(self, *args): + open_url(QUrl('http://calibre-ebook.com/user_manual')) + def read_toolbar_settings(self): self.tool_bar.setIconSize(config['toolbar_icon_size']) self.tool_bar.setToolButtonStyle( @@ -363,8 +367,12 @@ class Stack(QStackedWidget): # {{{ class StatusBar(QStatusBar): # {{{ def initialize(self, systray=None): + self.default_message = 'Welcome to calibre' self.systray = systray self.notifier = get_notifier(systray) + self.messageChanged.connect(self.message_changed, + type=Qt.QueuedConnection) + self.message_changed('') def show_message(self, msg, timeout=0): self.showMessage(msg, timeout) @@ -379,6 +387,10 @@ class StatusBar(QStatusBar): # {{{ def clear_message(self): self.clearMessage() + def message_changed(self, msg): + if not msg or msg.isEmpty() or msg.isNull(): + self.showMessage(self.default_message) + # }}} diff --git a/src/calibre/gui2/main.ui b/src/calibre/gui2/main.ui index a05796a6cb..7720f308a3 100644 --- a/src/calibre/gui2/main.ui +++ b/src/calibre/gui2/main.ui @@ -353,6 +353,8 @@ + + @@ -544,6 +546,21 @@ Ctrl+P + + + + :/images/help.svg:/images/help.svg + + + Help + + + Browse the calibre User Manual + + + F1 + +