[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - officecfg/registry sd/source sd/uiconfig

Philippe Jung phil.jung at free.fr
Mon Jan 18 11:44:15 PST 2016


 officecfg/registry/schema/org/openoffice/Office/Impress.xcs |   10 ++++++
 sd/source/ui/app/optsitem.cxx                               |   13 +++++++
 sd/source/ui/inc/optsitem.hxx                               |    4 ++
 sd/source/ui/view/ViewShellBase.cxx                         |   20 +++++++-----
 sd/uiconfig/simpress/toolbar/standardbar.xml                |    5 +--
 5 files changed, 41 insertions(+), 11 deletions(-)

New commits:
commit f9b0fec2ff0a17ae851077a2b74a0e9d6fc38476
Author: Philippe Jung <phil.jung at free.fr>
Date:   Mon Jan 18 13:25:41 2016 +0100

    tdf#97119 Make TabBarVisible configuration persistant
    
    Now the TabBarVisible status persist between LO quit/relaunch. It is also taking into accoutn when opening a (existing/new) presentation.
    Fixes the incorrect toolbar button status
    Moves the two buttons on Standard bar, in the PageSetup/SlideMasterPage group.
    ShowTabBar button is also enabled but not selected by default.
    
    Change-Id: Idd9ab15efebc2bf43bc827afaa1eb1457b39deec
    Reviewed-on: https://gerrit.libreoffice.org/21541
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
    (cherry picked from commit 87084436d39662636e92dd03a5161293efb80948)
    Reviewed-on: https://gerrit.libreoffice.org/21582
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
    Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>

diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs
index 276476a..2ba88b4 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs
@@ -559,6 +559,16 @@
         </info>
         <value>150</value>
       </prop>
+      <prop oor:name="TabBarVisible" oor:type="xs:boolean" oor:nillable="false">
+        <!-- OldPath: -->
+        <!-- OldLocation: -->
+        <!-- UIHints: is the TabBar visible on top of the slide panel -->
+        <info>
+          <desc>Indicates whether the tab bar should be visible on top of the slide panel.</desc>
+          <label>Tab bar is visible</label>
+        </info>
+        <value>false</value>
+      </prop>
       <group oor:name="TextObject">
         <info>
           <desc>Contains text editing related configuration items.</desc>
diff --git a/sd/source/ui/app/optsitem.cxx b/sd/source/ui/app/optsitem.cxx
index 628453b..ca0d104 100644
--- a/sd/source/ui/app/optsitem.cxx
+++ b/sd/source/ui/app/optsitem.cxx
@@ -428,6 +428,7 @@ SdOptionsMisc::SdOptionsMisc( sal_uInt16 nConfigId, bool bUseConfig ) :
     bEnablePresenterScreen( true),
     bSolidDragging( true ),
     bSummationOfParagraphs( false ),
+    bTabBarVisible( true ),
     bShowUndoDeleteWarning( true ),
     bSlideshowRespectZOrder( true ),
     bShowComments( true ),
@@ -460,6 +461,7 @@ bool SdOptionsMisc::operator==( const SdOptionsMisc& rOpt ) const
             IsEnableSdremote() == rOpt.IsEnableSdremote() &&
             IsEnablePresenterScreen() == rOpt.IsEnablePresenterScreen()&&
             IsSummationOfParagraphs() == rOpt.IsSummationOfParagraphs() &&
+            IsTabBarVisible() == rOpt.IsTabBarVisible() &&
             IsSolidDragging() == rOpt.IsSolidDragging() &&
             IsShowUndoDeleteWarning() == rOpt.IsShowUndoDeleteWarning() &&
             IsSlideshowRespectZOrder() == rOpt.IsSlideshowRespectZOrder() &&
@@ -513,7 +515,8 @@ void SdOptionsMisc::GetPropNameArray( const char**& ppNames, sal_uLong& rCount )
         "PenColor",
         "PenWidth",
         "Start/EnableSdremote",
-        "Start/EnablePresenterScreen"
+        "Start/EnablePresenterScreen",
+        "TabBarVisible"
     };
 
     rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? SAL_N_ELEMENTS(aPropNames) : 14 );
@@ -574,6 +577,10 @@ bool SdOptionsMisc::ReadData( const Any* pValues )
 
         if( pValues[25].hasValue() )
             SetEnablePresenterScreen( *static_cast<sal_Bool const *>(pValues[ 25 ].getValue()) );
