Remember last used window size of the conversion dialogs. Fixes #1049265 ([Enhancement] Save last used window-size)

This commit is contained in:
Kovid Goyal 2012-09-13 09:39:43 +05:30
parent 23999f9b42
commit 427a88fcb3
2 changed files with 21 additions and 3 deletions

View File

@ -8,8 +8,8 @@ import shutil
from PyQt4.Qt import QString, SIGNAL from PyQt4.Qt import QString, SIGNAL
from calibre.gui2.convert.single import Config, sort_formats_by_preference, \ from calibre.gui2.convert.single import (Config, sort_formats_by_preference,
GroupModel GroupModel, gprefs)
from calibre.customize.ui import available_output_formats from calibre.customize.ui import available_output_formats
from calibre.gui2 import ResizableDialog from calibre.gui2 import ResizableDialog
from calibre.gui2.convert.look_and_feel import LookAndFeelWidget from calibre.gui2.convert.look_and_feel import LookAndFeelWidget
@ -62,6 +62,9 @@ class BulkConfig(Config):
'settings.')) 'settings.'))
o.setChecked(False) o.setChecked(False)
geom = gprefs.get('convert_bulk_dialog_geom', None)
if geom:
self.restoreGeometry(geom)
def setup_pipeline(self, *args): def setup_pipeline(self, *args):
oidx = self.groups.currentIndex().row() oidx = self.groups.currentIndex().row()
@ -139,3 +142,9 @@ class BulkConfig(Config):
self._recommendations = recs self._recommendations = recs
ResizableDialog.accept(self) ResizableDialog.accept(self)
def done(self, r):
if self.isVisible():
gprefs['convert_bulk_dialog_geom'] = \
bytearray(self.saveGeometry())
return ResizableDialog.done(self, r)

View File

@ -10,7 +10,7 @@ import cPickle, shutil
from PyQt4.Qt import QString, SIGNAL, QAbstractListModel, Qt, QVariant, QFont from PyQt4.Qt import QString, SIGNAL, QAbstractListModel, Qt, QVariant, QFont
from calibre.gui2 import ResizableDialog, NONE from calibre.gui2 import ResizableDialog, NONE, gprefs
from calibre.ebooks.conversion.config import (GuiRecommendations, save_specifics, from calibre.ebooks.conversion.config import (GuiRecommendations, save_specifics,
load_specifics) load_specifics)
from calibre.gui2.convert.single_ui import Ui_Dialog from calibre.gui2.convert.single_ui import Ui_Dialog
@ -146,6 +146,9 @@ class Config(ResizableDialog, Ui_Dialog):
rb = self.buttonBox.button(self.buttonBox.RestoreDefaults) rb = self.buttonBox.button(self.buttonBox.RestoreDefaults)
self.connect(rb, SIGNAL('clicked()'), self.restore_defaults) self.connect(rb, SIGNAL('clicked()'), self.restore_defaults)
self.groups.setMouseTracking(True) self.groups.setMouseTracking(True)
geom = gprefs.get('convert_single_dialog_geom', None)
if geom:
self.restoreGeometry(geom)
def restore_defaults(self): def restore_defaults(self):
delete_specifics(self.db, self.book_id) delete_specifics(self.db, self.book_id)
@ -263,6 +266,12 @@ class Config(ResizableDialog, Ui_Dialog):
self.break_cycles() self.break_cycles()
ResizableDialog.reject(self) ResizableDialog.reject(self)
def done(self, r):
if self.isVisible():
gprefs['convert_single_dialog_geom'] = \
bytearray(self.saveGeometry())
return ResizableDialog.done(self, r)
def break_cycles(self): def break_cycles(self):
for i in range(self.stack.count()): for i in range(self.stack.count()):
w = self.stack.widget(i) w = self.stack.widget(i)