[Xfce4-commits] <xfce4-settings:bluesabre/display-settings> Merge branch 'bluesabre/display-settings' of ssh://git.xfce.org/xfce/xfce4-settings into bluesabre/display-settings
Sean Davis
noreply at xfce.org
Thu Oct 25 01:58:03 CEST 2012
Updating branch refs/heads/bluesabre/display-settings
to b6bf22d69bfc666c7cf140ff017291bd4646dbfc (commit)
from 00d70e4258e69a5c47f7fd4623d806bc16332d18 (commit)
commit b6bf22d69bfc666c7cf140ff017291bd4646dbfc
Merge: 00d70e4 e3b0d41
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Wed Oct 24 19:53:37 2012 -0400
Merge branch 'bluesabre/display-settings' of ssh://git.xfce.org/xfce/xfce4-settings into bluesabre/display-settings
Changed TreeView to IconView
commit e3b0d41375feb7ef2f88897ed3d6c09c901ffd67
Author: Lionel Le Folgoc <lionel at lefolgoc.net>
Date: Wed Oct 24 11:34:01 2012 +0200
Clean up unneeded and duplicate variables
Signed-off-by: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
commit 44d2869a487b06e0c9b260cab616c9e128bb9e47
Author: Lionel Le Folgoc <lionel at lefolgoc.net>
Date: Wed Oct 24 11:15:43 2012 +0200
Fix activation/sensivity of toggle buttons (minimal dialog)
And show the display name instead of "display1" "display2"
Signed-off-by: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
dialogs/display-settings/main.c | 105 ++++++++++++++++++---------------------
1 files changed, 49 insertions(+), 56 deletions(-)
diff --git a/dialogs/display-settings/main.c b/dialogs/display-settings/main.c
index bcc9666..5f7fe63 100644
--- a/dialogs/display-settings/main.c
+++ b/dialogs/display-settings/main.c
@@ -61,13 +61,6 @@ enum
N_COMBO_COLUMNS
};
-typedef struct {
- GtkBuilder *builder;
- GdkDisplay *display;
- gint event_base;
- GError *error;
-} minimal_advanced_context;
-
typedef struct _XfceRelation XfceRelation;
@@ -1755,13 +1748,12 @@ screen_on_event (GdkXEvent *xevent,
}
static void
-display_settings_show_main_dialog (GdkDisplay *display,
- gint event_base,
- GError *error)
+display_settings_show_main_dialog (GdkDisplay *display)
{
GtkBuilder *builder;
GtkWidget *dialog, *plug;
GObject *plug_child;
+ GError *error = NULL;
/* Load the Gtk user-interface file */
builder = gtk_builder_new ();
@@ -1770,13 +1762,12 @@ display_settings_show_main_dialog (GdkDisplay *display,
{
/* Build the dialog */
dialog = display_settings_dialog_new (builder);
- randr_event_base = event_base;
/* Set up notifications */
XRRSelectInput (gdk_x11_display_get_xdisplay (display),
GDK_WINDOW_XID (gdk_get_default_root_window ()),
RRScreenChangeNotifyMask);
gdk_x11_register_standard_event_type (display,
- event_base,
+ randr_event_base,
RRNotify + 1);
gdk_window_add_filter (gdk_get_default_root_window (), screen_on_event, builder);
@@ -1828,40 +1819,33 @@ display_settings_show_main_dialog (GdkDisplay *display,
}
static void
-display_settings_minimal_advanced_clicked(GtkButton *button,
- minimal_advanced_context *context)
+display_settings_minimal_advanced_clicked (GtkButton *button,
+ GtkBuilder *builder)
{
GtkWidget *dialog;
- dialog = GTK_WIDGET (gtk_builder_get_object (context->builder, "dialog"));
+ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "dialog"));
gtk_widget_hide (dialog);
- display_settings_show_main_dialog (context->display, context->event_base, context->error);
+ display_settings_show_main_dialog (gdk_display_get_default ());
gtk_main_quit ();
}
static void
-display_settings_show_minimal_dialog (GdkDisplay *display,
- gint event_base,
- GError *error)
+display_settings_show_minimal_dialog (GdkDisplay *display)
{
- GtkBuilder *builder;
- GtkWidget *dialog, *cancel;
- GObject *only_display1, *only_display2, *mirror_displays;
- GObject *extend_right, *advanced, *fake_button;
- minimal_advanced_context context;
+ GtkBuilder *builder;
+ GtkWidget *dialog, *cancel;
+ GObject *only_display1, *only_display2, *mirror_displays;
+ GObject *extend_right, *advanced, *fake_button, *label;
+ GError *error = NULL;
builder = gtk_builder_new ();
if (gtk_builder_add_from_string (builder, minimal_display_dialog_ui,
minimal_display_dialog_ui_length, &error) != 0)
{
- context.builder = builder;
- context.display = display;
- context.event_base = event_base;
- context.error = error;
-
/* Build the minimal dialog */
dialog = GTK_WIDGET (gtk_builder_get_object (builder, "dialog"));
cancel = GTK_WIDGET (gtk_builder_get_object (builder, "cancel_button"));
@@ -1878,30 +1862,44 @@ display_settings_show_minimal_dialog (GdkDisplay *display,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fake_button), TRUE);
- //
+ label = gtk_builder_get_object (builder, "label1");
+ gtk_label_set_text (GTK_LABEL (label), xfce_randr->friendly_name[0]);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (only_display1),
+ xfce_randr->mode[0] != None);
+
if (xfce_randr->noutput > 1)
{
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (only_display1),
- xfce_randr->mode[0] != None);
+ label = gtk_builder_get_object (builder, "label4");
+ gtk_label_set_text (GTK_LABEL (label), xfce_randr->friendly_name[1]);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (only_display2),
- xfce_randr->mode[1] != None);
+ xfce_randr->mode[1] != None);
+
+ if (xfce_randr->mode[0] != None && xfce_randr->mode[1] != None)
+ {
+ /* Check for mirror */
+ if ((xfce_randr->relation[1] == XFCE_RANDR_PLACEMENT_MIRROR &&
+ xfce_randr->related_to[1] == 0) || (xfce_randr->related_to[0] == 1 &&
+ xfce_randr->relation[0] == XFCE_RANDR_PLACEMENT_MIRROR))
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mirror_displays),
+ TRUE);
+
+ /* Check for Extend Right */
+ if ((xfce_randr->relation[1] == XFCE_RANDR_PLACEMENT_RIGHT &&
+ xfce_randr->related_to[1] == 0) || (xfce_randr->related_to[0] == 1 &&
+ xfce_randr->relation[1] == XFCE_RANDR_PLACEMENT_LEFT))
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (extend_right),
+ TRUE);
+ }
}
else
{
- /* Check for mirror */
- if (xfce_randr->relation[1] == XFCE_RANDR_PLACEMENT_MIRROR &&
- xfce_randr->related_to[1] == 0)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mirror_displays),
- TRUE);
-
- /* Check for Extend Right */
- if (xfce_randr->relation[1] == XFCE_RANDR_PLACEMENT_RIGHT &&
- xfce_randr->related_to[1] == 0)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (extend_right),
- TRUE);
+ /* Only one output, disable other buttons */
+ gtk_widget_set_sensitive (GTK_WIDGET (mirror_displays), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (extend_right), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (only_display2), FALSE);
}
- //
g_signal_connect (only_display1, "toggled", G_CALLBACK (display_settings_minimal_only_display1_toggled),
builder);
g_signal_connect (mirror_displays, "toggled", G_CALLBACK (display_settings_minimal_mirror_displays_toggled),
@@ -1911,7 +1909,7 @@ display_settings_show_minimal_dialog (GdkDisplay *display,
g_signal_connect (only_display2, "toggled", G_CALLBACK (display_settings_minimal_only_display2_toggled),
builder);
g_signal_connect (advanced, "clicked", G_CALLBACK (display_settings_minimal_advanced_clicked),
- (gpointer*)&context);
+ builder);
/* Show the minimal dialog and start the main loop */
gtk_window_present (GTK_WINDOW (dialog));
@@ -1933,7 +1931,7 @@ main (gint argc, gchar **argv)
GdkDisplay *display;
GError *error = NULL;
gboolean succeeded = TRUE;
- gint event_base, error_base;
+ gint error_base;
gchar *command;
const gchar *alternative = NULL;
const gchar *alternative_icon = NULL;
@@ -1979,7 +1977,7 @@ main (gint argc, gchar **argv)
display = gdk_display_get_default ();
/* Check if the randr extension is avaible on the system */
- if (!XRRQueryExtension (gdk_x11_display_get_xdisplay (display), &event_base, &error_base))
+ if (!XRRQueryExtension (gdk_x11_display_get_xdisplay (display), &randr_event_base, &error_base))
{
g_set_error (&error, 0, 0, _("Unable to query the version of the RandR extension being used"));
xfce_dialog_show_error (NULL, error, _("Unable to start the Xfce Display Settings"));
@@ -2042,16 +2040,11 @@ main (gint argc, gchar **argv)
return EXIT_FAILURE;
if (xfce_randr->noutput <= 1 || !minimal)
- {
- display_settings_show_main_dialog( display, event_base, error );
- }
+ display_settings_show_main_dialog (display);
else
- {
- display_settings_show_minimal_dialog ( display, event_base, error );
- }
-
- cleanup:
+ display_settings_show_minimal_dialog (display);
+cleanup:
/* Release the channel */
g_object_unref (G_OBJECT (display_channel));
}
More information about the Xfce4-commits
mailing list