+
+        if( pValues[26].hasValue() ) {
+            SetTabBarVisible( *static_cast<sal_Bool const *>(pValues[ 26 ].getValue()) );
+        }
     }
 
     return true;
@@ -615,6 +622,7 @@ bool SdOptionsMisc::WriteData( Any* pValues ) const
         pValues[ 23 ] <<= GetPresentationPenWidth();
         pValues[ 24 ] <<= IsEnableSdremote();
         pValues[ 25 ] <<= IsEnablePresenterScreen();
+        pValues[ 26 ] <<= IsTabBarVisible();
     }
 
     return true;
@@ -642,6 +650,7 @@ SdOptionsMiscItem::SdOptionsMiscItem( sal_uInt16 _nWhich, SdOptions* pOpts, ::sd
         maOptionsMisc.SetEnableSdremote( pOpts->IsEnableSdremote() );
         maOptionsMisc.SetEnablePresenterScreen( pOpts->IsEnablePresenterScreen() );
         maOptionsMisc.SetSummationOfParagraphs( pOpts->IsSummationOfParagraphs() );
+        maOptionsMisc.SetTabBarVisible( pOpts->IsTabBarVisible() );
         maOptionsMisc.SetShowUndoDeleteWarning( pOpts->IsShowUndoDeleteWarning() );
         maOptionsMisc.SetPrinterIndependentLayout( pOpts->GetPrinterIndependentLayout() );
         maOptionsMisc.SetDefaultObjectSizeWidth( pOpts->GetDefaultObjectSizeWidth() );
@@ -718,6 +727,8 @@ void SdOptionsMiscItem::SetOptions( SdOptions* pOpts ) const
         pOpts->SetEnableSdremote( maOptionsMisc.IsEnableSdremote() );
         pOpts->SetEnablePresenterScreen( maOptionsMisc.IsEnablePresenterScreen() );
         pOpts->SetSummationOfParagraphs( maOptionsMisc.IsSummationOfParagraphs() );
+        pOpts->SetTabBarVisible( maOptionsMisc.IsTabBarVisible() );
+
         pOpts->SetSolidDragging( maOptionsMisc.IsSolidDragging() );
         pOpts->SetShowUndoDeleteWarning( maOptionsMisc.IsShowUndoDeleteWarning() );
         pOpts->SetPrinterIndependentLayout( maOptionsMisc.GetPrinterIndependentLayout() );
diff --git a/sd/source/ui/inc/optsitem.hxx b/sd/source/ui/inc/optsitem.hxx
index 0d9ec21..aa1904e 100644
--- a/sd/source/ui/inc/optsitem.hxx
+++ b/sd/source/ui/inc/optsitem.hxx
@@ -207,6 +207,7 @@ private:
     bool    bEnablePresenterScreen : 1;    // Misc/Start/EnablePresenterDisplay
     bool    bSolidDragging          : 1;    // Misc/ModifyWithAttributes
     bool    bSummationOfParagraphs  : 1;    // misc/SummationOfParagraphs
+    bool    bTabBarVisible          : 1;    // Misc/TabBarVisible
     bool    bShowUndoDeleteWarning  : 1;    // Misc/ShowUndoDeleteWarning
     // #i75315#
     bool    bSlideshowRespectZOrder : 1;    // Misc/SlideshowRespectZOrder
@@ -216,6 +217,7 @@ private:
     bool    bPreviewChangedEffects;
     bool    bPreviewTransitions;
 
+
     sal_Int32   mnDisplay;
 
     sal_Int32 mnPenColor;
@@ -256,6 +258,7 @@ public:
     bool    IsEnablePresenterScreen() const { Init(); return bEnablePresenterScreen; }
     bool    IsSolidDragging() const { Init(); return bSolidDragging; }
     bool    IsSummationOfParagraphs() const { Init(); return bSummationOfParagraphs; };
+    bool    IsTabBarVisible() const { Init(); return bTabBarVisible; };
 
     /** Return the currently selected printer independent layout mode.
         @return
@@ -294,6 +297,7 @@ public:
     void    SetEnableSdremote( bool bOn = true ) { if( bEnableSdremote != bOn ) { OptionsChanged(); bEnableSdremote = bOn; } }
     void    SetEnablePresenterScreen( bool bOn = true ) { if( bEnablePresenterScreen != bOn ) { OptionsChanged(); bEnablePresenterScreen = bOn; } }
     void    SetSummationOfParagraphs( bool bOn = true ){ if ( bOn != bSummationOfParagraphs ) { OptionsChanged(); bSummationOfParagraphs = bOn; } }
+    void    SetTabBarVisible( bool bOn = true ){ if ( bOn != bTabBarVisible ) { OptionsChanged(); bTabBarVisible = bOn; } }
     /** Set the printer independent layout mode.
         @param nOn
             The default value is to switch printer independent layout on,
diff --git a/sd/source/ui/view/ViewShellBase.cxx b/sd/source/ui/view/ViewShellBase.cxx
index 30d881c..90e8820 100644
--- a/sd/source/ui/view/ViewShellBase.cxx
+++ b/sd/source/ui/view/ViewShellBase.cxx
@@ -59,6 +59,8 @@
 #include "Window.hxx"
 #include "framework/ConfigurationController.hxx"
 #include "DocumentRenderer.hxx"
+#include "sdattr.hxx"
+#include "optsitem.hxx"
 
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/awt/XWindow.hpp>
@@ -368,8 +370,10 @@ void ViewShellBase::LateInit (const OUString& rsDefaultView)
         if (pFrameView != nullptr)
             pFrameView->SetViewShellTypeOnLoad(pViewShell->GetShellType());
     }
-    // Hide the TabBar
-    mpImpl->SetUserWantsTabBar(false);
+    // Show/Hide the TabBar
+    SdOptions* pOptions = SD_MOD()->GetSdOptions(GetDocument()->GetDocumentType());
+    bool bIsTabBarVisible = pOptions->IsTabBarVisible();
+    mpImpl->SetUserWantsTabBar( bIsTabBarVisible );
 }
 
 std::shared_ptr<ViewShellManager> ViewShellBase::GetViewShellManager() const
@@ -637,9 +641,14 @@ void ViewShellBase::Execute (SfxRequest& rRequest)
             break;
 
         case SID_TOGGLE_TABBAR_VISIBILITY:
-            mpImpl->SetUserWantsTabBar(!mpImpl->GetUserWantsTabBar());
+        {
+            SdOptions* pOptions = SD_MOD()->GetSdOptions(GetDocument()->GetDocumentType());
+            bool bIsTabBarVisible = pOptions->IsTabBarVisible();
+            pOptions->SetTabBarVisible( !bIsTabBarVisible );
+            mpImpl->SetUserWantsTabBar( !bIsTabBarVisible );
             rRequest.Done();
-            break;
+        }
+        break;
 
         // draw
         case SID_DRAWINGMODE:
@@ -1306,9 +1315,6 @@ void ViewShellBase::Implementation::GetSlotState (SfxItemSet& rSet)
             {
             }
 
-            // Determine the state for the resource.
-            bState = xConfiguration->hasResource(xResourceId);
-
             // Take the master page mode into account.
             switch (nItemId)
             {
diff --git a/sd/uiconfig/simpress/toolbar/standardbar.xml b/sd/uiconfig/simpress/toolbar/standardbar.xml
index 64a42e8..1a0c99b 100644
--- a/sd/uiconfig/simpress/toolbar/standardbar.xml
+++ b/sd/uiconfig/simpress/toolbar/standardbar.xml
@@ -41,9 +41,6 @@
  <toolbar:toolbaritem xlink:href=".uno:Undo"/>
  <toolbar:toolbaritem xlink:href=".uno:Redo"/>
  <toolbar:toolbarseparator/>
- <toolbar:toolbaritem xlink:href=".uno:DisplayMode"/>
- <toolbar:toolbaritem xlink:href=".uno:ToggleTabBarVisibility" toolbar:visible="false"/>
- <toolbar:toolbarseparator/>
  <toolbar:toolbaritem xlink:href=".uno:SearchDialog"/>
  <toolbar:toolbaritem xlink:href=".uno:SpellDialog"/>
  <toolbar:toolbaritem xlink:href=".uno:SpellOnline" toolbar:visible="false"/>
@@ -64,6 +61,8 @@
  <toolbar:toolbaritem xlink:href=".uno:HelplinesMove" toolbar:visible="false"/>
  <toolbar:toolbaritem xlink:href=".uno:AnimationEffects"/>
  <toolbar:toolbarseparator/>
+ <toolbar:toolbaritem xlink:href=".uno:DisplayMode"/>
+ <toolbar:toolbaritem xlink:href=".uno:ToggleTabBarVisibility"/>
  <toolbar:toolbaritem xlink:href=".uno:PageSetup"/>
  <toolbar:toolbaritem xlink:href=".uno:SlideMasterPage"/>
  <toolbar:toolbarseparator/>


More information about the Libreoffice-commits mailing list