Fix some edit widget appearing in the wrong place when editing in the right hand panel of the new split book list. Fixes #1748713 [Custom Column edit popup appears in wrong place with split book list](https://bugs.launchpad.net/calibre/+bug/1748713)

This commit is contained in:
Kovid Goyal 2018-02-11 17:09:07 +05:30
parent 0441e59905
commit b2ab2bfd6a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -64,8 +64,12 @@ class UpdateEditorGeometry(object):
new_width += r.width() new_width += r.width()
# Compute the maximum we can show if we consume the entire viewport # Compute the maximum we can show if we consume the entire viewport
max_width = (self.table_widget.horizontalScrollBar().geometry().width() - pin_view = self.table_widget.pin_view
self.table_widget.verticalHeader().width()) if pin_view.isVisible() and pin_view.geometry().x() <= initial_geometry.x():
max_width = pin_view.horizontalScrollBar().geometry().width()
else:
view = self.table_widget
max_width = view.horizontalScrollBar().geometry().width() - view.verticalHeader().width()
# What we have to display might not fit. If so, adjust down # What we have to display might not fit. If so, adjust down
new_width = new_width if new_width < max_width else max_width new_width = new_width if new_width < max_width else max_width
@ -156,6 +160,7 @@ def make_clearing_spinbox(spinbox):
return spinbox.keyPressEvent(self, ev) return spinbox.keyPressEvent(self, ev)
return SpinBox return SpinBox
ClearingSpinBox = make_clearing_spinbox(QSpinBox) ClearingSpinBox = make_clearing_spinbox(QSpinBox)
ClearingDoubleSpinBox = make_clearing_spinbox(QDoubleSpinBox) ClearingDoubleSpinBox = make_clearing_spinbox(QDoubleSpinBox)