include/sfx2/sidebar/Panel.hxx |    1 +
 sfx2/source/sidebar/Deck.cxx   |    4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 39cbba45d1aa53a12e731f91e6da59ab88dbb69b
Author:     Szymon Kłos <szymon.k...@collabora.com>
AuthorDate: Mon Apr 28 15:11:58 2025 +0000
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Mon Apr 28 18:21:55 2025 +0200

    jsdialog: sidebar: use vcl ids for panels
    
    JSDialog API cannot communicate without vcl id of a widget
    
    Change-Id: Ic6bd0d430207f32cf631564102511eae7130b7bb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184721
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/include/sfx2/sidebar/Panel.hxx b/include/sfx2/sidebar/Panel.hxx
index 0e81ba3a4a15..9a4ec617bbf3 100644
--- a/include/sfx2/sidebar/Panel.hxx
+++ b/include/sfx2/sidebar/Panel.hxx
@@ -62,6 +62,7 @@ public:
 
     SAL_DLLPRIVATE PanelTitleBar* GetTitleBar() const;
     SAL_DLLPRIVATE weld::Box* GetContents() const;
+    SAL_DLLPRIVATE const weld::Box* GetContainer() const { return 
mxContainer.get(); }
     SAL_DLLPRIVATE void Show(bool bShow);
     bool IsTitleBarOptional() const { return mbIsTitleBarOptional; }
     SAL_DLLPRIVATE void SetUIElement(const 
css::uno::Reference<css::ui::XUIElement>& rxElement);
diff --git a/sfx2/source/sidebar/Deck.cxx b/sfx2/source/sidebar/Deck.cxx
index f42f0de2a86b..2db1569be919 100644
--- a/sfx2/source/sidebar/Deck.cxx
+++ b/sfx2/source/sidebar/Deck.cxx
@@ -152,7 +152,9 @@ void Deck::DumpAsPropertyTree(tools::JsonWriter& 
rJsonWriter)
             continue;
 
         auto childNode = rJsonWriter.startStruct();
-        rJsonWriter.put("id", it->GetId());
+        // JSDialog references widget by vcl id
+        rJsonWriter.put("id", it->GetContainer()->get_buildable_name());
+        rJsonWriter.put("name", it->GetId());
         rJsonWriter.put("type", "panel");
         rJsonWriter.put("text", it->GetTitle());
         rJsonWriter.put("enabled", true);

Reply via email to