Fix #2031 (Ebook viewer)

This commit is contained in:
Kovid Goyal 2009-03-12 11:34:05 -07:00
parent d7972c06f3
commit fafa92ec05
2 changed files with 11 additions and 2 deletions

View File

@ -818,7 +818,8 @@ class Main(MainWindow, Ui_MainWindow):
rows = self.library_view.selectionModel().selectedRows() rows = self.library_view.selectionModel().selectedRows()
previous = self.library_view.currentIndex() previous = self.library_view.currentIndex()
if not rows or len(rows) == 0: 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_() d.exec_()
return return
@ -1152,6 +1153,8 @@ class Main(MainWindow, Ui_MainWindow):
self.job_manager.server.run_free_job('lrfviewer', kwdargs=dict(args=args)) self.job_manager.server.run_free_job('lrfviewer', kwdargs=dict(args=args))
else: else:
args = ['ebook-viewer', name] args = ['ebook-viewer', name]
if isosx:
args.append('--raise-window')
self.job_manager.server.run_free_job('ebook-viewer', kwdargs=dict(args=args)) self.job_manager.server.run_free_job('ebook-viewer', kwdargs=dict(args=args))
else: else:
QDesktopServices.openUrl(QUrl('file:'+name))#launch(name) QDesktopServices.openUrl(QUrl('file:'+name))#launch(name)

View File

@ -576,6 +576,10 @@ def config(defaults=None):
c = Config('viewer', desc) c = Config('viewer', desc)
else: else:
c = StringConfig(defaults, desc) 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 return c
def option_parser(): def option_parser():
@ -589,7 +593,7 @@ View an ebook.
def main(args=sys.argv): def main(args=sys.argv):
parser = option_parser() parser = option_parser()
args = parser.parse_args(args)[-1] opts, args = parser.parse_args(args)
pid = os.fork() if False and islinux else -1 pid = os.fork() if False and islinux else -1
if pid <= 0: if pid <= 0:
app = Application(args) app = Application(args)
@ -599,6 +603,8 @@ def main(args=sys.argv):
main = EbookViewer(args[1] if len(args) > 1 else None) main = EbookViewer(args[1] if len(args) > 1 else None)
sys.excepthook = main.unhandled_exception sys.excepthook = main.unhandled_exception
main.show() main.show()
if opts.raise_window:
main.raise_()
with main: with main:
return app.exec_() return app.exec_()
return 0 return 0