[bijiben] Do not gtk_widget_show_all on top level or main view



commit a8fc0ac48c1f8c349e1373002b18ab8a7589c64d
Author: Pierre-Yves Luyten <py luyten fr>
Date:   Mon Jun 30 22:48:59 2014 +0200

    Do not gtk_widget_show_all on top level or main view
    
    This was convenient but is not appropriate because of the
    GtkActionBar. Some widgets needs to remain hidden,
    hacking around this would be absurd while we rather need
    not to show what is not to be shown...
    
    See #721195 (version 3.13+)

 src/bjb-bijiben.c           |    4 +++-
 src/bjb-main-view.c         |    3 ++-
 src/bjb-search-toolbar.c    |    1 +
 src/bjb-selection-toolbar.c |   14 ++++++++++----
 src/bjb-window-base.c       |   15 ++++++++++++++-
 5 files changed, 30 insertions(+), 7 deletions(-)
---
diff --git a/src/bjb-bijiben.c b/src/bjb-bijiben.c
index b562264..8e86541 100644
--- a/src/bjb-bijiben.c
+++ b/src/bjb-bijiben.c
@@ -173,7 +173,7 @@ bijiben_new_window_internal (Bijiben     *self,
   if (path != NULL)
     g_free (path);
 
-  gtk_widget_show_all (GTK_WIDGET (window));
+  gtk_widget_show (GTK_WIDGET (window));
 
   if (not_first_window)
     gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
@@ -482,6 +482,8 @@ bijiben_application_local_command_line (GApplication *application,
     goto out;
   }
 
+
+  /* bijiben_startup */
   g_application_register (application, NULL, &error);
 
   if (error != NULL)
diff --git a/src/bjb-main-view.c b/src/bjb-main-view.c
index de2f626..8c1acc4 100644
--- a/src/bjb-main-view.c
+++ b/src/bjb-main-view.c
@@ -681,6 +681,7 @@ bjb_main_view_constructed(GObject *o)
                                        GTK_SHADOW_NONE);
   gd_main_view_set_model (priv->view, bjb_controller_get_model(priv->controller));
   gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (priv->view));
+  gtk_widget_show (GTK_WIDGET (priv->view));
 
   vadjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (priv->view));
 
@@ -718,7 +719,7 @@ bjb_main_view_constructed(GObject *o)
                      target_list, 1, GDK_ACTION_COPY);
 
   bjb_main_view_connect_signals (self);
-  gtk_widget_show_all (GTK_WIDGET (self));
+  gtk_widget_show (GTK_WIDGET (self));
 }
 
 static void
diff --git a/src/bjb-search-toolbar.c b/src/bjb-search-toolbar.c
index cd481ce..06f635d 100644
--- a/src/bjb-search-toolbar.c
+++ b/src/bjb-search-toolbar.c
@@ -315,6 +315,7 @@ bjb_search_toolbar_init (BjbSearchToolbar *self)
   priv->entry = gd_tagged_entry_new ();
   g_object_set (priv->entry, "width_request", 500, NULL);
   gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (priv->entry));
+  gtk_widget_show (GTK_WIDGET (priv->entry));
 }
 
 
diff --git a/src/bjb-selection-toolbar.c b/src/bjb-selection-toolbar.c
index 568493f..ba0f4a1 100644
--- a/src/bjb-selection-toolbar.c
+++ b/src/bjb-selection-toolbar.c
@@ -380,8 +380,9 @@ bjb_selection_toolbar_init (BjbSelectionToolbar *self)
   /* Notes tags */
   priv->toolbar_tag = gtk_button_new_with_label (_("Notebooks"));
   gtk_action_bar_pack_start (priv->bar, priv->toolbar_tag);
+  gtk_widget_show (priv->toolbar_tag);
 
-  /* Restore */
+  /* Restore (do not show) */
   priv->toolbar_restore = gtk_button_new_with_label (_("Restore"));
   gtk_action_bar_pack_start (priv->bar, priv->toolbar_restore);
 
