vcl/qt5/QtBuilder.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 5009ac0153a6f02f62795e6ea650527c46bd2a5e
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Fri Oct 11 23:05:32 2024 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Oct 12 17:20:15 2024 +0200

    tdf#130857 qt weld: Set visibility based on "visible" prop
    
    Use BuilderBase::extractVisible to assess and set the visibility
    of a QWidget created from a .ui file.
    
    As described in the GTK 3 documentation of the corresponding
    GtkWidget property [1], the default value is false, i.e. if
    an object is not explicitly set as visible, it should not be
    shown.
    
    This will be needed e.g. by the
    svtools/uiconfig/ui/restartdialog.ui
    dialog shown when toggling experimental mode in
    "Tools" -> "Options" and closing the dialog with
    the "OK" button. Without this preparatory commit,
    using native Qt widgets would result in all the
    labels (with different reasons for restarting)
    being shown at the same time.
    
    This depends on previous commit
    
        Change-Id: Ic7a932556e02f47ee6007b5167f82bef152e1ef0
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Fri Oct 11 23:01:44 2024 +0200
    
            tdf#130857 VclBuilder: Move internal child visible logic to base
    
    to not cause buttons in dialogs to become invisible if
    they're contained in the "internal" button box object
    whose visibility is usually not explicitly set to True.
    
    [1] https://docs.gtk.org/gtk3/property.Widget.visible.html
    
    Change-Id: Iff254324a852a2fe73b3d9fcfe499bc8639380b6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174834
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/vcl/qt5/QtBuilder.cxx b/vcl/qt5/QtBuilder.cxx
index 14a1ebd1b8c3..10c2c49bb6ec 100644
--- a/vcl/qt5/QtBuilder.cxx
+++ b/vcl/qt5/QtBuilder.cxx
@@ -183,6 +183,8 @@ QObject* QtBuilder::makeObject(QObject* pParent, 
std::u16string_view sName, cons
 
         QtInstanceWidget::setHelpId(*pWidget, getHelpRoot() + sID);
 
+        pWidget->setVisible(extractVisible(rMap));
+
 #if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)
         // Set GtkBuilder ID as accessible ID
         pWidget->setAccessibleIdentifier(toQString(sID));

Reply via email to