From 3363f706029d06321629d786f10645419bc27dd0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 23 Jan 2009 12:41:01 -0800 Subject: [PATCH] Implement #1677 (Task tray status boss option) --- src/calibre/gui2/__init__.py | 2 ++ src/calibre/gui2/dialogs/config.py | 2 ++ src/calibre/gui2/dialogs/config.ui | 21 ++++++++++++++------- src/calibre/gui2/status.py | 4 ++-- src/calibre/linux.py | 1 - 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index ccc14b8d1f..a3388a3c29 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -60,6 +60,8 @@ def _config(): help=_('Delete books from library after uploading to device')) c.add_opt('separate_cover_flow', default=False, help=_('Show the cover flow in a separate window instead of in the main calibre window')) + c.add_opt('disable_tray_notification', default=False, + help=_('Disable notifications from the system tray icon')) return ConfigProxy(c) config = _config() diff --git a/src/calibre/gui2/dialogs/config.py b/src/calibre/gui2/dialogs/config.py index 8acbb2a825..bbd5475e2b 100644 --- a/src/calibre/gui2/dialogs/config.py +++ b/src/calibre/gui2/dialogs/config.py @@ -186,6 +186,7 @@ class ConfigDialog(QDialog, Ui_Dialog): single_format = config['save_to_disk_single_format'] self.single_format.setCurrentIndex(BOOK_EXTENSIONS.index(single_format)) self.cover_browse.setValue(config['cover_flow_queue_length']) + self.systray_notifications.setChecked(not config['disable_tray_notification']) from calibre.translations.compiled import translations from calibre.translations import language_codes from calibre.startup import get_lang @@ -394,6 +395,7 @@ class ConfigDialog(QDialog, Ui_Dialog): config['toolbar_icon_size'] = self.ICON_SIZES[self.toolbar_button_size.currentIndex()] config['show_text_in_toolbar'] = bool(self.show_toolbar_text.isChecked()) config['separate_cover_flow'] = bool(self.separate_cover_flow.isChecked()) + config['disable_tray_notification'] = not self.systray_notifications.isChecked() pattern = self.filename_pattern.commit() prefs['filename_pattern'] = pattern p = {0:'normal', 1:'high', 2:'low'}[self.priority.currentIndex()] diff --git a/src/calibre/gui2/dialogs/config.ui b/src/calibre/gui2/dialogs/config.ui index 7f678ce8ea..4cb33dedc8 100644 --- a/src/calibre/gui2/dialogs/config.ui +++ b/src/calibre/gui2/dialogs/config.ui @@ -7,7 +7,7 @@ 0 0 800 - 570 + 581 @@ -339,7 +339,7 @@ - + @@ -356,7 +356,7 @@ - + Toolbar @@ -404,7 +404,7 @@ - + Select visible &columns in library view @@ -492,27 +492,34 @@ - + Automatically send downloaded &news to ebook reader - + &Delete news from library when it is sent to reader - + Show cover &browser in a separate window (needs restart) + + + + Show &notifications in system tray + + + diff --git a/src/calibre/gui2/status.py b/src/calibre/gui2/status.py index 75a967943e..d55e93d377 100644 --- a/src/calibre/gui2/status.py +++ b/src/calibre/gui2/status.py @@ -6,7 +6,7 @@ from PyQt4.QtGui import QStatusBar, QMovie, QLabel, QWidget, QHBoxLayout, QPixma QVBoxLayout, QSizePolicy, QToolButton, QIcon, QScrollArea, QFrame from PyQt4.QtCore import Qt, QSize, SIGNAL, QCoreApplication from calibre import fit_image, preferred_encoding, isosx -from calibre.gui2 import qstring_to_unicode +from calibre.gui2 import qstring_to_unicode, config class BookInfoDisplay(QWidget): class BookCoverDisplay(QLabel): @@ -197,7 +197,7 @@ class StatusBar(QStatusBar): def showMessage(self, msg, timeout=0): ret = QStatusBar.showMessage(self, msg, timeout) - if self.systray is not None: + if self.systray is not None and not config['disable_tray_notification']: if isosx and isinstance(msg, unicode): try: msg = msg.encode(preferred_encoding) diff --git a/src/calibre/linux.py b/src/calibre/linux.py index 93571cce4f..ffd4c46d7f 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -58,7 +58,6 @@ entry_points = { 'librarything = calibre.ebooks.metadata.library_thing:main', 'mobi2oeb = calibre.ebooks.mobi.reader:main', 'oeb2mobi = calibre.ebooks.mobi.writer:main', - 'lrf2html = calibre.ebooks.lrf.html.convert_to:main', 'lit2oeb = calibre.ebooks.lit.reader:main', 'oeb2lit = calibre.ebooks.lit.writer:main', 'comic2lrf = calibre.ebooks.lrf.comic.convert_from:main',