From 135edd0a7c2a20847cc2b7f9a49c6803460984d0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 24 Jan 2011 12:54:50 -0700 Subject: [PATCH] Bulk metadata edit dialog: Remember last used size. Fixes #8525 (Edit Multiple Books Window Size) --- src/calibre/gui2/dialogs/metadata_bulk.py | 14 +++++++++++++- src/calibre/gui2/dialogs/metadata_bulk.ui | 12 ++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 36a035cd94..cf4252e9ed 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -15,7 +15,7 @@ from calibre.ebooks.metadata import string_to_authors, authors_to_string from calibre.ebooks.metadata.book.base import composite_formatter from calibre.ebooks.metadata.meta import get_metadata from calibre.gui2.custom_column_widgets import populate_metadata_page -from calibre.gui2 import error_dialog, ResizableDialog, UNDEFINED_QDATE +from calibre.gui2 import error_dialog, ResizableDialog, UNDEFINED_QDATE, gprefs from calibre.gui2.progress_indicator import ProgressIndicator from calibre.utils.config import dynamic, JSONConfig from calibre.utils.titlecase import titlecase @@ -321,8 +321,15 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog): 'This operation cannot be canceled or undone')) self.do_again = False self.central_widget.setCurrentIndex(tab) + geom = gprefs.get('bulk_metadata_window_geometry', None) + if geom is not None: + self.restoreGeometry(bytes(geom)) self.exec_() + def save_state(self, *args): + gprefs['bulk_metadata_window_geometry'] = \ + bytearray(self.saveGeometry()) + def do_apply_pubdate(self, *args): self.apply_pubdate.setChecked(True) @@ -790,7 +797,12 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog): self.series_start_number.setEnabled(False) self.series_start_number.setValue(1) + def reject(self): + self.save_state() + ResizableDialog.reject(self) + def accept(self): + self.save_state() if len(self.ids) < 1: return QDialog.accept(self) diff --git a/src/calibre/gui2/dialogs/metadata_bulk.ui b/src/calibre/gui2/dialogs/metadata_bulk.ui index 481a485bc2..163d49b328 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.ui +++ b/src/calibre/gui2/dialogs/metadata_bulk.ui @@ -6,8 +6,8 @@ 0 0 - 850 - 700 + 962 + 727 @@ -44,8 +44,8 @@ 0 0 - 842 - 639 + 954 + 666 @@ -996,8 +996,8 @@ not multiple and the destination field is multiple 0 0 - 826 - 323 + 197 + 60