sd/source/ui/app/optsitem.cxx                    |   18 ++----------------
 sd/source/ui/dlg/present.cxx                     |    4 ++++
 sd/source/ui/dlg/tpoption.cxx                    |   10 ++--------
 sd/source/ui/inc/optsitem.hxx                    |    7 -------
 sd/source/ui/inc/present.hxx                     |    2 ++
 sd/source/ui/inc/tpoption.hxx                    |    2 --
 sd/source/ui/slideshow/slideshowimpl.cxx         |    4 ++--
 sd/uiconfig/simpress/ui/optimpressgeneralpage.ui |   21 +--------------------
 sd/uiconfig/simpress/ui/presentationdialog.ui    |   13 ++++++++++++-
 9 files changed, 25 insertions(+), 56 deletions(-)

New commits:
commit e0334e1a77ec080b38952ea64b394c8652af851c
Author:     Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>
AuthorDate: Thu Nov 2 13:43:38 2023 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>
CommitDate: Mon Nov 6 09:43:28 2023 +0100

    tdf#157788 Move "Show navigation panel" back to Presentation settings
    
    Instead of hiding it in the general options dialog.
    
    As written in https://bugs.documentfoundation.org/show_bug.cgi?id=157788#c4
    "The options in Slide Show Settings should all apply to the workstation";
    the options which are saved per user/workstation and not per document, 
should not be moved
    away from that dialog.
    Instead the other options should also be saved per user/workstation.
    
    Change-Id: I720c949f08877abb8ef8f94dbcfa6c85f349631d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158808
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>

diff --git a/sd/source/ui/app/optsitem.cxx b/sd/source/ui/app/optsitem.cxx
index e02618ca8f18..74e410383c00 100644
--- a/sd/source/ui/app/optsitem.cxx
+++ b/sd/source/ui/app/optsitem.cxx
@@ -418,7 +418,6 @@ SdOptionsMisc::SdOptionsMisc( bool bImpress, bool 
bUseConfig ) :
     bPreviewNewEffects( true ),
     bPreviewChangedEffects( false ),
     bPreviewTransitions( true ),
-    bShowNavigationPanel( false ),
     mnDisplay( 0 ),
     mnPenColor( 0xff0000 ),
     mnPenWidth( 150.0 ),
@@ -460,9 +459,7 @@ bool SdOptionsMisc::operator==( const SdOptionsMisc& rOpt ) 
const
             IsShowComments() == rOpt.IsShowComments() &&
             GetPresentationPenColor() == rOpt.GetPresentationPenColor() &&
             GetPresentationPenWidth() == rOpt.GetPresentationPenWidth() &&
-            GetDragThresholdPixels() == rOpt.GetDragThresholdPixels() &&
-
-            IsShowNavigationPanel() == rOpt.IsShowNavigationPanel()
+            GetDragThresholdPixels() == rOpt.GetDragThresholdPixels()
         );
 }
 
@@ -503,8 +500,7 @@ void SdOptionsMisc::GetPropNameArray( const char**& 
ppNames, sal_uLong& rCount )
         "PenColor",
         "PenWidth",
         "Start/EnableSdremote",
-        "TabBarVisible",
-        "Start/ShowNavigationPanel"
+        "TabBarVisible"
     };
 
     rCount = ( IsImpress() ? SAL_N_ELEMENTS(aPropNames) : 16 );
@@ -568,9 +564,6 @@ bool SdOptionsMisc::ReadData( const Any* pValues )
         if( pValues[26].hasValue() ) {
             SetTabBarVisible( *o3tl::doAccess<bool>(pValues[ 26 ]) );
         }
-        if( pValues[27].hasValue() )
-            SetShowNavigationPanel( *o3tl::doAccess<bool>(pValues[ 27 ]) );
-
     }
 
     return true;
