diff options
author | Szymon Kłos <eszkadev@gmail.com> | 2016-05-10 19:16:47 +0200 |
---|---|---|
committer | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2016-05-17 12:40:15 +0000 |
commit | 6ebf9cfbf54052d7fae50cdab146cc5c63ba262a (patch) | |
tree | 60e9e0ccc0878746d7817d58497b7fa53c0468fd | |
parent | 2049e55f507b00cf70f72706900e75d20ff3bb30 (diff) |
Set different ui file for NotebookBar in each app
Changes:
+ added ui file for start center, calc and impress
+ NotebookBar not visible in Math, Draw
Change-Id: Ie35935e67524ac712930b088591e9e53955de4a1
Reviewed-on: https://gerrit.libreoffice.org/24860
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
-rw-r--r-- | sc/UIConfig_scalc.mk | 1 | ||||
-rw-r--r-- | sc/sdi/docsh.sdi | 1 | ||||
-rw-r--r-- | sc/source/ui/docshell/docsh4.cxx | 14 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/notebookbar.ui | 172 | ||||
-rw-r--r-- | sd/UIConfig_simpress.mk | 1 | ||||
-rw-r--r-- | sd/sdi/docshell.sdi | 5 | ||||
-rw-r--r-- | sd/source/ui/docshell/docshel3.cxx | 7 | ||||
-rw-r--r-- | sd/source/ui/docshell/docshell.cxx | 7 | ||||
-rw-r--r-- | sd/uiconfig/simpress/ui/notebookbar.ui | 118 | ||||
-rw-r--r-- | sfx2/UIConfig_sfx.mk | 1 | ||||
-rw-r--r-- | sfx2/source/dialog/backingcomp.cxx | 20 | ||||
-rw-r--r-- | sfx2/uiconfig/ui/notebookbar.ui | 118 | ||||
-rw-r--r-- | vcl/source/window/brdwin.cxx | 2 |
13 files changed, 467 insertions, 0 deletions
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk index f67a879d94c0..21bb7e107402 100644 --- a/sc/UIConfig_scalc.mk +++ b/sc/UIConfig_scalc.mk @@ -137,6 +137,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\ sc/uiconfig/scalc/ui/leftfooterdialog \ sc/uiconfig/scalc/ui/leftheaderdialog \ sc/uiconfig/scalc/ui/namerangesdialog \ + sc/uiconfig/scalc/ui/notebookbar \ sc/uiconfig/scalc/ui/managenamesdialog \ sc/uiconfig/scalc/ui/movecopysheet \ sc/uiconfig/scalc/ui/movingaveragedialog \ diff --git a/sc/sdi/docsh.sdi b/sc/sdi/docsh.sdi index 25852fb8472a..852af49223da 100644 --- a/sc/sdi/docsh.sdi +++ b/sc/sdi/docsh.sdi @@ -87,6 +87,7 @@ interface TableDocument SID_EDIT_SCENARIO [ ExecMethod = Execute; ] SID_ATTR_CHAR_FONTLIST [ StateMethod = GetState; ] SID_SHARE_DOC [ ExecMethod = Execute; StateMethod = GetState; ] + SID_NOTEBOOKBAR [ ExecMethod = Execute; StateMethod = GetState; ] } diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index 1bedf9183548..bdf1c5260151 100644 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -101,6 +101,7 @@ using namespace ::com::sun::star; #include "formulacell.hxx" #include <documentlinkmgr.hxx> #include <memory> +#include <sfx2/notebookbar/SfxNotebookBar.hxx> void ScDocShell::Execute( SfxRequest& rReq ) { @@ -1103,6 +1104,12 @@ void ScDocShell::Execute( SfxRequest& rReq ) { &aApp, &aTarget }); } break; + case SID_NOTEBOOKBAR: + { + if (pBindings) + sfx2::SfxNotebookBar::ExecMethod(*pBindings); + } + break; default: { // kleiner (?) Hack -> forward der Slots an TabViewShell @@ -1857,6 +1864,13 @@ void ScDocShell::GetState( SfxItemSet &rSet ) rSet.Put( SvxFontListItem( pImpl->pFontList, nWhich ) ); break; + case SID_NOTEBOOKBAR: + { + if (GetViewBindings()) + sfx2::SfxNotebookBar::StateMethod(*GetViewBindings(), "modules/scalc/ui/notebookbar.ui"); + } + break; + default: { } diff --git a/sc/uiconfig/scalc/ui/notebookbar.ui b/sc/uiconfig/scalc/ui/notebookbar.ui new file mode 100644 index 000000000000..337448dc4aac --- /dev/null +++ b/sc/uiconfig/scalc/ui/notebookbar.ui @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.12"/> + <!-- interface-local-resource-path ../../../icon-themes/galaxy/cmd/ --> + <object class="GtkGrid" id="NotebookBar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkNotebook" id="notebook1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child> + <object class="GtkBox" id="box63"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkBox" id="box4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkButton" id="button-open"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="action_name">.uno:Open</property> + <property name="relief">none</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="button-save"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="action_name">.uno:Save</property> + <property name="relief">none</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkSeparator" id="separator3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">File</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Calc</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child type="tab"> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> +</interface> diff --git a/sd/UIConfig_simpress.mk b/sd/UIConfig_simpress.mk index bcb61601c2b3..3e7b3feb3581 100644 --- a/sd/UIConfig_simpress.mk +++ b/sd/UIConfig_simpress.mk @@ -119,6 +119,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/simpress,\ sd/uiconfig/simpress/ui/interactiondialog \ sd/uiconfig/simpress/ui/interactionpage \ sd/uiconfig/simpress/ui/masterlayoutdlg \ + sd/uiconfig/simpress/ui/notebookbar \ sd/uiconfig/simpress/ui/optimpressgeneralpage \ sd/uiconfig/simpress/ui/photoalbum \ sd/uiconfig/simpress/ui/presentationdialog \ diff --git a/sd/sdi/docshell.sdi b/sd/sdi/docshell.sdi index d2a0011944ca..f5f322177b13 100644 --- a/sd/sdi/docshell.sdi +++ b/sd/sdi/docshell.sdi @@ -18,6 +18,11 @@ interface ImpressDocument : DrawDocument { + SID_NOTEBOOKBAR + [ + ExecMethod = Execute; + StateMethod = GetState; + ] } shell DrawDocShell diff --git a/sd/source/ui/docshell/docshel3.cxx b/sd/source/ui/docshell/docshel3.cxx index 69f15c76eb9a..c8fe3f4dd0f3 100644 --- a/sd/source/ui/docshell/docshel3.cxx +++ b/sd/source/ui/docshell/docshel3.cxx @@ -42,6 +42,7 @@ #include <editeng/langitem.hxx> #include <editeng/eeitem.hxx> #include <com/sun/star/i18n/TextConversionOption.hpp> +#include <sfx2/notebookbar/SfxNotebookBar.hxx> #include "strings.hrc" #include "glob.hrc" @@ -317,6 +318,12 @@ void DrawDocShell::Execute( SfxRequest& rReq ) } break; + case SID_NOTEBOOKBAR: + { + sfx2::SfxNotebookBar::ExecMethod(mpViewShell->GetFrame()->GetBindings()); + } + break; + default: break; } diff --git a/sd/source/ui/docshell/docshell.cxx b/sd/source/ui/docshell/docshell.cxx index e91caaac95f6..65dafa0fff21 100644 --- a/sd/source/ui/docshell/docshell.cxx +++ b/sd/source/ui/docshell/docshell.cxx @@ -67,6 +67,7 @@ #include "undo/undofactory.hxx" #include "OutlineView.hxx" #include "ViewShellBase.hxx" +#include <sfx2/notebookbar/SfxNotebookBar.hxx> using namespace sd; #define DrawDocShell @@ -271,6 +272,12 @@ void DrawDocShell::GetState(SfxItemSet &rSet) } break; + case SID_NOTEBOOKBAR: + { + sfx2::SfxNotebookBar::StateMethod(mpViewShell->GetFrame()->GetBindings(), "modules/simpress/ui/notebookbar.ui"); + } + break; + default: break; } diff --git a/sd/uiconfig/simpress/ui/notebookbar.ui b/sd/uiconfig/simpress/ui/notebookbar.ui new file mode 100644 index 000000000000..f11f6eb0e136 --- /dev/null +++ b/sd/uiconfig/simpress/ui/notebookbar.ui @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.12"/> + <object class="GtkGrid" id="NotebookBar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkNotebook" id="notebook1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child> + <object class="GtkBox" id="box63"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkButton" id="Open"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="action_name">.uno:Open</property> + <property name="relief">none</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="Save"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="action_name">.uno:Save</property> + <property name="relief">none</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <object class="GtkLabel" id="label9"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">File</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Impress</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> +</interface> diff --git a/sfx2/UIConfig_sfx.mk b/sfx2/UIConfig_sfx.mk index f33666988f96..5e90b5af6590 100644 --- a/sfx2/UIConfig_sfx.mk +++ b/sfx2/UIConfig_sfx.mk @@ -34,6 +34,7 @@ $(eval $(call gb_UIConfig_add_uifiles,sfx,\ sfx2/uiconfig/ui/loadtemplatedialog \ sfx2/uiconfig/ui/managestylepage \ sfx2/uiconfig/ui/newstyle \ + sfx2/uiconfig/ui/notebookbar \ sfx2/uiconfig/ui/optprintpage \ sfx2/uiconfig/ui/password \ sfx2/uiconfig/ui/printeroptionsdialog \ diff --git a/sfx2/source/dialog/backingcomp.cxx b/sfx2/source/dialog/backingcomp.cxx index defdaa36ed12..0654b3e38373 100644 --- a/sfx2/source/dialog/backingcomp.cxx +++ b/sfx2/source/dialog/backingcomp.cxx @@ -48,6 +48,7 @@ #include <vcl/keycod.hxx> #include <vcl/wrkwin.hxx> #include <vcl/svapp.hxx> +#include <vcl/syswin.hxx> #include <rtl/ref.hxx> #include <rtl/ustrbuf.hxx> @@ -428,6 +429,14 @@ void SAL_CALL BackingComp::attachFrame( /*IN*/ const css::uno::Reference< css::f if( pBack ) pBack->setOwningFrame( m_xFrame ); + // set NotebookBar + SystemWindow* pSysWindow = static_cast<SystemWindow*>(pParent); + if (pSysWindow) + { + pSysWindow->SetNotebookBar("sfx/ui/notebookbar.ui", m_xFrame); + pSysWindow->GetNotebookBar()->Show(); + } + // Set a minimum size for Start Center if( pParent && pBack ) { @@ -585,6 +594,17 @@ void SAL_CALL BackingComp::disposing( /*IN*/ const css::lang::EventObject& aEven void SAL_CALL BackingComp::dispose() throw(css::uno::RuntimeException, std::exception) { + if (m_xFrame.is()) + { + css::uno::Reference< css::awt::XWindow > xParentWindow = m_xFrame->getContainerWindow(); + VclPtr< WorkWindow > pParent = static_cast<WorkWindow*>(VCLUnoHelper::GetWindow(xParentWindow).get()); + + // hide NotebookBar + SystemWindow* pSysWindow = static_cast<SystemWindow*>(pParent); + if (pSysWindow && pSysWindow->GetNotebookBar()) + pSysWindow->GetNotebookBar()->Hide(); + } + /* SAFE { */ SolarMutexGuard aGuard; diff --git a/sfx2/uiconfig/ui/notebookbar.ui b/sfx2/uiconfig/ui/notebookbar.ui new file mode 100644 index 000000000000..1f7bf46a1294 --- /dev/null +++ b/sfx2/uiconfig/ui/notebookbar.ui @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.12"/> + <object class="GtkGrid" id="NotebookBar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkNotebook" id="notebook1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child> + <object class="GtkBox" id="box63"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkButton" id="Open"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="action_name">.uno:Open</property> + <property name="relief">none</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="OpenRemote"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="action_name">.uno:OpenRemote</property> + <property name="relief">none</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <object class="GtkLabel" id="label9"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">File</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">6</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child type="tab"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Home</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="position">1</property> + <property name="tab_fill">False</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> +</interface> diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx index 57f7e0c892b3..bc58e47d011e 100644 --- a/vcl/source/window/brdwin.cxx +++ b/vcl/source/window/brdwin.cxx @@ -2177,6 +2177,8 @@ void ImplBorderWindow::SetMenuBarMode( bool bHide ) void ImplBorderWindow::SetNotebookBar(const OUString& rUIXMLDescription, const css::uno::Reference<css::frame::XFrame>& rFrame) { + if (mpNotebookBar) + mpNotebookBar.disposeAndClear(); mpNotebookBar = VclPtr<NotebookBar>::Create(this, "NotebookBar", rUIXMLDescription, rFrame); Resize(); } |