cui/uiconfig/ui/rotationtabpage.ui |  417 ++++++++++++++++++++-----------------
 1 file changed, 226 insertions(+), 191 deletions(-)

New commits:
commit 5089c1c5536924a7f38df3658ab2d60ad0b8d414
Author:     Olivier Hallot <olivier.hal...@libreoffice.org>
AuthorDate: Mon Aug 25 16:06:29 2025 -0300
Commit:     Olivier Hallot <olivier.hal...@libreoffice.org>
CommitDate: Mon Sep 8 06:09:55 2025 +0200

    tdf#167972 Remove "Default settings" from dialog
    
    + Remove the string not used "Default settings" from
    object rotation dialog.
    
    + Add extended tip for teh angle wheel.
    
    Note: The extended tip of the wheel only shows on GTK.
    kf5, kf6 and gen VCLS plugins don't show the extended tip.
    
    PS2:
    + Added 2 labels for the rotation point and rotation wheel
    to comply with A11Y.
    
    PS3:
    + refactor to display boxes/labeles as suggested.
    
    Change-Id: I4235958fa95a93a0f01f0af83c8bb9fc246603bd
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190191
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hal...@libreoffice.org>

diff --git a/cui/uiconfig/ui/rotationtabpage.ui 
b/cui/uiconfig/ui/rotationtabpage.ui
index eeaba0544e2f..577690a4b6ca 100644
--- a/cui/uiconfig/ui/rotationtabpage.ui
+++ b/cui/uiconfig/ui/rotationtabpage.ui
@@ -25,174 +25,182 @@
     <property name="border-width">6</property>
     <property name="orientation">vertical</property>
     <property name="spacing">12</property>
+    <property name="homogeneous">True</property>
     <child>
-      <object class="GtkFrame" id="FL_POSITION">
+      <object class="GtkBox" id="box_pivot">
         <property name="visible">True</property>
         <property name="can-focus">False</property>
-        <property name="label-xalign">0</property>
-        <property name="shadow-type">none</property>
+        <property name="spacing">12</property>
+        <property name="homogeneous">True</property>
         <child>
-          <object class="GtkBox" id="box2">
+          <object class="GtkFrame" id="FL_POSITION">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="margin-start">12</property>
-            <property name="margin-top">6</property>
-            <property name="spacing">12</property>
-            <property name="homogeneous">True</property>
+            <property name="label-xalign">0</property>
+            <property name="shadow-type">none</property>
             <child>
-              <!-- n-columns=2 n-rows=2 -->
-              <object class="GtkGrid" id="grid1">
+              <object class="GtkBox" id="box2">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
-                <property name="row-spacing">6</property>
-                <property name="column-spacing">12</property>
-                <child>
-                  <object class="GtkLabel" id="FT_POS_X">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="rotationtabpage|FT_POS_X">Position _X:</property>
-                    <property name="use-underline">True</property>
-                    <property name="mnemonic-widget">MTR_FLD_POS_X</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left-attach">0</property>
-                    <property name="top-attach">0</property>
-                  </packing>
-                </child>
+                <property name="margin-start">12</property>
+                <property name="margin-top">6</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <property name="homogeneous">True</property>
                 <child>
-                  <object class="GtkLabel" id="FT_POS_Y">
+                  <!-- n-columns=2 n-rows=2 -->
+                  <object class="GtkGrid" id="grid1">
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="rotationtabpage|FT_POS_Y">Position _Y:</property>
-                    <property name="use-underline">True</property>
-                    <property name="mnemonic-widget">MTR_FLD_POS_Y</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left-attach">0</property>
-                    <property name="top-attach">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="MTR_FLD_POS_X">
-                    <property name="visible">True</property>
-                    <property name="can-focus">True</property>
-                    <property name="activates-default">True</property>
-                    <property name="truncate-multiline">True</property>
-                    <property name="adjustment">adjustmentPOS1</property>
-                    <property name="digits">2</property>
-                    <child internal-child="accessible">
-                      <object class="AtkObject" id="MTR_FLD_POS_X-atkobject">
-                        <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|MTR_FLD_POS_X">Enter 
the horizontal distance from the left edge of the page to the pivot 
point.</property>
+                    <property name="row-spacing">6</property>
+                    <property name="column-spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="FT_POS_X">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="label" translatable="yes" 
context="rotationtabpage|FT_POS_X">Position _X:</property>
+                        <property name="use-underline">True</property>
+                        <property 
name="mnemonic-widget">MTR_FLD_POS_X</property>
+                        <property name="xalign">0</property>
                       </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">0</property>
