From 4677b9acc129bb92e3134efa9443871014b99836 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 15 Aug 2010 15:02:24 -0600 Subject: [PATCH] ... --- src/calibre/gui2/jobs.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/calibre/gui2/jobs.py b/src/calibre/gui2/jobs.py index e92a502daa..fed101d278 100644 --- a/src/calibre/gui2/jobs.py +++ b/src/calibre/gui2/jobs.py @@ -376,15 +376,19 @@ class JobsDialog(QDialog, Ui_JobsDialog): self.jobs_view.setItemDelegateForColumn(2, self.pb_delegate) self.jobs_view.doubleClicked.connect(self.show_job_details) self.jobs_view.horizontalHeader().setMovable(True) - state = gprefs.get('jobs view column layout', None) - if state is not None: - try: - self.jobs_view.horizontalHeader().restoreState(bytes(state)) - except: - pass + self.restore_state() + def restore_state(self): geom = gprefs.get('jobs_dialog_geometry', bytearray('')) self.restoreGeometry(QByteArray(geom)) + state = gprefs.get('jobs view column layout', bytearray('')) + self.jobs_view.horizontalHeader().restoreState(QByteArray(state)) + + def save_state(self): + state = bytearray(self.jobs_view.horizontalHeader().saveState()) + gprefs['jobs view column layout'] = state + geom = bytearray(self.saveGeometry()) + gprefs['jobs_dialog_geometry'] = geom def show_job_details(self, index): @@ -409,11 +413,13 @@ class JobsDialog(QDialog, Ui_JobsDialog): self.model.kill_all_jobs() def closeEvent(self, e): - try: - state = bytearray(self.jobs_view.horizontalHeader().saveState()) - gprefs['jobs view column layout'] = state - geom = bytearray(self.saveGeometry()) - gprefs['jobs_dialog_geometry'] = geom - except: - pass - e.accept() + self.save_state() + return QDialog.closeEvent(self, e) + + def show(self, *args): + self.restore_state() + return QDialog.show(self, *args) + + def hide(self, *args): + self.save_state() + return QDialog.hide(self, *args)