hack around qt bug in restoreGeom()

This commit is contained in:
Damien Elmes 2011-01-18 03:09:46 +09:00
parent 4ced0f326f
commit 68cdde20aa
3 changed files with 12 additions and 4 deletions

View file

@ -359,7 +359,7 @@ class EditDeck(QMainWindow):
self.dialog = ankiqt.forms.cardlist.Ui_MainWindow() self.dialog = ankiqt.forms.cardlist.Ui_MainWindow()
self.dialog.setupUi(self) self.dialog.setupUi(self)
self.setUnifiedTitleAndToolBarOnMac(True) self.setUnifiedTitleAndToolBarOnMac(True)
restoreGeom(self, "editor") restoreGeom(self, "editor", 38)
restoreState(self, "editor") restoreState(self, "editor")
restoreSplitter(self.dialog.splitter, "editor") restoreSplitter(self.dialog.splitter, "editor")
self.dialog.splitter.setChildrenCollapsible(False) self.dialog.splitter.setChildrenCollapsible(False)

View file

@ -22,6 +22,7 @@ from anki.stdmodels import BasicModel
from anki.hooks import runHook, addHook, removeHook, _hooks, wrap from anki.hooks import runHook, addHook, removeHook, _hooks, wrap
from anki.deck import newCardOrderLabels, newCardSchedulingLabels from anki.deck import newCardOrderLabels, newCardSchedulingLabels
from anki.deck import revCardOrderLabels, failedCardOptionLabels from anki.deck import revCardOrderLabels, failedCardOptionLabels
from ankiqt.ui.utils import saveGeom, restoreGeom, saveState, restoreState
import anki.lang import anki.lang
import anki.deck import anki.deck
import ankiqt import ankiqt
@ -67,8 +68,8 @@ class AnkiQt(QMainWindow):
self.setupProgressInfo() self.setupProgressInfo()
self.setupBackups() self.setupBackups()
if self.config['mainWindowState']: if self.config['mainWindowState']:
self.restoreGeometry(self.config['mainWindowGeom']) restoreGeom(self, "mainWindow", 21)
self.restoreState(self.config['mainWindowState']) restoreState(self, "mainWindow")
else: else:
self.resize(500, 500) self.resize(500, 500)
# load deck # load deck

View file

@ -215,10 +215,17 @@ def saveGeom(widget, key):
key += "Geom" key += "Geom"
ankiqt.mw.config[key] = widget.saveGeometry() ankiqt.mw.config[key] = widget.saveGeometry()
def restoreGeom(widget, key): def restoreGeom(widget, key, offset=None):
key += "Geom" key += "Geom"
if ankiqt.mw.config.get(key): if ankiqt.mw.config.get(key):
widget.restoreGeometry(ankiqt.mw.config[key]) widget.restoreGeometry(ankiqt.mw.config[key])
if sys.platform.startswith("darwin") and offset:
from ankiqt.ui.main import QtConfig as q
minor = (q.qt_version & 0x00ff00) >> 8
if minor > 6:
# bug in osx toolkit
s = widget.size()
widget.resize(s.width(), s.height()+offset*2)
def saveState(widget, key): def saveState(widget, key):
key += "State" key += "State"