+                      </packing>
                     </child>
-                  </object>
-                  <packing>
-                    <property name="left-attach">1</property>
-                    <property name="top-attach">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="MTR_FLD_POS_Y">
-                    <property name="visible">True</property>
-                    <property name="can-focus">True</property>
-                    <property name="activates-default">True</property>
-                    <property name="truncate-multiline">True</property>
-                    <property name="adjustment">adjustmentPOS2</property>
-                    <property name="digits">2</property>
-                    <child internal-child="accessible">
-                      <object class="AtkObject" id="MTR_FLD_POS_Y-atkobject">
-                        <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|MTR_FLD_POS_Y">Enter 
the vertical distance from the top edge of the page to the pivot 
point.</property>
+                    <child>
+                      <object class="GtkLabel" id="FT_POS_Y">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="label" translatable="yes" 
context="rotationtabpage|FT_POS_Y">Position _Y:</property>
+                        <property name="use-underline">True</property>
+                        <property 
name="mnemonic-widget">MTR_FLD_POS_Y</property>
+                        <property name="xalign">0</property>
                       </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">1</property>
+                      </packing>
                     </child>
-                  </object>
-                  <packing>
-                    <property name="left-attach">1</property>
-                    <property name="top-attach">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkBox" id="box3">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkScrolledWindow">
-                    <property name="visible">True</property>
-                    <property name="can-focus">True</property>
-                    <property name="halign">center</property>
-                    <property name="valign">center</property>
-                    <property name="hscrollbar-policy">never</property>
-                    <property name="vscrollbar-policy">never</property>
-                    <property name="shadow-type">in</property>
                     <child>
-                      <object class="GtkViewport">
+                      <object class="GtkSpinButton" id="MTR_FLD_POS_X">
                         <property name="visible">True</property>
-                        <property name="can-focus">False</property>
-                        <child>
-                          <object class="GtkDrawingArea" id="CTL_RECT">
-                            <property name="visible">True</property>
-                            <property name="can-focus">True</property>
-                            <property name="events">GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | 
GDK_STRUCTURE_MASK</property>
-                            <property name="tooltip-text" translatable="yes" 
context="rotationtabpage|CTL_RECT|tooltip_text">Rotation point</property>
-                            <child internal-child="accessible">
-                              <object class="AtkObject" 
id="CTL_RECT-atkobject">
-                                <property 
name="AtkObject::accessible-description" translatable="yes" 
context="rotationtabpage|extended_tip|CTL_RECT">Click where you want to place 
the pivot point.</property>
-                              </object>
-                            </child>
+                        <property name="can-focus">True</property>
+                        <property name="activates-default">True</property>
+                        <property name="truncate-multiline">True</property>
+                        <property name="adjustment">adjustmentPOS1</property>
+                        <property name="digits">2</property>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" 
id="MTR_FLD_POS_X-atkobject">
+                            <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|MTR_FLD_POS_X">Enter 
the horizontal distance from the left edge of the page to the pivot 
point.</property>
                           </object>
                         </child>
                       </object>
