summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorSzymon Kłos <eszkadev@gmail.com>2016-08-16 12:38:05 +0200
committerSamuel Mehrbrodt <s.mehrbrodt@gmail.com>2016-08-16 14:42:12 +0000
commitaa2aa4a6d25874b5c3bb751bd42574b838f75fe2 (patch)
tree09f4e77b233455d8c79abb9bc6982f5062e4a1ae /sfx2
parent76de7bbf3625efd9f4eeb2183bb0bd22e7a795db (diff)
GSoC notebookbar: icon size switching
+ added entry in the Options > View + changed sfxlo-SidebarToolBox to sfxlo-NotebookbarToolBox in the Notebookbar ui files Change-Id: Id5719953be9830b650af96d54e63936c553cda74 Reviewed-on: https://gerrit.libreoffice.org/28169 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/Library_sfx.mk1
-rw-r--r--sfx2/source/notebookbar/NotebookbarToolBox.cxx55
-rw-r--r--sfx2/source/sidebar/SidebarToolBox.cxx12
3 files changed, 65 insertions, 3 deletions
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index e26d5ee2253c..460697532fad 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -242,6 +242,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
sfx2/source/inet/inettbc \
sfx2/source/notebookbar/DropdownBox \
sfx2/source/notebookbar/NotebookBarPopupMenu \
+ sfx2/source/notebookbar/NotebookbarToolBox \
sfx2/source/notebookbar/PriorityHBox \
sfx2/source/notebookbar/SfxNotebookBar \
sfx2/source/notify/eventsupplier \
diff --git a/sfx2/source/notebookbar/NotebookbarToolBox.cxx b/sfx2/source/notebookbar/NotebookbarToolBox.cxx
new file mode 100644
index 000000000000..37662a845315
--- /dev/null
+++ b/sfx2/source/notebookbar/NotebookbarToolBox.cxx
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include <sfx2/sidebar/SidebarToolBox.hxx>
+#include <vcl/builderfactory.hxx>
+#include <svtools/miscopt.hxx>
+
+namespace sfx2 { namespace notebookbar {
+
+class NotebookbarToolBox : public sfx2::sidebar::SidebarToolBox
+{
+public:
+
+ NotebookbarToolBox(vcl::Window* pParentWindow)
+ : sfx2::sidebar::SidebarToolBox(pParentWindow)
+ {
+ ToolBoxButtonSize eSize = TOOLBOX_BUTTONSIZE_SMALL;
+
+ SvtMiscOptions aMiscOptions;
+
+ sal_uInt16 nSize = GetIconSize();
+ if (nSize <= TOOLBOX_BUTTONSIZE_LARGE)
+ eSize = static_cast<ToolBoxButtonSize>(nSize);
+
+ SetToolboxButtonSize(eSize);
+ }
+
+ virtual sal_uInt16 GetIconSize() const override
+ {
+ SvtMiscOptions aMiscOptions;
+ return aMiscOptions.GetNotebookbarIconSize();
+ }
+};
+
+VCL_BUILDER_FACTORY(NotebookbarToolBox)
+
+} } // end of namespace sfx2::notebookbar
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/sidebar/SidebarToolBox.cxx b/sfx2/source/sidebar/SidebarToolBox.cxx
index 986cd33a11cb..29c82ff3f18c 100644
--- a/sfx2/source/sidebar/SidebarToolBox.cxx
+++ b/sfx2/source/sidebar/SidebarToolBox.cxx
@@ -69,7 +69,7 @@ SidebarToolBox::SidebarToolBox (vcl::Window* pParentWindow)
SvtMiscOptions aMiscOptions;
aMiscOptions.AddListenerLink(LINK(this, SidebarToolBox, ChangedIconSizeHandler));
- sal_uInt16 nSize = aMiscOptions.GetSidebarIconSize();
+ sal_uInt16 nSize = GetIconSize();
if (nSize <= TOOLBOX_BUTTONSIZE_LARGE)
eSize = static_cast<ToolBoxButtonSize>(nSize);
@@ -117,6 +117,12 @@ void SidebarToolBox::dispose()
ToolBox::dispose();
}
+sal_uInt16 SidebarToolBox::GetIconSize() const
+{
+ SvtMiscOptions aMiscOptions;
+ return aMiscOptions.GetSidebarIconSize();
+}
+
void SidebarToolBox::InsertItem(const OUString& rCommand,
const css::uno::Reference<css::frame::XFrame>& rFrame,
ToolBoxItemBits nBits, const Size& rRequestedSize, sal_uInt16 nPos)
@@ -264,8 +270,7 @@ IMPL_LINK_NOARG_TYPED(SidebarToolBox, ChangedIconSizeHandler, LinkParamNone*, vo
ToolBoxButtonSize eSize = TOOLBOX_BUTTONSIZE_SMALL;
- SvtMiscOptions aMiscOptions;
- sal_uInt16 nSize = aMiscOptions.GetSidebarIconSize();
+ sal_uInt16 nSize = GetIconSize();
if(nSize <= TOOLBOX_BUTTONSIZE_LARGE)
eSize = static_cast<ToolBoxButtonSize>(nSize);
@@ -297,6 +302,7 @@ IMPL_LINK_NOARG_TYPED(SidebarToolBox, ChangedIconSizeHandler, LinkParamNone*, vo
}
}
+ Resize();
queue_resize();
}