officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu |    8 ++++
 sw/inc/cmdid.h                                                      |    1 
 sw/sdi/_viewsh.sdi                                                  |    6 +++
 sw/sdi/swriter.sdi                                                  |   18 
++++++++++
 sw/source/core/layout/paintfrm.cxx                                  |   11 
+++++-
 sw/source/uibase/uiview/view0.cxx                                   |    9 
+++++
 sw/uiconfig/swriter/menubar/menubar.xml                             |    1 
 7 files changed, 53 insertions(+), 1 deletion(-)

New commits:
commit 5ae87ce05f9d2222b7f723af1518bdc7ae467078
Author:     Rafael Lima <rafael.palma.l...@gmail.com>
AuthorDate: Tue Jan 24 17:54:11 2023 +0000
Commit:     Paris Oplopoios <parisop...@gmail.com>
CommitDate: Thu Mar 16 22:59:56 2023 +0000

    tdf#129905 Create toggle for Section boundaries
    
    Currently in Writer it is not possible to enable/disable Section Boundaries 
independently from Text Boundaries (which are toggleable via View - Text 
Boundaries). Hence its only possible to enable/disable them together.
    
    This patch creates a new command that allows to enable/disable Section 
Boundaries (now in View - Section Boundaries) indepentently from Text 
Boundaries.
    
    (cherry picked from commit 79811c27f34d3e752de1bc3959605c5d58ac2365)
    
    Change-Id: I76981ed1a055ce8d1e0f83c3055fef75df37f019
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148989
    Tested-by: Paris Oplopoios <parisop...@gmail.com>
    Reviewed-by: Paris Oplopoios <parisop...@gmail.com>

diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
index 2d3007e7d702..4a7da9393d38 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
@@ -2822,6 +2822,14 @@
           <value>1</value>
         </prop>
       </node>
+      <node oor:name=".uno:SectionBoundaries" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Sec~tion Boundaries</value>
+        </prop>
+        <prop oor:name="Properties" oor:type="xs:int">
+          <value>1</value>
+        </prop>
+      </node>
       <node oor:name=".uno:ThesaurusDialog" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">~Thesaurus...</value>
diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h
index 634290ebd8c5..22dad9cf8537 100644
--- a/sw/inc/cmdid.h
+++ b/sw/inc/cmdid.h
@@ -163,6 +163,7 @@ class SwUINumRuleItem;
 #define FN_VLINEAL              (FN_VIEW + 16)  /* Vertical Liner */
 #define FN_VSCROLLBAR           (FN_VIEW + 17)  /* Vertical Scrollbar */
 #define FN_HSCROLLBAR           (FN_VIEW + 18)  /* Horizontal Scrollbar */
+#define FN_VIEW_SECTION_BOUNDARIES (FN_VIEW + 19)  /* View section boundaries 
*/
 
 #define FN_VIEW_META_CHARS      (FN_VIEW + 24)  /* View meta chars */
 #define FN_VIEW_MARKS           (FN_VIEW + 25)  /* View marks */
diff --git a/sw/sdi/_viewsh.sdi b/sw/sdi/_viewsh.sdi
index c3096bc57d3a..020383d31abc 100644
--- a/sw/sdi/_viewsh.sdi
+++ b/sw/sdi/_viewsh.sdi
@@ -883,6 +883,12 @@ interface BaseTextEditView
         StateMethod = StateViewOptions ;
     ]
 
+    FN_VIEW_SECTION_BOUNDARIES // status()
+    [
+        ExecMethod = ExecViewOptions ;
+        StateMethod = StateViewOptions ;
+    ]
+
     FN_VIEW_GRAPHIC // status()
     [
         ExecMethod = ExecViewOptions ;
diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi
index 663d63b88caf..e9d8e7651219 100644
--- a/sw/sdi/swriter.sdi
+++ b/sw/sdi/swriter.sdi
@@ -6667,6 +6667,24 @@ SfxBoolItem ViewBounds FN_VIEW_BOUNDS
     GroupId = SfxGroupId::View;
 ]
 