@@ -613,9 +606,6 @@ bool SdOptionsMisc::WriteData( Any* pValues ) const
         pValues[ 24 ] <<= GetPresentationPenWidth();
         pValues[ 25 ] <<= IsEnableSdremote();
         pValues[ 26 ] <<= IsTabBarVisible();
-
-        pValues[ 27 ] <<= IsShowNavigationPanel();
-
     }
 
     return true;
@@ -657,8 +647,6 @@ SdOptionsMiscItem::SdOptionsMiscItem( SdOptions const * 
pOpts, ::sd::FrameView c
 
         maOptionsMisc.SetPresentationPenColor(pOpts->GetPresentationPenColor() 
);
         maOptionsMisc.SetPresentationPenWidth(pOpts->GetPresentationPenWidth() 
);
-
-        maOptionsMisc.SetShowNavigationPanel( pOpts->IsShowNavigationPanel() );
     }
 
     if( pView )
@@ -741,8 +729,6 @@ void SdOptionsMiscItem::SetOptions( SdOptions* pOpts ) const
     pOpts->SetPresentationPenWidth( maOptionsMisc.GetPresentationPenWidth() );
 
     pOpts->SetDragThreshold( maOptionsMisc.GetDragThresholdPixels() );
-
-    pOpts->SetShowNavigationPanel( maOptionsMisc.IsShowNavigationPanel() );
 }
 
 /*************************************************************************
diff --git a/sd/source/ui/dlg/present.cxx b/sd/source/ui/dlg/present.cxx
index 6eaedbfae48b..34b0befd2a7f 100644
--- a/sd/source/ui/dlg/present.cxx
+++ b/sd/source/ui/dlg/present.cxx
@@ -65,6 +65,7 @@ SdStartPresentationDlg::SdStartPresentationDlg(weld::Window* 
pWindow, const SfxI
     , 
m_xCbxAnimationAllowed(m_xBuilder->weld_check_button("animationsallowed"))
     , 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_xLbConsole(m_xBuilder->weld_combo_box("console_cb"))
     , m_xFtMonitor(m_xBuilder->weld_label("presdisplay_label"))
     , m_xLBMonitor(m_xBuilder->weld_combo_box("presdisplay_cb"))
@@ -124,6 +125,7 @@ 
SdStartPresentationDlg::SdStartPresentationDlg(weld::Window* pWindow, const SfxI
     m_xCbxAnimationAllowed->set_active( static_cast<const SfxBoolItem&>( 
rOutAttrs.Get( ATTR_PRESENT_ANIMATION_ALLOWED ) ).GetValue() );
     m_xCbxChangePage->set_active( static_cast<const SfxBoolItem&>( 
rOutAttrs.Get( ATTR_PRESENT_CHANGE_PAGE ) ).GetValue() );
     m_xCbxAlwaysOnTop->set_active( static_cast<const SfxBoolItem&>( 
rOutAttrs.Get( ATTR_PRESENT_ALWAYS_ON_TOP ) ).GetValue() );
+    
m_xCbxShowNavigationButton->set_active(officecfg::Office::Impress::Misc::Start::ShowNavigationPanel::get());
 
     const bool  bEndless = static_cast<const SfxBoolItem&>( rOutAttrs.Get( 
ATTR_PRESENT_ENDLESS ) ).GetValue();
     const bool  bWindow = !static_cast<const SfxBoolItem&>( rOutAttrs.Get( 
ATTR_PRESENT_FULLSCREEN ) ).GetValue();
@@ -176,6 +178,8 @@ short SdStartPresentationDlg::run()
             
officecfg::Office::Impress::Misc::Start::PresenterScreenFullScreen::set(
                 nActive == PresenterConsoleMode::FullScreen, batch);
         }
+        officecfg::Office::Impress::Misc::Start::ShowNavigationPanel::set(
+            m_xCbxShowNavigationButton->get_active(), batch);
         batch->commit();
     }
     return nRet;
diff --git a/sd/source/ui/dlg/tpoption.cxx b/sd/source/ui/dlg/tpoption.cxx
index efa66ab20821..3e92ceb08cd5 100644
--- a/sd/source/ui/dlg/tpoption.cxx
+++ b/sd/source/ui/dlg/tpoption.cxx
@@ -208,7 +208,6 @@ SdTpOptionsMisc::SdTpOptionsMisc(weld::Container* pPage, 
weld::DialogController*
     , m_xMtrFldTabstop(m_xBuilder->weld_metric_spin_button("metricFields", 
FieldUnit::MM))
     , m_xCbxEnableSdremote(m_xBuilder->weld_check_button("enremotcont"))
     , m_xCbxCompatibility(m_xBuilder->weld_check_button("cbCompatibility"))
-    , m_xCbxShowNavigationPanel(m_xBuilder->weld_check_button("shwnavpan"))
     , m_xScaleFrame(m_xBuilder->weld_frame("scaleframe"))
     , m_xCbScale(m_xBuilder->weld_combo_box("scaleBox"))
     , m_xNewDocLb(m_xBuilder->weld_label("newdoclbl"))
@@ -362,7 +361,7 @@ OUString SdTpOptionsMisc::GetAllStrings()
 
     OUString checkButton[] = { "startwithwizard", "copywhenmove", 
"backgroundback",
                                "objalwymov",      "distortcb",    
"cbCompatibility",
-                               "enremotcont",     "qickedit",     
"textselected", "shwnavpan" };
+                               "enremotcont",     "qickedit",     
"textselected"};
 
     for (const auto& check : checkButton)
     {
@@ -385,8 +384,7 @@ bool SdTpOptionsMisc::FillItemSet( SfxItemSet* rAttrs )
         m_xCbxCopy->get_state_changed_from_saved()                      ||
         m_xCbxEnableSdremote->get_state_changed_from_saved()            ||
         m_xCbxCompatibility->get_state_changed_from_saved()             ||
-        m_xCbxDistort->get_state_changed_from_saved()                   ||
-        m_xCbxShowNavigationPanel->get_state_changed_from_saved())
+        m_xCbxDistort->get_state_changed_from_saved())
     {
         SdOptionsMiscItem aOptsItem;
 
@@ -399,7 +397,6 @@ bool SdTpOptionsMisc::FillItemSet( SfxItemSet* rAttrs )
         aOptsItem.GetOptionsMisc().SetEnableSdremote( 
m_xCbxEnableSdremote->get_active() );
         aOptsItem.GetOptionsMisc().SetSummationOfParagraphs( 
m_xCbxCompatibility->get_active() );
         aOptsItem.GetOptionsMisc().SetCrookNoContortion( 
m_xCbxDistort->get_active() );
-        aOptsItem.GetOptionsMisc().SetShowNavigationPanel( 
m_xCbxShowNavigationPanel->get_active() );
         rAttrs->Put( aOptsItem );
 
         bModified = true;
@@ -448,7 +445,6 @@ void SdTpOptionsMisc::Reset( const SfxItemSet* rAttrs )
     m_xCbxEnableSdremote->set_active( 
aOptsItem.GetOptionsMisc().IsEnableSdremote() );
     m_xCbxCompatibility->set_active( 
aOptsItem.GetOptionsMisc().IsSummationOfParagraphs() );
     m_xCbxDistort->set_active( 
aOptsItem.GetOptionsMisc().IsCrookNoContortion() );
-    m_xCbxShowNavigationPanel->set_active( 
aOptsItem.GetOptionsMisc().IsShowNavigationPanel() );
     m_xCbxStartWithTemplate->save_state();
     m_xCbxMarkedHitMovesAlways->save_state();
     m_xCbxQuickEdit->save_state();
@@ -459,7 +455,6 @@ void SdTpOptionsMisc::Reset( const SfxItemSet* rAttrs )
     m_xCbxEnableSdremote->save_state();
     m_xCbxCompatibility->save_state();
     m_xCbxDistort->save_state();
-    m_xCbxShowNavigationPanel->save_state();
 
     // metric
     sal_uInt16 nWhich = GetWhich( SID_ATTR_METRIC );
@@ -555,7 +550,6 @@ void SdTpOptionsMisc::SetDrawMode()
     m_xMtrFldOriginalHeight->show();
     m_xCbxDistort->show();
     m_xCbxCompatibility->hide();
-    m_xCbxShowNavigationPanel->hide();
 }
 
 OUString SdTpOptionsMisc::GetScale( sal_Int32 nX, sal_Int32 nY )
diff --git a/sd/source/ui/inc/optsitem.hxx b/sd/source/ui/inc/optsitem.hxx
index 56b64450cc9d..e406f2692e60 100644
--- a/sd/source/ui/inc/optsitem.hxx
+++ b/sd/source/ui/inc/optsitem.hxx
@@ -209,9 +209,6 @@ private:
     bool    bPreviewChangedEffects;
     bool    bPreviewTransitions;
 
-    bool    bShowNavigationPanel        : 1;    // 
Misc/Start/ShowNavigationPanel
-
-
     sal_Int32   mnDisplay;
 
     sal_Int32 mnPenColor;
@@ -256,8 +253,6 @@ public:
     bool    IsSummationOfParagraphs() const { Init(); return 
bSummationOfParagraphs; };
     bool    IsTabBarVisible() const { Init(); return bTabBarVisible; };
 
-    bool    IsShowNavigationPanel() const { Init(); return 
bShowNavigationPanel; }
-
     /** Return the currently selected printer independent layout mode.
         @return
             Returns 1 for printer independent layout enabled and 0 when it
@@ -318,8 +313,6 @@ public:
 
     bool    IsShowComments() const { Init(); return bShowComments; }
     void    SetShowComments( bool bShow )  { if( bShowComments != bShow ) { 
OptionsChanged(); bShowComments = bShow; } }
-
-    void    SetShowNavigationPanel( bool bOn ) { if( bShowNavigationPanel != 
bOn ) { OptionsChanged(); bShowNavigationPanel = bOn; } }
 };
 
 class SD_DLLPUBLIC SdOptionsMiscItem final : public SfxPoolItem
diff --git a/sd/source/ui/inc/present.hxx b/sd/source/ui/inc/present.hxx
index e5ca1f69266c..0f59f860e4b2 100644
--- a/sd/source/ui/inc/present.hxx
+++ b/sd/source/ui/inc/present.hxx
@@ -54,6 +54,8 @@ private:
     std::unique_ptr<weld::CheckButton> m_xCbxAnimationAllowed;
     std::unique_ptr<weld::CheckButton> m_xCbxChangePage;
     std::unique_ptr<weld::CheckButton> m_xCbxAlwaysOnTop;
+    std::unique_ptr<weld::CheckButton> m_xCbxShowNavigationButton;
+
 
     std::unique_ptr<weld::ComboBox> m_xLbConsole;
 
diff --git a/sd/source/ui/inc/tpoption.hxx b/sd/source/ui/inc/tpoption.hxx
index e7f91d3b2c32..c798f957b10b 100644
--- a/sd/source/ui/inc/tpoption.hxx
+++ b/sd/source/ui/inc/tpoption.hxx
@@ -91,8 +91,6 @@ private:
     std::unique_ptr<weld::CheckButton> m_xCbxEnableSdremote;
     std::unique_ptr<weld::CheckButton> m_xCbxCompatibility;
 
-    std::unique_ptr<weld::CheckButton> m_xCbxShowNavigationPanel;
-
     //Scale
     std::unique_ptr<weld::Frame> m_xScaleFrame;
     std::unique_ptr<weld::ComboBox> m_xCbScale;
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx 
b/sd/source/ui/slideshow/slideshowimpl.cxx
index 5fd298d8b4d9..f4f4bfe77019 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -37,6 +37,7 @@
 #include <com/sun/star/frame/XLayoutManager.hpp>
 #include <com/sun/star/presentation/SlideShow.hpp>
 #include <com/sun/star/media/XPlayer.hpp>
+#include <officecfg/Office/Impress.hxx>
 #include <officecfg/Office/Recovery.hxx>
 #include <svl/stritem.hxx>
 #include <svl/urihelper.hxx>
@@ -1078,8 +1079,7 @@ bool SlideshowImpl::startShowImpl( const Sequence< 
beans::PropertyValue >& aProp
                         Any( xPointerBitmap ),
                         beans::PropertyState_DIRECT_VALUE ) );
             }
-            SdOptions* pOptions = 
SD_MOD()->GetSdOptions(DocumentType::Impress);
-            if (pOptions->IsShowNavigationPanel())
+            if 
(officecfg::Office::Impress::Misc::Start::ShowNavigationPanel::get())
             {
                 BitmapEx prevSlideBm(BMP_PREV_SLIDE);
                 const Reference<rendering::XBitmap> xPrevSBitmap(
diff --git a/sd/uiconfig/simpress/ui/optimpressgeneralpage.ui 
b/sd/uiconfig/simpress/ui/optimpressgeneralpage.ui
index b7fcd3ae925e..99e1839c5582 100644
--- a/sd/uiconfig/simpress/ui/optimpressgeneralpage.ui
+++ b/sd/uiconfig/simpress/ui/optimpressgeneralpage.ui
@@ -96,7 +96,7 @@
         <property name="label-xalign">0</property>
         <property name="shadow-type">none</property>
         <child>
-          <!-- n-columns=1 n-rows=2 -->
+          <!-- n-columns=1 n-rows=1 -->
           <object class="GtkGrid" id="grid5">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
@@ -125,25 +125,6 @@
                 <property name="top-attach">0</property>
               </packing>
             </child>
-            <child>
-              <object class="GtkCheckButton" id="shwnavpan">
-                <property name="label" translatable="yes" 
context="optimpressgeneralpage|shwnavpan">Show navigation panel</property>
-                <property name="visible">True</property>
-                <property name="can-focus">True</property>
-                <property name="receives-default">False</property>
-                <property name="use-underline">True</property>
-                <property name="draw-indicator">True</property>
-                <child internal-child="accessible">
-                  <object class="AtkObject" id="shwnavpan-atkobject">
-                    <property name="AtkObject::accessible-description" 
translatable="yes" context="extended_tip|shwnavpan">Specifies that you want to 
show navigation panel for presentations.</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="left-attach">0</property>
-                <property name="top-attach">1</property>
-              </packing>
-            </child>
           </object>
         </child>
         <child type="label">
diff --git a/sd/uiconfig/simpress/ui/presentationdialog.ui 
b/sd/uiconfig/simpress/ui/presentationdialog.ui
index 0dae8d3e5abd..96746b44f80a 100644
--- a/sd/uiconfig/simpress/ui/presentationdialog.ui
+++ b/sd/uiconfig/simpress/ui/presentationdialog.ui
@@ -694,7 +694,18 @@
                           </packing>
                         </child>
                         <child>
-                          <placeholder/>
+                          <object class="GtkCheckButton" 
id="shownavigationbutton">
+                            <property name="label" translatable="yes" 
context="presentationdialog|shownavigationbutton">Show navigation 
panel</property>
+                            <property name="visible">True</property>
+                            <property name="can-focus">True</property>
+                            <property name="receives-default">False</property>
+                            <property name="use-underline">True</property>
+                            <property name="draw-indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="left-attach">0</property>
+                            <property name="top-attach">3</property>
+                          </packing>
                         </child>
                       </object>
                     </child>

Reply via email to