2008-08-25 Alberto Garcia <agarcia@igalia.com>
authorAlberto Garcia <agarcia@igalia.com>
Mon, 25 Aug 2008 16:54:18 +0000 (16:54 +0000)
committerAlberto Garcia <agarcia@igalia.com>
Mon, 25 Aug 2008 16:54:18 +0000 (16:54 +0000)
* src/hildon-app-menu.c
* examples/hildon-app-menu-example.c (create_menu): Update
examples and documentation to explain how to connect callbacks.

ChangeLog
examples/hildon-app-menu-example.c
src/hildon-app-menu.c

index b3ba303..472bf44 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-25  Alberto Garcia  <agarcia@igalia.com>
+
+       * src/hildon-app-menu.c
+       * examples/hildon-app-menu-example.c (create_menu): Update
+       examples and documentation to explain how to connect callbacks.
+
 2008-08-25  Alejandro Pinheiro <apinheiro@igalia.com>
 
        * examples/hildon-button-example.c
index 469d1df..321edb0 100644 (file)
@@ -44,33 +44,33 @@ create_menu                                     (GtkWidget *label)
 
     /* Options */
     button = gtk_button_new_with_label ("Menu command one");
-    g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label);
+    g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label);
     hildon_app_menu_append (menu, GTK_BUTTON (button));
 
     button = gtk_button_new_with_label ("Menu command two");
-    g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label);
+    g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label);
     hildon_app_menu_append (menu, GTK_BUTTON (button));
 
     button = gtk_button_new_with_label ("Menu command three");
-    g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label);
+    g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label);
     hildon_app_menu_append (menu, GTK_BUTTON (button));
 
     button = gtk_button_new_with_label ("Menu command four");
-    g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label);
+    g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label);
     hildon_app_menu_append (menu, GTK_BUTTON (button));
 
     button = gtk_button_new_with_label ("Menu command five");
-    g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label);
+    g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label);
     hildon_app_menu_append (menu, GTK_BUTTON (button));
 
     /* Filters */
     button = gtk_radio_button_new_with_label (NULL, "filter one");
-    g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label);
+    g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label);
     hildon_app_menu_add_filter (menu, GTK_BUTTON (button));
     gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE);
 
     button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (button), "filter two");
-    g_signal_connect (button, "clicked", G_CALLBACK (menu_button_clicked), label);
+    g_signal_connect_after (button, "clicked", G_CALLBACK (menu_button_clicked), label);
     hildon_app_menu_add_filter (menu, GTK_BUTTON (button));
     gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE);
 
index 0a39b19..5b26312 100644 (file)
  * with hildon_stackable_window_set_main_menu(). The menu will appear
  * when the user presses the window title bar.
  *
+ * The menu will be automatically hidden when one of its buttons is
+ * clicked. Use g_signal_connect_after() when connecting callbacks to
+ * buttons to make sure that they're called after the menu
+ * disappears. Alternatively, you can add the button to the menu
+ * before connecting any callback.
+ *
  * Alternatively, you can show it by hand using gtk_widget_show().
  *
  * <example>
  * <!-- -->
  * // Create a button and add it to the menu
  * button = gtk_button_new_with_label ("Menu command one");
- * g_signal_connect (button, "clicked", G_CALLBACK (button_one_clicked), userdata);
+ * g_signal_connect_after (button, "clicked", G_CALLBACK (button_one_clicked), userdata);
  * hildon_app_menu_append (menu, GTK_BUTTON (button));
  * <!-- -->
  * // Another button
  * button = gtk_button_new_with_label ("Menu command two");
- * g_signal_connect (button, "clicked", G_CALLBACK (button_two_clicked), userdata);
+ * g_signal_connect_after (button, "clicked", G_CALLBACK (button_two_clicked), userdata);
  * hildon_app_menu_append (menu, GTK_BUTTON (button));
  * <!-- -->
  * // Create a filter and add it to the menu
  * filter = gtk_radio_button_new_with_label (NULL, "Filter one");
  * gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (filter), FALSE);
- * g_signal_connect (filter, "clicked", G_CALLBACK (filter_one_clicked), userdata);
+ * g_signal_connect_after (filter, "clicked", G_CALLBACK (filter_one_clicked), userdata);
  * hildon_app_menu_add_filter (menu, GTK_BUTTON (filter));
  * <!-- -->
  * // Add a new filter
  * filter = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (filter), "Filter two");
  * gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (filter), FALSE);
- * g_signal_connect (filter, "clicked", G_CALLBACK (filter_two_clicked), userdata);
+ * g_signal_connect_after (filter, "clicked", G_CALLBACK (filter_two_clicked), userdata);
  * hildon_app_menu_add_filter (menu, GTK_BUTTON (filter));
  * <!-- -->
  * // Add the menu to the window