[bijiben] windowBase: Use GdStack rather GtkNoteBook



commit 547bfd1cd4f8618ed4b1a263b78fd80151e8eabb
Author: Pierre-Yves Luyten <py luyten fr>
Date:   Mon Feb 18 02:02:35 2013 +0100

    windowBase: Use GdStack rather GtkNoteBook

 configure.ac          |    3 ++-
 src/bjb-window-base.c |   21 +++++++++++----------
 2 files changed, 13 insertions(+), 11 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index bf44781..e179713 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,7 +38,7 @@ AM_PROG_LIBTOOL
 dnl tracker-sparql might be 0.12
 
 PKG_CHECK_MODULES(BIJIBEN, tracker-sparql-0.14 clutter-gtk-1.0 
-[gtk+-3.0 >= 3.5.19 libxml-2.0 glib-2.0 zeitgeist-1.0
+[gtk+-3.0 >= 3.7.7 libxml-2.0 glib-2.0 zeitgeist-1.0
  glib-2.0 >= 2.28 gio-unix-2.0 webkitgtk-3.0 uuid])
 
 GLIB_GSETTINGS
@@ -47,6 +47,7 @@ LIBGD_INIT([
   gtk-hacks
   main-view
   main-toolbar
+  stack
 ])
 
 AC_CONFIG_FILES([
diff --git a/src/bjb-window-base.c b/src/bjb-window-base.c
index 1c85053..fb93a73 100644
--- a/src/bjb-window-base.c
+++ b/src/bjb-window-base.c
@@ -3,6 +3,7 @@
 #include <stdlib.h>
 
 #include <libbiji/libbiji.h>
+#include <libgd/gd.h>
 
 #include "bjb-bijiben.h"
 #include "bjb-window-base.h"
@@ -26,7 +27,7 @@ struct _BjbWindowBasePriv
   /* UI
    * The Notebook always has a main view.
    * When editing a note, it _also_ has a note view */
-  GtkWidget            *notebook;
+  GdStack              *stack;
   BjbWindowViewType     current_view;
   BjbMainView          *view;
   ClutterActor         *stage, *note_stage, *frame;
@@ -139,23 +140,19 @@ bjb_window_base_init (BjbWindowBase *self)
   priv->font = pango_font_description_from_string (BJB_DEFAULT_FONT);
 
   /* UI : basic notebook */
-  priv->notebook = gtk_notebook_new ();
-  gtk_container_add (GTK_CONTAINER (self), priv->notebook);
-  gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
-  gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE);
+  priv->stack = GD_STACK (gd_stack_new ());
+  gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (priv->stack));
 
   /* Page for overview */
   embed = GTK_CLUTTER_EMBED (gtk_clutter_embed_new());
   gtk_clutter_embed_set_use_layout_size (embed, TRUE);
-  gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook),
-                            GTK_WIDGET (embed), gtk_label_new ("main-view"));
+  gd_stack_add_named (priv->stack, GTK_WIDGET (embed), "main-view");
   priv->stage = gtk_clutter_embed_get_stage (GTK_CLUTTER_EMBED (embed));
 
   /* Page for note */
   embed = GTK_CLUTTER_EMBED (gtk_clutter_embed_new());
   gtk_clutter_embed_set_use_layout_size (embed, TRUE);
-  gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook),
-                            GTK_WIDGET (embed), gtk_label_new ("note-view"));
+  gd_stack_add_named (priv->stack, GTK_WIDGET (embed), "note-view");
   priv->note_stage = gtk_clutter_embed_get_stage (GTK_CLUTTER_EMBED (embed));
 
   /* Signals */
@@ -261,9 +258,13 @@ bjb_window_base_switch_to (BjbWindowBase *bwb, BjbWindowViewType type)
   {
     priv->note = NULL;
     bjb_main_view_connect_signals (priv->view);
+    gd_stack_set_visible_child_name (priv->stack, "main-view");
   }
 
-  gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), type);
+  else
+  {
+    gd_stack_set_visible_child_name (priv->stack, "note-view");
+  }
 }
 
 BijiNoteBook *


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