From 89a2900f1b71fd8e23b798756fb096ca3bc49c17 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 24 Nov 2013 08:36:05 +0530 Subject: [PATCH] Duplicates dialog, remember window size. Fixes #1254332 [[Enhancement] enlarge the window reporting duplicates after importing new books.](https://bugs.launchpad.net/calibre/+bug/1254332) --- src/calibre/gui2/dialogs/duplicates.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/calibre/gui2/dialogs/duplicates.py b/src/calibre/gui2/dialogs/duplicates.py index 0204fde022..f9f1ccc1a2 100644 --- a/src/calibre/gui2/dialogs/duplicates.py +++ b/src/calibre/gui2/dialogs/duplicates.py @@ -12,6 +12,7 @@ import os.path from PyQt4.Qt import (QDialog, QGridLayout, QIcon, QLabel, QTreeWidget, QTreeWidgetItem, Qt, QFont, QDialogButtonBox) +from calibre.gui2 import gprefs from calibre.ebooks.metadata import authors_to_string class DuplicatesQuestion(QDialog): @@ -47,12 +48,16 @@ class DuplicatesQuestion(QDialog): bb.accepted.connect(self.accept) bb.rejected.connect(self.reject) l.addWidget(bb, 2, 0, 1, 2) + l.setColumnStretch(1, 10) self.ab = ab = bb.addButton(_('Select &all'), bb.ActionRole) ab.clicked.connect(self.select_all) self.nb = ab = bb.addButton(_('Select &none'), bb.ActionRole) ab.clicked.connect(self.select_none) self.resize(self.sizeHint()) + geom = gprefs.get('duplicates-question-dialog-geometry', None) + if geom is not None: + self.restoreGeometry(geom) self.exec_() def select_all(self): @@ -66,9 +71,17 @@ class DuplicatesQuestion(QDialog): x.setCheckState(0, Qt.Unchecked) def reject(self): + self.save_geometry() self.select_none() QDialog.reject(self) + def accept(self): + self.save_geometry() + QDialog.accept(self) + + def save_geometry(self): + gprefs.set('duplicates-question-dialog-geometry', bytearray(self.saveGeometry())) + def process_duplicates(self, db, duplicates): ta = _('%(title)s by %(author)s [%(formats)s]') bf = QFont(self.dup_list.font())