[gnome-font-viewer] font-view: make sure not to create header buttons twice
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-font-viewer] font-view: make sure not to create header buttons twice
- Date: Tue, 20 Aug 2013 00:05:20 +0000 (UTC)
commit ecad6db704985d6ee2517c379922c2dabf6a9132
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Tue Aug 20 02:03:47 2013 +0200
font-view: make sure not to create header buttons twice
As font_view_application_do_open() can be called from the open mode
already.
https://bugzilla.gnome.org/show_bug.cgi?id=706334
src/font-view.c | 69 +++++++++++++++++++++++++++++-------------------------
1 files changed, 37 insertions(+), 32 deletions(-)
---
diff --git a/src/font-view.c b/src/font-view.c
index 1d9159d..464a21f 100644
--- a/src/font-view.c
+++ b/src/font-view.c
@@ -517,40 +517,45 @@ font_view_application_do_open (FontViewApplication *self,
font_view_ensure_model (self);
- rtl = gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL;
-
- self->info_button = gtk_button_new_with_label (_("Info"));
- gtk_widget_set_valign (self->info_button, GTK_ALIGN_CENTER);
- gtk_style_context_add_class (gtk_widget_get_style_context (self->info_button),
- "text-button");
- gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->info_button);
-
- g_signal_connect (self->info_button, "clicked",
- G_CALLBACK (info_button_clicked_cb), self);
+ if (self->info_button == NULL) {
+ self->info_button = gtk_button_new_with_label (_("Info"));
+ gtk_widget_set_valign (self->info_button, GTK_ALIGN_CENTER);
+ gtk_style_context_add_class (gtk_widget_get_style_context (self->info_button),
+ "text-button");
+ gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->info_button);
+
+ g_signal_connect (self->info_button, "clicked",
+ G_CALLBACK (info_button_clicked_cb), self);
+ }
/* add install button */
- self->install_button = gtk_button_new_with_label (_("Install"));
- gtk_widget_set_valign (self->install_button, GTK_ALIGN_CENTER);
- gtk_style_context_add_class (gtk_widget_get_style_context (self->install_button),
- "text-button");
- gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->install_button);
-
- g_signal_connect (self->install_button, "clicked",
- G_CALLBACK (install_button_clicked_cb), self);
-
- self->back_button = gtk_button_new ();
- back_image = gtk_image_new_from_icon_name (rtl ? "go-previous-rtl-symbolic" :
- "go-previous-symbolic",
- GTK_ICON_SIZE_MENU);
- gtk_button_set_image (GTK_BUTTON (self->back_button), back_image);
- gtk_widget_set_tooltip_text (self->back_button, _("Back"));
- gtk_widget_set_valign (self->back_button, GTK_ALIGN_CENTER);
- gtk_style_context_add_class (gtk_widget_get_style_context (self->back_button),
- "image-button");
- gtk_header_bar_pack_start (GTK_HEADER_BAR (self->header), self->back_button);
-
- g_signal_connect (self->back_button, "clicked",
- G_CALLBACK (back_button_clicked_cb), self);
+ if (self->install_button == NULL) {
+ self->install_button = gtk_button_new_with_label (_("Install"));
+ gtk_widget_set_valign (self->install_button, GTK_ALIGN_CENTER);
+ gtk_style_context_add_class (gtk_widget_get_style_context (self->install_button),
+ "text-button");
+ gtk_header_bar_pack_end (GTK_HEADER_BAR (self->header), self->install_button);
+
+ g_signal_connect (self->install_button, "clicked",
+ G_CALLBACK (install_button_clicked_cb), self);
+ }
+
+ if (self->back_button == NULL) {
+ self->back_button = gtk_button_new ();
+ rtl = gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL;
+ back_image = gtk_image_new_from_icon_name (rtl ? "go-previous-rtl-symbolic" :
+ "go-previous-symbolic",
+ GTK_ICON_SIZE_MENU);
+ gtk_button_set_image (GTK_BUTTON (self->back_button), back_image);
+ gtk_widget_set_tooltip_text (self->back_button, _("Back"));
+ gtk_widget_set_valign (self->back_button, GTK_ALIGN_CENTER);
+ gtk_style_context_add_class (gtk_widget_get_style_context (self->back_button),
+ "image-button");
+ gtk_header_bar_pack_start (GTK_HEADER_BAR (self->header), self->back_button);
+
+ g_signal_connect (self->back_button, "clicked",
+ G_CALLBACK (back_button_clicked_cb), self);
+ }
uri = g_file_get_uri (file);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]