Adding a test-case for long hildon banner. Fixing the get_last_index function.
authorMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Fri, 21 Sep 2007 11:42:26 +0000 (11:42 +0000)
committerMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Fri, 21 Sep 2007 11:42:26 +0000 (11:42 +0000)
ChangeLog
examples/hildon-banner-long-example.c [new file with mode: 0644]
src/hildon-find-toolbar.c

index 66fa54f..cd400be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2007-09-21  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
 
+       * examples/hildon-banner-long-example.c: Adding a test-case for long
+       hildon banner.
+
+       * src/hildon-find-toolbar.c: Fixing the get_last_index function.
+
+2007-09-21  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
+
        * src/hildon-color-chooser-dialog.c:
        * src/hildon-color-chooser.c:
        * src/hildon-font-selection-dialog.c: Adding two patches by Tommi to fix
diff --git a/examples/hildon-banner-long-example.c b/examples/hildon-banner-long-example.c
new file mode 100644 (file)
index 0000000..7e3bf5a
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * This file is a part of hildon examples
+ *
+ * Copyright (C) 2005, 2006 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, 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include                                        <stdio.h>
+#include                                        <stdlib.h>
+#include                                        <glib.h>
+#include                                        <gtk/gtk.h>
+#include                                        "hildon.h"
+
+static gboolean
+on_fire_clicked                                 (GtkWidget *widget)
+{
+    GtkWidget* banner = hildon_banner_show_information (widget, NULL, "Batterie chargee. Pour economiser l'energie, debrancher le chargeur du bloc d'alimentation."); 
+    hildon_banner_set_timeout (HILDON_BANNER (banner), 9000);
+    return TRUE;
+}
+
+int
+main                                            (int argc, 
+                                                 char **args)
+{
+    gtk_init (&argc, &args);
+    
+    HildonProgram *program = hildon_program_get_instance ();
+
+    GtkWidget *window = hildon_window_new ();
+    hildon_program_add_window (program, HILDON_WINDOW (window));    
+
+    gtk_container_set_border_width (GTK_CONTAINER (window), 6);
+
+    GtkButton *button = GTK_BUTTON (gtk_button_new_with_label ("Fire"));
+    g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (on_fire_clicked), NULL);
+
+    g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
+
+    gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (button));
+
+    gtk_widget_show_all (GTK_WIDGET (window));
+    
+    gtk_main ();
+    return 0;
+}
+
+
index 006f9b0..213b425 100644 (file)
@@ -936,16 +936,22 @@ gint32
 hildon_find_toolbar_get_last_index              (HildonFindToolbar *toolbar)
 {
     HildonFindToolbarPrivate *priv;
-
+    GtkTreeModel *filter_model;
+    
     g_return_val_if_fail (HILDON_IS_FIND_TOOLBAR (toolbar), FALSE);
     priv = HILDON_FIND_TOOLBAR_GET_PRIVATE (toolbar);
 
+    filter_model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->entry_combo_box));
+
+    if (filter_model == NULL)
+        return 0;
+
     gint i = 0;
     GtkTreeIter iter;
 
-    gtk_tree_model_get_iter_first (hildon_find_toolbar_get_list_model (priv), &iter);
+    gtk_tree_model_get_iter_first (filter_model, &iter);
 
-    while (gtk_tree_model_iter_next (hildon_find_toolbar_get_list_model (priv), &iter))
+    while (gtk_tree_model_iter_next (filter_model, &iter))
         i++;
 
     return i;