[gtk+/open-with-dialog: 52/52] open-with-dialog: don't show the 'Show More...' button in all mode
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/open-with-dialog: 52/52] open-with-dialog: don't show the 'Show More...' button in all mode
- Date: Tue, 23 Nov 2010 15:59:30 +0000 (UTC)
commit 6f0a60589125842294579536e62eb099903a0632
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Tue Nov 23 16:50:21 2010 +0100
open-with-dialog: don't show the 'Show More...' button in all mode
gtk/gtkopenwithdialog.c | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkopenwithdialog.c b/gtk/gtkopenwithdialog.c
index 1b66152..6ba2ab8 100644
--- a/gtk/gtkopenwithdialog.c
+++ b/gtk/gtkopenwithdialog.c
@@ -52,6 +52,8 @@ struct _GtkOpenWithDialogPrivate {
GtkWidget *open_with_widget;
GtkWidget *show_more_button;
+
+ gboolean show_more_clicked;
};
enum {
@@ -289,11 +291,29 @@ show_more_button_clicked_cb (GtkButton *button,
GtkOpenWithDialog *self = user_data;
g_object_set (self->priv->open_with_widget,
+ "show-recommended", TRUE,
"show-fallback", TRUE,
"show-other", TRUE,
NULL);
gtk_widget_hide (self->priv->show_more_button);
+ self->priv->show_more_clicked = TRUE;
+}
+
+static void
+widget_notify_for_button_cb (GObject *source,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ GtkOpenWithDialog *self = user_data;
+ GtkOpenWithWidget *widget = GTK_OPEN_WITH_WIDGET (source);
+ gboolean should_hide;
+
+ should_hide = gtk_open_with_widget_get_show_all (widget) ||
+ self->priv->show_more_clicked;
+
+ if (should_hide)
+ gtk_widget_hide (self->priv->show_more_button);
}
static void
@@ -324,12 +344,15 @@ build_dialog_ui (GtkOpenWithDialog *self)
self->priv->open_with_widget =
gtk_open_with_widget_new (self->priv->content_type);
+ gtk_box_pack_start (GTK_BOX (vbox2), self->priv->open_with_widget, TRUE, TRUE, 0);
+ gtk_widget_show (self->priv->open_with_widget);
+
g_signal_connect (self->priv->open_with_widget, "application-selected",
G_CALLBACK (widget_application_selected_cb), self);
g_signal_connect (self->priv->open_with_widget, "application-activated",
G_CALLBACK (widget_application_activated_cb), self);
- gtk_box_pack_start (GTK_BOX (vbox2), self->priv->open_with_widget, TRUE, TRUE, 0);
- gtk_widget_show (self->priv->open_with_widget);
+ g_signal_connect (self->priv->open_with_widget, "notify::show-all",
+ G_CALLBACK (widget_notify_for_button_cb), self);
button = gtk_button_new_with_label (_("Show other applications"));
self->priv->show_more_button = button;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]