cui/source/options/optcolor.cxx | 9 cui/uiconfig/ui/colorconfigwin.ui | 151 ---- include/svtools/colorcfg.hxx | 1 officecfg/registry/data/org/openoffice/Office/UI.xcu | 17 officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu | 20 officecfg/registry/schema/org/openoffice/Office/Impress.xcs | 7 officecfg/registry/schema/org/openoffice/Office/UI.xcs | 34 - officecfg/registry/schema/org/openoffice/Office/Writer.xcs | 33 - sd/source/ui/dlg/headerfooterdlg.cxx | 2 sd/source/ui/view/sdview.cxx | 324 +++++----- sd/uiconfig/sdraw/ui/notebookbar_groupedbar_compact.ui | 9 sd/uiconfig/simpress/ui/notebookbar_groupedbar_compact.ui | 9 svtools/source/config/colorcfg.cxx | 8 svx/source/sdr/contact/viewobjectcontactofpageobj.cxx | 2 svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx | 2 svx/source/svdraw/svdoole2.cxx | 2 sw/inc/cmdid.h | 2 sw/inc/viewopt.hxx | 49 - sw/qa/uitest/options/tdf78133.py | 8 sw/sdi/_viewsh.sdi | 6 sw/sdi/swriter.sdi | 34 - sw/source/core/layout/paintfrm.cxx | 88 -- sw/source/ui/config/optpage.cxx | 30 sw/source/uibase/config/cfgitems.cxx | 12 sw/source/uibase/config/usrpref.cxx | 20 sw/source/uibase/config/viewopt.cxx | 32 sw/source/uibase/inc/cfgitems.hxx | 4 sw/source/uibase/inc/optpage.hxx | 6 sw/source/uibase/uiview/view0.cxx | 30 sw/source/uibase/uno/unomod.cxx | 8 sw/uiconfig/sglobal/menubar/menubar.xml | 3 sw/uiconfig/sweb/menubar/menubar.xml | 2 sw/uiconfig/swform/menubar/menubar.xml | 3 sw/uiconfig/swreport/menubar/menubar.xml | 3 sw/uiconfig/swriter/menubar/menubar.xml | 4 sw/uiconfig/swriter/ui/notebookbar.ui | 16 sw/uiconfig/swriter/ui/notebookbar_compact.ui | 16 sw/uiconfig/swriter/ui/notebookbar_groupedbar_compact.ui | 32 sw/uiconfig/swriter/ui/notebookbar_groupedbar_full.ui | 32 sw/uiconfig/swriter/ui/optformataidspage.ui | 76 ++ sw/uiconfig/swxform/menubar/menubar.xml | 3 41 files changed, 505 insertions(+), 644 deletions(-)
New commits: commit f40dc496a511ae06a308dd0859bc3aad28a8ec7e Author: Heiko Tietze <[email protected]> AuthorDate: Thu Nov 7 16:12:56 2024 +0100 Commit: Heiko Tietze <[email protected]> CommitDate: Wed Nov 20 16:56:07 2024 +0100 Resolves tdf#163856 - Disentangle boundaries options * Boundary toggles removed from app colors * Object boundaries completely removed (color replaced with DOCBOUNDARIES; Impress placeholder on/off now an expert option) * Toggle options added under formatting aids * Individual UNO commands marked deprecated * New command added to show all boundaries * Frames follow sections now in state and color * Kind of wrapping doesn't matter anmymore Change-Id: I7bbec20831dcb95abef6523884d84b05a1a7df0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176242 Tested-by: Jenkins Reviewed-by: Rafael Lima <[email protected]> diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx index e9ef0c7800aa..67cb2462b0d2 100644 --- a/cui/source/options/optcolor.cxx +++ b/cui/source/options/optcolor.cxx @@ -108,10 +108,9 @@ const vEntryInfo[] = // The list of these entries (enum ColorConfigEntry) are in colorcfg.hxx. { Group_General, IDS(doccolor), std::u16string_view(u"/DocColor") }, - { Group_General, IDS_CB(docboundaries), std::u16string_view(u"/DocBoundaries") }, + { Group_General, IDS(docboundaries), std::u16string_view(u"/DocBoundaries") }, { Group_General, IDS(appback), std::u16string_view(u"/AppBackground") }, - { Group_General, IDS_CB(objboundaries), std::u16string_view(u"/ObjectBoundaries") }, - { Group_General, IDS_CB(tblboundaries), std::u16string_view(u"/TableBoundaries") }, + { Group_General, IDS(tblboundaries), std::u16string_view(u"/TableBoundaries") }, { Group_General, IDS(font), std::u16string_view(u"/FontColor") }, { Group_General, IDS_CB(unvisitedlinks), std::u16string_view(u"/Links") }, { Group_General, IDS_CB(visitedlinks), std::u16string_view(u"/LinksVisited") }, @@ -125,7 +124,7 @@ const vEntryInfo[] = { Group_Writer, IDS_CB(index), std::u16string_view(u"/WriterIdxShadings") }, { Group_Writer, IDS(direct), std::u16string_view(u"/WriterDirectCursor") }, { Group_Writer, IDS(script), std::u16string_view(u"/WriterScriptIndicator") }, - { Group_Writer, IDS_CB(section), std::u16string_view(u"/WriterSectionBoundaries") }, + { Group_Writer, IDS(section), std::u16string_view(u"/WriterSectionBoundaries") }, { Group_Writer, IDS(hdft), std::u16string_view(u"/WriterHeaderFooterMark") }, { Group_Writer, IDS(pagebreak), std::u16string_view(u"/WriterPageBreaks") }, { Group_Writer, IDS(nonprintchars), std::u16string_view(u"/WriterNonPrintChars") }, @@ -485,7 +484,7 @@ void ColorConfigWindow_Impl::CreateEntries() // get it to align its contents with that of a CheckBox { OUString sSampleText(u"XXXXXX"_ustr); - std::unique_ptr<weld::CheckButton> xCheckBox(m_xBuilder->weld_check_button(u"docboundaries"_ustr)); + std::unique_ptr<weld::CheckButton> xCheckBox(m_xBuilder->weld_check_button(u"unvisitedlinks"_ustr)); std::unique_ptr<weld::Label> xFixedText(m_xBuilder->weld_label(u"doccolor"_ustr)); OUString sOrigCheck(xCheckBox->get_label()); OUString sOrigFixed(xFixedText->get_label()); diff --git a/cui/uiconfig/ui/colorconfigwin.ui b/cui/uiconfig/ui/colorconfigwin.ui index 91243182fdb6..5baa136e7757 100644 --- a/cui/uiconfig/ui/colorconfigwin.ui +++ b/cui/uiconfig/ui/colorconfigwin.ui @@ -18,7 +18,7 @@ <property name="label-xalign">0</property> <property name="shadow-type">none</property> <child> - <!-- n-columns=2 n-rows=11 --> + <!-- n-columns=2 n-rows=10 --> <object class="GtkGrid" id="gdGeneral"> <property name="visible">True</property> <property name="can-focus">False</property> @@ -50,7 +50,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -61,14 +60,12 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="docboundaries"> + <object class="GtkLabel" id="docboundaries"> <property name="label" translatable="yes" context="colorconfigwin|docboundaries">Text boundaries</property> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="receives-default">False</property> <property name="halign">start</property> <property name="valign">center</property> - <property name="draw-indicator">True</property> <accessibility> <relation type="label-for" target="docboundaries_lb"/> </accessibility> @@ -86,7 +83,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -127,7 +123,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -138,65 +133,19 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="objboundaries"> - <property name="label" translatable="yes" context="colorconfigwin|objboundaries">Object boundaries</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="objboundaries_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="objboundaries_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="objboundaries"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="objboundaries_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|objboundaries_lb">Object boundaries color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="tblboundaries"> + <object class="GtkLabel" id="tblboundaries"> <property name="label" translatable="yes" context="colorconfigwin|tblboundaries">Table boundaries</property> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="receives-default">False</property> <property name="halign">start</property> <property name="valign">center</property> - <property name="draw-indicator">True</property> <accessibility> <relation type="label-for" target="tblboundaries_lb"/> </accessibility> </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">4</property> + <property name="top-attach">3</property> </packing> </child> <child> @@ -207,7 +156,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -222,7 +170,7 @@ </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">4</property> + <property name="top-attach">3</property> </packing> </child> <child> @@ -237,7 +185,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">5</property> + <property name="top-attach">4</property> </packing> </child> <child> @@ -248,14 +196,13 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">5</property> + <property name="top-attach">4</property> </packing> </child> <child> @@ -273,7 +220,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">6</property> + <property name="top-attach">5</property> </packing> </child> <child> @@ -284,7 +231,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -299,7 +245,7 @@ </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">6</property> + <property name="top-attach">5</property> </packing> </child> <child> @@ -317,7 +263,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">7</property> + <property name="top-attach">6</property> </packing> </child> <child> @@ -328,7 +274,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -343,7 +288,7 @@ </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">7</property> + <property name="top-attach">6</property> </packing> </child> <child> @@ -358,7 +303,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">8</property> + <property name="top-attach">7</property> </packing> </child> <child> @@ -369,14 +314,13 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">8</property> + <property name="top-attach">7</property> </packing> </child> <child> @@ -391,7 +335,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">9</property> + <property name="top-attach">8</property> </packing> </child> <child> @@ -402,14 +346,13 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">9</property> + <property name="top-attach">8</property> </packing> </child> <child> @@ -427,7 +370,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">10</property> + <property name="top-attach">9</property> </packing> </child> <child> @@ -438,7 +381,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -453,7 +395,7 @@ </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">10</property> + <property name="top-attach">9</property> </packing> </child> </object> @@ -514,7 +456,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -550,7 +491,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -594,7 +534,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -635,7 +574,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -646,14 +584,12 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="section"> + <object class="GtkLabel" id="section"> <property name="label" translatable="yes" context="colorconfigwin|section">Section boundaries</property> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="receives-default">False</property> <property name="halign">start</property> <property name="valign">center</property> - <property name="draw-indicator">True</property> <accessibility> <relation type="label-for" target="section_lb"/> </accessibility> @@ -671,7 +607,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -712,7 +647,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -745,7 +679,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -778,7 +711,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -811,7 +743,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -844,7 +775,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -912,7 +842,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -945,7 +874,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -978,7 +906,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1011,7 +938,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1044,7 +970,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1062,7 +987,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1095,7 +1019,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1128,7 +1051,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1161,7 +1083,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1194,7 +1115,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1227,7 +1147,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1260,7 +1179,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1311,7 +1229,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1355,7 +1272,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1381,7 +1297,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1435,7 +1350,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1493,7 +1407,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1576,7 +1489,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1610,7 +1522,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1644,7 +1555,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1678,7 +1588,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1712,7 +1621,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1746,7 +1654,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1780,7 +1687,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1814,7 +1720,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1848,7 +1753,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1901,7 +1805,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1934,7 +1837,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -1967,7 +1869,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2000,7 +1901,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2033,7 +1933,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2066,7 +1965,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2099,7 +1997,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2132,7 +2029,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2200,7 +2096,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2233,7 +2128,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2266,7 +2160,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2299,7 +2192,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2332,7 +2224,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2365,7 +2256,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2398,7 +2288,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2466,7 +2355,6 @@ <property name="hexpand">True</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2514,7 +2402,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2547,7 +2434,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> @@ -2580,7 +2466,6 @@ <property name="halign">end</property> <property name="xalign">0</property> <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> <child> <placeholder/> </child> diff --git a/include/svtools/colorcfg.hxx b/include/svtools/colorcfg.hxx index 6cc4483cd40d..5e4e774826d7 100644 --- a/include/svtools/colorcfg.hxx +++ b/include/svtools/colorcfg.hxx @@ -32,7 +32,6 @@ enum ColorConfigEntry : int DOCCOLOR , DOCBOUNDARIES , APPBACKGROUND , - OBJECTBOUNDARIES , TABLEBOUNDARIES , FONTCOLOR , LINKS , diff --git a/officecfg/registry/data/org/openoffice/Office/UI.xcu b/officecfg/registry/data/org/openoffice/Office/UI.xcu index 942d15fe1f9e..f4e82ec18ecc 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI.xcu @@ -145,9 +145,6 @@ </prop> </node> <node oor:name="DocBoundaries"> - <prop oor:name="IsVisible"> - <value>true</value> - </prop> <prop oor:name="Color"> <value xsi:nil="true"/> </prop> @@ -157,18 +154,7 @@ <value xsi:nil="true"/> </prop> </node> - <node oor:name="ObjectBoundaries"> - <prop oor:name="IsVisible"> - <value>true</value> - </prop> - <prop oor:name="Color"> - <value xsi:nil="true"/> - </prop> - </node> <node oor:name="TableBoundaries"> - <prop oor:name="IsVisible"> - <value>true</value> - </prop> <prop oor:name="Color"> <value xsi:nil="true"/> </prop> @@ -252,9 +238,6 @@ </prop> </node> <node oor:name="WriterSectionBoundaries"> - <prop oor:name="IsVisible"> - <value>true</value> - </prop> <prop oor:name="Color"> <value xsi:nil="true"/> </prop> diff --git a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu index d75dd6c83946..b92f978d5c09 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu @@ -3010,7 +3010,7 @@ </node> <node oor:name=".uno:ViewBounds" oor:op="replace"> <prop oor:name="Label" oor:type="xs:string"> - <value xml:lang="en-US">Te~xt Boundaries</value> + <value xml:lang="en-US">Te~xt Boundaries (deprecated)</value> </prop> <prop oor:name="Properties" oor:type="xs:int"> <value>1</value> @@ -3018,7 +3018,7 @@ </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> + <value xml:lang="en-US">Sec~tion Boundaries (deprecated)</value> </prop> <prop oor:name="Properties" oor:type="xs:int"> <value>1</value> @@ -3186,7 +3186,21 @@ </node> <node oor:name=".uno:TableBoundaries" oor:op="replace"> <prop oor:name="Label" oor:type="xs:string"> - <value xml:lang="en-US">Table Boundaries</value> + <value xml:lang="en-US">Table Boundaries (deprecated)</value> + </prop> + <prop oor:name="Properties" oor:type="xs:int"> + <value>1</value> + </prop> + </node> + <node oor:name=".uno:ShowBoundaries" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Show Boundaries</value> + </prop> + <prop oor:name="ContextLabel" oor:type="xs:string"> + <value xml:lang="en-US">Boundaries</value> + </prop> + <prop oor:name="TooltipLabel" oor:type="xs:string"> + <value xml:lang="en-US">Show boundaries for all types depending on settings at formatting aids.</value> </prop> <prop oor:name="Properties" oor:type="xs:int"> <value>1</value> diff --git a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs index 001ee08d2a64..c4de6da82393 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Impress.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Impress.xcs @@ -577,6 +577,13 @@ </info> <value>false</value> </prop> + <prop oor:name="ShowBoundary" oor:type="xs:boolean" oor:nillable="false"> + <info> + <desc>Indicates whether placeholder get a virtual frame.</desc> + <label>Show boundary for placeholder</label> + </info> + <value>true</value> + </prop> </group> <group oor:name="NewDoc"> <info> diff --git a/officecfg/registry/schema/org/openoffice/Office/UI.xcs b/officecfg/registry/schema/org/openoffice/Office/UI.xcs index dfe27c0d4a73..afb965c541cb 100644 --- a/officecfg/registry/schema/org/openoffice/Office/UI.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/UI.xcs @@ -55,12 +55,6 @@ <info> <desc>Specifies the settings for the documents boundaries.</desc> </info> - <prop oor:name="IsVisible" oor:type="xs:boolean" oor:nillable="false"> - <info> - <desc>Specifies the visibility of anchors (true = visible).</desc> - </info> - <value>true</value> - </prop> <prop oor:name="Color" oor:type="xs:int"> <info> <desc>Specifies the color used for of the document boundaries.</desc> @@ -77,32 +71,10 @@ </info> </prop> </group> - <group oor:name="ObjectBoundaries"> - <info> - <desc>Specifies the settings for object boundaries.</desc> - </info> - <prop oor:name="IsVisible" oor:type="xs:boolean" oor:nillable="false"> - <info> - <desc>Specifies the visibility of object boundaries (true = visible).</desc> - </info> - <value>true</value> - </prop> - <prop oor:name="Color" oor:type="xs:int"> - <info> - <desc>Specifies the color used for object boundaries.</desc> - </info> - </prop> - </group> <group oor:name="TableBoundaries"> <info> <desc>Specifies the settings for table boundaries.</desc> </info> - <prop oor:name="IsVisible" oor:type="xs:boolean" oor:nillable="false"> - <info> - <desc>Specifies the visibility of table boundaries (true = visible).</desc> - </info> - <value>true</value> - </prop> <prop oor:name="Color" oor:type="xs:int"> <info> <desc>Specifies the color used for table boundaries.</desc> @@ -269,12 +241,6 @@ <info> <desc>Specifies the settings for section boundaries in Writer.</desc> </info> - <prop oor:name="IsVisible" oor:type="xs:boolean" oor:nillable="false"> - <info> - <desc>Specifies the visibility of section boundaries (true = visible).</desc> - </info> - <value>true</value> - </prop> <prop oor:name="Color" oor:type="xs:int"> <info> <desc>Specifies the color used for section boundaries.</desc> diff --git a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs index d1cd0b52d309..1ca15926fec9 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs @@ -901,13 +901,44 @@ <value>1</value> </prop> <prop oor:name="TextBoundaries" oor:type="xs:boolean" oor:nillable="false"> - <!-- UIHints: Not accessible via user interface --> + <!-- UIHints: Tools - Options - Writer - Formatting Aids --> + <info> + <desc>Shows text boundaries, if enabled.</desc> + <label>Text boundaries</label> + </info> + <value>true</value> + </prop> + <prop oor:name="TextBoundariesFull" oor:type="xs:boolean" oor:nillable="false"> + <!-- UIHints: Tools - Options - Writer - Formatting Aids --> <info> <desc>Shows text boundaries as full frame (true) or crop marks (false), if enabled.</desc> <label>Show text boundaries as full frame or crop marks</label> </info> <value>false</value> </prop> + <prop oor:name="SectionBoundaries" oor:type="xs:boolean" oor:nillable="false"> + <!-- UIHints: Tools - Options - Writer - Formatting Aids --> + <info> + <desc>Shows section boundaries, if enabled.</desc> + <label>Section boundaries</label> + </info> + <value>true</value> + </prop> + <prop oor:name="TableBoundaries" oor:type="xs:boolean" oor:nillable="false"> + <!-- UIHints: Tools - Options - Writer - Formatting Aids --> + <info> + <desc>Shows table boundaries, if enabled.</desc> + <label>Table boundaries</label> + </info> + <value>true</value> + </prop> + <prop oor:name="ShowBoundaries" oor:type="xs:boolean" oor:nillable="false"> + <info> + <desc>Toggle all boundaries on/off.</desc> + <label>Show boundaries</label> + </info> + <value>false</value> + </prop> </group> <group oor:name="Zoom"> <info> diff --git a/sd/source/ui/dlg/headerfooterdlg.cxx b/sd/source/ui/dlg/headerfooterdlg.cxx index 440664ae1176..c2936d014faa 100644 --- a/sd/source/ui/dlg/headerfooterdlg.cxx +++ b/sd/source/ui/dlg/headerfooterdlg.cxx @@ -689,7 +689,7 @@ void PresLayoutPreview::Paint(vcl::RenderContext& rRenderContext, SdrTextObj con // determine line color svtools::ColorConfig aColorConfig; - svtools::ColorConfigValue aColor( aColorConfig.GetColorValue( bVisible ? svtools::FONTCOLOR : svtools::OBJECTBOUNDARIES ) ); + svtools::ColorConfigValue aColor( aColorConfig.GetColorValue( bVisible ? svtools::FONTCOLOR : svtools::DOCBOUNDARIES ) ); // paint at OutDev rRenderContext.SetLineColor(aColor.nColor); diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx index 4087b209db2e..189d3050bbf8 100644 --- a/sd/source/ui/view/sdview.cxx +++ b/sd/source/ui/view/sdview.cxx @@ -39,6 +39,7 @@ #include <vcl/settings.hxx> #include <officecfg/Office/Common.hxx> +#include <officecfg/Office/Impress.hxx> #include <sfx2/dispatch.hxx> #include <svx/svdpagv.hxx> #include <svx/svdoutl.hxx> @@ -255,189 +256,188 @@ void ViewRedirector::createRedirectedPrimitive2DSequence( bCreateOutline = true; } } + if (bCreateOutline) + bCreateOutline = officecfg::Office::Impress::Misc::TextObject::ShowBoundary::get(); if(bCreateOutline) { // empty presentation objects get a gray frame const svtools::ColorConfig aColorConfig; - const svtools::ColorConfigValue aColor( aColorConfig.GetColorValue( svtools::OBJECTBOUNDARIES ) ); + const svtools::ColorConfigValue aColor( aColorConfig.GetColorValue( svtools::DOCBOUNDARIES ) ); - if( aColor.bIsVisible ) - { - // get basic object transformation - const basegfx::BColor aRGBColor(aColor.nColor.getBColor()); - basegfx::B2DHomMatrix aObjectMatrix; - basegfx::B2DPolyPolygon aObjectPolyPolygon; - pObject->TRGetBaseGeometry(aObjectMatrix, aObjectPolyPolygon); - - // create dashed border - { - // create object polygon - basegfx::B2DPolygon aPolygon(basegfx::utils::createUnitPolygon()); - aPolygon.transform(aObjectMatrix); + // get basic object transformation + const basegfx::BColor aRGBColor(aColor.nColor.getBColor()); + basegfx::B2DHomMatrix aObjectMatrix; + basegfx::B2DPolyPolygon aObjectPolyPolygon; + pObject->TRGetBaseGeometry(aObjectMatrix, aObjectPolyPolygon); - // create line and stroke attribute - ::std::vector< double > aDotDashArray { 160.0, 80.0 }; - - const double fFullDotDashLen(::std::accumulate(aDotDashArray.begin(), aDotDashArray.end(), 0.0)); - const drawinglayer::attribute::LineAttribute aLine(aRGBColor); - drawinglayer::attribute::StrokeAttribute aStroke(std::move(aDotDashArray), fFullDotDashLen); + // create dashed border + { + // create object polygon + basegfx::B2DPolygon aPolygon(basegfx::utils::createUnitPolygon()); + aPolygon.transform(aObjectMatrix); + + // create line and stroke attribute + ::std::vector< double > aDotDashArray { 160.0, 80.0 }; + + const double fFullDotDashLen(::std::accumulate(aDotDashArray.begin(), aDotDashArray.end(), 0.0)); + const drawinglayer::attribute::LineAttribute aLine(aRGBColor); + drawinglayer::attribute::StrokeAttribute aStroke(std::move(aDotDashArray), fFullDotDashLen); + + // create primitive and add + const drawinglayer::primitive2d::Primitive2DReference xRef(new drawinglayer::primitive2d::PolygonStrokePrimitive2D( + std::move(aPolygon), + aLine, + std::move(aStroke))); + rVisitor.visit(xRef); + } - // create primitive and add - const drawinglayer::primitive2d::Primitive2DReference xRef(new drawinglayer::primitive2d::PolygonStrokePrimitive2D( - std::move(aPolygon), - aLine, - std::move(aStroke))); - rVisitor.visit(xRef); - } + // now paint the placeholder description, but only when masterpage + // is displayed as page directly (MasterPage view) + if(!bSubContentProcessing && bIsMasterPageObject) + { + OUString aObjectString; - // now paint the placeholder description, but only when masterpage - // is displayed as page directly (MasterPage view) - if(!bSubContentProcessing && bIsMasterPageObject) + switch( eKind ) { - OUString aObjectString; - - switch( eKind ) + case PresObjKind::Title: { - case PresObjKind::Title: - { - if(pObjectsSdPage && pObjectsSdPage->GetPageKind() == PageKind::Standard) - { - static OUString aTitleAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_TITLE)); - aObjectString = aTitleAreaStr; - } - - break; - } - case PresObjKind::Outline: - { - static OUString aOutlineAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_OUTLINE)); - aObjectString = aOutlineAreaStr; - break; - } - case PresObjKind::Footer: - { - static OUString aFooterAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_FOOTER)); - aObjectString = aFooterAreaStr; - break; - } - case PresObjKind::Header: - { - static OUString aHeaderAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_HEADER)); - aObjectString = aHeaderAreaStr; - break; - } - case PresObjKind::DateTime: - { - static OUString aDateTimeStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_DATETIME)); - aObjectString = aDateTimeStr; - break; - } - case PresObjKind::Notes: + if(pObjectsSdPage && pObjectsSdPage->GetPageKind() == PageKind::Standard) { - static OUString aDateTimeStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_NOTES)); - aObjectString = aDateTimeStr; - break; + static OUString aTitleAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_TITLE)); + aObjectString = aTitleAreaStr; } - case PresObjKind::SlideNumber: + + break; + } + case PresObjKind::Outline: + { + static OUString aOutlineAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_OUTLINE)); + aObjectString = aOutlineAreaStr; + break; + } + case PresObjKind::Footer: + { + static OUString aFooterAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_FOOTER)); + aObjectString = aFooterAreaStr; + break; + } + case PresObjKind::Header: + { + static OUString aHeaderAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_HEADER)); + aObjectString = aHeaderAreaStr; + break; + } + case PresObjKind::DateTime: + { + static OUString aDateTimeStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_DATETIME)); + aObjectString = aDateTimeStr; + break; + } + case PresObjKind::Notes: + { + static OUString aDateTimeStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_NOTES)); + aObjectString = aDateTimeStr; + break; + } + case PresObjKind::SlideNumber: + { + if(pObjectsSdPage && pObjectsSdPage->GetPageKind() == PageKind::Standard) { - if(pObjectsSdPage && pObjectsSdPage->GetPageKind() == PageKind::Standard) - { - static OUString aSlideAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_SLIDE)); - aObjectString = aSlideAreaStr; - } - else - { - static OUString aNumberAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_NUMBER)); - aObjectString = aNumberAreaStr; - } - break; + static OUString aSlideAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_SLIDE)); + aObjectString = aSlideAreaStr; } - default: + else { - break; + static OUString aNumberAreaStr(SdResId(STR_PLACEHOLDER_DESCRIPTION_NUMBER)); + aObjectString = aNumberAreaStr; } + break; } - - if( !aObjectString.isEmpty() ) + default: { - // decompose object matrix to be able to place text correctly - basegfx::B2DTuple aScale; - basegfx::B2DTuple aTranslate; - double fRotate, fShearX; - aObjectMatrix.decompose(aScale, aTranslate, fRotate, fShearX); - - // create font - SdrTextObj* pTextObj = DynCastSdrTextObj( pObject ); - const SdrTextVertAdjust eTVA(pTextObj ? pTextObj->GetTextVerticalAdjust() : SDRTEXTVERTADJUST_CENTER); - vcl::Font aScaledVclFont; - - // use a text size factor to get more reliable text sizes from the text layouter - // (and from vcl), tipp from HDU - static const sal_uInt32 nTextSizeFactor(100); - - // use a factor to get more linear text size calculations - aScaledVclFont.SetFontHeight( 500 * nTextSizeFactor ); - - // get basic geometry and get text size - drawinglayer::primitive2d::TextLayouterDevice aTextLayouter; - aTextLayouter.setFont(aScaledVclFont); - const sal_Int32 nTextLength(aObjectString.getLength()); - - // do not forget to use the factor again to get the width for the 500 - const double fTextWidth(aTextLayouter.getTextWidth(aObjectString, 0, nTextLength) * (1.0 / nTextSizeFactor)); - const double fTextHeight(aTextLayouter.getTextHeight() * (1.0 / nTextSizeFactor)); - - // calculate text primitive position. If text is at bottom, use top for - // the extra text and vice versa - const double fHorDist(125); - const double fVerDist(125); - const double fPosX((aTranslate.getX() + aScale.getX()) - fTextWidth - fHorDist); - const double fPosY((SDRTEXTVERTADJUST_BOTTOM == eTVA) - ? aTranslate.getY() - fVerDist + fTextHeight - : (aTranslate.getY() + aScale.getY()) - fVerDist); - - // get font attributes; use normally scaled font - vcl::Font aVclFont; - basegfx::B2DVector aTextSizeAttribute; - - aVclFont.SetFontHeight( 500 ); - - drawinglayer::attribute::FontAttribute aFontAttribute( - drawinglayer::primitive2d::getFontAttributeFromVclFont( - aTextSizeAttribute, - aVclFont, - false, - false)); - - // fill text matrix - const basegfx::B2DHomMatrix aTextMatrix(basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix( - aTextSizeAttribute.getX(), aTextSizeAttribute.getY(), - fShearX, - fRotate, - fPosX, fPosY)); - - // create DXTextArray (can be empty one) - ::std::vector< double > aDXArray{}; - - // create locale; this may need some more information in the future - css::lang::Locale aLocale; - - // create primitive and add - const drawinglayer::primitive2d::Primitive2DReference xRef( - new drawinglayer::primitive2d::TextSimplePortionPrimitive2D( - aTextMatrix, - aObjectString, - 0, - nTextLength, - std::move(aDXArray), - {}, - std::move(aFontAttribute), - std::move(aLocale), - aRGBColor)); - rVisitor.visit(xRef); + break; } } + + if( !aObjectString.isEmpty() ) + { + // decompose object matrix to be able to place text correctly + basegfx::B2DTuple aScale; + basegfx::B2DTuple aTranslate; + double fRotate, fShearX; + aObjectMatrix.decompose(aScale, aTranslate, fRotate, fShearX); + + // create font + SdrTextObj* pTextObj = DynCastSdrTextObj( pObject ); + const SdrTextVertAdjust eTVA(pTextObj ? pTextObj->GetTextVerticalAdjust() : SDRTEXTVERTADJUST_CENTER); + vcl::Font aScaledVclFont; + + // use a text size factor to get more reliable text sizes from the text layouter + // (and from vcl), tipp from HDU + static const sal_uInt32 nTextSizeFactor(100); + + // use a factor to get more linear text size calculations + aScaledVclFont.SetFontHeight( 500 * nTextSizeFactor ); + + // get basic geometry and get text size + drawinglayer::primitive2d::TextLayouterDevice aTextLayouter; + aTextLayouter.setFont(aScaledVclFont); + const sal_Int32 nTextLength(aObjectString.getLength()); + + // do not forget to use the factor again to get the width for the 500 + const double fTextWidth(aTextLayouter.getTextWidth(aObjectString, 0, nTextLength) * (1.0 / nTextSizeFactor)); + const double fTextHeight(aTextLayouter.getTextHeight() * (1.0 / nTextSizeFactor)); + + // calculate text primitive position. If text is at bottom, use top for + // the extra text and vice versa + const double fHorDist(125); + const double fVerDist(125); + const double fPosX((aTranslate.getX() + aScale.getX()) - fTextWidth - fHorDist); + const double fPosY((SDRTEXTVERTADJUST_BOTTOM == eTVA) + ? aTranslate.getY() - fVerDist + fTextHeight + : (aTranslate.getY() + aScale.getY()) - fVerDist); + + // get font attributes; use normally scaled font + vcl::Font aVclFont; + basegfx::B2DVector aTextSizeAttribute; + + aVclFont.SetFontHeight( 500 ); + + drawinglayer::attribute::FontAttribute aFontAttribute( + drawinglayer::primitive2d::getFontAttributeFromVclFont( + aTextSizeAttribute, + aVclFont, + false, + false)); + + // fill text matrix + const basegfx::B2DHomMatrix aTextMatrix(basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix( + aTextSizeAttribute.getX(), aTextSizeAttribute.getY(), + fShearX, + fRotate, + fPosX, fPosY)); + + // create DXTextArray (can be empty one) + ::std::vector< double > aDXArray{}; + + // create locale; this may need some more information in the future + css::lang::Locale aLocale; + + // create primitive and add + const drawinglayer::primitive2d::Primitive2DReference xRef( + new drawinglayer::primitive2d::TextSimplePortionPrimitive2D( + aTextMatrix, + aObjectString, + 0, + nTextLength, + std::move(aDXArray), + {}, + std::move(aFontAttribute), + std::move(aLocale), + aRGBColor)); + rVisitor.visit(xRef); + } } } } diff --git a/sd/uiconfig/sdraw/ui/notebookbar_groupedbar_compact.ui b/sd/uiconfig/sdraw/ui/notebookbar_groupedbar_compact.ui index 2c98c6214e1d..99cd512de694 100644 --- a/sd/uiconfig/sdraw/ui/notebookbar_groupedbar_compact.ui +++ b/sd/uiconfig/sdraw/ui/notebookbar_groupedbar_compact.ui @@ -1257,14 +1257,7 @@ <object class="GtkMenuItem" id="MenuGrid-ViewBounds"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="action_name">.uno:ViewBounds</property> - </object> - </child> - <child> - <object class="GtkMenuItem" id="MenuGrid-TableBoundaries"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="action_name">.uno:TableBoundaries</property> + <property name="action_name">.uno:ShowBoundaries</property> </object> </child> <child> diff --git a/sd/uiconfig/simpress/ui/notebookbar_groupedbar_compact.ui b/sd/uiconfig/simpress/ui/notebookbar_groupedbar_compact.ui index 4f91bf2a2790..c854c27e1c82 100644 --- a/sd/uiconfig/simpress/ui/notebookbar_groupedbar_compact.ui +++ b/sd/uiconfig/simpress/ui/notebookbar_groupedbar_compact.ui @@ -1237,14 +1237,7 @@ <object class="GtkMenuItem" id="MenuGrid-ViewBounds"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="action_name">.uno:ViewBounds</property> - </object> - </child> - <child> - <object class="GtkMenuItem" id="MenuGrid-TableBoundaries"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="action_name">.uno:TableBoundaries</property> + <property name="action_name">.uno:ShowBoundaries</property> </object> </child> <child> diff --git a/svtools/source/config/colorcfg.cxx b/svtools/source/config/colorcfg.cxx index c75c8986130d..1065f3fbf876 100644 --- a/svtools/source/config/colorcfg.cxx +++ b/svtools/source/config/colorcfg.cxx @@ -113,10 +113,9 @@ uno::Sequence< OUString> GetPropertyNames(std::u16string_view rScheme) static const ColorConfigEntryData_Impl cNames[] = { { std::u16string_view(u"/DocColor") ,false }, - { std::u16string_view(u"/DocBoundaries") ,true }, + { std::u16string_view(u"/DocBoundaries") ,false }, { std::u16string_view(u"/AppBackground") ,false }, - { std::u16string_view(u"/ObjectBoundaries"),true }, - { std::u16string_view(u"/TableBoundaries") ,true }, + { std::u16string_view(u"/TableBoundaries") ,false }, { std::u16string_view(u"/FontColor") ,false }, { std::u16string_view(u"/Links") ,true }, { std::u16string_view(u"/LinksVisited") ,true }, @@ -129,7 +128,7 @@ uno::Sequence< OUString> GetPropertyNames(std::u16string_view rScheme) { std::u16string_view(u"/WriterIdxShadings") ,true }, { std::u16string_view(u"/WriterDirectCursor") ,true }, { std::u16string_view(u"/WriterScriptIndicator") ,false }, - { std::u16string_view(u"/WriterSectionBoundaries") ,true }, + { std::u16string_view(u"/WriterSectionBoundaries") ,false }, { std::u16string_view(u"/WriterHeaderFooterMark") ,false }, { std::u16string_view(u"/WriterPageBreaks") ,false }, { std::u16string_view(u"/WriterNonPrintChars") ,false }, @@ -549,7 +548,6 @@ Color ColorConfig::GetDefaultColor(ColorConfigEntry eEntry, int nMod) { COL_WHITE, Color(0x1C1C1C) }, // DOCCOLOR { COL_LIGHTGRAY, Color(0x808080) }, // DOCBOUNDARIES { Color(0xDFDFDE), Color(0x333333) }, // APPBACKGROUND - { COL_LIGHTGRAY, Color(0x808080) }, // OBJECTBOUNDARIES { COL_LIGHTGRAY, Color(0x808080) }, // TABLEBOUNDARIES { COL_BLACK, COL_BLACK }, // FONTCOLOR { COL_BLUE, Color(0x1D99F3) }, // LINKS diff --git a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx index 9430ac55ba3e..46dca806420b 100644 --- a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx +++ b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx @@ -287,7 +287,7 @@ void ViewObjectContactOfPageObj::createPrimitive2DSequence(const DisplayInfo& /* // add a gray outline frame, except not when printing if(bCreateGrayFrame) { - const Color aFrameColor(aColorConfig.GetColorValue(svtools::OBJECTBOUNDARIES).nColor); + const Color aFrameColor(aColorConfig.GetColorValue(svtools::DOCBOUNDARIES).nColor); basegfx::B2DPolygon aOwnOutline(basegfx::utils::createUnitPolygon()); aOwnOutline.transform(aPageObjectTransform); diff --git a/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx index 7868303c5c08..9bbb06dde830 100644 --- a/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrolecontentprimitive2d.cxx @@ -117,7 +117,7 @@ namespace drawinglayer::primitive2d return new GroupPrimitive2D(std::move(aContainer)); const svtools::ColorConfig aColorConfig; - const svtools::ColorConfigValue aColor(aColorConfig.GetColorValue(svtools::OBJECTBOUNDARIES)); + const svtools::ColorConfigValue aColor(aColorConfig.GetColorValue(svtools::DOCBOUNDARIES)); if(aColor.bIsVisible) { diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx index e744fc613a27..2d123a6a360e 100644 --- a/svx/source/svdraw/svdoole2.cxx +++ b/svx/source/svdraw/svdoole2.cxx @@ -1317,7 +1317,7 @@ rtl::Reference<SdrObject> SdrOle2Obj::createSdrGrafObjReplacement(bool bAddText) // gray outline pClone->SetMergedItem(XLineStyleItem(css::drawing::LineStyle_SOLID)); const svtools::ColorConfig aColorConfig; - const svtools::ColorConfigValue aColor(aColorConfig.GetColorValue(svtools::OBJECTBOUNDARIES)); + const svtools::ColorConfigValue aColor(aColorConfig.GetColorValue(svtools::DOCBOUNDARIES)); pClone->SetMergedItem(XLineColorItem(OUString(), aColor.nColor)); // bitmap fill diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h index 02d06446328b..e6bef505a03c 100644 --- a/sw/inc/cmdid.h +++ b/sw/inc/cmdid.h @@ -157,6 +157,7 @@ class SwUINumRuleItem; #define FN_DRAW_WRAP_DLG TypedWhichId<SfxInt16Item>(FN_VIEW + 3) /* Draw wrapping dlg */ #define FN_RULER (FN_VIEW + 11) /* Horizontal ruler */ +#define FN_VIEW_BOUNDARIES (FN_VIEW + 12) /* View text, section, table boundaries */ #define FN_VIEW_GRAPHIC (FN_VIEW + 13) /* View graphic */ #define FN_VIEW_BOUNDS (FN_VIEW + 14) /* View bounds */ #define FN_VIEW_FIELDS (FN_VIEW + 15) /* View fields */ @@ -164,6 +165,7 @@ class SwUINumRuleItem; #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 */ +// slot number 20220 conflicts with FN_BUL_NUM_RULE_INDEX! #define FN_VIEW_META_CHARS (FN_VIEW + 24) /* View meta chars */ #define FN_VIEW_MARKS (FN_VIEW + 25) /* View marks */ diff --git a/sw/inc/viewopt.hxx b/sw/inc/viewopt.hxx index 1aedb38d243b..1a9139ecc8d8 100644 --- a/sw/inc/viewopt.hxx +++ b/sw/inc/viewopt.hxx @@ -69,7 +69,11 @@ struct ViewOptFlags1 bool bShowOutlineContentVisibilityButton : 1; bool bShowChangesInMargin : 1; //tracked deletions in margin bool bShowChangesInMargin2 : 1; //tracked insertions in margin + bool bTextBoundaries : 1; // text boundaries bool bTextBoundariesFull : 1; // true = frame around text, false = crop marks at edges + bool bSectionBoundaries : 1; // section boundaries + bool bTableBoundaries : 1; // table boundaries + bool bShowBoundaries : 1; // show all boundaries ViewOptFlags1() : bUseHeaderFooterMenu(false) @@ -103,7 +107,11 @@ struct ViewOptFlags1 , bShowOutlineContentVisibilityButton(false) , bShowChangesInMargin(false) , bShowChangesInMargin2(false) + , bTextBoundaries(true) , bTextBoundariesFull(false) + , bSectionBoundaries(true) + , bTableBoundaries(true) + , bShowBoundaries(false) {} bool operator==(const ViewOptFlags1& rOther) const @@ -139,7 +147,11 @@ struct ViewOptFlags1 && bShowOutlineContentVisibilityButton == rOther.bShowOutlineContentVisibilityButton && bShowChangesInMargin == rOther.bShowChangesInMargin && bShowChangesInMargin2 == rOther.bShowChangesInMargin2 - && bTextBoundariesFull == rOther.bTextBoundariesFull; + && bTextBoundaries == rOther.bTextBoundaries + && bTextBoundariesFull == rOther.bTextBoundariesFull + && bSectionBoundaries == rOther.bSectionBoundaries + && bTableBoundaries == rOther.bTableBoundaries + && bShowBoundaries == rOther.bShowBoundaries; } void dumpAsXml(xmlTextWriterPtr pWriter) const; @@ -185,15 +197,11 @@ namespace o3tl { // Appearance flags. enum class ViewOptFlags { NONE = 0x0000, - DocBoundaries = 0x0001, - ObjectBoundaries = 0x0002, - TableBoundaries = 0x0004, - IndexShadings = 0x0008, - Links = 0x0010, - VisitedLinks = 0x0020, - FieldShadings = 0x0040, - SectionBoundaries = 0x0080, - Shadow = 0x0100, + IndexShadings = 0x0001, + Links = 0x0002, + VisitedLinks = 0x0004, + FieldShadings = 0x0008, + Shadow = 0x0010, }; namespace o3tl { template<> struct typed_flags<ViewOptFlags> : is_typed_flags<ViewOptFlags, 0x01ff> {}; @@ -207,7 +215,6 @@ struct SwViewColors { return m_aDocColor == rOther.m_aDocColor && m_aDocBoundColor == rOther.m_aDocBoundColor - && m_aObjectBoundColor == rOther.m_aObjectBoundColor && m_aAppBackgroundColor == rOther.m_aAppBackgroundColor && m_aTableBoundColor == rOther.m_aTableBoundColor && m_aFontColor == rOther.m_aFontColor @@ -229,7 +236,6 @@ struct SwViewColors } Color m_aDocColor; // color of document boundaries Color m_aDocBoundColor; // color of document boundaries - Color m_aObjectBoundColor; // color of object boundaries Color m_aAppBackgroundColor; // application background Color m_aTableBoundColor; // color of table boundaries Color m_aFontColor; @@ -665,9 +671,21 @@ public: bool IsMultipageView() const { return IsViewLayoutBookMode() || GetViewLayoutColumns() == 0; } + bool IsTextBoundaries() const { return m_nCoreOptions.bTextBoundaries; } + void SetTextBoundaries( bool b) { m_nCoreOptions.bTextBoundaries = b; } + bool IsTextBoundariesFull() const { return m_nCoreOptions.bTextBoundariesFull; } void SetTextBoundariesFull( bool b) { m_nCoreOptions.bTextBoundariesFull = b; } + bool IsSectionBoundaries() const { return m_nCoreOptions.bSectionBoundaries; } + void SetSectionBoundaries( bool b) { m_nCoreOptions.bSectionBoundaries = b; } + + bool IsTableBoundaries() const { return m_nCoreOptions.bTableBoundaries; } + void SetTableBoundaries( bool b) { m_nCoreOptions.bTableBoundaries = b; } + + bool IsShowBoundaries() const { return m_nCoreOptions.bShowBoundaries; } + void SetShowBoundaries( bool b ) { m_nCoreOptions.bShowBoundaries = b; } + #ifdef DBG_UTIL // Correspond to statements in ui/config/cfgvw.src. bool IsTest1() const { return m_bTest1; } @@ -842,7 +860,6 @@ public: SW_DLLPUBLIC const Color& GetDocColor() const; SW_DLLPUBLIC const Color& GetDocBoundariesColor() const; const Color& GetAppBackgroundColor() const; - const Color& GetObjectBoundariesColor() const; const Color& GetTableBoundariesColor() const; const Color& GetIndexShadingsColor() const; const Color& GetLinksColor() const; @@ -861,20 +878,14 @@ public: bool IsAppearanceFlag(ViewOptFlags nFlag) const; - bool IsDocBoundaries() const {return IsAppearanceFlag(ViewOptFlags::DocBoundaries);} - bool IsObjectBoundaries() const {return IsAppearanceFlag(ViewOptFlags::ObjectBoundaries);} - bool IsTableBoundaries() const {return IsAppearanceFlag(ViewOptFlags::TableBoundaries);} bool IsIndexShadings() const {return IsAppearanceFlag(ViewOptFlags::IndexShadings);} bool IsLinks() const {return IsAppearanceFlag(ViewOptFlags::Links);} bool IsVisitedLinks() const {return IsAppearanceFlag(ViewOptFlags::VisitedLinks);} bool IsFieldShadings() const {return IsAppearanceFlag(ViewOptFlags::FieldShadings);} - bool IsSectionBoundaries() const {return IsAppearanceFlag(ViewOptFlags::SectionBoundaries);} bool IsShadow() const {return IsAppearanceFlag(ViewOptFlags::Shadow);} void SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveInConfig = false); - void SetDocBoundaries(bool bSet) {SetAppearanceFlag(ViewOptFlags::DocBoundaries, bSet);} - // get/set default anchor (0..2); use GetDefaultAnchorType() to convert into RndStdIds::FLY_* sal_Int32 GetDefaultAnchor() const { return m_nDefaultAnchor; } diff --git a/sw/qa/uitest/options/tdf78133.py b/sw/qa/uitest/options/tdf78133.py index d1d504523a90..3c650cad8401 100644 --- a/sw/qa/uitest/options/tdf78133.py +++ b/sw/qa/uitest/options/tdf78133.py @@ -27,8 +27,8 @@ class tdf78133(UITestCase): xLoAppColorsEntry = xLOEntry.getChild('8') xLoAppColorsEntry.executeAction("SELECT", tuple()) #Applications Colors #change text boundaries checkbox, save - docboundaries = xDialog.getChild("docboundaries") - docboundaries.executeAction("CLICK", tuple()) + shadows = xDialog.getChild("shadows") + shadows.executeAction("CLICK", tuple()) #verify - reopen dialog and check if "text boundaries" is still unchecked with self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") as xDialog: @@ -38,7 +38,7 @@ class tdf78133(UITestCase): xLoAppColorsEntry = xLOEntry.getChild('8') xLoAppColorsEntry.executeAction("SELECT", tuple()) #Applications Colors #change text boundaries checkbox, save - docboundaries = xDialog.getChild("docboundaries") - self.assertEqual(get_state_as_dict(docboundaries)["Selected"], "false") + shadows = xDialog.getChild("shadows") + self.assertEqual(get_state_as_dict(shadows)["Selected"], "false") # vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/sw/sdi/_viewsh.sdi b/sw/sdi/_viewsh.sdi index 1ec913474a44..ba6ae5f6775d 100644 --- a/sw/sdi/_viewsh.sdi +++ b/sw/sdi/_viewsh.sdi @@ -889,6 +889,12 @@ interface BaseTextEditView StateMethod = StateViewOptions ; ] + FN_VIEW_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 0bc5e6e58952..caa91ab74f94 100644 --- a/sw/sdi/swriter.sdi +++ b/sw/sdi/swriter.sdi @@ -6366,7 +6366,7 @@ SfxVoidItem SynchronizeLabelsDlg FN_SYNC_LABELS GroupId = SfxGroupId::Edit; ] -SfxBoolItem TableBoundaries FN_VIEW_TABLEGRID +SfxBoolItem TableBoundaries FN_VIEW_TABLEGRID // deprecated 25.2 [ AutoUpdate = FALSE, @@ -6376,7 +6376,21 @@ SfxBoolItem TableBoundaries FN_VIEW_TABLEGRID Container = FALSE, RecordAbsolute = FALSE, RecordPerSet; + AccelConfig = FALSE, + MenuConfig = FALSE, + ToolBoxConfig = FALSE, + GroupId = SfxGroupId::View; +] +SfxBoolItem ShowBoundaries FN_VIEW_BOUNDARIES +[ + AutoUpdate = TRUE, + FastCall = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; AccelConfig = TRUE, MenuConfig = TRUE, @@ -6785,8 +6799,7 @@ SfxVoidItem UpdateInputFields FN_UPDATE_INPUTFIELDS GroupId = SfxGroupId::Edit; ] -SfxBoolItem ViewBounds FN_VIEW_BOUNDS - +SfxBoolItem ViewBounds FN_VIEW_BOUNDS // deprecated 25.2 [ AutoUpdate = FALSE, FastCall = FALSE, @@ -6797,14 +6810,13 @@ SfxBoolItem ViewBounds FN_VIEW_BOUNDS RecordPerSet; - AccelConfig = TRUE, - MenuConfig = TRUE, - ToolBoxConfig = TRUE, + AccelConfig = FALSE, + MenuConfig = FALSE, + ToolBoxConfig = FALSE, GroupId = SfxGroupId::View; ] -SfxBoolItem SectionBoundaries FN_VIEW_SECTION_BOUNDARIES - +SfxBoolItem SectionBoundaries FN_VIEW_SECTION_BOUNDARIES // deprecated 25.2 [ AutoUpdate = FALSE, FastCall = FALSE, @@ -6815,9 +6827,9 @@ SfxBoolItem SectionBoundaries FN_VIEW_SECTION_BOUNDARIES RecordPerSet; - AccelConfig = TRUE, - MenuConfig = TRUE, - ToolBoxConfig = TRUE, + AccelConfig = FALSE, + MenuConfig = FALSE, + ToolBoxConfig = FALSE, GroupId = SfxGroupId::View; ] diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 24803baf1c89..5e1bb1392638 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -333,51 +333,12 @@ struct SwPaintProperties { static SwPaintProperties gProp; -static bool isSubsidiaryLinesFlysEnabled() -{ - return !gProp.pSGlobalShell->GetViewOptions()->IsPagePreview() && - !gProp.pSGlobalShell->GetViewOptions()->IsReadonly() && - !gProp.pSGlobalShell->GetViewOptions()->IsFormView() && - gProp.pSGlobalShell->GetViewOptions()->IsObjectBoundaries(); -} -//other subsidiary lines enabled? static bool isSubsidiaryLinesEnabled() { return !gProp.pSGlobalShell->GetViewOptions()->IsPagePreview() && !gProp.pSGlobalShell->GetViewOptions()->IsReadonly() && !gProp.pSGlobalShell->GetViewOptions()->IsFormView() && - !gProp.pSGlobalShell->GetViewOptions()->IsWhitespaceHidden() && - gProp.pSGlobalShell->GetViewOptions()->IsDocBoundaries(); -} -//subsidiary lines for sections -static bool isSubsidiaryLinesForSectionsEnabled() -{ - return !gProp.pSGlobalShell->GetViewOptions()->IsPagePreview() && - !gProp.pSGlobalShell->GetViewOptions()->IsReadonly() && - !gProp.pSGlobalShell->GetViewOptions()->IsFormView() && - gProp.pSGlobalShell->GetViewOptions()->IsSectionBoundaries(); -} - - -namespace { - -bool isTableBoundariesEnabled() -{ - if (!gProp.pSGlobalShell->GetViewOptions()->IsTable()) - return false; - - if (gProp.pSGlobalShell->GetViewOptions()->IsPagePreview()) - return false; - - if (gProp.pSGlobalShell->GetViewOptions()->IsReadonly()) - return false; - - if (gProp.pSGlobalShell->GetViewOptions()->IsFormView()) - return false; - - return gProp.pSGlobalShell->GetViewOptions()->IsTableBoundaries(); -} - + gProp.pSGlobalShell->GetViewOptions()->IsShowBoundaries(); } /** @@ -1107,8 +1068,8 @@ void SwSubsRects::PaintSubsidiary( OutputDevice *pOut, switch ( rLRect.GetSubColor() ) { case SubColFlags::Page: pCol = &pOpt->GetDocBoundariesColor(); break; - case SubColFlags::Fly: pCol = &pOpt->GetObjectBoundariesColor(); break; case SubColFlags::Tab: pCol = &pOpt->GetTableBoundariesColor(); break; + case SubColFlags::Fly: case SubColFlags::Sect: pCol = &pOpt->GetSectionBoundColor(); break; } @@ -2576,7 +2537,9 @@ void SwTabFramePainter::PaintLines(OutputDevice& rDev, const SwRect& rRect) cons const Color* pTmpColor = nullptr; if (0 == aStyles[ 0 ].GetWidth()) { - if (isTableBoundariesEnabled() && gProp.pSGlobalShell->GetWin()) + if (isSubsidiaryLinesEnabled() && + gProp.pSGlobalShell->GetViewOptions()->IsTableBoundaries() && + gProp.pSGlobalShell->GetWin()) aStyles[ 0 ].Set( rCol, rCol, rCol, false, 1, 0, 0 ); else aStyles[0].SetType(SvxBorderLineStyle::NONE); @@ -6564,7 +6527,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin _pViewShell->GetOut()->SetLineColor(); if (!bRight) { - _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetObjectBoundariesColor()); + _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetDocBoundariesColor()); _pViewShell->GetOut()->DrawRect(tools::Rectangle(Point(aPageRect.Left()-pMgr->GetSidebarBorderWidth(),aPageRect.Top()),Size(pMgr->GetSidebarBorderWidth(),aPageRect.Height()))) ; if (Application::GetSettings().GetStyleSettings().GetHighContrastMode() ) _pViewShell->GetOut()->SetFillColor(COL_BLACK); @@ -6574,7 +6537,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin } else { - _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetObjectBoundariesColor()); + _pViewShell->GetOut()->SetFillColor(_pViewShell->GetViewOptions()->GetDocBoundariesColor()); SwRect aSidebarBorder(aPageRect.TopRight(),Size(pMgr->GetSidebarBorderWidth(),aPageRect.Height())); _pViewShell->GetOut()->DrawRect(aSidebarBorder.SVRect()); if (Application::GetSettings().GetStyleSettings().GetHighContrastMode() ) @@ -7065,8 +7028,10 @@ void SwFrame::PaintSwFrameBackground( const SwRect &rRect, const SwPageFrame *pP /// Refreshes all subsidiary lines of a page. void SwPageFrame::RefreshSubsidiary( const SwRect &rRect ) const { - if ( !(isSubsidiaryLinesEnabled() || isTableBoundariesEnabled() - || isSubsidiaryLinesForSectionsEnabled() || isSubsidiaryLinesFlysEnabled()) ) + if ( !(isSubsidiaryLinesEnabled() || + gProp.pSGlobalShell->GetViewOptions()->IsTextBoundaries() || + gProp.pSGlobalShell->GetViewOptions()->IsSectionBoundaries() || + gProp.pSGlobalShell->GetViewOptions()->IsTableBoundaries()) ) return; if ( !rRect.HasArea() ) @@ -7099,10 +7064,7 @@ void SwPageFrame::RefreshSubsidiary( const SwRect &rRect ) const void SwLayoutFrame::RefreshLaySubsidiary( const SwPageFrame *pPage, const SwRect &rRect ) const { - const bool bSubsOpt = isSubsidiaryLinesEnabled() - || (IsSctFrame() && isSubsidiaryLinesForSectionsEnabled()) - || (IsFlyFrame() && isSubsidiaryLinesFlysEnabled()); - if (bSubsOpt) + if (isSubsidiaryLinesEnabled()) PaintSubsidiaryLines( pPage, rRect ); const SwFrame *pLow = Lower(); @@ -7350,7 +7312,7 @@ std::vector<basegfx::B2DPolygon> SwPageFrame::GetSubsidiaryLinesPolygons(const S { std::vector<basegfx::B2DPolygon> aPolygons; - if (!rViewShell.GetViewOptions()->IsDocBoundaries()) + if (!rViewShell.GetViewOptions()->IsTextBoundaries()) return aPolygons; const SwFrame* pLay = Lower(); @@ -7499,7 +7461,7 @@ std::vector<basegfx::B2DPolygon> SwHeadFootFrame::GetSubsidiaryLinesPolygons(con { std::vector<basegfx::B2DPolygon> aPolygons; - if (!rViewShell.GetViewOptions()->IsDocBoundaries()) + if (!rViewShell.GetViewOptions()->IsTextBoundaries()) return aPolygons; SwRect aArea( getFramePrintArea() ); @@ -7573,22 +7535,12 @@ void SwLayoutFrame::PaintSubsidiaryLines( const SwPageFrame *pPage, const bool bCell = IsCellFrame(); - if (!bCell && IsFlyFrame()) - { - if (!gProp.pSGlobalShell->GetViewOptions()->IsObjectBoundaries()) - return; - - // if the frame is wrap none or wrap through, then text boundary lines have no meaning - // (unless the frame itself contains text) - const text::WrapTextMode aSurround = GetFormat()->GetSurround().GetSurround(); - if (GetFormat()->GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR - && (!Lower() || !Lower()->IsTextFrame()) - && (aSurround == text::WrapTextMode::WrapTextMode_THROUGH - || aSurround == text::WrapTextMode::WrapTextMode_NONE)) - { - return; - } - } + if ( (IsSctFrame() || IsFlyFrame()) && + !gProp.pSGlobalShell->GetViewOptions()->IsSectionBoundaries() ) + return; + if ( IsTextFrame() && + !gProp.pSGlobalShell->GetViewOptions()->IsTextBoundaries() ) + return; // #i3662# - use frame area for cells for section use also frame area const bool bUseFrameArea = bCell || IsSctFrame(); diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx index 5cb915d69785..a591b9dbd5d9 100644 --- a/sw/source/ui/config/optpage.cxx +++ b/sw/source/ui/config/optpage.cxx @@ -1744,6 +1744,9 @@ SwShdwCursorOptionsTabPage::SwShdwCursorOptionsTabPage(weld::Container* pPage, w , m_xFmtAidsAutoComplFrame(m_xBuilder->weld_frame(u"fmtaidsautocompleteframe"_ustr)) , m_xEncloseWithCharactersCB(m_xBuilder->weld_check_button(u"enclosewithcharacters"_ustr)) , m_xEncloseWithCharactersImg(m_xBuilder->weld_widget(u"lockenclosewithcharacters"_ustr)) + , m_xTextBoundariesCB(m_xBuilder->weld_check_button(u"cbTextBoundaries"_ustr)) + , m_xSectionBoundariesCB(m_xBuilder->weld_check_button(u"cbSectionBoundaries"_ustr)) + , m_xTableBoundariesCB(m_xBuilder->weld_check_button(u"cbTableBoundaries"_ustr)) { SwFillMode eMode = SwFillMode::Tab; bool bIsOn = false; @@ -1762,6 +1765,8 @@ SwShdwCursorOptionsTabPage::SwShdwCursorOptionsTabPage(weld::Container* pPage, w } m_xEncloseWithCharactersCB->set_active(bIsEncloseWithCharactersOn); + m_xTextBoundariesCB->connect_toggled(LINK(this, SwShdwCursorOptionsTabPage, TextBoundariesHdl)); + m_xDirectCursorFillMode->set_active( static_cast<int>(eMode) ); const SfxUInt16Item* pHtmlModeItem = rSet.GetItemIfSet(SID_HTML_MODE, false); if(!pHtmlModeItem || !(pHtmlModeItem->GetValue() & HTMLMODE_ON)) @@ -1790,6 +1795,13 @@ SwShdwCursorOptionsTabPage::~SwShdwCursorOptionsTabPage() { } +IMPL_LINK_NOARG( SwShdwCursorOptionsTabPage, TextBoundariesHdl, weld::Toggleable&, void ) +{ + const bool bIsTextBoundaries(m_xTextBoundariesCB->get_active()); + m_xTextBoundariesFull->set_sensitive(bIsTextBoundaries); + m_xTextBoundariesCrop->set_sensitive(bIsTextBoundaries); +} + std::unique_ptr<SfxTabPage> SwShdwCursorOptionsTabPage::Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet ) { return std::make_unique<SwShdwCursorOptionsTabPage>(pPage, pController, *rSet); @@ -1880,6 +1892,9 @@ bool SwShdwCursorOptionsTabPage::FillItemSet( SfxItemSet* rSet ) aDisp.m_bManualBreak = m_xBreakCB->get_active(); aDisp.m_xDefaultAnchor = m_xDefaultAnchorType->get_active(); aDisp.m_bTextBoundariesFull = m_xTextBoundariesFull->get_active(); + aDisp.m_bTextBoundaries = m_xTextBoundariesCB->get_active(); + aDisp.m_bSectionBoundaries = m_xSectionBoundariesCB->get_active(); + aDisp.m_bTableBoundaries = m_xTableBoundariesCB->get_active(); bRet |= (!pOldAttr || aDisp != *pOldAttr); if(bRet) @@ -1991,10 +2006,25 @@ void SwShdwCursorOptionsTabPage::Reset( const SfxItemSet* rSet ) m_xDefaultAnchorType->set_sensitive(!bReadOnly); m_xDefaultAnchorTypeImg->set_visible(bReadOnly); + bReadOnly = officecfg::Office::Writer::Content::Display::TextBoundaries::isReadOnly(); + m_xTextBoundariesCB->set_active( pDocDisplayAttr->m_bTextBoundaries ); + m_xTextBoundariesCB->set_sensitive(!bReadOnly); + + const bool bIsTextBoundaries(m_xTextBoundariesCB->get_active()); + m_xTextBoundariesFull->set_sensitive(bIsTextBoundaries); + m_xTextBoundariesCrop->set_sensitive(bIsTextBoundaries); if (pDocDisplayAttr->m_bTextBoundariesFull) m_xTextBoundariesFull->set_active(true); else m_xTextBoundariesCrop->set_active(true); + + bReadOnly = officecfg::Office::Writer::Content::Display::SectionBoundaries::isReadOnly(); + m_xSectionBoundariesCB->set_active( pDocDisplayAttr->m_bSectionBoundaries ); + m_xSectionBoundariesCB->set_sensitive(!bReadOnly); + + bReadOnly = officecfg::Office::Writer::Content::Display::TableBoundaries::isReadOnly(); + m_xTableBoundariesCB->set_active( pDocDisplayAttr->m_bTableBoundaries ); + m_xTableBoundariesCB->set_sensitive(!bReadOnly); } } diff --git a/sw/source/uibase/config/cfgitems.cxx b/sw/source/uibase/config/cfgitems.cxx index 5018e1d0fbfa..33791054fe3a 100644 --- a/sw/source/uibase/config/cfgitems.cxx +++ b/sw/source/uibase/config/cfgitems.cxx @@ -34,7 +34,10 @@ SwDocDisplayItem::SwDocDisplayItem() : m_bCharHiddenText = m_bBookmarks = m_bManualBreak = true; + m_bTextBoundaries = true; m_bTextBoundariesFull = false; // default is crop + m_bSectionBoundaries = true; + m_bTableBoundaries = true; m_xDefaultAnchor = 1; //FLY_TO_CHAR }; @@ -50,7 +53,10 @@ SwDocDisplayItem::SwDocDisplayItem(const SwViewOption& rVOpt ) : m_bCharHiddenText = rVOpt.IsShowHiddenChar(true); m_bBookmarks = rVOpt.IsShowBookmarks(true); m_bManualBreak = rVOpt.IsLineBreak(true); + m_bTextBoundaries = rVOpt.IsTextBoundaries(); m_bTextBoundariesFull = rVOpt.IsTextBoundariesFull(); + m_bSectionBoundaries = rVOpt.IsSectionBoundaries(); + m_bTableBoundaries = rVOpt.IsTableBoundaries(); m_xDefaultAnchor = rVOpt.GetDefaultAnchor(); } @@ -73,7 +79,10 @@ bool SwDocDisplayItem::operator==( const SfxPoolItem& rAttr ) const m_bCharHiddenText == rItem.m_bCharHiddenText && m_bBookmarks == rItem.m_bBookmarks && m_bManualBreak == rItem.m_bManualBreak && + m_bTextBoundaries == rItem.m_bTextBoundaries && m_bTextBoundariesFull == rItem.m_bTextBoundariesFull && + m_bSectionBoundaries == rItem.m_bSectionBoundaries && + m_bTableBoundaries == rItem.m_bTableBoundaries && m_xDefaultAnchor == rItem.m_xDefaultAnchor); } @@ -87,7 +96,10 @@ void SwDocDisplayItem::FillViewOptions( SwViewOption& rVOpt) const rVOpt.SetShowHiddenChar(m_bCharHiddenText ); rVOpt.SetShowBookmarks(m_bBookmarks ); rVOpt.SetLineBreak (m_bManualBreak ); + rVOpt.SetTextBoundaries(m_bTextBoundaries); rVOpt.SetTextBoundariesFull(m_bTextBoundariesFull); + rVOpt.SetSectionBoundaries(m_bSectionBoundaries); + rVOpt.SetTableBoundaries(m_bTableBoundaries); rVOpt.SetDefaultAnchor( m_xDefaultAnchor ); } diff --git a/sw/source/uibase/config/usrpref.cxx b/sw/source/uibase/config/usrpref.cxx index 795a678412e1..d446baca6b42 100644 --- a/sw/source/uibase/config/usrpref.cxx +++ b/sw/source/uibase/config/usrpref.cxx @@ -125,8 +125,12 @@ Sequence<OUString> SwContentViewConfig::GetPropertyNames() const "Display/DefaultAnchor", // 25 "Zoom/DefaultZoom", // 26 "Zoom/ZoomType", // 27 - "Zoom/ZoomValue", //28 - "Display/TextBoundaries" // 29 + "Zoom/ZoomValue", // 28 + "Display/TextBoundaries", // 29 + "Display/TextBoundariesFull", // 30 + "Display/SectionBoundaries", // 31 + "Display/TableBoundaries", // 32 + "Display/ShowBoundaries" // 33 }; #if defined(__GNUC__) && !defined(__clang__) // clang 8.0.0 says strcmp isn't constexpr @@ -205,7 +209,11 @@ void SwContentViewConfig::ImplCommit() case 26: bVal = m_rParent.IsDefaultZoom(); break;// "Zoom/DefaultZoom" case 27:pValues[nProp] <<= static_cast<sal_Int32>(m_rParent.GetDefaultZoomType()); break; // "Zoom/ZoomType" case 28: pValues[nProp] <<= static_cast<sal_Int32>(m_rParent.GetDefaultZoomValue()); break; // "Zoom/ZoomValue" - case 29: bVal = m_rParent.IsTextBoundariesFull(); break; // "Display/TextBoundaries" + case 29: bVal = m_rParent.IsTextBoundaries(); break; // "Display/TextBoundaries" + case 30: bVal = m_rParent.IsTextBoundariesFull(); break; // "Display/TextBoundariesFull" + case 31: bVal = m_rParent.IsSectionBoundaries(); break; // "Display/SectionBoundaries" + case 32: bVal = m_rParent.IsTableBoundaries(); break; // "Display/TableBoundaries" + case 33: bVal = m_rParent.IsShowBoundaries(); break; // "Display/ShowBoundaries" } if ((nProp != g_UpdateLinkIndex) && (nProp != g_DefaultAnchor) && (nProp != g_ZoomType) && (nProp != g_ZoomValue)) @@ -283,7 +291,11 @@ void SwContentViewConfig::Load() m_rParent.SetDefaultZoomValue(static_cast<sal_uInt16>(nSet), true); } break; //"Zoom/ZoomValue" // 28 - case 29: m_rParent.SetTextBoundariesFull(bSet); break; //"Display/TextBoundaries" // 29 + case 29: m_rParent.SetTextBoundaries(bSet); break; //"Display/TextBoundaries" + case 30: m_rParent.SetTextBoundariesFull(bSet); break; //"Display/TextBoundariesFull" + case 31: m_rParent.SetSectionBoundaries(bSet); break; //"Display/SectionBoundaries" + case 32: m_rParent.SetTableBoundaries(bSet); break; //"Display/TableBoundaries" + case 33: m_rParent.SetShowBoundaries(bSet); break; //"Display/ShowBoundaries" } } } diff --git a/sw/source/uibase/config/viewopt.cxx b/sw/source/uibase/config/viewopt.cxx index 00a908d7b624..082f8f4331dd 100644 --- a/sw/source/uibase/config/viewopt.cxx +++ b/sw/source/uibase/config/viewopt.cxx @@ -47,7 +47,6 @@ SwViewColors SwViewOption::s_aInitialColorConfig {}; SwViewColors::SwViewColors() : m_aDocColor(COL_LIGHTGRAY), m_aDocBoundColor(COL_LIGHTGRAY), - m_aObjectBoundColor(COL_LIGHTGRAY), m_aAppBackgroundColor(COL_LIGHTGRAY), m_aTableBoundColor(COL_LIGHTGRAY), m_aFontColor(COL_BLACK), @@ -72,23 +71,12 @@ SwViewColors::SwViewColors(const svtools::ColorConfig& rConfig) { m_aDocColor = rConfig.GetColorValue(svtools::DOCCOLOR).nColor; - svtools::ColorConfigValue aValue = rConfig.GetColorValue(svtools::DOCBOUNDARIES); - m_aDocBoundColor = aValue.nColor; + m_aDocBoundColor = rConfig.GetColorValue(svtools::DOCBOUNDARIES).nColor; m_nAppearanceFlags = ViewOptFlags::NONE; - if(aValue.bIsVisible) - m_nAppearanceFlags |= ViewOptFlags::DocBoundaries; - m_aAppBackgroundColor = rConfig.GetColorValue(svtools::APPBACKGROUND).nColor; + m_aTableBoundColor = rConfig.GetColorValue(svtools::TABLEBOUNDARIES).nColor; -e ... etc. - the rest is truncated
