mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Workaround for Qt 5 behavior change that caused the "Proceed with updating metadata" dialog box to progressively creep across the screen. Fixes #1371532 [dialog windows creeping down the screen](https://bugs.launchpad.net/calibre/+bug/1371532)
This commit is contained in:
parent
81b787895a
commit
b1eafd9c8c
@ -11,7 +11,7 @@ from collections import namedtuple
|
|||||||
|
|
||||||
from PyQt5.Qt import (QDialog, Qt, QLabel, QGridLayout, QPixmap,
|
from PyQt5.Qt import (QDialog, Qt, QLabel, QGridLayout, QPixmap,
|
||||||
QDialogButtonBox, QApplication, QSize, pyqtSignal, QIcon,
|
QDialogButtonBox, QApplication, QSize, pyqtSignal, QIcon,
|
||||||
QPlainTextEdit, QCheckBox)
|
QPlainTextEdit, QCheckBox, QDesktopWidget)
|
||||||
|
|
||||||
from calibre.constants import __version__
|
from calibre.constants import __version__
|
||||||
from calibre.gui2.dialogs.message_box import ViewLog
|
from calibre.gui2.dialogs.message_box import ViewLog
|
||||||
@ -178,6 +178,17 @@ class ProceedQuestion(QDialog):
|
|||||||
button.setDefault(True)
|
button.setDefault(True)
|
||||||
button.setFocus(Qt.OtherFocusReason)
|
button.setFocus(Qt.OtherFocusReason)
|
||||||
|
|
||||||
|
def show(self):
|
||||||
|
QDialog.show(self)
|
||||||
|
if self.geom_pref is None:
|
||||||
|
if self.parent() is None:
|
||||||
|
geom = QDesktopWidget.screenGeometry(self)
|
||||||
|
else:
|
||||||
|
geom = self.parent().geometry()
|
||||||
|
x = max(50, geom.x() + geom.width() // 2 - self.width() // 2)
|
||||||
|
y = max(50, geom.y() + geom.height() // 2 - self.height() // 2)
|
||||||
|
self.move(x, y)
|
||||||
|
|
||||||
def __call__(self, callback, payload, html_log, log_viewer_title, title,
|
def __call__(self, callback, payload, html_log, log_viewer_title, title,
|
||||||
msg, det_msg='', show_copy_button=False, cancel_callback=None,
|
msg, det_msg='', show_copy_button=False, cancel_callback=None,
|
||||||
log_is_file=False, checkbox_msg=None, checkbox_checked=False,
|
log_is_file=False, checkbox_msg=None, checkbox_checked=False,
|
||||||
@ -243,7 +254,7 @@ def main():
|
|||||||
app = Application([])
|
app = Application([])
|
||||||
w = QMainWindow()
|
w = QMainWindow()
|
||||||
w.show()
|
w.show()
|
||||||
p = ProceedQuestion(None)
|
p = ProceedQuestion(w)
|
||||||
p(lambda p,q:None, None, 'ass', 'ass', 'testing', 'testing',
|
p(lambda p,q:None, None, 'ass', 'ass', 'testing', 'testing',
|
||||||
checkbox_msg='testing the ruddy checkbox', det_msg='details')
|
checkbox_msg='testing the ruddy checkbox', det_msg='details')
|
||||||
p(lambda p:None, None, 'ass2', 'ass2', 'testing2', 'testing2',
|
p(lambda p:None, None, 'ass2', 'ass2', 'testing2', 'testing2',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user