[gnome-control-center/wip/jimmac/hot-corner-rtl] multitasking: Display Right-to-Left ilustrations for RTL locales



commit 4aeefad496690f02a9744e523cf37286d84892c0
Author: Felipe Borges <felipeborges gnome org>
Date:   Mon Feb 28 11:23:48 2022 +0100

    multitasking: Display Right-to-Left ilustrations for RTL locales
    
    Fixes #1559

 panels/multitasking/cc-multitasking-panel.c    | 12 ++++++++++++
 panels/multitasking/cc-multitasking-panel.ui   |  4 ++--
 panels/multitasking/multitasking.gresource.xml |  2 ++
 3 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/panels/multitasking/cc-multitasking-panel.c b/panels/multitasking/cc-multitasking-panel.c
index 9b35239b8..db4c47ac4 100644
--- a/panels/multitasking/cc-multitasking-panel.c
+++ b/panels/multitasking/cc-multitasking-panel.c
@@ -33,11 +33,13 @@ struct _CcMultitaskingPanel
   GSettings       *shell_settings;
   GSettings       *wm_settings;
 
+  GtkPicture      *active_screen_edges_picture;
   GtkSwitch       *active_screen_edges_switch;
   GtkCheckButton  *all_workspaces_radio;
   GtkCheckButton  *current_workspace_radio;
   GtkCheckButton  *dynamic_workspaces_radio;
   GtkCheckButton  *fixed_workspaces_radio;
+  GtkPicture      *hot_corner_picture;
   GtkSwitch       *hot_corner_switch;
   GtkSpinButton   *number_of_workspaces_spin;
   GtkCheckButton  *workspaces_primary_display_radio;
@@ -73,11 +75,13 @@ cc_multitasking_panel_class_init (CcMultitaskingPanelClass *klass)
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/control-center/multitasking/cc-multitasking-panel.ui");
 
+  gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, active_screen_edges_picture);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, active_screen_edges_switch);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, all_workspaces_radio);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, current_workspace_radio);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, dynamic_workspaces_radio);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, fixed_workspaces_radio);
+  gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, hot_corner_picture);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, hot_corner_switch);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, number_of_workspaces_spin);
   gtk_widget_class_bind_template_child (widget_class, CcMultitaskingPanel, workspaces_primary_display_radio);
@@ -146,4 +150,12 @@ cc_multitasking_panel_init (CcMultitaskingPanel *self)
                    self->current_workspace_radio,
                    "active",
                    G_SETTINGS_BIND_DEFAULT);
+
+  if (gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL)
+    {
+      gtk_picture_set_resource (self->hot_corner_picture,
+                                "/org/gnome/control-center/multitasking/assets/hot-corner-rtl.svg");
+      gtk_picture_set_resource (self->active_screen_edges_picture,
+                                "/org/gnome/control-center/multitasking/assets/active-screen-edges-rtl.svg");
+    }
 }
diff --git a/panels/multitasking/cc-multitasking-panel.ui b/panels/multitasking/cc-multitasking-panel.ui
index b2138fcd5..28a5ce072 100644
--- a/panels/multitasking/cc-multitasking-panel.ui
+++ b/panels/multitasking/cc-multitasking-panel.ui
@@ -21,7 +21,7 @@
                   </object>
                 </child>
                 <child type="artwork">
-                  <object class="GtkPicture">
+                  <object class="GtkPicture" id="hot_corner_picture">
                     <property name="hexpand">True</property>
                     <property name="halign">center</property>
                     <property name="margin-top">18</property>
@@ -48,7 +48,7 @@
                   </object>
                 </child>
                 <child type="artwork">
-                  <object class="GtkPicture">
+                  <object class="GtkPicture" id="active_screen_edges_picture">
                     <property name="hexpand">True</property>
                     <property name="halign">center</property>
                     <property name="margin-top">18</property>
diff --git a/panels/multitasking/multitasking.gresource.xml b/panels/multitasking/multitasking.gresource.xml
index db8365f68..df47764c1 100644
--- a/panels/multitasking/multitasking.gresource.xml
+++ b/panels/multitasking/multitasking.gresource.xml
@@ -6,7 +6,9 @@
 
     <!-- Assets -->
     <file>assets/active-screen-edges.svg</file>
+    <file>assets/active-screen-edges-rtl.svg</file>
     <file>assets/hot-corner.svg</file>
+    <file>assets/hot-corner-rtl.svg</file>
     <file>assets/workspaces-primary-display.svg</file>
     <file>assets/workspaces-span-displays.svg</file>
   </gresource>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]