diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 973e2bd584..14afa604df 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -53,6 +53,7 @@ def _config(): help=_('Columns to be displayed in the book list')) c.add_opt('autolaunch_server', default=False, help=_('Automatically launch content server on application startup')) c.add_opt('oldest_news', default=60, help=_('Oldest news kept in database')) + c.add_opt('systray_icon', default=True, help=_('Show 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 707e1a1daf..38b4060084 100644 --- a/src/calibre/gui2/dialogs/config.py +++ b/src/calibre/gui2/dialogs/config.py @@ -117,6 +117,7 @@ class ConfigDialog(QDialog, Ui_Dialog): self.username.setText(opts.username) self.password.setText(opts.password if opts.password else '') self.auto_launch.setChecked(config['autolaunch_server']) + self.systray_icon.setChecked(config['systray_icon']) def up_column(self): idx = self.columns.currentRow() @@ -217,6 +218,7 @@ class ConfigDialog(QDialog, Ui_Dialog): config['save_to_disk_single_format'] = BOOK_EXTENSIONS[self.single_format.currentIndex()] config['cover_flow_queue_length'] = self.cover_browse.value() prefs['language'] = str(self.language.itemData(self.language.currentIndex()).toString()) + config['systray_icon'] = self.systray_icon.checkState() == Qt.Checked config['autolaunch_server'] = self.auto_launch.isChecked() sc = server_config() sc.set('username', unicode(self.username.text()).strip()) diff --git a/src/calibre/gui2/dialogs/config.ui b/src/calibre/gui2/dialogs/config.ui index 94a0f96e29..637e9d9325 100644 --- a/src/calibre/gui2/dialogs/config.ui +++ b/src/calibre/gui2/dialogs/config.ui @@ -72,7 +72,7 @@ - 0 + 1 @@ -357,7 +357,7 @@ - + @@ -374,7 +374,7 @@ - + Toolbar @@ -422,7 +422,7 @@ - + Select visible &columns in library view @@ -503,6 +503,13 @@ + + + + Enable system &tray icon (needs restart) + + + diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 0f49b97beb..44c8b91a32 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -91,7 +91,7 @@ class Main(MainWindow, Ui_MainWindow): self.viewers = collections.deque() self.content_server = None self.system_tray_icon = QSystemTrayIcon(QIcon(':/library'), self) - if opts.no_systray: + if not config['systray_icon']: self.system_tray_icon.hide() else: self.system_tray_icon.show() @@ -1337,8 +1337,6 @@ path_to_ebook to the database. help=_('Use the library located at the specified path.')) parser.add_option('-v', '--verbose', default=0, action='count', help=_('Log debugging information to console')) - parser.add_option('--no-systray', default=False, action='store_true', - help=_('Disable system tray icon')) return parser def main(args=sys.argv):