Do not return gboolean in GtkButton:clicked signal handlers
[hildon] / examples / hildon-banner-example.c
index 861eb40..a61158d 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * This file is a part of hildon examples
  *
- * Copyright (C) 2005, 2006 Nokia Corporation, all rights reserved.
+ * Copyright (C) 2005, 2006, 2009 Nokia Corporation, all rights reserved.
  *
  * Author: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
  * as published by the Free Software Foundation; version 2.1 of
- * the License.
+ * the License, or (at your option) any later version.
  *
  * This library is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  *
  */
 
-#include                                        <stdio.h>
-#include                                        <stdlib.h>
-#include                                        <glib.h>
-#include                                        <gtk/gtk.h>
-#include                                        "hildon.h"
+#include                                        <hildon/hildon.h>
+
+#ifndef HILDON_DISABLE_DEPRECATED
 
 static gboolean
 on_animation_idle                               (GtkWidget *banner)
 {
     gtk_widget_destroy (banner);
+    g_object_unref (banner);
     return FALSE;
 }
 
@@ -39,67 +38,80 @@ static gboolean
 on_progress_idle                                (GtkWidget *banner)
 {
     gtk_widget_destroy (banner);
+    g_object_unref (banner);
     return FALSE;
 }
 
-static gboolean
+#endif
+
+static void
 on_information_clicked                          (GtkWidget *widget)
 {
-    GtkWidget* banner = hildon_banner_show_information (widget, NULL, "Information banner"); 
+    GtkWidget* banner = hildon_banner_show_information (widget, NULL, "Information banner");
     hildon_banner_set_timeout (HILDON_BANNER (banner), 9000);
-    return TRUE;
 }
 
-static gboolean
+#ifndef HILDON_DISABLE_DEPRECATED
+
+static void
 on_animation_clicked                            (GtkWidget *widget)
 {
-    GtkWidget *banner = hildon_banner_show_animation (widget, NULL, "Animation banner"); 
-    g_timeout_add (2000, (gpointer) on_animation_idle, banner);
-    return TRUE;
+    GtkWidget *banner = hildon_banner_show_animation (widget, NULL, "Animation banner");
+    g_object_ref (banner);
+    gdk_threads_add_timeout (5000, (GSourceFunc) on_animation_idle, banner);
 }
 
-static gboolean
+static void
 on_progress_clicked                             (GtkWidget *widget)
 {
-    GtkWidget *banner = hildon_banner_show_progress (widget, NULL, "Progress banner"); 
-    g_timeout_add (2000, (gpointer) on_progress_idle, banner);
-    return TRUE;
+    GtkWidget *banner = hildon_banner_show_progress (widget, NULL, "Progress banner");
+    g_object_ref (banner);
+    gdk_threads_add_timeout (5000, (GSourceFunc) on_progress_idle, banner);
 }
 
+#endif
+
 int
-main                                            (int argc, 
-                                                 char **args)
+main                                            (int argc,
+                                                 char **argv)
 {
-    gtk_init (&argc, &args);
-    
-    HildonProgram *program = hildon_program_get_instance ();
+    HildonProgram *program;
+    GtkWidget *window, *vbox, *button1;
+#ifndef HILDON_DISABLE_DEPRECATED
+    GtkWidget *button2, *button3;
+#endif
 
-    GtkWidget *window = hildon_window_new ();
-    hildon_program_add_window (program, HILDON_WINDOW (window));    
+    hildon_gtk_init (&argc, &argv);
 
-    gtk_container_set_border_width (GTK_CONTAINER (window), 6);
+    window = hildon_window_new ();
+    program = hildon_program_get_instance ();
+    hildon_program_add_window (program, HILDON_WINDOW (window));
+
+    button1 = gtk_button_new_with_label ("Information");
+    g_signal_connect (button1, "clicked", G_CALLBACK (on_information_clicked), NULL);
+
+#ifndef HILDON_DISABLE_DEPRECATED
+    button2 = gtk_button_new_with_label ("Animation");
+    g_signal_connect (button2, "clicked", G_CALLBACK (on_animation_clicked), NULL);
 
-    GtkVBox *vbox = GTK_VBOX (gtk_vbox_new (6, FALSE));
-    GtkButton *button1 = GTK_BUTTON (gtk_button_new_with_label ("Information"));
-    g_signal_connect (G_OBJECT (button1), "clicked", G_CALLBACK (on_information_clicked), NULL);
+    button3 = gtk_button_new_with_label ("Progress");
+    g_signal_connect (button3, "clicked", G_CALLBACK (on_progress_clicked), NULL);
+#endif
 
-    GtkButton *button2 = GTK_BUTTON (gtk_button_new_with_label ("Animation"));
-    g_signal_connect (G_OBJECT (button2), "clicked", G_CALLBACK (on_animation_clicked), NULL);
+    vbox = gtk_vbox_new (6, FALSE);
+    gtk_box_pack_start (GTK_BOX (vbox), button1, TRUE, TRUE, 0);
+#ifndef HILDON_DISABLE_DEPRECATED
+    gtk_box_pack_start (GTK_BOX (vbox), button2, TRUE, TRUE, 0);
+    gtk_box_pack_start (GTK_BOX (vbox), button3, TRUE, TRUE, 0);
+#endif
 
-    GtkButton *button3 = GTK_BUTTON (gtk_button_new_with_label ("Progress"));
-    g_signal_connect (G_OBJECT (button3), "clicked", G_CALLBACK (on_progress_clicked), NULL);
+    gtk_container_set_border_width (GTK_CONTAINER (window), 6);
+    gtk_container_add (GTK_CONTAINER (window), vbox);
 
-    g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
+    gtk_widget_show_all (window);
 
-    gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button1), TRUE, TRUE, 0);
-    gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button2), TRUE, TRUE, 0);
-    gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button3), TRUE, TRUE, 0);
-    gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (vbox));
+    g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
 
-    gtk_widget_show_all (GTK_WIDGET (window));
-    
     gtk_main ();
     return 0;
 }
-
-