Dont ask Qt to restore edit metadata dialog window position

Apparently in multi-monitor setups it gets it wrong on Windows.
See https://www.mobileread.com/forums/showthread.php?t=349236
This commit is contained in:
Kovid Goyal 2022-09-22 07:31:37 +05:30
parent 05816151b4
commit 1d48e61f16
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -10,10 +10,10 @@ import os
from datetime import datetime from datetime import datetime
from functools import partial from functools import partial
from qt.core import ( from qt.core import (
QApplication, QDialog, QDialogButtonBox, QFrame, QGridLayout, QGroupBox, QDialog, QDialogButtonBox, QFrame, QGridLayout, QGroupBox, QHBoxLayout, QIcon,
QHBoxLayout, QIcon, QInputDialog, QKeySequence, QMenu, QPushButton, QScrollArea, QInputDialog, QKeySequence, QMenu, QPushButton, QScrollArea, QShortcut, QSize,
QShortcut, QSize, QSizePolicy, QSpacerItem, QSplitter, Qt, QTabWidget, QSizePolicy, QSpacerItem, QSplitter, Qt, QTabWidget, QToolButton, QVBoxLayout,
QToolButton, QVBoxLayout, QWidget, pyqtSignal QWidget, pyqtSignal
) )
from calibre.constants import ismacos from calibre.constants import ismacos
@ -120,9 +120,11 @@ class MetadataSingleDialogBase(QDialog):
self.comments_edit_state_at_apply = {self.comments:None} self.comments_edit_state_at_apply = {self.comments:None}
self.do_layout() self.do_layout()
geom = gprefs.get('metasingle_window_geometry3', None) try:
if geom is not None: w, h = gprefs.get('metasingle_window_size')
QApplication.instance().safe_restore_geometry(self, bytes(geom)) self.resize(QSize(w, h))
except Exception:
pass
else: else:
self.resize(self.sizeHint()) self.resize(self.sizeHint())
self.restore_widget_settings() self.restore_widget_settings()
@ -650,7 +652,8 @@ class MetadataSingleDialogBase(QDialog):
def save_state(self): def save_state(self):
try: try:
gprefs['metasingle_window_geometry3'] = bytearray(self.saveGeometry()) sz = self.size()
gprefs['metasingle_window_size'] = sz.width(), sz.height()
self.save_widget_settings() self.save_widget_settings()
except: except:
# Weird failure, see https://bugs.launchpad.net/bugs/995271 # Weird failure, see https://bugs.launchpad.net/bugs/995271