[Xfce4-commits] <xfce4-settings:bluesabre/display-settings> Do not harcode iter indexes for positions

Simon Steinbeiss noreply at xfce.org
Tue Oct 16 01:22:02 CEST 2012


Updating branch refs/heads/bluesabre/display-settings
         to f71c0af05a0853de4ad620f57cad1bcbdb6a7143 (commit)
       from f7e9b91e262e263fa6bd2ba903d0646cc7152a47 (commit)

commit f71c0af05a0853de4ad620f57cad1bcbdb6a7143
Author: Lionel Le Folgoc <lionel at lefolgoc.net>
Date:   Mon Oct 15 23:35:21 2012 +0200

    Do not harcode iter indexes for positions
    
    Signed-off-by: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>

 dialogs/display-settings/main.c |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/dialogs/display-settings/main.c b/dialogs/display-settings/main.c
index d4a60aa..51c5091 100644
--- a/dialogs/display-settings/main.c
+++ b/dialogs/display-settings/main.c
@@ -527,6 +527,7 @@ display_setting_guess_positioning (GtkBuilder *builder)
 {
     GObject *position_combo, *display_combo;
     gint current_x, current_y, cb_index;
+    XfceOutputRelation rel;
     guint n;
     
     current_x = xfce_randr->position[active_output].x;
@@ -552,7 +553,7 @@ display_setting_guess_positioning (GtkBuilder *builder)
             /* Check for mirror */
             if ( (xfce_randr->position[n].x == current_x) && 
                  (xfce_randr->position[n].y == current_y) ) {
-                gtk_combo_box_set_active( GTK_COMBO_BOX(position_combo), 0 );
+                rel = XFCE_RANDR_PLACEMENT_MIRROR;
                 gtk_combo_box_set_active( GTK_COMBO_BOX(display_combo), cb_index );
                 break;       
             }
@@ -560,7 +561,7 @@ display_setting_guess_positioning (GtkBuilder *builder)
             /* Check for Left Of */
             if ( (xfce_randr->position[n].y == current_y) &&
                  (xfce_randr->position[n].x > current_x) ) {
-                gtk_combo_box_set_active( GTK_COMBO_BOX(position_combo), 1 );
+                rel = XFCE_RANDR_PLACEMENT_LEFT;
                 gtk_combo_box_set_active( GTK_COMBO_BOX(display_combo), cb_index );
                 break;
             }
@@ -568,7 +569,7 @@ display_setting_guess_positioning (GtkBuilder *builder)
             /* Check for Right Of */
             if ( (xfce_randr->position[n].y == current_y) &&
                  (xfce_randr->position[n].x < current_x) ) {
-                gtk_combo_box_set_active( GTK_COMBO_BOX(position_combo), 2 );
+                rel = XFCE_RANDR_PLACEMENT_RIGHT;
                 gtk_combo_box_set_active( GTK_COMBO_BOX(display_combo), cb_index );
                 break;
             }
@@ -576,7 +577,7 @@ display_setting_guess_positioning (GtkBuilder *builder)
             /* Check for Above */
             if ( (xfce_randr->position[n].x == current_x) &&
                  (xfce_randr->position[n].y > current_y) ) {
-                gtk_combo_box_set_active( GTK_COMBO_BOX(position_combo), 3 );
+                rel = XFCE_RANDR_PLACEMENT_UP;
                 gtk_combo_box_set_active( GTK_COMBO_BOX(display_combo), cb_index );
                 break;
             }
@@ -584,7 +585,7 @@ display_setting_guess_positioning (GtkBuilder *builder)
             /* Check for Below */
             if ( (xfce_randr->position[n].x == current_x) &&
                  (xfce_randr->position[n].y < current_y) ) {
-                gtk_combo_box_set_active( GTK_COMBO_BOX(position_combo), 4 );
+                rel = XFCE_RANDR_PLACEMENT_DOWN;
                 gtk_combo_box_set_active( GTK_COMBO_BOX(display_combo), cb_index );
                 break;
             }
@@ -592,7 +593,17 @@ display_setting_guess_positioning (GtkBuilder *builder)
             cb_index++;
         }
     }
-    
+
+    /* set the correct index for the position combobox */
+    for (n = 0; n < G_N_ELEMENTS (relation_names); n++)
+    {
+        if (rel == relation_names[n].relation)
+        {
+            gtk_combo_box_set_active (GTK_COMBO_BOX (position_combo), n);
+            break;
+        }
+    }
+
     g_signal_connect (G_OBJECT (position_combo), "changed", G_CALLBACK (display_setting_positions_changed), builder);
     g_signal_connect (G_OBJECT (display_combo), "changed", G_CALLBACK (display_setting_active_displays_changed), builder);
 }


More information about the Xfce4-commits mailing list