From edc4b10817b30c887cd9c8b2ccf35ac994746faf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 2 Jun 2010 16:06:38 -0600 Subject: [PATCH] Add option to disable splash screen --- src/calibre/gui2/dialogs/config/__init__.py | 5 ++- src/calibre/gui2/dialogs/config/config.ui | 35 ++++++++++++--------- src/calibre/gui2/main.py | 9 ++++-- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/src/calibre/gui2/dialogs/config/__init__.py b/src/calibre/gui2/dialogs/config/__init__.py index 5e10ea1621..5d855b5263 100644 --- a/src/calibre/gui2/dialogs/config/__init__.py +++ b/src/calibre/gui2/dialogs/config/__init__.py @@ -14,7 +14,7 @@ from PyQt4.Qt import QDialog, QListWidgetItem, QIcon, \ from calibre.constants import iswindows, isosx from calibre.gui2.dialogs.config.config_ui import Ui_Dialog from calibre.gui2.dialogs.config.create_custom_column import CreateCustomColumn -from calibre.gui2 import choose_dir, error_dialog, config, \ +from calibre.gui2 import choose_dir, error_dialog, config, gprefs, \ ALL_COLUMNS, NONE, info_dialog, choose_files, \ warning_dialog, ResizableDialog, question_dialog from calibre.utils.config import prefs @@ -480,6 +480,8 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): self.opt_enforce_cpu_limit.setChecked(config['enforce_cpu_limit']) self.device_detection_button.clicked.connect(self.debug_device_detection) self.port.editingFinished.connect(self.check_port_value) + self.show_splash_screen.setChecked(gprefs.get('show_splash_screen', + True)) def check_port_value(self, *args): port = self.port.value() @@ -852,6 +854,7 @@ class ConfigDialog(ResizableDialog, Ui_Dialog): config['get_social_metadata'] = self.opt_get_social_metadata.isChecked() config['overwrite_author_title_metadata'] = self.opt_overwrite_author_title_metadata.isChecked() config['enforce_cpu_limit'] = bool(self.opt_enforce_cpu_limit.isChecked()) + gprefs['show_splash_screen'] = bool(self.show_splash_screen.isChecked()) fmts = [] for i in range(self.viewer.count()): if self.viewer.item(i).checkState() == Qt.Checked: diff --git a/src/calibre/gui2/dialogs/config/config.ui b/src/calibre/gui2/dialogs/config/config.ui index 5d84e2e2af..db748dae7e 100644 --- a/src/calibre/gui2/dialogs/config/config.ui +++ b/src/calibre/gui2/dialogs/config/config.ui @@ -331,8 +331,8 @@ - - + + Use &Roman numerals for series number @@ -342,28 +342,35 @@ - + Enable system &tray icon (needs restart) - + Show &notifications in system tray - + + + + Show &splash screen at startup + + + + Show cover &browser in a separate window (needs restart) - + Search as you type @@ -373,21 +380,21 @@ - + Automatically send downloaded &news to ebook reader - + &Delete news from library when it is automatically sent to reader - + @@ -404,7 +411,7 @@ - + Toolbar @@ -452,7 +459,7 @@ - + @@ -527,12 +534,12 @@ - - ... - Add a user-defined column + + ... + :/images/plus.svg:/images/plus.svg diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index c6777566f7..29ae1875c8 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -9,7 +9,8 @@ from PyQt4.Qt import QCoreApplication, QIcon, QMessageBox, QObject, QTimer, \ QSplashScreen, QApplication from calibre import prints, plugins -from calibre.constants import iswindows, __appname__, isosx, filesystem_encoding +from calibre.constants import iswindows, __appname__, isosx, DEBUG, \ + filesystem_encoding from calibre.utils.ipc import ADDRESS, RC from calibre.gui2 import ORG_NAME, APP_UID, initialize_file_icon_provider, \ Application, choose_dir, error_dialog, question_dialog, gprefs @@ -114,12 +115,15 @@ class GuiRunner(QObject): initialization''' def __init__(self, opts, args, actions, listener, app): + self.startup_time = time.time() self.opts, self.args, self.listener, self.app = opts, args, listener, app self.actions = actions self.main = None QObject.__init__(self) self.splash_screen = None self.timer = QTimer.singleShot(1, self.initialize) + if DEBUG: + prints('Starting up...') def start_gui(self): from calibre.gui2.ui import Main @@ -128,6 +132,8 @@ class GuiRunner(QObject): self.splash_screen.showMessage(_('Initializing user interface...')) self.splash_screen.finish(main) main.initialize(self.library_path, self.db, self.listener, self.actions) + if DEBUG: + prints('Started up in', time.time() - self.startup_time) add_filesystem_book = partial(main.add_filesystem_book, allow_device=False) sys.excepthook = main.unhandled_exception if len(self.args) > 1: @@ -230,7 +236,6 @@ class GuiRunner(QObject): if gprefs.get('show_splash_screen', True): self.show_splash_screen() - time.sleep(10) self.library_path = get_library_path() if self.library_path is None: self.initialization_failed()