summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-12-15 13:16:15 +0000
committerSzymon Kłos <szymon.klos@collabora.com>2021-06-18 11:31:05 +0200
commit5bd6b067b1c7f1a1d11627b005c7c1cba8ffabab (patch)
tree4481dc6491d9c32f273ebacb9db456a2f76741a3
parent1136d2dbed08a1c5410355d75b449ef81092c9f1 (diff)
add set_id/get_id to Menus like Windows
Change-Id: Idcbb4e8fc67bf04d0959ba9ab59342240434727c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107768 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117253 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r--include/vcl/menu.hxx12
-rw-r--r--vcl/source/window/builder.cxx2
2 files changed, 14 insertions, 0 deletions
diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index 7613f14f157c..8821e74256a5 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -137,6 +137,8 @@ private:
std::list<Link<VclMenuEvent&,void> > maEventListeners;
+ OUString maID;
+
OUString aTitleText; // PopupMenu text
sal_uInt16 nTitleHeight;
@@ -388,6 +390,16 @@ public:
bool HandleMenuCommandEvent(Menu *pMenu, sal_uInt16 nEventId) const;
bool HandleMenuActivateEvent(Menu *pMenu) const;
bool HandleMenuDeActivateEvent(Menu *pMenu) const;
+
+ /**
+ * Sets an ID.
+ */
+ void set_id(const OUString& rID) { maID = rID; }
+
+ /**
+ * Get the ID of the window.
+ */
+ const OUString& get_id() const { return maID; }
};
class VCL_DLLPUBLIC MenuBar : public Menu
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 38671daf226b..25db6aacc40d 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -3229,6 +3229,8 @@ VclPtr<Menu> VclBuilder::handleMenu(xmlreader::XmlReader &reader, const OString
else
pCurrentMenu = VclPtr<PopupMenu>::Create();
+ pCurrentMenu->set_id(OStringToOUString(rID, RTL_TEXTENCODING_UTF8));
+
int nLevel = 1;
stringmap aProperties;