+                      <packing>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="MTR_FLD_POS_Y">
+                        <property name="visible">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="activates-default">True</property>
+                        <property name="truncate-multiline">True</property>
+                        <property name="adjustment">adjustmentPOS2</property>
+                        <property name="digits">2</property>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" 
id="MTR_FLD_POS_Y-atkobject">
+                            <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|MTR_FLD_POS_Y">Enter 
the vertical distance from the top edge of the page to the pivot 
point.</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">1</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
+                    <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="can-focus">False</property>
+                <property name="label" translatable="yes" 
context="rotationtabpage|label1">Pivot Point</property>
+                <property name="xalign">0</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="pivot_location_frame">
+            <property name="visible">True</property>
+            <property name="can-focus">False</property>
+            <property name="label-xalign">0</property>
+            <property name="shadow-type">none</property>
+            <child>
+              <!-- n-columns=1 n-rows=1 -->
+              <object class="GtkGrid" id="grid7">
+                <property name="visible">True</property>
+                <property name="can-focus">False</property>
+                <property name="row-spacing">6</property>
+                <property name="column-spacing">12</property>
                 <child>
-                  <object class="GtkLabel" id="FT_POSPRESETS">
+                  <object class="GtkDrawingArea" id="CTL_RECT">
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="rotationtabpage|FT_POSPRESETS">_Default settings:</property>
-                    <property name="use-underline">True</property>
-                    <property name="mnemonic-widget">CTL_RECT</property>
+                    <property name="events">GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | 
GDK_STRUCTURE_MASK</property>
+                    <property name="tooltip-text" translatable="yes" 
context="rotationtabpage|CTL_RECT|tooltip_text">Rotation point</property>
+                    <accessibility>
+                      <relation type="labelled-by" 
target="pivot_location_label"/>
+                    </accessibility>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="CTL_RECT-atkobject">
+                        <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|CTL_RECT">Click where 
you want to place the pivot point.</property>
+                      </object>
+                    </child>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="left-attach">0</property>
+                    <property name="top-attach">0</property>
                   </packing>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="pivot_location_label">
+                <property name="visible">True</property>
+                <property name="can-focus">False</property>
+                <property name="label" translatable="yes" 
context="rotationtabpage|pivot_location_label">Pivot Location</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+                <accessibility>
+                  <relation type="label-for" target="CTL_RECT"/>
+                </accessibility>
+              </object>
             </child>
           </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="label1">
-            <property name="visible">True</property>
-            <property name="can-focus">False</property>
-            <property name="label" translatable="yes" 
context="rotationtabpage|label1">Pivot Point</property>
-            <property name="xalign">0</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
       <packing>
@@ -202,38 +210,38 @@
       </packing>
     </child>
     <child>
-      <object class="GtkFrame" id="FL_ANGLE">
+      <object class="GtkBox" id="box_angle">
         <property name="visible">True</property>
         <property name="can-focus">False</property>
-        <property name="label-xalign">0</property>
-        <property name="shadow-type">none</property>
+        <property name="spacing">12</property>
+        <property name="homogeneous">True</property>
         <child>
-          <object class="GtkBox" id="box4">
+          <object class="GtkFrame" id="FL_ANGLE">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="margin-start">12</property>
-            <property name="margin-top">6</property>
-            <property name="spacing">12</property>
-            <property name="homogeneous">True</property>
+            <property name="label-xalign">0</property>
+            <property name="shadow-type">none</property>
             <child>
-              <object class="GtkBox" id="box5">
+              <!-- n-columns=2 n-rows=1 -->
+              <object class="GtkGrid" id="grid5">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
-                <property name="valign">start</property>
-                <property name="spacing">12</property>
+                <property name="row-spacing">6</property>
+                <property name="column-spacing">12</property>
                 <child>
                   <object class="GtkLabel" id="FT_ANGLE">
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
                     <property name="label" translatable="yes" 
context="rotationtabpage|FT_ANGLE">_Angle:</property>
                     <property name="use-underline">True</property>
-                    <property name="mnemonic-widget">NF_ANGLE</property>
                     <property name="xalign">0</property>
+                    <accessibility>
+                      <relation type="label-for" target="NF_ANGLE"/>
+                    </accessibility>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left-attach">0</property>
+                    <property name="top-attach">0</property>
                   </packing>
                 </child>
                 <child>