+SfxBoolItem SectionBoundaries FN_VIEW_SECTION_BOUNDARIES
+
+[
+    AutoUpdate = FALSE,
+    FastCall = FALSE,
+    ReadOnlyDoc = TRUE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+
+
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    ToolBoxConfig = TRUE,
+    GroupId = SfxGroupId::View;
+]
+
 SfxBoolItem VRuler FN_VLINEAL
 
 [
diff --git a/sw/source/core/layout/paintfrm.cxx 
b/sw/source/core/layout/paintfrm.cxx
index dbb1272efa9e..a90e86375a05 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -6688,7 +6688,7 @@ void SwPageFrame::RefreshSubsidiary( const SwRect &rRect 
) const
 void SwLayoutFrame::RefreshLaySubsidiary( const SwPageFrame *pPage,
                                         const SwRect &rRect ) const
 {
-    const bool bSubsOpt   = isSubsidiaryLinesEnabled();
+    const bool bSubsOpt = isSubsidiaryLinesEnabled() || 
isSubsidiaryLinesForSectionsEnabled();
     if ( bSubsOpt )
         PaintSubsidiaryLines( pPage, rRect );
 
@@ -6925,6 +6925,9 @@ static drawinglayer::primitive2d::Primitive2DContainer 
lcl_CreateColumnAreaDelim
 void SwPageFrame::PaintSubsidiaryLines( const SwPageFrame *,
                                         const SwRect & ) const
 {
+    if (!SwViewOption::IsDocBoundaries())
+        return;
+
     if ( gProp.pSGlobalShell->IsHeaderFooterEdit() )
         return;
 
@@ -6996,6 +6999,9 @@ void SwColumnFrame::PaintSubsidiaryLines( const 
SwPageFrame *,
 void SwSectionFrame::PaintSubsidiaryLines( const SwPageFrame * pPage,
                                         const SwRect & rRect ) const
 {
+    if (!SwViewOption::IsSectionBoundaries())
+        return;
+
     const bool bNoLowerColumn = !Lower() || !Lower()->IsColumnFrame();
     if ( bNoLowerColumn )
     {
@@ -7014,6 +7020,9 @@ void SwBodyFrame::PaintSubsidiaryLines( const SwPageFrame 
*,
 
 void SwHeadFootFrame::PaintSubsidiaryLines( const SwPageFrame *, const SwRect 
& ) const
 {
+    if (!SwViewOption::IsDocBoundaries())
+        return;
+
     if ( gProp.pSGlobalShell->IsHeaderFooterEdit() )
     {
         SwRect aArea( getFramePrintArea() );
diff --git a/sw/source/uibase/uiview/view0.cxx 
b/sw/source/uibase/uiview/view0.cxx
index 5bd6a5b1024b..e5b0cb1f400e 100644
--- a/sw/source/uibase/uiview/view0.cxx
+++ b/sw/source/uibase/uiview/view0.cxx
@@ -193,6 +193,7 @@ void SwView::RecheckBrowseMode()
             FN_VLINEAL,             /*20216*/
             FN_VSCROLLBAR,      /*20217*/
             FN_HSCROLLBAR,      /*20218*/
+            FN_VIEW_SECTION_BOUNDARIES, /*20219*/
             FN_VIEW_META_CHARS, /**/
             FN_VIEW_MARKS,      /**/
             //FN_VIEW_FIELDNAME,    /**/
@@ -254,6 +255,8 @@ void SwView::StateViewOptions(SfxItemSet &rSet)
             break;
             case FN_VIEW_BOUNDS:
                 aBool.SetValue( SwViewOption::IsDocBoundaries()); break;
+            case FN_VIEW_SECTION_BOUNDARIES:
+                aBool.SetValue(SwViewOption::IsSectionBoundaries()); break;
             case FN_VIEW_GRAPHIC:
                 aBool.SetValue( pOpt->IsGraphic() ); break;
             case FN_VIEW_FIELDS:
@@ -421,6 +424,12 @@ void SwView::ExecViewOptions(SfxRequest &rReq)
         SwViewOption::SetAppearanceFlag(ViewOptFlags::DocBoundaries, bFlag, 
true );
         break;
 
+    case FN_VIEW_SECTION_BOUNDARIES:
+        if( STATE_TOGGLE == eState )
+            bFlag = !SwViewOption::IsSectionBoundaries();
+        SwViewOption::SetAppearanceFlag(ViewOptFlags::SectionBoundaries, 
bFlag, true );
+        break;
+
     case SID_GRID_VISIBLE:
         if( STATE_TOGGLE == eState )
             bFlag = !pOpt->IsGridVisible();
diff --git a/sw/uiconfig/swriter/menubar/menubar.xml 
b/sw/uiconfig/swriter/menubar/menubar.xml
index 0e7fc10063f5..7043fcf9f23a 100644
--- a/sw/uiconfig/swriter/menubar/menubar.xml
+++ b/sw/uiconfig/swriter/menubar/menubar.xml
@@ -207,6 +207,7 @@
       <menu:menuitem menu:id=".uno:ControlCodes"/>
       <menu:menuitem menu:id=".uno:ViewBounds" menu:style="text"/>
       <menu:menuitem menu:id=".uno:TableBoundaries" menu:style="text"/>
+      <menu:menuitem menu:id=".uno:SectionBoundaries" menu:style="text"/>
       <menu:menuitem menu:id=".uno:ShowGraphics" menu:style="text"/>
       <menu:menuitem menu:id=".uno:ShowWhitespace"/>
       <menu:menuseparator/>

Reply via email to