[Xfce4-commits] <xfce4-settings:master> Enhancements to minimal dialog, tweaked code to support new minimal dialog.

Nick Schermer noreply at xfce.org
Sun Oct 28 10:44:07 CET 2012


Updating branch refs/heads/master
         to 8d1ed825c1e739b63d87083401b4efdee357b09f (commit)
       from 94c2d0fcec0fc2e3e6fbf66944172ca251f39067 (commit)

commit 8d1ed825c1e739b63d87083401b4efdee357b09f
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Wed Sep 26 05:39:00 2012 -0400

    Enhancements to minimal dialog, tweaked code to support new minimal dialog.

 dialogs/display-settings/main.c                    |  119 +-------------------
 .../display-settings/minimal-display-dialog.glade  |   14 +-
 2 files changed, 9 insertions(+), 124 deletions(-)

diff --git a/dialogs/display-settings/main.c b/dialogs/display-settings/main.c
index b6192b1..86dd15e 100644
--- a/dialogs/display-settings/main.c
+++ b/dialogs/display-settings/main.c
@@ -1140,90 +1140,6 @@ screen_on_event (GdkXEvent *xevent,
 }
 
 
-
-static void
-display_settings_minimal_dialog_response (GtkDialog  *dialog,
-                                          gint        response_id,
-                                          GtkBuilder *builder)
-{
-    GObject    *first_screen_radio;
-    GObject    *second_screen_radio;
-    XfceRRMode *mode1, *mode2;
-    gboolean    use_first_screen;
-    gboolean    use_second_screen;
-    guint       first, second;
-    gint        m, n, found;
-
-    if (response_id == 1)
-    {
-        /* TODO: handle correctly more than 2 outputs? */
-        first = 0;
-        second = 1;
-
-        first_screen_radio = gtk_builder_get_object (builder, "radiobutton1");
-        second_screen_radio = gtk_builder_get_object (builder, "radiobutton2");
-
-        use_first_screen =
-            gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (first_screen_radio));
-        use_second_screen =
-            gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (second_screen_radio));
-
-        if (use_first_screen)
-        {
-            xfce_randr->mode[first] = xfce_randr_preferred_mode (xfce_randr, first);
-            xfce_randr->mode[second] = None;
-        }
-        else if (use_second_screen)
-        {
-            xfce_randr->mode[second] = xfce_randr_preferred_mode (xfce_randr, second);
-            xfce_randr->mode[first] = None;
-        }
-        else
-        {
-            if (xfce_randr->clone_modes[0] != None)
-            {
-                xfce_randr->mode[first] = xfce_randr->clone_modes[0];
-                xfce_randr->mode[second] = xfce_randr->clone_modes[0];
-            }
-            else
-            {
-                found = FALSE;
-                /* No clone mode available, try to find a "similar" mode */
-                for (n = 0; n < xfce_randr->output_info[first]->nmode; ++n)
-                {
-                    mode1 = &xfce_randr->modes[first][n];
-                    for (m = 0; m < xfce_randr->output_info[second]->nmode; ++m)
-                    {
-                        mode2 = &xfce_randr->modes[second][m];
-                        /* "similar" means same resolution */
-                        if (mode1->width == mode2->width
-                            && mode1->height == mode2->height)
-                        {
-                            xfce_randr->mode[first] = mode1->id;
-                            xfce_randr->mode[second] = mode2->id;
-                            found = TRUE;
-                            break;
-                        }
-                    }
-
-                    if (found)
-                        break;
-                }
-            }
-        }
-        /* Save the two outputs and apply */
-        xfce_randr_save_output (xfce_randr, "MinimalAutoConfig", display_channel,
-                                first);
-        xfce_randr_save_output (xfce_randr, "MinimalAutoConfig", display_channel,
-                                second);
-        xfce_randr_apply (xfce_randr, "MinimalAutoConfig", display_channel);
-    }
-
-    gtk_main_quit ();
-}
-
-
-
 gint
 main (gint argc, gchar **argv)
 {
@@ -1235,7 +1151,6 @@ main (gint argc, gchar **argv)
     GError      *error = NULL;
     gboolean     succeeded = TRUE;
     gint         event_base, error_base;
-    guint        first, second;
     gchar       *command;
     const gchar *alternative = NULL;
     const gchar *alternative_icon = NULL;
@@ -1407,45 +1322,15 @@ main (gint argc, gchar **argv)
             if (xfce_randr->noutput < 2)
                 goto cleanup;
 
-            /* TODO: handle correctly more than 2 outputs? */
-            first = 0;
-            second = 1;
-
             builder = gtk_builder_new ();
 
             if (gtk_builder_add_from_string (builder, minimal_display_dialog_ui,
                                              minimal_display_dialog_ui_length, &error) != 0)
             {
-                GObject    *first_screen_radio;
-                GObject    *second_screen_radio;
-                gchar      *screen_name;
 
                 /* Build the minimal dialog */
-                dialog = (GtkWidget *) gtk_builder_get_object (builder, "dialog1");
-                g_signal_connect (G_OBJECT (dialog), "response",
-                    G_CALLBACK (display_settings_minimal_dialog_response), builder);
-
-                /* Set the radio buttons captions */
-                first_screen_radio =
-                    gtk_builder_get_object (builder, "radiobutton1");
-                second_screen_radio =
-                    gtk_builder_get_object (builder, "radiobutton2");
-
-                screen_name =
-                    xfce_randr_friendly_name (xfce_randr,
-                                              xfce_randr->resources->outputs[first],
-                                              xfce_randr->output_info[first]->name);
-                gtk_button_set_label (GTK_BUTTON (first_screen_radio),
-                                      screen_name);
-                g_free (screen_name);
-
-                screen_name =
-                    xfce_randr_friendly_name (xfce_randr,
-                                              xfce_randr->resources->outputs[second],
-                                              xfce_randr->output_info[second]->name);
-                gtk_button_set_label (GTK_BUTTON (second_screen_radio),
-                                      screen_name);
-                g_free (screen_name);
+                dialog = (GtkWidget *) gtk_builder_get_object (builder, "dialog");
+                g_signal_connect (dialog, "delete-event", G_CALLBACK (gtk_main_quit), NULL);
 
                 /* Show the minimal dialog and start the main loop */
                 gtk_window_present (GTK_WINDOW (dialog));
diff --git a/dialogs/display-settings/minimal-display-dialog.glade b/dialogs/display-settings/minimal-display-dialog.glade
index 206534e..3b818ab 100644
--- a/dialogs/display-settings/minimal-display-dialog.glade
+++ b/dialogs/display-settings/minimal-display-dialog.glade
@@ -2,7 +2,7 @@
 <interface>
   <requires lib="gtk+" version="2.24"/>
   <!-- interface-naming-policy project-wide -->
-  <object class="GtkWindow" id="window1">
+  <object class="GtkWindow" id="dialog">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Displays</property>
     <property name="resizable">False</property>
@@ -24,7 +24,7 @@
             <property name="column_spacing">48</property>
             <property name="row_spacing">3</property>
             <child>
-              <object class="GtkButton" id="button1">
+              <object class="GtkToggleButton" id="extend_left">
                 <property name="width_request">128</property>
                 <property name="height_request">128</property>
                 <property name="visible">True</property>
@@ -45,7 +45,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="button2">
+              <object class="GtkToggleButton" id="mirror">
                 <property name="width_request">128</property>
                 <property name="height_request">128</property>
                 <property name="visible">True</property>
@@ -68,7 +68,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="button3">
+              <object class="GtkToggleButton" id="extend_right">
                 <property name="width_request">128</property>
                 <property name="height_request">128</property>
                 <property name="visible">True</property>
@@ -145,7 +145,7 @@
             <property name="visible">True</property>
             <property name="can_focus">False</property>
             <child>
-              <object class="GtkCheckButton" id="checkbutton1">
+              <object class="GtkCheckButton" id="presentation_mode">
                 <property name="label" translatable="yes">Presentation Mode</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -160,7 +160,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="button5">
+              <object class="GtkButton" id="cancel_button">
                 <property name="label">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -175,7 +175,7 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="button4">
+              <object class="GtkButton" id="advanced_button">
                 <property name="label" translatable="yes">Advanced</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>


More information about the Xfce4-commits mailing list