@@ -241,10 +249,14 @@
                     <property name="visible">True</property>
                     <property name="can-focus">True</property>
                     <property name="activates-default">True</property>
+                    <property name="text">0,00</property>
                     <property name="truncate-multiline">True</property>
                     <property name="adjustment">adjustmentANGLE</property>
                     <property name="digits">2</property>
                     <property name="wrap">True</property>
+                    <accessibility>
+                      <relation type="labelled-by" target="FT_ANGLE"/>
+                    </accessibility>
                     <child internal-child="accessible">
                       <object class="AtkObject" id="NF_ANGLE-atkobject">
                         <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|NF_ANGLE">Enter the 
number of degrees that you want to rotate the selected object.</property>
@@ -252,76 +264,99 @@
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="left-attach">1</property>
+                    <property name="top-attach">0</property>
                   </packing>
                 </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
             </child>
+            <child type="label">
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="can-focus">False</property>
+                <property name="label" translatable="yes" 
context="rotationtabpage|label2">Rotation Angle</property>
+                <property name="xalign">0</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="wheel_frame">
+            <property name="visible">True</property>
+            <property name="can-focus">False</property>
+            <property name="label-xalign">0</property>
+            <property name="shadow-type">none</property>
             <child>
               <object class="GtkBox" id="box6">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
                 <property name="orientation">vertical</property>
-                <property name="spacing">6</property>
+                <property name="spacing">12</property>
                 <child>
-                  <object class="GtkDrawingArea" id="CTL_ANGLE">
+                  <!-- n-columns=1 n-rows=1 -->
+                  <object class="GtkGrid" id="grid6">
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
-                    <property name="events">GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | 
GDK_STRUCTURE_MASK</property>
-                    <property name="tooltip-text" translatable="yes" 
context="rotationtabpage|CTL_ANGLE|tooltip_text">Rotation Angle</property>
-                    <property name="halign">center</property>
-                    <child internal-child="accessible">
-                      <object class="AtkObject" id="CTL_ANGLE-atkobject">
-                        <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|CTL_ANGLE">Click to 
specify the rotation angle in multiples of 45 degrees.</property>
+                    <property name="row-spacing">6</property>
+                    <property name="column-spacing">12</property>
+                    <child>
+                      <object class="GtkDrawingArea" id="CTL_ANGLE">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="events">GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | 
GDK_STRUCTURE_MASK</property>
+                        <property name="tooltip-text" translatable="yes" 
context="rotationtabpage|CTL_ANGLE|tooltip_text">Rotation Angle</property>
+                        <property name="halign">center</property>
+                        <accessibility>
+                          <relation type="labelled-by" 
target="wheel_frame_label"/>
+                        </accessibility>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="CTL_ANGLE-atkobject">
+                            <property name="AtkObject::accessible-description" 
translatable="yes" context="rotationtabpage|extended_tip|CTL_ANGLE">Rotate the 
wheel to set the rotation angle. Click the wheel to set the rotation angle to 
the nearest multiple of 15 degrees.</property>
+                          </object>
+                        </child>
                       </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">0</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">True</property>
+                    <property name="padding">12</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
-                <child>
-                  <object class="GtkLabel" id="FT_ANGLEPRESETS">
-                    <property name="visible">True</property>
-                    <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="rotationtabpage|FT_ANGLEPRESETS">Default _settings:</property>
-                    <property name="use-underline">True</property>
-                    <property name="mnemonic-widget">CTL_ANGLE</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="wheel_frame_label">
+                <property name="visible">True</property>
+                <property name="can-focus">False</property>
+                <property name="label" translatable="yes" 
context="rotationtabpage|wheel_frame">Rotation Wheel</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+                <accessibility>
+                  <relation type="label-for" target="CTL_ANGLE"/>
+                </accessibility>
+              </object>
             </child>
           </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="label2">
-            <property name="visible">True</property>
-            <property name="can-focus">False</property>
-            <property name="label" translatable="yes" 
context="rotationtabpage|label2">Rotation Angle</property>
-            <property name="xalign">0</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
       <packing>

Reply via email to