diff --git a/icon-themes/colibre/sd/res/nextslide_extralarge.png b/icon-themes/colibre/sd/res/nextslide_extralarge.png new file mode 100644 index 000000000000..4b86301c93cc Binary files /dev/null and b/icon-themes/colibre/sd/res/nextslide_extralarge.png differ diff --git a/icon-themes/colibre/sd/res/nextslide_large.png b/icon-themes/colibre/sd/res/nextslide_large.png new file mode 100644 index 000000000000..4138f3d8bd8b Binary files /dev/null and b/icon-themes/colibre/sd/res/nextslide_large.png differ diff --git a/icon-themes/colibre/sd/res/nextslide_mouseover.png b/icon-themes/colibre/sd/res/nextslide_mouseover.png deleted file mode 100644 index 56b105438d58..000000000000 Binary files a/icon-themes/colibre/sd/res/nextslide_mouseover.png and /dev/null differ diff --git a/icon-themes/colibre/sd/res/nextslide.png b/icon-themes/colibre/sd/res/nextslide_small.png similarity index 100% rename from icon-themes/colibre/sd/res/nextslide.png rename to icon-themes/colibre/sd/res/nextslide_small.png diff --git a/icon-themes/colibre/sd/res/prevslide_extralarge.png b/icon-themes/colibre/sd/res/prevslide_extralarge.png new file mode 100644 index 000000000000..6b8feb9f8a1e Binary files /dev/null and b/icon-themes/colibre/sd/res/prevslide_extralarge.png differ diff --git a/icon-themes/colibre/sd/res/prevslide_large.png b/icon-themes/colibre/sd/res/prevslide_large.png new file mode 100644 index 000000000000..62f33a098b33 Binary files /dev/null and b/icon-themes/colibre/sd/res/prevslide_large.png differ diff --git a/icon-themes/colibre/sd/res/prevslide_mouseover.png b/icon-themes/colibre/sd/res/prevslide_mouseover.png deleted file mode 100644 index 547a9a25c956..000000000000 Binary files a/icon-themes/colibre/sd/res/prevslide_mouseover.png and /dev/null differ diff --git a/icon-themes/colibre/sd/res/prevslide.png b/icon-themes/colibre/sd/res/prevslide_small.png similarity index 100% rename from icon-themes/colibre/sd/res/prevslide.png rename to icon-themes/colibre/sd/res/prevslide_small.png diff --git a/icon-themes/colibre/sd/res/slideshowmenu_extralarge.png b/icon-themes/colibre/sd/res/slideshowmenu_extralarge.png new file mode 100644 index 000000000000..c5c5aa235a5c Binary files /dev/null and b/icon-themes/colibre/sd/res/slideshowmenu_extralarge.png differ diff --git a/icon-themes/colibre/sd/res/slideshowmenu_large.png b/icon-themes/colibre/sd/res/slideshowmenu_large.png new file mode 100644 index 000000000000..f053d68226d5 Binary files /dev/null and b/icon-themes/colibre/sd/res/slideshowmenu_large.png differ diff --git a/icon-themes/colibre/sd/res/slideshowmenu_mouseover.png b/icon-themes/colibre/sd/res/slideshowmenu_mouseover.png deleted file mode 100644 index 4dfa5588db37..000000000000 Binary files a/icon-themes/colibre/sd/res/slideshowmenu_mouseover.png and /dev/null differ diff --git a/icon-themes/colibre/sd/res/slideshowmenu.png b/icon-themes/colibre/sd/res/slideshowmenu_small.png similarity index 100% rename from icon-themes/colibre/sd/res/slideshowmenu.png rename to icon-themes/colibre/sd/res/slideshowmenu_small.png diff --git a/icon-themes/colibre_dark/sd/res/nextslide_extralarge.png b/icon-themes/colibre_dark/sd/res/nextslide_extralarge.png new file mode 100644 index 000000000000..35d71c44ecdf Binary files /dev/null and b/icon-themes/colibre_dark/sd/res/nextslide_extralarge.png differ diff --git a/icon-themes/colibre_dark/sd/res/nextslide_large.png b/icon-themes/colibre_dark/sd/res/nextslide_large.png new file mode 100644 index 000000000000..5e5b7b5543fc Binary files /dev/null and b/icon-themes/colibre_dark/sd/res/nextslide_large.png differ diff --git a/icon-themes/colibre_dark/sd/res/nextslide_mouseover.png b/icon-themes/colibre_dark/sd/res/nextslide_mouseover.png deleted file mode 100644 index 1a3224d435fc..000000000000 Binary files a/icon-themes/colibre_dark/sd/res/nextslide_mouseover.png and /dev/null differ diff --git a/icon-themes/colibre_dark/sd/res/nextslide.png b/icon-themes/colibre_dark/sd/res/nextslide_small.png similarity index 100% rename from icon-themes/colibre_dark/sd/res/nextslide.png rename to icon-themes/colibre_dark/sd/res/nextslide_small.png diff --git a/icon-themes/colibre_dark/sd/res/prevslide_extralarge.png b/icon-themes/colibre_dark/sd/res/prevslide_extralarge.png new file mode 100644 index 000000000000..77cd5aa56a67 Binary files /dev/null and b/icon-themes/colibre_dark/sd/res/prevslide_extralarge.png differ diff --git a/icon-themes/colibre_dark/sd/res/prevslide_large.png b/icon-themes/colibre_dark/sd/res/prevslide_large.png new file mode 100644 index 000000000000..f3a349d64428 Binary files /dev/null and b/icon-themes/colibre_dark/sd/res/prevslide_large.png differ diff --git a/icon-themes/colibre_dark/sd/res/prevslide_mouseover.png b/icon-themes/colibre_dark/sd/res/prevslide_mouseover.png deleted file mode 100644 index 94bb1c82f246..000000000000 Binary files a/icon-themes/colibre_dark/sd/res/prevslide_mouseover.png and /dev/null differ diff --git a/icon-themes/colibre_dark/sd/res/prevslide.png b/icon-themes/colibre_dark/sd/res/prevslide_small.png similarity index 100% rename from icon-themes/colibre_dark/sd/res/prevslide.png rename to icon-themes/colibre_dark/sd/res/prevslide_small.png diff --git a/icon-themes/colibre_dark/sd/res/slideshowmenu_extralarge.png b/icon-themes/colibre_dark/sd/res/slideshowmenu_extralarge.png new file mode 100644 index 000000000000..315801145769 Binary files /dev/null and b/icon-themes/colibre_dark/sd/res/slideshowmenu_extralarge.png differ diff --git a/icon-themes/colibre_dark/sd/res/slideshowmenu_large.png b/icon-themes/colibre_dark/sd/res/slideshowmenu_large.png new file mode 100644 index 000000000000..49f62fd136a5 Binary files /dev/null and b/icon-themes/colibre_dark/sd/res/slideshowmenu_large.png differ diff --git a/icon-themes/colibre_dark/sd/res/slideshowmenu_mouseover.png b/icon-themes/colibre_dark/sd/res/slideshowmenu_mouseover.png deleted file mode 100644 index 4278b2254946..000000000000 Binary files a/icon-themes/colibre_dark/sd/res/slideshowmenu_mouseover.png and /dev/null differ diff --git a/icon-themes/colibre_dark/sd/res/slideshowmenu.png b/icon-themes/colibre_dark/sd/res/slideshowmenu_small.png similarity index 100% rename from icon-themes/colibre_dark/sd/res/slideshowmenu.png rename to icon-themes/colibre_dark/sd/res/slideshowmenu_small.png diff --git a/icon-themes/colibre_dark_svg/sd/res/nextslide_extralarge.svg b/icon-themes/colibre_dark_svg/sd/res/nextslide_extralarge.svg new file mode 100644 index 000000000000..6766bd7c8d41 --- /dev/null +++ b/icon-themes/colibre_dark_svg/sd/res/nextslide_extralarge.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_dark_svg/sd/res/nextslide_large.svg b/icon-themes/colibre_dark_svg/sd/res/nextslide_large.svg new file mode 100644 index 000000000000..fad4590a8b95 --- /dev/null +++ b/icon-themes/colibre_dark_svg/sd/res/nextslide_large.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_dark_svg/sd/res/nextslide_mouseover.svg b/icon-themes/colibre_dark_svg/sd/res/nextslide_mouseover.svg deleted file mode 100644 index b4c5b5ae2845..000000000000 --- a/icon-themes/colibre_dark_svg/sd/res/nextslide_mouseover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icon-themes/colibre_dark_svg/sd/res/nextslide.svg b/icon-themes/colibre_dark_svg/sd/res/nextslide_small.svg similarity index 100% rename from icon-themes/colibre_dark_svg/sd/res/nextslide.svg rename to icon-themes/colibre_dark_svg/sd/res/nextslide_small.svg diff --git a/icon-themes/colibre_dark_svg/sd/res/prevslide_extralarge.svg b/icon-themes/colibre_dark_svg/sd/res/prevslide_extralarge.svg new file mode 100644 index 000000000000..0f3d16c2da89 --- /dev/null +++ b/icon-themes/colibre_dark_svg/sd/res/prevslide_extralarge.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_dark_svg/sd/res/prevslide_large.svg b/icon-themes/colibre_dark_svg/sd/res/prevslide_large.svg new file mode 100644 index 000000000000..382a68d303e2 --- /dev/null +++ b/icon-themes/colibre_dark_svg/sd/res/prevslide_large.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_dark_svg/sd/res/prevslide_mouseover.svg b/icon-themes/colibre_dark_svg/sd/res/prevslide_mouseover.svg deleted file mode 100644 index da295a2f32d6..000000000000 --- a/icon-themes/colibre_dark_svg/sd/res/prevslide_mouseover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icon-themes/colibre_dark_svg/sd/res/prevslide.svg b/icon-themes/colibre_dark_svg/sd/res/prevslide_small.svg similarity index 100% rename from icon-themes/colibre_dark_svg/sd/res/prevslide.svg rename to icon-themes/colibre_dark_svg/sd/res/prevslide_small.svg diff --git a/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_extralarge.svg b/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_extralarge.svg new file mode 100644 index 000000000000..129fb8836a53 --- /dev/null +++ b/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_extralarge.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + diff --git a/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_large.svg b/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_large.svg new file mode 100644 index 000000000000..36db17eaa9d3 --- /dev/null +++ b/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_large.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + diff --git a/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_mouseover.svg b/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_mouseover.svg deleted file mode 100644 index 8a87f9821870..000000000000 --- a/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_mouseover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icon-themes/colibre_dark_svg/sd/res/slideshowmenu.svg b/icon-themes/colibre_dark_svg/sd/res/slideshowmenu_small.svg similarity index 100% rename from icon-themes/colibre_dark_svg/sd/res/slideshowmenu.svg rename to icon-themes/colibre_dark_svg/sd/res/slideshowmenu_small.svg diff --git a/icon-themes/colibre_svg/sd/res/nextslide_extralarge.svg b/icon-themes/colibre_svg/sd/res/nextslide_extralarge.svg new file mode 100644 index 000000000000..eab7d0edf0f7 --- /dev/null +++ b/icon-themes/colibre_svg/sd/res/nextslide_extralarge.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_svg/sd/res/nextslide_large.svg b/icon-themes/colibre_svg/sd/res/nextslide_large.svg new file mode 100644 index 000000000000..5613b70764ef --- /dev/null +++ b/icon-themes/colibre_svg/sd/res/nextslide_large.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_svg/sd/res/nextslide_mouseover.svg b/icon-themes/colibre_svg/sd/res/nextslide_mouseover.svg deleted file mode 100644 index 710af1886222..000000000000 --- a/icon-themes/colibre_svg/sd/res/nextslide_mouseover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icon-themes/colibre_svg/sd/res/nextslide.svg b/icon-themes/colibre_svg/sd/res/nextslide_small.svg similarity index 100% rename from icon-themes/colibre_svg/sd/res/nextslide.svg rename to icon-themes/colibre_svg/sd/res/nextslide_small.svg diff --git a/icon-themes/colibre_svg/sd/res/prevslide_extralarge.svg b/icon-themes/colibre_svg/sd/res/prevslide_extralarge.svg new file mode 100644 index 000000000000..4d9a299dd765 --- /dev/null +++ b/icon-themes/colibre_svg/sd/res/prevslide_extralarge.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_svg/sd/res/prevslide_large.svg b/icon-themes/colibre_svg/sd/res/prevslide_large.svg new file mode 100644 index 000000000000..9d48d879a7b0 --- /dev/null +++ b/icon-themes/colibre_svg/sd/res/prevslide_large.svg @@ -0,0 +1,47 @@ + + + + + + + diff --git a/icon-themes/colibre_svg/sd/res/prevslide_mouseover.svg b/icon-themes/colibre_svg/sd/res/prevslide_mouseover.svg deleted file mode 100644 index 7d5f7edd1980..000000000000 --- a/icon-themes/colibre_svg/sd/res/prevslide_mouseover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icon-themes/colibre_svg/sd/res/prevslide.svg b/icon-themes/colibre_svg/sd/res/prevslide_small.svg similarity index 100% rename from icon-themes/colibre_svg/sd/res/prevslide.svg rename to icon-themes/colibre_svg/sd/res/prevslide_small.svg diff --git a/icon-themes/colibre_svg/sd/res/slideshowmenu_extralarge.svg b/icon-themes/colibre_svg/sd/res/slideshowmenu_extralarge.svg new file mode 100644 index 000000000000..3efb7d99264a --- /dev/null +++ b/icon-themes/colibre_svg/sd/res/slideshowmenu_extralarge.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + diff --git a/icon-themes/colibre_svg/sd/res/slideshowmenu_large.svg b/icon-themes/colibre_svg/sd/res/slideshowmenu_large.svg new file mode 100644 index 000000000000..d52c9a61399d --- /dev/null +++ b/icon-themes/colibre_svg/sd/res/slideshowmenu_large.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + diff --git a/icon-themes/colibre_svg/sd/res/slideshowmenu_mouseover.svg b/icon-themes/colibre_svg/sd/res/slideshowmenu_mouseover.svg deleted file mode 100644 index 68c74478bd1b..000000000000 --- a/icon-themes/colibre_svg/sd/res/slideshowmenu_mouseover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/icon-themes/colibre_svg/sd/res/slideshowmenu.svg b/icon-themes/colibre_svg/sd/res/slideshowmenu_small.svg similarity index 100% rename from icon-themes/colibre_svg/sd/res/slideshowmenu.svg rename to icon-themes/colibre_svg/sd/res/slideshowmenu_small.svg diff --git a/include/vcl/vclenum.hxx b/include/vcl/vclenum.hxx index 5ea0c77127d6..c8f27fb9da52 100644 --- a/include/vcl/vclenum.hxx +++ b/include/vcl/vclenum.hxx @@ -270,6 +270,15 @@ enum class ToolBoxButtonSize Size32, }; +// available button sizes for navigation bar +enum class NavbarButtonSize +{ + Auto, + Small, + Large, + XLarge, +}; + namespace vcl { // The exact sizes of the icons in each size grouping are not necessarily diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs index baafb0972c94..88166cc197ef 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs @@ -142,6 +142,36 @@ true + + + + Specifies which size of the icons is used for the + navigation bar. + + + + + automatic (small) icons + + + + + small icons + + + + + large icons + + + + + extralarge icons + + + + 0 + diff --git a/sd/inc/bitmaps.hlst b/sd/inc/bitmaps.hlst index 87dbab4e4a7c..52b90058993d 100644 --- a/sd/inc/bitmaps.hlst +++ b/sd/inc/bitmaps.hlst @@ -208,9 +208,17 @@ inline constexpr OUString BMP_MENU_PREV = u"cmd/sc_prevrecord.png"_ustr; inline constexpr OUString BMP_MENU_FIRST = u"cmd/sc_firstrecord.png"_ustr; inline constexpr OUString BMP_MENU_LAST = u"cmd/sc_lastrecord.png"_ustr; -inline constexpr OUString BMP_PREV_SLIDE = u"sd/res/prevslide.png"_ustr; -inline constexpr OUString BMP_NEXT_SLIDE = u"sd/res/nextslide.png"_ustr; -inline constexpr OUString BMP_MENU_SLIDE = u"sd/res/slideshowmenu.png"_ustr; +inline constexpr OUString BMP_PREV_SLIDE_SMALL = u"sd/res/prevslide_small.png"_ustr; +inline constexpr OUString BMP_NEXT_SLIDE_SMALL = u"sd/res/nextslide_small.png"_ustr; +inline constexpr OUString BMP_MENU_SLIDE_SMALL = u"sd/res/slideshowmenu_small.png"_ustr; + +inline constexpr OUString BMP_PREV_SLIDE_LARGE = u"sd/res/prevslide_large.png"_ustr; +inline constexpr OUString BMP_NEXT_SLIDE_LARGE = u"sd/res/nextslide_large.png"_ustr; +inline constexpr OUString BMP_MENU_SLIDE_LARGE = u"sd/res/slideshowmenu_large.png"_ustr; + +inline constexpr OUString BMP_PREV_SLIDE_EXTRALARGE = u"sd/res/prevslide_extralarge.png"_ustr; +inline constexpr OUString BMP_NEXT_SLIDE_EXTRALARGE = u"sd/res/nextslide_extralarge.png"_ustr; +inline constexpr OUString BMP_MENU_SLIDE_EXTRALARGE = u"sd/res/slideshowmenu_extralarge.png"_ustr; inline constexpr OUString SFX_BMP_CLOSE_DOC = u"sfx2/res/closedoc.png"_ustr; diff --git a/sd/source/ui/dlg/present.cxx b/sd/source/ui/dlg/present.cxx index 85d234bfcab9..0c2e4619dd7e 100644 --- a/sd/source/ui/dlg/present.cxx +++ b/sd/source/ui/dlg/present.cxx @@ -66,6 +66,8 @@ SdStartPresentationDlg::SdStartPresentationDlg(weld::Window* pWindow, const SfxI , m_xCbxChangePage(m_xBuilder->weld_check_button("changeslidesbyclick")) , m_xCbxAlwaysOnTop(m_xBuilder->weld_check_button("alwaysontop")) , m_xCbxShowNavigationButton(m_xBuilder->weld_check_button("shownavigationbutton")) + , m_xLbNavigationButtonsSize(m_xBuilder->weld_combo_box("navigation_buttons_size_cb")) + , m_xFtNavigationButtonsSize(m_xBuilder->weld_label("navbar_btn_size_label")) , m_xFrameEnableRemote(m_xBuilder->weld_frame("frameremote")) , m_xCbxEnableRemote(m_xBuilder->weld_check_button("enableremote")) , m_xLbConsole(m_xBuilder->weld_combo_box("console_cb")) @@ -89,6 +91,7 @@ SdStartPresentationDlg::SdStartPresentationDlg(weld::Window* pWindow, const SfxI m_xRbtStandard->connect_toggled( aLink ); m_xRbtWindow->connect_toggled( aLink ); m_xRbtAuto->connect_toggled( aLink ); + m_xCbxShowNavigationButton->connect_toggled( aLink ); m_xTmfPause->connect_value_changed( LINK( this, SdStartPresentationDlg, ChangePauseHdl ) ); @@ -127,7 +130,16 @@ SdStartPresentationDlg::SdStartPresentationDlg(weld::Window* pWindow, const SfxI m_xCbxAnimationAllowed->set_active( static_cast( rOutAttrs.Get( ATTR_PRESENT_ANIMATION_ALLOWED ) ).GetValue() ); m_xCbxChangePage->set_active( static_cast( rOutAttrs.Get( ATTR_PRESENT_CHANGE_PAGE ) ).GetValue() ); m_xCbxAlwaysOnTop->set_active( static_cast( rOutAttrs.Get( ATTR_PRESENT_ALWAYS_ON_TOP ) ).GetValue() ); - m_xCbxShowNavigationButton->set_active(officecfg::Office::Impress::Misc::Start::ShowNavigationPanel::get()); + + const sal_Int32 nActiveNavigationBtnScale = officecfg::Office::Impress::Layout::Display::NavigationBtnScale::get(); + const bool bShowNavbar = officecfg::Office::Impress::Misc::Start::ShowNavigationPanel::get(); + m_xCbxShowNavigationButton->set_active( bShowNavbar ); + if (nActiveNavigationBtnScale != -1) + { + m_xLbNavigationButtonsSize->set_active(nActiveNavigationBtnScale); + } + m_xLbNavigationButtonsSize->set_sensitive( bShowNavbar ); + m_xFtNavigationButtonsSize->set_sensitive( bShowNavbar ); const bool bEndless = static_cast( rOutAttrs.Get( ATTR_PRESENT_ENDLESS ) ).GetValue(); const bool bWindow = !static_cast( rOutAttrs.Get( ATTR_PRESENT_FULLSCREEN ) ).GetValue(); @@ -188,6 +200,9 @@ short SdStartPresentationDlg::run() } officecfg::Office::Impress::Misc::Start::ShowNavigationPanel::set( m_xCbxShowNavigationButton->get_active(), batch); + officecfg::Office::Impress::Layout::Display::NavigationBtnScale::set( + m_xLbNavigationButtonsSize->get_active(), batch); + #ifdef ENABLE_SDREMOTE officecfg::Office::Impress::Misc::Start::EnableSdremote::set(m_xCbxEnableRemote->get_active(), batch); #endif @@ -348,6 +363,10 @@ IMPL_LINK_NOARG(SdStartPresentationDlg, ClickWindowPresentationHdl, weld::Toggle m_xFtMonitor->set_sensitive( bDisplay ); m_xLBMonitor->set_sensitive( bDisplay ); + const bool bShowNavbar = m_xCbxShowNavigationButton->get_active(); + m_xLbNavigationButtonsSize->set_sensitive( bShowNavbar ); + m_xFtNavigationButtonsSize->set_sensitive( bShowNavbar ); + if( bWindow ) { m_xCbxAlwaysOnTop->set_sensitive(false); diff --git a/sd/source/ui/inc/present.hxx b/sd/source/ui/inc/present.hxx index 155e267d4e08..e7cc165f4c4e 100644 --- a/sd/source/ui/inc/present.hxx +++ b/sd/source/ui/inc/present.hxx @@ -55,6 +55,8 @@ private: std::unique_ptr m_xCbxChangePage; std::unique_ptr m_xCbxAlwaysOnTop; std::unique_ptr m_xCbxShowNavigationButton; + std::unique_ptr m_xLbNavigationButtonsSize; + std::unique_ptr m_xFtNavigationButtonsSize; std::unique_ptr m_xFrameEnableRemote; std::unique_ptr m_xCbxEnableRemote; diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx index 531e8b09bcb6..97216f9bec79 100644 --- a/sd/source/ui/slideshow/slideshowimpl.cxx +++ b/sd/source/ui/slideshow/slideshowimpl.cxx @@ -1091,7 +1091,37 @@ bool SlideshowImpl::startShowImpl( const Sequence< beans::PropertyValue >& aProp } if (officecfg::Office::Impress::Misc::Start::ShowNavigationPanel::get()) { - BitmapEx prevSlideBm(BMP_PREV_SLIDE); + NavbarButtonSize btnScale = static_cast(officecfg::Office::Impress::Layout::Display::NavigationBtnScale::get()); + OUString prevSlidePath = ""; + OUString nextSlidePath = ""; + OUString menuPath = ""; + switch (btnScale) + { + case NavbarButtonSize::Large: + { + prevSlidePath = BMP_PREV_SLIDE_LARGE; + nextSlidePath = BMP_NEXT_SLIDE_LARGE; + menuPath = BMP_MENU_SLIDE_LARGE; + break; + } + case NavbarButtonSize::XLarge: + { + prevSlidePath = BMP_PREV_SLIDE_EXTRALARGE; + nextSlidePath = BMP_NEXT_SLIDE_EXTRALARGE; + menuPath = BMP_MENU_SLIDE_EXTRALARGE; + break; + } + case NavbarButtonSize::Auto: + case NavbarButtonSize::Small: + default: + { + prevSlidePath = BMP_PREV_SLIDE_SMALL; + nextSlidePath = BMP_NEXT_SLIDE_SMALL; + menuPath = BMP_MENU_SLIDE_SMALL; + break; + } + } + BitmapEx prevSlideBm(prevSlidePath); const Reference xPrevSBitmap( vcl::unotools::xBitmapFromBitmapEx(prevSlideBm)); if (xPrevSBitmap.is()) @@ -1100,7 +1130,7 @@ bool SlideshowImpl::startShowImpl( const Sequence< beans::PropertyValue >& aProp Any(xPrevSBitmap), beans::PropertyState_DIRECT_VALUE)); } - BitmapEx menuSlideBm(BMP_MENU_SLIDE); + BitmapEx menuSlideBm(menuPath); const Reference xMenuSBitmap( vcl::unotools::xBitmapFromBitmapEx(menuSlideBm)); if (xMenuSBitmap.is()) @@ -1109,7 +1139,7 @@ bool SlideshowImpl::startShowImpl( const Sequence< beans::PropertyValue >& aProp Any(xMenuSBitmap), beans::PropertyState_DIRECT_VALUE)); } - BitmapEx nextSlideBm(BMP_NEXT_SLIDE); + BitmapEx nextSlideBm(nextSlidePath); const Reference xNextSBitmap( vcl::unotools::xBitmapFromBitmapEx(nextSlideBm)); if (xNextSBitmap.is()) diff --git a/sd/uiconfig/simpress/ui/presentationdialog.ui b/sd/uiconfig/simpress/ui/presentationdialog.ui index 75ad453f9093..9829dc38a43f 100644 --- a/sd/uiconfig/simpress/ui/presentationdialog.ui +++ b/sd/uiconfig/simpress/ui/presentationdialog.ui @@ -1,5 +1,5 @@ - + @@ -268,7 +268,7 @@ True True - + True False @@ -353,6 +353,41 @@ 2 + + + True + False + start + 24 + Buttons size: + + + 0 + 3 + + + + + True + False + True + + Automatic + Small + Large + Extra Large + + + + Specifies the display size of navigation bar icons. + + + + + 1 + 3 + + 0 diff --git a/slideshow/source/engine/slideshowimpl.cxx b/slideshow/source/engine/slideshowimpl.cxx index 34cb4418db9d..5e0dbbb8074e 100644 --- a/slideshow/source/engine/slideshowimpl.cxx +++ b/slideshow/source/engine/slideshowimpl.cxx @@ -1828,7 +1828,7 @@ sal_Bool SlideShowImpl::setProperty( beans::PropertyValue const& rProperty ) return false; mpNavigationMenu = SlideOverlayButton::create( - xBitmap, { 80, 10 }, + xBitmap, { xBitmap->getSize().Width + 48, 10 }, [this](basegfx::B2DPoint pos) { maListenerContainer.forEach( [pos](const uno::Reference& xListener) { @@ -1852,7 +1852,7 @@ sal_Bool SlideShowImpl::setProperty( beans::PropertyValue const& rProperty ) return false; mpNavigationNext = SlideOverlayButton::create( - xBitmap, { 140, 10 }, [this](basegfx::B2DPoint) { notifySlideEnded(false); }, + xBitmap, { 2 * xBitmap->getSize().Width + 76, 10 }, [this](basegfx::B2DPoint) { notifySlideEnded(false); }, maScreenUpdater, maEventMultiplexer, maViewContainer); return true;