rendered paste bodyIndex: libmokoui/moko-tool-box.c
===================================================================
--- libmokoui/moko-tool-box.c (Revision 1737)
+++ libmokoui/moko-tool-box.c (Arbeitskopie)
@@ -40,6 +40,7 @@
GtkWidget* buttonbox; /* GtkHBox */
GtkWidget* searchbar_page; /* MokoFixed */
GtkWidget* entry; /* GtkEntry */
+ gboolean searchbar_is_visible;
} MokoToolBoxPriv;
/* add your signals here */
@@ -56,17 +57,8 @@
static void _button_release(GtkWidget* w, MokoToolBox* self)
{
- MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
- static int current_page = 1;
- gtk_notebook_set_current_page( GTK_NOTEBOOK(self), current_page );
- moko_debug( "moko_tool_box_button_release: current_page is now: %d", current_page );
-
- if( current_page == 1 )
- gtk_widget_grab_focus (GTK_WIDGET (priv->entry));
-
- current_page = 1 - current_page;
- g_signal_emit( G_OBJECT(self), current_page ? moko_tool_box_signals[SEARCHBOX_INVISIBLE] : moko_tool_box_signals[SEARCHBOX_VISIBLE], 0, NULL );
-
+ MokoToolBoxPriv *priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
+ moko_tool_box_make_search_visible (self, !priv->searchbar_is_visible);
}
static gboolean _entry_focus_in(GtkWidget *widget, GdkEventFocus *event, MokoToolBox* self)
@@ -113,6 +105,9 @@
moko_debug( "moko_tool_box_init" );
gtk_notebook_set_show_border( GTK_NOTEBOOK(self), FALSE );
gtk_notebook_set_show_tabs( GTK_NOTEBOOK(self), FALSE );
+
+ MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
+ priv->searchbar_is_visible = FALSE;
}
//FIXME 1st: rewrite moko_tool_box_new / moko_tool_box_new_with_search for using g_object properties
@@ -181,7 +176,21 @@
}
/* add new methods here */
+void moko_tool_box_make_search_visible(MokoToolBox *self, gboolean visible)
+{
+ MokoToolBoxPriv *priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
+ g_return_if_fail (priv->entry != NULL);
+ gtk_notebook_set_current_page( GTK_NOTEBOOK(self), visible );
+ moko_debug( "%s: current_page is now: %d", __FUNCTION__, visible );
+
+ if( visible )
+ gtk_widget_grab_focus (GTK_WIDGET (priv->entry));
+
+ priv->searchbar_is_visible = visible;
+ g_signal_emit( G_OBJECT(self), visible ? moko_tool_box_signals[SEARCHBOX_VISIBLE] : moko_tool_box_signals[SEARCHBOX_INVISIBLE], 0, NULL );
+}
+
void moko_tool_box_add_search_button(MokoToolBox* self)
{
#if 0
Index: libmokoui/moko-tool-box.h
===================================================================
--- libmokoui/moko-tool-box.h (Revision 1737)
+++ libmokoui/moko-tool-box.h (Arbeitskopie)
@@ -57,7 +57,9 @@
GtkWidget* moko_tool_box_new_with_search();
void moko_tool_box_clear(MokoToolBox* self);
-GtkWidget* moko_tool_box_get_button_box( MokoToolBox* self );
+void moko_tool_box_make_search_visible(MokoToolBox *self, gboolean visible);
+
+GtkWidget* moko_tool_box_get_button_box(MokoToolBox* self );
GtkWidget* moko_tool_box_get_entry(MokoToolBox* self);
GtkWidget* moko_tool_box_add_action_button(MokoToolBox* self);