diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2024-12-18 16:05:30 +0100 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2024-12-18 22:27:20 +0100 |
commit | d09d595347695315a3f909cdde74d7f64949f3ed (patch) | |
tree | 0f79b83727af926f43a1aa427ac4fdfdd8eeda84 /external/libcdr | |
parent | b905b161a62e8a8e37e536aac4dcb53213895401 (diff) |
tdf#164353 tdf#130857 qt weld: Keep extra msg dialog widget in place
Both, QMessageBox::setText, and
QMessageBox::setInformativeText call
QMessageBoxPrivate::setupLayout [1], and that one
deletes the QMessageBox's previous layout, creates
a new QGridLayout and sets that as the dialog's new
layout.
As a consequence, adding the widget that can hold
extra controls to the dialog's layout only once
by calling QtInstanceMessageDialog::addWidgetForExtraItems
from the QtInstanceMessageDialog ctor isn't sufficient,
but needs to be repeated each time the dialog layout
may have changed.
(Otherwise the widget is not contained in the layout,
and "randomly" placed in the dialog, so it can e.g.
overlap other UI elements in the dialog, see tdf#164353).
Therefore, rework QtInstanceMessageDialog::addWidgetForExtraItems
a bit, rename it to QtInstanceMessageDialog::positionExtraControlsContainer
and call it also after updating texts.
[1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/widgets/dialogs/qmessagebox.cpp#n290
Change-Id: Ib17b5867393a0694701c56b0ab74165021a8bc51
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178726
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit ffbe93aa93c0300dd4ff5f4d55dfb33e4c7a394d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178740
Diffstat (limited to 'external/libcdr')
0 files changed, 0 insertions, 0 deletions