diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-03-15 20:44:50 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-03-16 09:27:36 +0000 |
commit | 86f504ee014d17172267f14742b8edd5789cbbc6 (patch) | |
tree | 6b6c78ac513e2169e9bceb7ffa99a16753a2eea5 /vcl/inc | |
parent | 84aee1ae9d4e03054dfcf5f8a9f10ecd2b0496b8 (diff) |
Related: tdf#98637 make this a tractable problem
This is just too hard, it would all be much easier if the ActionGroup existed
right from the start of the entire process. So smuggle in to the ctor the
toplevel frame that the menubar will be inserted into so we can use its
ActionGroup from the start.
That would suggest that we could then just keep the hierarchy in sync as it is
created rather than finding opportune moments to update /generate it.
Change-Id: I550f94a994210423ab9cea1986e643056cb5bd29
Reviewed-on: https://gerrit.libreoffice.org/23287
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/osx/salinst.h | 2 | ||||
-rw-r--r-- | vcl/inc/salinst.hxx | 3 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtkinst.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtksalmenu.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/win/salinst.h | 2 |
5 files changed, 6 insertions, 5 deletions
diff --git a/vcl/inc/osx/salinst.h b/vcl/inc/osx/salinst.h index 972ad7be8cbe..fec12ecea07f 100644 --- a/vcl/inc/osx/salinst.h +++ b/vcl/inc/osx/salinst.h @@ -111,7 +111,7 @@ public: virtual SalYieldResult DoYield(bool bWait, bool bHandleAllCurrentEvents, sal_uLong nReleased) override; virtual bool AnyInput( VclInputFlags nType ) override; - virtual SalMenu* CreateMenu( bool bMenuBar, Menu* pVCLMenu ) override; + virtual SalMenu* CreateMenu( bool bMenuBar, Menu* pVCLMenu, SystemWindow* pAssociatedSystemWindow ) override; virtual void DestroyMenu( SalMenu* ) override; virtual SalMenuItem* CreateMenuItem( const SalItemParams* pItemData ) override; virtual void DestroyMenuItem( SalMenuItem* ) override; diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx index 6502679d426a..6486ae67e04f 100644 --- a/vcl/inc/salinst.hxx +++ b/vcl/inc/salinst.hxx @@ -53,6 +53,7 @@ struct SalItemParams; class SalSession; struct SystemGraphicsData; struct SystemWindowData; +class SystemWindow; class Menu; enum class VclInputFlags; enum class SalFrameStyleFlags; @@ -137,7 +138,7 @@ public: virtual bool AnyInput( VclInputFlags nType ) = 0; // menus - virtual SalMenu* CreateMenu( bool bMenuBar, Menu* pMenu ); + virtual SalMenu* CreateMenu( bool bMenuBar, Menu* pMenu, SystemWindow* pAssociatedSystemWindow ); virtual void DestroyMenu( SalMenu* pMenu); virtual SalMenuItem* CreateMenuItem( const SalItemParams* pItemData ); virtual void DestroyMenuItem( SalMenuItem* pItem ); diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx index 6f1f9999bc9b..5fec57974483 100644 --- a/vcl/inc/unx/gtk/gtkinst.hxx +++ b/vcl/inc/unx/gtk/gtkinst.hxx @@ -199,7 +199,7 @@ public: virtual SalSystem* CreateSalSystem() override; virtual SalInfoPrinter* CreateInfoPrinter(SalPrinterQueueInfo* pPrinterQueueInfo, ImplJobSetup* pJobSetup) override; virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter ) override; - virtual SalMenu* CreateMenu( bool, Menu* ) override; + virtual SalMenu* CreateMenu( bool, Menu*, SystemWindow* ) override; virtual void DestroyMenu( SalMenu* pMenu ) override; virtual SalMenuItem* CreateMenuItem( const SalItemParams* ) override; virtual void DestroyMenuItem( SalMenuItem* pItem ) override; diff --git a/vcl/inc/unx/gtk/gtksalmenu.hxx b/vcl/inc/unx/gtk/gtksalmenu.hxx index 0e1cfd1a5167..7435e375baf1 100644 --- a/vcl/inc/unx/gtk/gtksalmenu.hxx +++ b/vcl/inc/unx/gtk/gtksalmenu.hxx @@ -59,7 +59,7 @@ private: void ActivateAllSubmenus(Menu* pMenuBar); public: - GtkSalMenu( bool bMenuBar ); + GtkSalMenu(bool bMenuBar, GActionGroup* pActionGroup); virtual ~GtkSalMenu(); virtual bool VisibleMenuBar() override; // must return TRUE to actually DISPLAY native menu bars diff --git a/vcl/inc/win/salinst.h b/vcl/inc/win/salinst.h index b6408ea4f322..35d3d408fbd2 100644 --- a/vcl/inc/win/salinst.h +++ b/vcl/inc/win/salinst.h @@ -74,7 +74,7 @@ public: virtual SalYieldResult DoYield(bool bWait, bool bHandleAllCurrentEvents, sal_uLong nReleased) override; virtual bool AnyInput( VclInputFlags nType ) override; - virtual SalMenu* CreateMenu( bool bMenuBar, Menu* ) override; + virtual SalMenu* CreateMenu( bool bMenuBar, Menu*, SystemWindow* ) override; virtual void DestroyMenu( SalMenu* ) override; virtual SalMenuItem* CreateMenuItem( const SalItemParams* pItemData ) override; virtual void DestroyMenuItem( SalMenuItem* ) override; |