@@ -390,6 +391,7 @@ bjb_selection_toolbar_init (BjbSelectionToolbar *self)
   gtk_widget_set_tooltip_text (GTK_WIDGET (priv->toolbar_color),
                                _("Note color"));
   gtk_action_bar_pack_start (priv->bar, priv->toolbar_color);
+  gtk_widget_show (priv->toolbar_color);
 
 
   /* Share */
@@ -400,10 +402,13 @@ bjb_selection_toolbar_init (BjbSelectionToolbar *self)
                                "image-button");
   gtk_widget_set_tooltip_text (priv->toolbar_share, _("Share note"));
   gtk_action_bar_pack_start (priv->bar, priv->toolbar_share);
+  gtk_widget_show (priv->toolbar_color);
+
 
   /* Detach */
   priv->toolbar_detach = gtk_button_new_with_label (_("Open in another window"));
   gtk_action_bar_pack_start (priv->bar, priv->toolbar_detach);
+  gtk_widget_show (priv->toolbar_detach);
 
 
   /* Trash notes */
@@ -411,9 +416,10 @@ bjb_selection_toolbar_init (BjbSelectionToolbar *self)
   context = gtk_widget_get_style_context (priv->toolbar_trash);
   gtk_style_context_add_class (context, "destructive-action");
   gtk_action_bar_pack_end (priv->bar, priv->toolbar_trash);
+  gtk_widget_show (priv->toolbar_trash);
 
 
-  /* Permanently delete */
+  /* Permanently delete (do not show )*/
   priv->toolbar_delete = gtk_button_new_with_label (_("Permanently Delete"));
   context = gtk_widget_get_style_context (priv->toolbar_delete);
   gtk_style_context_add_class (context, "destructive-action");
@@ -432,8 +438,8 @@ bjb_selection_toolbar_init (BjbSelectionToolbar *self)
   g_object_unref (size);
 
 
-
-  gtk_widget_show_all (widget);
+  gtk_widget_show (GTK_WIDGET (priv->bar));
+  gtk_widget_show (widget);
   bjb_selection_toolbar_fade_out (self);
 }
 
diff --git a/src/bjb-window-base.c b/src/bjb-window-base.c
index 440ccc2..c9fabb0 100644
--- a/src/bjb-window-base.c
+++ b/src/bjb-window-base.c
@@ -314,6 +314,7 @@ bjb_window_base_constructed (GObject *obj)
   gtk_stack_add_named (priv->stack, priv->no_note, "empty");
 
   gtk_stack_add_named (priv->stack, GTK_WIDGET (priv->view), "main-view");
+  gtk_widget_show (GTK_WIDGET (priv->stack));
 
   g_signal_connect (GTK_WIDGET (self),
                     "destroy",
@@ -342,8 +343,20 @@ bjb_window_base_constructed (GObject *obj)
     priv->detached = TRUE;
     bjb_window_base_switch_to_item (self, BIJI_ITEM (priv->note));
   }
+
+
+  /* For some reason, do not gtk_widget_show _self_
+   * or gtk_application_get_menu_bar will run,
+   * fire a warning, while app menu will not show up
+   * you have been warned!
+   *
+   * This is probably due to the fact that,
+   * at startup, we still are
+   * inside... drums... gapplication startup () */
+  gtk_widget_show (priv->vbox);
 }
 
+
 static void
 bjb_window_base_init (BjbWindowBase *self)
 {
@@ -557,7 +570,7 @@ bjb_window_base_switch_to_item (BjbWindowBase *bwb, BijiItem *item)
                                (gpointer *) &priv->note_view);
 
     bjb_window_base_switch_to (bwb, BJB_WINDOW_BASE_NOTE_VIEW);
-    gtk_widget_show_all (w);
+    gtk_widget_show (w);
     bjb_note_view_grab_focus (priv->note_view);
   }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]