From fafa92ec0591f33b50390374a29b3f412851b3a5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 12 Mar 2009 11:34:05 -0700 Subject: [PATCH] Fix #2031 (Ebook viewer) --- src/calibre/gui2/main.py | 5 ++++- src/calibre/gui2/viewer/main.py | 8 +++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 4ecfc08f58..545d70ecef 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -818,7 +818,8 @@ class Main(MainWindow, Ui_MainWindow): rows = self.library_view.selectionModel().selectedRows() previous = self.library_view.currentIndex() if not rows or len(rows) == 0: - d = error_dialog(self, _('Cannot edit metadata'), _('No books selected')) + d = error_dialog(self, _('Cannot edit metadata'), + _('No books selected')) d.exec_() return @@ -1152,6 +1153,8 @@ class Main(MainWindow, Ui_MainWindow): self.job_manager.server.run_free_job('lrfviewer', kwdargs=dict(args=args)) else: args = ['ebook-viewer', name] + if isosx: + args.append('--raise-window') self.job_manager.server.run_free_job('ebook-viewer', kwdargs=dict(args=args)) else: QDesktopServices.openUrl(QUrl('file:'+name))#launch(name) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 240db93864..ad1794ca5c 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -576,6 +576,10 @@ def config(defaults=None): c = Config('viewer', desc) else: c = StringConfig(defaults, desc) + + c.add_opt('--raise-window', default=False, + help=_('If specified, viewer window will try to come to the ' + 'front when started.')) return c def option_parser(): @@ -589,7 +593,7 @@ View an ebook. def main(args=sys.argv): parser = option_parser() - args = parser.parse_args(args)[-1] + opts, args = parser.parse_args(args) pid = os.fork() if False and islinux else -1 if pid <= 0: app = Application(args) @@ -599,6 +603,8 @@ def main(args=sys.argv): main = EbookViewer(args[1] if len(args) > 1 else None) sys.excepthook = main.unhandled_exception main.show() + if opts.raise_window: + main.raise_() with main: return app.exec_() return 0