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 calibre.gui2.convert.single import Config, sort_formats_by_preference, \
GroupModel
from calibre.gui2.convert.single import (Config, sort_formats_by_preference,
GroupModel, gprefs)
from calibre.customize.ui import available_output_formats
from calibre.gui2 import ResizableDialog
from calibre.gui2.convert.look_and_feel import LookAndFeelWidget
@ -62,6 +62,9 @@ class BulkConfig(Config):
'settings.'))
o.setChecked(False)
geom = gprefs.get('convert_bulk_dialog_geom', None)
if geom:
self.restoreGeometry(geom)
def setup_pipeline(self, *args):
oidx = self.groups.currentIndex().row()
@ -139,3 +142,9 @@ class BulkConfig(Config):
self._recommendations = recs
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 calibre.gui2 import ResizableDialog, NONE
from calibre.gui2 import ResizableDialog, NONE, gprefs
from calibre.ebooks.conversion.config import (GuiRecommendations, save_specifics,
load_specifics)
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)
self.connect(rb, SIGNAL('clicked()'), self.restore_defaults)
self.groups.setMouseTracking(True)
geom = gprefs.get('convert_single_dialog_geom', None)
if geom:
self.restoreGeometry(geom)
def restore_defaults(self):
delete_specifics(self.db, self.book_id)
@ -263,6 +266,12 @@ class Config(ResizableDialog, Ui_Dialog):
self.break_cycles()
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):
for i in range(self.stack.count()):
w = self.stack.widget(i)