[maemo-commits] [maemo-commits] r12829 - in projects/haf/trunk/hildon-1: . examples src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Jul 25 11:41:50 EEST 2007
Author: mdk
Date: 2007-07-25 11:41:48 +0300 (Wed, 25 Jul 2007)
New Revision: 12829

Added:
   projects/haf/trunk/hildon-1/examples/hildon-wizard-dialog-example.c
Modified:
   projects/haf/trunk/hildon-1/ChangeLog
   projects/haf/trunk/hildon-1/examples/Makefile.am
   projects/haf/trunk/hildon-1/src/hildon-wizard-dialog.c
Log:
Don't call the _set_sensitivity again after switching the page. Fixes NB#49374.
Adding an example for HildonWizardDialog that shows how to handle manual sensitivity setting on the wizard dialog.


Modified: projects/haf/trunk/hildon-1/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-1/ChangeLog	2007-07-25 08:07:38 UTC (rev 12828)
+++ projects/haf/trunk/hildon-1/ChangeLog	2007-07-25 08:41:48 UTC (rev 12829)
@@ -1,5 +1,15 @@
 2007-07-25  Michael Dominic Kostrzewa  <michael.kostrzewa at nokia.com> 
 
+	* src/hildon-wizard-dialog.c: Don't call the _set_sensitivity again after
+	switching the page. Fixes NB#49374.
+
+	* examples/Makefile.am:
+	* examples/hildon-wizard-dialog-example.c: Adding an example for
+	HildonWizardDialog that shows how to handle manual sensitivity setting on
+	the wizard dialog.
+
+2007-07-25  Michael Dominic Kostrzewa  <michael.kostrzewa at nokia.com> 
+
 	* configure.ac:
 	* src/Makefile.am:
 	* src/hildon-version.h.in:

Modified: projects/haf/trunk/hildon-1/examples/Makefile.am
===================================================================
--- projects/haf/trunk/hildon-1/examples/Makefile.am	2007-07-25 08:07:38 UTC (rev 12828)
+++ projects/haf/trunk/hildon-1/examples/Makefile.am	2007-07-25 08:41:48 UTC (rev 12829)
@@ -34,13 +34,19 @@
 					  hildon-bread-crumb-trail-example		\
 					  hildon-finger-example				\
 					  hildon-seekbar-example			\
-					  hildon-find-toolbar-example
+					  hildon-find-toolbar-example			\
+					  hildon-wizard-dialog-example
 
 # Hildon window
 hildon_window_example_LDADD		= $(HILDON_OBJ_LIBS)
 hildon_window_example_CFLAGS		= $(HILDON_OBJ_CFLAGS)
 hildon_window_example_SOURCES		= hildon-window-example.c
 
+# Hildon wizard dialog
+hildon_wizard_dialog_example_LDADD	= $(HILDON_OBJ_LIBS)
+hildon_wizard_dialog_example_CFLAGS	= $(HILDON_OBJ_CFLAGS)
+hildon_wizard_dialog_example_SOURCES	= hildon-wizard-dialog-example.c
+
 # Hildon find toolbar
 hildon_find_toolbar_example_LDADD	= $(HILDON_OBJ_LIBS)
 hildon_find_toolbar_example_CFLAGS	= $(HILDON_OBJ_CFLAGS)

Added: projects/haf/trunk/hildon-1/examples/hildon-wizard-dialog-example.c
===================================================================
--- projects/haf/trunk/hildon-1/examples/hildon-wizard-dialog-example.c	2007-07-25 08:07:38 UTC (rev 12828)
+++ projects/haf/trunk/hildon-1/examples/hildon-wizard-dialog-example.c	2007-07-25 08:41:48 UTC (rev 12829)
@@ -0,0 +1,76 @@
+/*
+ * This file is a part of hildon examples
+ *
+ * Copyright (C) 2005, 2006, 2007 Nokia Corporation, all rights reserved.
+ *
+ * Author: Michael Dominic Kostrzewa <michael.kostrzewa at 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"
+
+gboolean
+on_page_switch (GtkNotebook *notebook, 
+                GtkNotebookPage *page, 
+                guint num,
+                HildonWizardDialog *dialog);
+
+gboolean
+on_page_switch (GtkNotebook *notebook, 
+                GtkNotebookPage *page, 
+                guint num,
+                HildonWizardDialog *dialog)
+{
+    g_debug ("Page %d", num);
+
+    if (num == 1) {
+        g_debug ("Making next insensitive! %d", num);
+        gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), HILDON_WIZARD_DIALOG_NEXT, FALSE);
+    }
+    
+    return TRUE;
+}
+
+int
+main (int argc, char **args)
+{
+    gtk_init (&argc, &args);
+   
+    GtkWidget *notebook = gtk_notebook_new ();
+    GtkWidget *label_1 = gtk_label_new ("Page 1");
+    GtkWidget *label_2 = gtk_label_new ("Page 2");
+    GtkWidget *label_3 = gtk_label_new ("Page 3");
+
+    gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_1, NULL);
+    gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_2, NULL);
+    gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_3, NULL);
+
+    GtkWidget *dialog = hildon_wizard_dialog_new (NULL, "Wizard", GTK_NOTEBOOK (notebook));
+    g_signal_connect (G_OBJECT (notebook), "switch-page", G_CALLBACK (on_page_switch), dialog);
+
+    gtk_widget_show_all (dialog);
+    gtk_dialog_run (GTK_DIALOG (dialog));
+    
+    return 0;
+}
+
+

Modified: projects/haf/trunk/hildon-1/src/hildon-wizard-dialog.c
===================================================================
--- projects/haf/trunk/hildon-1/src/hildon-wizard-dialog.c	2007-07-25 08:07:38 UTC (rev 12828)
+++ projects/haf/trunk/hildon-1/src/hildon-wizard-dialog.c	2007-07-25 08:41:48 UTC (rev 12829)
@@ -459,11 +459,6 @@
     is_last = current == last;
     is_first = current == 0;
 
-    /* If first page, previous and finish are disabled, 
-       if last page, next is disabled */
-    make_buttons_sensitive (wizard_dialog,
-            !is_first, !is_first, !is_last);
-
     /* Don't let the dialog close */
     g_signal_stop_emission_by_name (wizard_dialog, "response");
 


More information about the maemo-commits mailing list