icon-themes/breeze/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/breeze_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/breeze_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 7 icon-themes/breeze_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 7 icon-themes/colibre/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/colibre_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/colibre_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 7 icon-themes/colibre_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 7 icon-themes/elementary/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/elementary_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 24 + icon-themes/karasa_jaga/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/karasa_jaga_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 39 +++ icon-themes/sifr/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/sifr_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/sifr_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 8 icon-themes/sifr_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 8 icon-themes/sukapura/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/sukapura_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png |binary icon-themes/sukapura_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 7 icon-themes/sukapura_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg | 7 sc/source/ui/sidebar/CellBorderStyleControl.cxx | 105 +------- sc/source/ui/sidebar/CellBorderStyleControl.hxx | 1 sc/uiconfig/scalc/ui/floatingborderstyle.ui | 71 ----- svx/source/tbxctrls/tbcontrl.cxx | 123 +++++----- 24 files changed, 223 insertions(+), 198 deletions(-)
New commits: commit 21eeaf5f50ca4ca7a8815110d33fb005fe01d694 Author: Manas Todi <manastodi1...@gmail.com> AuthorDate: Tue Aug 19 20:45:55 2025 +0530 Commit: Heiko Tietze <heiko.tie...@documentfoundation.org> CommitDate: Thu Aug 21 09:42:14 2025 +0200 tdf#146466: SC: Unify choices of borders between toolbar and sidebar The preset border options available in Calc via buttons were different between the main toolbar and the Properties sidebar, leading to a confusing and inconsistent user experience. As per the design team's proposal in the bug report, this patch reworks both controls to use a single, unified 12-option grid of the most common border presets. This change modifies the UI definitions for both the sidebar and toolbar controls and refactors the C++ logic to handle the new unified layout. New icons have been created for the 'criss-cross' style to match the various icon themes. Change-Id: I5066a41340941684c6dc55d4e1b64d4ef995cfd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189690 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org> diff --git a/icon-themes/breeze/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/breeze/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..0b2f58a5a2c6 Binary files /dev/null and b/icon-themes/breeze/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/breeze_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/breeze_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..8765b068a1e2 Binary files /dev/null and b/icon-themes/breeze_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/breeze_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/breeze_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..709b74afa28d --- /dev/null +++ b/icon-themes/breeze_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v18h18v-18z" stroke-width="1.125"/> +<path d="m0 0v2h1v-2zm2 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 4v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-15 1v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1z" fill="#d3d3d3"/> +<path d="m0 0v1.416l16.584 16.584h1.416v-1.416l-1.1426-1.1406-14.301-14.301-1.1406-1.1426z" fill="#eff0f1"/> +<path d="m17.992-0.0081246v1.416l-16.584 16.584h-1.416v-1.416l1.1426-1.1406 14.301-14.301 1.1406-1.1426z" fill="#eff0f1"/> +</svg> diff --git a/icon-themes/breeze_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/breeze_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..feb3dae96ac2 --- /dev/null +++ b/icon-themes/breeze_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v18h18v-18z" fill="#fff" stroke-width="1.125"/> +<path d="m0 0v2h1v-2zm2 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 4v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-15 1v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1z" fill="#d3d3d3"/> +<path d="m0 0v1.416l16.584 16.584h1.416v-1.416l-1.1426-1.1406-14.301-14.301-1.1406-1.1426z" fill="#232629"/> +<path d="m18 0v1.416l-16.584 16.584h-1.416v-1.416l1.1426-1.1406 14.301-14.301 1.1406-1.1426z" fill="#232629"/> +</svg> diff --git a/icon-themes/colibre/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/colibre/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..2a3c324be9fe Binary files /dev/null and b/icon-themes/colibre/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/colibre_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/colibre_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..31dc0bb426ce Binary files /dev/null and b/icon-themes/colibre_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/colibre_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/colibre_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..0c18ce8a6fc2 --- /dev/null +++ b/icon-themes/colibre_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v18h18v-18z" fill="#3a3a38" stroke-width="1.125"/> +<path d="m0 0v2h1v-2zm2 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 4v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-15 1v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1z" fill="#d3d3d3"/> +<path d="m18 0v1.416l-16.584 16.584h-1.416v-1.416l1.1426-1.1406 14.301-14.301 1.1406-1.1426z" fill="#fafafa"/> +<path d="m0 0v1.416l16.584 16.584h1.416v-1.416l-1.1426-1.1406-14.301-14.301-1.1406-1.1426z" fill="#fafafa"/> +</svg> diff --git a/icon-themes/colibre_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/colibre_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..0c6d4533a1d0 --- /dev/null +++ b/icon-themes/colibre_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v18h18v-18z" fill="#fafafa" stroke-width="1.125"/> +<path d="m0 0v2h1v-2zm2 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 4v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-15 1v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1z" fill="#d3d3d3"/> +<path d="m18 0v1.416l-16.584 16.584h-1.416v-1.416l1.1426-1.1406 14.301-14.301 1.1406-1.1426z" fill="#3a3a38"/> +<path d="m0 0v1.416l16.584 16.584h1.416v-1.416l-1.1426-1.1406-14.301-14.301-1.1406-1.1426z" fill="#3a3a38"/> +</svg> diff --git a/icon-themes/elementary/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/elementary/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..0ec41edf223d Binary files /dev/null and b/icon-themes/elementary/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/elementary_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/elementary_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..bab265200fd4 --- /dev/null +++ b/icon-themes/elementary_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<linearGradient id="f" x1="9.5333" x2="9.5333" y1="-2.2" y2="18.067" gradientUnits="userSpaceOnUse"> +<stop stop-color="#fff" offset="0"/> +<stop stop-color="#e9e9e9" offset="1"/> +</linearGradient> +<linearGradient id="e" x1="9" x2="9" y1="20" gradientTransform="matrix(.25379 0 0 .30502 19.129 -.68548)" gradientUnits="userSpaceOnUse"> +<stop stop-opacity=".33951" offset="0"/> +<stop stop-opacity=".24691" offset="1"/> +</linearGradient> +<linearGradient id="d" x1="24" x2="24" y1="6.9231" y2="46.769" gradientTransform="matrix(.24324 0 0 .35135 .16216 -.43243)" gradientUnits="userSpaceOnUse"> +<stop stop-color="#fff" offset="0"/> +<stop stop-color="#fff" stop-opacity=".23529" offset="0"/> +<stop stop-color="#fff" stop-opacity=".15686" offset="1"/> +<stop stop-color="#fff" stop-opacity=".39216" offset="1"/> +</linearGradient> +<path d="m1 1v16h16v-16z" fill="url(#f)" stroke-width="1.0667"/> +<g fill="none"> +<path d="m.5.5h17v17h-17z" opacity=".5" stroke="url(#e)" stroke-linecap="square"/> +<path d="m16.5 16.5h-15v-15h15z" stroke="url(#d)" stroke-linecap="round"/> +<path transform="matrix(0 1 -1 0 34.002 -.001767)" d="m1.5018 31.502 14-14" stroke="#f37329" stroke-linecap="square" stroke-width="2"/> +<path d="m15.414 1.4142-14 14" stroke="#f37329" stroke-linecap="square" stroke-width="2"/> +</g> +</svg> diff --git a/icon-themes/karasa_jaga/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/karasa_jaga/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..e29226e17f94 Binary files /dev/null and b/icon-themes/karasa_jaga/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/karasa_jaga_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/karasa_jaga_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..d5e619eaef4f --- /dev/null +++ b/icon-themes/karasa_jaga_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="18" height="18" version="1.1" viewBox="0 0 4.7625 4.7625" xmlns="http://www.w3.org/2000/svg"> +<filter id="a" x="-.025986" y="-.026099" width="1.052" height="1.0522"> +<feGaussianBlur stdDeviation="1.0394514"/> +</filter> +<filter id="g" x="-.013037" y="-.01295" width="1.0261" height="1.0259"> +<feGaussianBlur stdDeviation=".50063244"/> +</filter> +<radialGradient id="f" cx="44.858" cy="306.45" r="43.679" gradientUnits="userSpaceOnUse"> +<stop stop-color="#00537d" offset="0"/> +<stop stop-color="#186389" offset=".0151"/> +<stop stop-color="#558ca8" offset=".0558"/> +<stop stop-color="#89afc3" offset=".0964"/> +<stop stop-color="#b3ccd8" offset=".1357"/> +<stop stop-color="#d4e2e9" offset=".1737"/> +<stop stop-color="#ecf2f5" offset=".2099"/> +<stop stop-color="#fafcfd" offset=".2435"/> +<stop stop-color="#fff" offset=".2722"/> +</radialGradient> +<radialGradient id="e" cx="125.3" cy="133.26" r="139.56" gradientTransform="matrix(.30632 0 0 .30729 -2.7043 257.93)" gradientUnits="userSpaceOnUse"> +<stop stop-color="#e3e4e4" offset="0"/> +<stop stop-color="#ececed" offset=".11366"/> +<stop stop-color="#ececec" offset=".20297"/> +<stop stop-color="#fafafa" offset=".2363"/> +<stop stop-color="#fff" offset=".2722"/> +<stop stop-color="#fafafa" offset=".5313"/> +<stop stop-color="#ebecec" offset=".8449"/> +<stop stop-color="#e1e2e3" offset="1"/> +</radialGradient> +<g transform="matrix(.14062 0 0 .14062 .004657 -37.008)"> +<path transform="matrix(.32602 0 0 .32416 -6.2472 256.53)" d="m23 24.448 0.04082 96.552h61.131l34.242-0.10366c0.375-0.375 0.586-0.884 0.586-1.414v-95.034z" filter="url(#a)" opacity=".71507"/> +<path transform="matrix(.32602 0 0 .32416 -6.2472 256.53)" d="m24.92 26.379v92.69l91.574 0.0893c0.375-0.375 0.586-0.884 0.586-1.414v-91.365h-92.16z" filter="url(#g)" opacity=".89589"/> +<path transform="matrix(.32602 0 0 .32416 -6.2472 256.53)" d="m23 25.414 0.040816 95.586h61.131l34.242-0.10366c0.375-0.375 0.586-0.884 0.586-1.414v-94.069z" filter="url(#a)" opacity=".83562"/> +<path d="m1.8772 265.08v30.046h19.146l10.717 0.0269c0.11737-0.11735 0.1834-0.27666 0.1834-0.44256l2e-6 -29.63z" fill="url(#f)" stroke-width=".31298"/> +<path d="m4.5934663 267.58062c-.1687821 0-.3063201.13796-.3063201.30729l.093894 24.42376c0 .16962.1375378.30729.3063202.30729l24.6422776-.0371c.05728-.0575.08975-.13644.08975-.21724v-24.47663c0-.16932-.13723-.30729-.306317-.30729z" fill="url(#e)" stroke-width=".31298"/> +<path d="m31.923 265.08v2.5998l-27.467 27.467-2.3957 6e-3c-0.11737-0.11715-0.18345-0.27625-0.18345-0.44215v-2.3166l27.314-27.314z" fill="#258aff" fill-rule="evenodd"/> +<path d="m1.8621 265.07v2.5998l27.467 27.467 2.3957 6e-3c0.11737-0.11715 0.18345-0.27625 0.18345-0.44215v-2.3166l-27.314-27.314z" fill="#258aff" fill-rule="evenodd"/> +</g> +</svg> diff --git a/icon-themes/sifr/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/sifr/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..7d575b9c33ce Binary files /dev/null and b/icon-themes/sifr/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/sifr_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/sifr_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..9dbb6aa8b5ba Binary files /dev/null and b/icon-themes/sifr_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/sifr_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/sifr_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..63b62b6419f8 --- /dev/null +++ b/icon-themes/sifr_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<g fill="#efefef"> +<path d="m2 2v14h14v-14z" opacity=".35"/> +<path d="m16.586 0-16.586 16.586v1.4141h1.4141l16.586-16.586v-1.4141z"/> +<path d="m16.586 18-16.586-16.586v-1.4141h1.4141l16.586 16.586v1.4141z"/> +</g> +</svg> diff --git a/icon-themes/sifr_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/sifr_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..3757bf10a716 --- /dev/null +++ b/icon-themes/sifr_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<g fill="#2e3436"> +<path d="m2 2v14h14v-14z" opacity=".35"/> +<path d="m16.586 0-16.586 16.586v1.4141h1.4141l16.586-16.586v-1.4141z"/> +<path d="m1.4141 0 16.586 16.586v1.4141h-1.4141l-16.586-16.586v-1.4141z"/> +</g> +</svg> diff --git a/icon-themes/sukapura/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/sukapura/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..3494aa376575 Binary files /dev/null and b/icon-themes/sukapura/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/sukapura_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png b/icon-themes/sukapura_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png new file mode 100644 index 000000000000..c20896b5e6e0 Binary files /dev/null and b/icon-themes/sukapura_dark/sc/res/sidebar/CellBorder_CrissCross_18x18.png differ diff --git a/icon-themes/sukapura_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/sukapura_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..b326780c80bd --- /dev/null +++ b/icon-themes/sukapura_dark_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v18h18v-18z" fill="#2d2d2d" stroke-width="1.125"/> +<path d="m0 0v2h1v-2zm2 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 4v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-15 1v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1z" fill="#d3d3d3"/> +<path d="m18 0v1.416l-16.584 16.584h-1.416v-1.416l1.1426-1.1406 14.301-14.301 1.1406-1.1426z" fill="#f2f2f7"/> +<path d="m0 0v1.416l16.584 16.584h1.416v-1.416l-1.1426-1.1406-14.301-14.301-1.1406-1.1426z" fill="#f2f2f7"/> +</svg> diff --git a/icon-themes/sukapura_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg b/icon-themes/sukapura_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg new file mode 100644 index 000000000000..d42a0fef9a02 --- /dev/null +++ b/icon-themes/sukapura_svg/sc/res/sidebar/CellBorder_CrissCross_18x18.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg version="1.1" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> +<path d="m0 0v18h18v-18z" fill="#f2f2f7" stroke-width="1.125"/> +<path d="m0 0v2h1v-2zm2 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 4v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-17 3v2h1v-2zm17 0v2h1v-2zm-15 1v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1zm3 0v1h2v-1z" fill="#d3d3d3"/> +<path d="m18 0v1.416l-16.584 16.584h-1.416v-1.416l1.1426-1.1406 14.301-14.301 1.1406-1.1426z" fill="#48484a"/> +<path d="m0 0v1.416l16.584 16.584h1.416v-1.416l-1.1426-1.1406-14.301-14.301-1.1406-1.1426z" fill="#48484a"/> +</svg> diff --git a/sc/source/ui/sidebar/CellBorderStyleControl.cxx b/sc/source/ui/sidebar/CellBorderStyleControl.cxx index 1ffbc213fb19..1e71eb2bc976 100644 --- a/sc/source/ui/sidebar/CellBorderStyleControl.cxx +++ b/sc/source/ui/sidebar/CellBorderStyleControl.cxx @@ -48,7 +48,6 @@ CellBorderStylePopup::CellBorderStylePopup(weld::Toolbar* pParent, const OUStrin , mxTBBorder1(m_xBuilder->weld_toolbar(u"border1"_ustr)) , mxTBBorder2(m_xBuilder->weld_toolbar(u"border2"_ustr)) , mxTBBorder3(m_xBuilder->weld_toolbar(u"border3"_ustr)) - , mxTBBorder4(m_xBuilder->weld_toolbar(u"border4"_ustr)) { Initialize(); } @@ -67,12 +66,12 @@ void CellBorderStylePopup::Initialize() mxTBBorder1->connect_clicked ( LINK(this, CellBorderStylePopup, TB1SelectHdl) ); mxTBBorder1->set_item_tooltip_text(0, SvxResId(RID_SVXSTR_TABLE_PRESET_NONE)); mxTBBorder1->set_item_accessible_name(0, SvxResId(RID_SVXSTR_TABLE_PRESET_NONE)); - mxTBBorder1->set_item_tooltip_text(1, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERALL)); - mxTBBorder1->set_item_accessible_name(1, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERALL)); - mxTBBorder1->set_item_tooltip_text(2, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTER)); - mxTBBorder1->set_item_accessible_name(2, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTER)); - mxTBBorder1->set_item_tooltip_text(3, SvxResId(RID_SVXSTR_TABLE_PRESET_THICK)); - mxTBBorder1->set_item_accessible_name(3, SvxResId(RID_SVXSTR_TABLE_PRESET_THICK)); + mxTBBorder1->set_item_tooltip_text(1, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTER)); + mxTBBorder1->set_item_accessible_name(1, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTER)); + mxTBBorder1->set_item_tooltip_text(2, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERALL)); + mxTBBorder1->set_item_accessible_name(2, SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERALL)); + mxTBBorder1->set_item_tooltip_text(3, SvxResId(RID_SVXSTR_PARA_PRESET_CRISSCROSS)); + mxTBBorder1->set_item_accessible_name(3, SvxResId(RID_SVXSTR_PARA_PRESET_CRISSCROSS)); mxTBBorder2->connect_clicked ( LINK(this, CellBorderStylePopup, TB2and3SelectHdl) ); mxTBBorder2->set_item_tooltip_text(0, SvxResId(RID_SVXSTR_PARA_PRESET_ONLYLEFT)); @@ -85,24 +84,14 @@ void CellBorderStylePopup::Initialize() mxTBBorder2->set_item_accessible_name(3, SvxResId(RID_SVXSTR_PARA_PRESET_ONLYBOTTOM)); mxTBBorder3->connect_clicked ( LINK(this, CellBorderStylePopup, TB2and3SelectHdl) ); - mxTBBorder3->set_item_tooltip_text(0, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALUP)); - mxTBBorder3->set_item_accessible_name(0, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALUP)); - mxTBBorder3->set_item_tooltip_text(1, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALDOWN)); - mxTBBorder3->set_item_accessible_name(1, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALDOWN)); + mxTBBorder3->set_item_tooltip_text(0, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALDOWN)); + mxTBBorder3->set_item_accessible_name(0, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALDOWN)); + mxTBBorder3->set_item_tooltip_text(1, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALUP)); + mxTBBorder3->set_item_accessible_name(1, SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALUP)); mxTBBorder3->set_item_tooltip_text(2, SvxResId(RID_SVXSTR_PARA_PRESET_TOPBOTTOM)); mxTBBorder3->set_item_accessible_name(2, SvxResId(RID_SVXSTR_PARA_PRESET_TOPBOTTOM)); mxTBBorder3->set_item_tooltip_text(3, SvxResId(RID_SVXSTR_PARA_PRESET_LEFTRIGHT)); mxTBBorder3->set_item_accessible_name(3, SvxResId(RID_SVXSTR_PARA_PRESET_LEFTRIGHT)); - - mxTBBorder4->connect_clicked ( LINK(this, CellBorderStylePopup, TB4SelectHdl) ); - mxTBBorder4->set_item_tooltip_text(0, SvxResId(RID_SVXSTR_TABLE_PRESET_THICKBOTTOM)); - mxTBBorder4->set_item_accessible_name(0, SvxResId(RID_SVXSTR_TABLE_PRESET_THICKBOTTOM)); - mxTBBorder4->set_item_tooltip_text(1, SvxResId(RID_SVXSTR_TABLE_PRESET_DOUBLEBOTTOM)); - mxTBBorder4->set_item_accessible_name(1, SvxResId(RID_SVXSTR_TABLE_PRESET_DOUBLEBOTTOM)); - mxTBBorder4->set_item_tooltip_text(2, SvxResId(RID_SVXSTR_TABLE_PRESET_TOPTHICKBOTTOM)); - mxTBBorder4->set_item_accessible_name(2, SvxResId(RID_SVXSTR_TABLE_PRESET_TOPTHICKBOTTOM)); - mxTBBorder4->set_item_tooltip_text(3, SvxResId(RID_SVXSTR_TABLE_PRESET_TOPDOUBLEBOTTOM)); - mxTBBorder4->set_item_accessible_name(3, SvxResId(RID_SVXSTR_TABLE_PRESET_TOPDOUBLEBOTTOM)); } IMPL_LINK(CellBorderStylePopup, TB1SelectHdl, const OUString&, rId, void) @@ -137,11 +126,16 @@ IMPL_LINK(CellBorderStylePopup, TB1SelectHdl, const OUString&, rId, void) pLeft = pRight = pTop = pBottom = &theDefLine; nValidFlags |= FRM_VALID_OUTER; } - else if (rId == "thickbox") + else if (rId == "crisscross") { - theDefLine.SetWidth(SvxBorderLineWidth::Thick); - pLeft = pRight = pTop = pBottom = &theDefLine; - nValidFlags |= FRM_VALID_OUTER; + editeng::SvxBorderLine aThinLine(nullptr, SvxBorderLineWidth::Thin); + SvxLineItem aDiagUpItem(SID_ATTR_BORDER_DIAG_BLTR); + aDiagUpItem.SetLine(&aThinLine); + SvxLineItem aDiagDownItem(SID_ATTR_BORDER_DIAG_TLBR); + aDiagDownItem.SetLine(&aThinLine); + mpDispatcher->ExecuteList(SID_ATTR_BORDER_DIAG_BLTR, SfxCallMode::RECORD, { &aDiagUpItem }); + mpDispatcher->ExecuteList(SID_ATTR_BORDER_DIAG_TLBR, SfxCallMode::RECORD, + { &aDiagDownItem }); } aBorderOuter.SetLine( pLeft, SvxBoxItemLine::LEFT ); @@ -251,67 +245,6 @@ IMPL_LINK(CellBorderStylePopup, TB2and3SelectHdl, const OUString&, rId, void) maToolButton.set_inactive(); } -IMPL_LINK(CellBorderStylePopup, TB4SelectHdl, const OUString&, rId, void) -{ - SvxBoxItem aBorderOuter( SID_ATTR_BORDER_OUTER ); - SvxBoxInfoItem aBorderInner( SID_ATTR_BORDER_INNER ); - std::unique_ptr<editeng::SvxBorderLine> pTop; - std::unique_ptr<editeng::SvxBorderLine> pBottom; - sal_uInt8 nValidFlags = 0; - using namespace ::com::sun::star::table::BorderLineStyle; - - //FIXME: properly adapt to new line border model - - if (rId == "thickbottom") - { - pBottom.reset(new editeng::SvxBorderLine(nullptr, SvxBorderLineWidth::Thick)); - nValidFlags |= FRM_VALID_BOTTOM; - } - else if (rId == "doublebottom") - { - pBottom.reset(new editeng::SvxBorderLine(nullptr)); - pBottom->GuessLinesWidths(SvxBorderLineStyle::DOUBLE, SvxBorderLineWidth::Hairline, - SvxBorderLineWidth::Hairline, SvxBorderLineWidth::Thin); - nValidFlags |= FRM_VALID_BOTTOM; - } - else if (rId == "topthickbottom") - { - pBottom.reset(new editeng::SvxBorderLine(nullptr, SvxBorderLineWidth::Thick)); - pTop.reset(new editeng::SvxBorderLine(nullptr, SvxBorderLineWidth::Thin)); - nValidFlags |= FRM_VALID_BOTTOM|FRM_VALID_TOP; - } - else if (rId == "topdoublebottom") - { - pBottom.reset(new editeng::SvxBorderLine(nullptr)); - pBottom->GuessLinesWidths(SvxBorderLineStyle::DOUBLE, SvxBorderLineWidth::Hairline, - SvxBorderLineWidth::Hairline, SvxBorderLineWidth::Thin); - pTop.reset(new editeng::SvxBorderLine(nullptr, SvxBorderLineWidth::Thin)); - nValidFlags |= FRM_VALID_BOTTOM|FRM_VALID_TOP; - } - - aBorderOuter.SetLine( pTop.get(), SvxBoxItemLine::TOP ); - aBorderOuter.SetLine( pBottom.get(), SvxBoxItemLine::BOTTOM ); - aBorderOuter.SetLine( nullptr, SvxBoxItemLine::LEFT ); - aBorderOuter.SetLine( nullptr, SvxBoxItemLine::RIGHT ); - - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::TOP, 0 != (nValidFlags&FRM_VALID_TOP )); - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::BOTTOM, 0 != (nValidFlags&FRM_VALID_BOTTOM )); - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::LEFT, 0 != (nValidFlags&FRM_VALID_LEFT )); - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::RIGHT, 0 != (nValidFlags&FRM_VALID_RIGHT )); - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::HORI, 0 != (nValidFlags&FRM_VALID_HINNER )); - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::VERT, 0 != (nValidFlags&FRM_VALID_VINNER)); - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::DISTANCE ); - aBorderInner.SetValid( SvxBoxInfoItemValidFlags::DISABLE, false ); - - mpDispatcher->ExecuteList( - SID_ATTR_BORDER, SfxCallMode::RECORD, { &aBorderOuter, &aBorderInner }); - - pTop.reset(); - pBottom.reset(); - - maToolButton.set_inactive(); -} - } // end of namespace sc::sidebar /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/sidebar/CellBorderStyleControl.hxx b/sc/source/ui/sidebar/CellBorderStyleControl.hxx index 95b6cb9b442d..14c09b761c71 100644 --- a/sc/source/ui/sidebar/CellBorderStyleControl.hxx +++ b/sc/source/ui/sidebar/CellBorderStyleControl.hxx @@ -33,7 +33,6 @@ private: std::unique_ptr<weld::Toolbar> mxTBBorder1; std::unique_ptr<weld::Toolbar> mxTBBorder2; std::unique_ptr<weld::Toolbar> mxTBBorder3; - std::unique_ptr<weld::Toolbar> mxTBBorder4; void Initialize(); diff --git a/sc/uiconfig/scalc/ui/floatingborderstyle.ui b/sc/uiconfig/scalc/ui/floatingborderstyle.ui index ad2f82c50335..7452a6bbe618 100644 --- a/sc/uiconfig/scalc/ui/floatingborderstyle.ui +++ b/sc/uiconfig/scalc/ui/floatingborderstyle.ui @@ -38,16 +38,6 @@ <property name="homogeneous">True</property> </packing> </child> - <child> - <object class="GtkToolButton" id="all"> - <property name="visible">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_All_18x18.png</property> - </object> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> <child> <object class="GtkToolButton" id="outside"> <property name="visible">True</property> @@ -59,51 +49,9 @@ </packing> </child> <child> - <object class="GtkToolButton" id="thickbox"> - <property name="visible">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_FourBorders_Thick_18x18.png</property> - </object> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkToolbar" id="border4"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="toolbar-style">icons</property> - <property name="show-arrow">False</property> - <child> - <object class="GtkToolButton" id="thickbottom"> - <property name="visible">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_Bottom_Thick_18x18.png</property> - </object> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <object class="GtkToolButton" id="doublebottom"> - <property name="visible">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_Bottom_Double_18x18.png</property> - </object> - <packing> - <property name="expand">False</property> - <property name="homogeneous">True</property> - </packing> - </child> - <child> - <object class="GtkToolButton" id="topthickbottom"> + <object class="GtkToolButton" id="all"> <property name="visible">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_TopThin_BottomThick_18x18.png</property> + <property name="icon-name">sc/res/sidebar/CellBorder_All_18x18.png</property> </object> <packing> <property name="expand">False</property> @@ -111,9 +59,10 @@ </packing> </child> <child> - <object class="GtkToolButton" id="topdoublebottom"> + <object class="GtkToolButton" id="crisscross"> <property name="visible">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_TopSingle_BottomDouble_18x18.png</property> + <property name="icon-name">sc/res/sidebar/CellBorder_CrissCross_18x18.png</property> + <property name="label" translatable="yes" context="sc|crisscross">Criss-cross Border</property> </object> <packing> <property name="expand">False</property> @@ -123,7 +72,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">3</property> + <property name="top-attach">0</property> </packing> </child> <child> @@ -185,10 +134,10 @@ <property name="toolbar-style">icons</property> <property name="show-arrow">False</property> <child> - <object class="GtkToolButton" id="diagup"> + <object class="GtkToolButton" id="diagdown"> <property name="visible">True</property> <property name="use-underline">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_RightDiagonal_18x18.png</property> + <property name="icon-name">sc/res/sidebar/CellBorder_LeftDiagonal_18x18.png</property> </object> <packing> <property name="expand">False</property> @@ -196,10 +145,10 @@ </packing> </child> <child> - <object class="GtkToolButton" id="diagdown"> + <object class="GtkToolButton" id="diagup"> <property name="visible">True</property> <property name="use-underline">True</property> - <property name="icon-name">sc/res/sidebar/CellBorder_LeftDiagonal_18x18.png</property> + <property name="icon-name">sc/res/sidebar/CellBorder_RightDiagonal_18x18.png</property> </object> <packing> <property name="expand">False</property> diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index c1cdc73fe702..c370aac324c0 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -2490,32 +2490,21 @@ SvxFrameWindow_Impl::SvxFrameWindow_Impl(SvxFrameToolBoxControl* pControl, weld: AddStatusListener(u".uno:BorderReducedMode"_ustr); InitImageList(); - /* - * 1 2 3 4 5 - * ------------------------------------------------------ - * NONE LEFT RIGHT LEFTRIGHT DIAGONALDOWN - * TOP BOTTOM TOPBOTTOM OUTER DIAGONALUP - * ------------------------------------------------------ - * HOR HORINNER VERINNER ALL CRISSCROSS <- can be switched of via bParagraphMode - */ - sal_uInt16 i = 0; - // diagonal borders available only for Calc. - // Therefore, Calc uses 10 border types while - // Writer uses 8 of them - for a single cell. - for ( i=1; i < (m_bIsCalc ? 11 : 9); i++ ) + // Writer and Calc uses 8 border types - for a single cell. + for ( i=1; i < 9; i++ ) mxFrameSet->InsertItem(i, Image(aImgVec[i-1].first), aImgVec[i-1].second); //bParagraphMode should have been set in StateChanged if ( !bParagraphMode ) // when multiple cell selected: - // Writer has 12 border types and Calc has 15 of them. - for ( i = (m_bIsCalc ? 11 : 9); i < (m_bIsCalc ? 16 : 13); i++ ) + // Writer and Calc have 12 border types. + for ( i = 9; i < 13; i++ ) mxFrameSet->InsertItem(i, Image(aImgVec[i-1].first), aImgVec[i-1].second); - // adjust frame column for Writer - sal_uInt16 colCount = m_bIsWriter ? 4 : 5; + // adjust frame column for Writer and Calc + sal_uInt16 colCount = 4; mxFrameSet->SetColCount( colCount ); mxFrameSet->SetSelectHdl( LINK( this, SvxFrameWindow_Impl, SelectHdl ) ); CalcSizeValueSet(); @@ -2574,15 +2563,52 @@ IMPL_LINK_NOARG(SvxFrameWindow_Impl, SelectHdl, ValueSet*, void) // cell border using the border formatting tool in the standard toolbar theDefLine.GuessLinesWidths(theDefLine.GetBorderLineStyle(), SvxBorderLineWidth::Thin); - // nSel has 15 cases which means 15 border - // types for Calc. But Writer uses only 12 + // nSel has 15 cases which means 12 (9 common with writer + 3 unique) unique border + // types for Calc. But Writer uses 12 (9 common with calc + 3 unique) // of them - when diagonal borders excluded. - if (!m_bIsCalc) + if (m_bIsCalc) { - // add appropriate increments - // to match the correct borders. - if (nSel > 8) { nSel += 2; } - else if (nSel > 4) { nSel++; } + // This is a lookup table to map the new 1-12 order + // to the 'case' values of the switch statement. + switch (nSel) + { + case 1: + nSel = 1; + break; // None + case 2: + nSel = 8; + break; // Outside + case 3: + nSel = 12; + break; // All + case 4: + nSel = 15; + break; // Criss-cross + case 5: + nSel = 2; + break; // Left + case 6: + nSel = 3; + break; // Right + case 7: + nSel = 5; + break; // Top + case 8: + nSel = 6; + break; // Bottom + case 9: + nSel = 13; + break; // Diagonal down + case 10: + nSel = 14; + break; // Diagonal up + case 11: + nSel = 7; + break; // Top-bottom + case 12: + nSel = 4; + break; // Left-right + } } switch ( nSel ) @@ -2603,51 +2629,51 @@ IMPL_LINK_NOARG(SvxFrameWindow_Impl, SelectHdl, ValueSet*, void) case 4: pLeft = pRight = &theDefLine; nValidFlags |= FrmValidFlags::Right|FrmValidFlags::Left; break; // LEFTRIGHT - case 5: dDownLineItem.SetLine(&dDownBorderLine); + case 13: dDownLineItem.SetLine(&dDownBorderLine); SetDiagonalDownBorder(dDownLineItem); bIsDiagonalBorder = true; break; // DIAGONAL DOWN - case 6: pTop = &theDefLine; + case 5: pTop = &theDefLine; nValidFlags |= FrmValidFlags::Top; break; // TOP - case 7: pBottom = &theDefLine; + case 6: pBottom = &theDefLine; nValidFlags |= FrmValidFlags::Bottom; break; // BOTTOM - case 8: pTop = pBottom = &theDefLine; + case 7: pTop = pBottom = &theDefLine; nValidFlags |= FrmValidFlags::Bottom|FrmValidFlags::Top; break; // TOPBOTTOM - case 9: pLeft = pRight = pTop = pBottom = &theDefLine; + case 8: pLeft = pRight = pTop = pBottom = &theDefLine; nValidFlags |= FrmValidFlags::Left | FrmValidFlags::Right | FrmValidFlags::Top | FrmValidFlags::Bottom; break; // OUTER - case 10: + case 14: dUpLineItem.SetLine(&dUpBorderLine); SetDiagonalUpBorder(dUpLineItem); bIsDiagonalBorder = true; break; // DIAGONAL UP // Inner Table: - case 11: // HOR + case 9: // HOR pTop = pBottom = &theDefLine; aBorderInner.SetLine( &theDefLine, SvxBoxInfoItemLine::HORI ); aBorderInner.SetLine( nullptr, SvxBoxInfoItemLine::VERT ); nValidFlags |= FrmValidFlags::HInner|FrmValidFlags::Top|FrmValidFlags::Bottom; break; - case 12: // HORINNER + case 10: // HORINNER pLeft = pRight = pTop = pBottom = &theDefLine; aBorderInner.SetLine( &theDefLine, SvxBoxInfoItemLine::HORI ); aBorderInner.SetLine( nullptr, SvxBoxInfoItemLine::VERT ); nValidFlags |= FrmValidFlags::Right|FrmValidFlags::Left|FrmValidFlags::HInner|FrmValidFlags::Top|FrmValidFlags::Bottom; break; - case 13: // VERINNER + case 11: // VERINNER pLeft = pRight = pTop = pBottom = &theDefLine; aBorderInner.SetLine( nullptr, SvxBoxInfoItemLine::HORI ); aBorderInner.SetLine( &theDefLine, SvxBoxInfoItemLine::VERT ); nValidFlags |= FrmValidFlags::Right|FrmValidFlags::Left|FrmValidFlags::VInner|FrmValidFlags::Top|FrmValidFlags::Bottom; break; - case 14: // ALL + case 12: // ALL pLeft = pRight = pTop = pBottom = &theDefLine; aBorderInner.SetLine( &theDefLine, SvxBoxInfoItemLine::HORI ); aBorderInner.SetLine( &theDefLine, SvxBoxInfoItemLine::VERT ); @@ -2743,19 +2769,19 @@ void SvxFrameWindow_Impl::statusChanged( const css::frame::FeatureStateEvent& rE if(!mxFrameSet->GetItemCount()) return; - // set 12 border types for Writer, otherwise 15 for Calc. - bool bTableMode = ( mxFrameSet->GetItemCount() == static_cast<size_t>(m_bIsCalc ? 15 : 12) ); + // set 12 border types for Writer and Calc. + bool bTableMode = ( mxFrameSet->GetItemCount() == static_cast<size_t>(12) ); bool bResize = false; if ( bTableMode && bParagraphMode ) { - for ( sal_uInt16 i = (m_bIsWriter ? 9 : 11); i < (m_bIsWriter ? 13 : 16); i++ ) + for ( sal_uInt16 i = 9; i < 13; i++ ) mxFrameSet->RemoveItem(i); bResize = true; } else if ( !bTableMode && !bParagraphMode ) { - for ( sal_uInt16 i = (m_bIsWriter ? 9 : 11); i < (m_bIsWriter ? 13 : 16); i++ ) + for ( sal_uInt16 i = 9; i < 13; i++ ) mxFrameSet->InsertItem(i, Image(aImgVec[i-1].first), aImgVec[i-1].second); bResize = true; } @@ -2804,25 +2830,22 @@ void SvxFrameWindow_Impl::InitImageList() { // Calc has diagonal borders feature. // Therefore use additional 3 diagonal border types, - // which make border types 15 in total. + // which make border types for Calc 12 in total. aImgVec = { {Bitmap(RID_SVXBMP_FRAME1), SvxResId(RID_SVXSTR_TABLE_PRESET_NONE)}, + {Bitmap(RID_SVXBMP_FRAME8), SvxResId(RID_SVXSTR_TABLE_PRESET_OUTER)}, + {Bitmap(RID_SVXBMP_FRAME12), SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERALL)}, + {Bitmap(RID_SVXBMP_FRAME15), SvxResId(RID_SVXSTR_PARA_PRESET_CRISSCROSS)}, // criss-cross border + {Bitmap(RID_SVXBMP_FRAME2), SvxResId(RID_SVXSTR_PARA_PRESET_ONLYLEFT)}, {Bitmap(RID_SVXBMP_FRAME3), SvxResId(RID_SVXSTR_PARA_PRESET_ONLYRIGHT)}, - {Bitmap(RID_SVXBMP_FRAME4), SvxResId(RID_SVXSTR_PARA_PRESET_LEFTRIGHT)}, - {Bitmap(RID_SVXBMP_FRAME14), SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALDOWN)}, // diagonal down border - {Bitmap(RID_SVXBMP_FRAME5), SvxResId(RID_SVXSTR_PARA_PRESET_ONLYTOP)}, {Bitmap(RID_SVXBMP_FRAME6), SvxResId(RID_SVXSTR_PARA_PRESET_ONLYBOTTOM)}, - {Bitmap(RID_SVXBMP_FRAME7), SvxResId(RID_SVXSTR_PARA_PRESET_TOPBOTTOM)}, - {Bitmap(RID_SVXBMP_FRAME8), SvxResId(RID_SVXSTR_TABLE_PRESET_OUTER)}, - {Bitmap(RID_SVXBMP_FRAME13), SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALUP)}, // diagonal up border - {Bitmap(RID_SVXBMP_FRAME9), SvxResId(RID_SVXSTR_PARA_PRESET_TOPBOTTOMHORI)}, - {Bitmap(RID_SVXBMP_FRAME10), SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERHORI)}, - {Bitmap(RID_SVXBMP_FRAME11), SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERVERI)}, - {Bitmap(RID_SVXBMP_FRAME12), SvxResId(RID_SVXSTR_TABLE_PRESET_OUTERALL)}, - {Bitmap(RID_SVXBMP_FRAME15), SvxResId(RID_SVXSTR_PARA_PRESET_CRISSCROSS)} // criss-cross border + {Bitmap(RID_SVXBMP_FRAME14), SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALDOWN)}, // diagonal down border + {Bitmap(RID_SVXBMP_FRAME13), SvxResId(RID_SVXSTR_PARA_PRESET_DIAGONALUP)}, // diagonal up border + {Bitmap(RID_SVXBMP_FRAME7), SvxResId(RID_SVXSTR_PARA_PRESET_TOPBOTTOM)}, + {Bitmap(RID_SVXBMP_FRAME4), SvxResId(RID_SVXSTR_PARA_PRESET_LEFTRIGHT)} }; } }