[maemo-commits] [maemo-commits] r12723 - in projects/haf/trunk/hildon-desktop: . src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Jul 12 10:27:54 EEST 2007
Author: jobi
Date: 2007-07-12 10:27:51 +0300 (Thu, 12 Jul 2007)
New Revision: 12723

Modified:
   projects/haf/trunk/hildon-desktop/ChangeLog
   projects/haf/trunk/hildon-desktop/src/hd-app-menu-dialog.c
   projects/haf/trunk/hildon-desktop/src/hd-applications-menu-settings-l10n.h
Log:

2007-07-11  Johan Bilien  <johan.bilien at nokia.com>

	* src/hd-app-menu-dialog.c:
	- make Ok button insensitive in Rename and New dialogs when the
	entry is empty
	- add corresponding insensitive message
	- use correct strings for both.
	Fixes: NB#63129



Modified: projects/haf/trunk/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-desktop/ChangeLog	2007-07-11 14:42:49 UTC (rev 12722)
+++ projects/haf/trunk/hildon-desktop/ChangeLog	2007-07-12 07:27:51 UTC (rev 12723)
@@ -1,3 +1,12 @@
+2007-07-11  Johan Bilien  <johan.bilien at nokia.com>
+
+	* src/hd-app-menu-dialog.c:
+	- make Ok button insensitive in Rename and New dialogs when the
+	entry is empty
+	- add corresponding insensitive message
+	- use correct strings for both.
+	Fixes: NB#63129
+
 2007-07-11  Lucas Rocha  <lucas.rocha at nokia.com>
 
 	* libhildondesktop/hildon-desktop-popup-menu.c: reduce 4px on scroll

Modified: projects/haf/trunk/hildon-desktop/src/hd-app-menu-dialog.c
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hd-app-menu-dialog.c	2007-07-11 14:42:49 UTC (rev 12722)
+++ projects/haf/trunk/hildon-desktop/src/hd-app-menu-dialog.c	2007-07-12 07:27:51 UTC (rev 12723)
@@ -256,11 +256,22 @@
 }
 
 static void
+hd_app_menu_dialog_entry_changed (GtkEntry *entry, GtkWidget *button)
+{
+  const gchar *name;
+
+  name = gtk_entry_get_text (entry);
+
+  gtk_widget_set_sensitive (button, g_utf8_strlen (name, -1) != 0);
+}
+
+static void
 hd_app_menu_dialog_new_category (HDAppMenuDialog *dialog)
 {
   GtkWidget            *new_dialog;
   GtkWidget            *entry;
   GtkWidget            *caption;
+  GtkWidget            *ok_button, *cancel_button;
   GtkSizeGroup         *size_group;
   gint                  response;
   const gchar          *name;
@@ -269,14 +280,28 @@
                                             GTK_WINDOW (dialog),
                                             GTK_DIALOG_MODAL |
                                               GTK_DIALOG_DESTROY_WITH_PARENT,
-                                              GTK_STOCK_OK,
-                                              GTK_RESPONSE_OK,
-                                              GTK_STOCK_CANCEL,
-                                              GTK_RESPONSE_CANCEL,
-                                              NULL);
+                                            NULL);
+
+  ok_button = gtk_dialog_add_button (GTK_DIALOG (new_dialog),
+                                     HD_APP_MENU_DIALOG_NEW_OK,
+                                     GTK_RESPONSE_OK);
+  hildon_helper_set_insensitive_message (ok_button,
+                                         HD_APP_MENU_DIALOG_NEW_NAME_FIRST);
+  gtk_widget_set_sensitive (ok_button, FALSE);
+  gtk_widget_show (ok_button);
+
+  cancel_button = gtk_dialog_add_button (GTK_DIALOG (new_dialog),
+                                         HD_APP_MENU_DIALOG_NEW_CANCEL,
+                                         GTK_RESPONSE_CANCEL);
+  gtk_widget_show (cancel_button);
+
   gtk_dialog_set_has_separator (GTK_DIALOG (new_dialog), FALSE);
 
   entry = gtk_entry_new ();
+  g_signal_connect (entry, "changed",
+                    G_CALLBACK (hd_app_menu_dialog_entry_changed),
+                    ok_button);
+
   gtk_widget_show (entry);
 
   size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
@@ -302,9 +327,6 @@
     GtkTreeIter         iter;
     GdkPixbuf          *icon;
 
-    if (g_utf8_strlen (name, -1) == 0)
-      return;
-
     icon = get_icon (ICON_FOLDER, ICON_SIZE);
 
     gtk_tree_store_append (GTK_TREE_STORE (dialog->priv->model), &iter, NULL);
@@ -329,6 +351,7 @@
   GtkWidget            *new_dialog;
   GtkWidget            *entry;
   GtkWidget            *caption;
+  GtkWidget            *ok_button, *cancel_button;
   GtkSizeGroup         *size_group;
   gint                  response;
   const gchar          *name;
@@ -342,20 +365,37 @@
                       TREE_MODEL_LOCALIZED_NAME, &name,
                       -1);
 
+  g_return_if_fail (name);
+
   new_dialog = gtk_dialog_new_with_buttons (HD_APP_MENU_DIALOG_RENAME_TITLE,
                                             GTK_WINDOW (dialog),
                                             GTK_DIALOG_MODAL |
                                               GTK_DIALOG_DESTROY_WITH_PARENT,
-                                              GTK_STOCK_OK,
-                                              GTK_RESPONSE_OK,
-                                              GTK_STOCK_CANCEL,
-                                              GTK_RESPONSE_CANCEL,
                                               NULL);
+
+  ok_button = gtk_dialog_add_button (GTK_DIALOG (new_dialog),
+                                     HD_APP_MENU_DIALOG_RENAME_OK,
+                                     GTK_RESPONSE_OK);
+  hildon_helper_set_insensitive_message (ok_button,
+                                         HD_APP_MENU_DIALOG_RENAME_NAME_FIRST);
+  if (g_utf8_strlen (name, -1) == 0)
+    gtk_widget_set_sensitive (ok_button, FALSE);
+  gtk_widget_show (ok_button);
+
+  cancel_button = gtk_dialog_add_button (GTK_DIALOG (new_dialog),
+                                         HD_APP_MENU_DIALOG_RENAME_CANCEL,
+                                         GTK_RESPONSE_CANCEL);
+  gtk_widget_show (cancel_button);
+
   gtk_dialog_set_has_separator (GTK_DIALOG (new_dialog), FALSE);
 
   entry = gtk_entry_new ();
   gtk_entry_set_text (GTK_ENTRY (entry), name);
+  gtk_entry_select_region (GTK_ENTRY (entry), 0, -1);
   gtk_widget_show (entry);
+  g_signal_connect (entry, "changed",
+                    G_CALLBACK (hd_app_menu_dialog_entry_changed),
+                    ok_button);
 
   size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
   caption = hildon_caption_new (size_group,
@@ -377,17 +417,11 @@
 
   if (response == GTK_RESPONSE_OK && GTK_IS_TREE_STORE (dialog->priv->model))
   {
-    if (g_utf8_strlen (name, -1) == 0)
-    {
-      /* FIXME: Show banner foo*/
-      return;
-    }
+      gtk_tree_store_set (GTK_TREE_STORE (dialog->priv->model), &iter,
+                          TREE_MODEL_NAME, name,
+                          TREE_MODEL_LOCALIZED_NAME, name,
+                          -1);
 
-    gtk_tree_store_set (GTK_TREE_STORE (dialog->priv->model), &iter,
-                        TREE_MODEL_NAME, name,
-                        TREE_MODEL_LOCALIZED_NAME, name,
-                        -1);
-
   }
 
   gtk_widget_destroy (new_dialog);

Modified: projects/haf/trunk/hildon-desktop/src/hd-applications-menu-settings-l10n.h
===================================================================
--- projects/haf/trunk/hildon-desktop/src/hd-applications-menu-settings-l10n.h	2007-07-11 14:42:49 UTC (rev 12722)
+++ projects/haf/trunk/hildon-desktop/src/hd-applications-menu-settings-l10n.h	2007-07-12 07:27:51 UTC (rev 12723)
@@ -32,6 +32,9 @@
 
 /* dgettext macros */
 #define _OAT(a)                     dgettext("osso-applet-tasknavigator", (a))
+#define _HL(a)                      dgettext("hildon-libs", (a))
+#define _HCS(a)                     dgettext("hildon-common-strings", (a))
+#define _HFM(a)                     dgettext("hildon-fm", (a))
 
 #define HD_APP_MENU_DIALOG_TITLE                _OAT("tncpa_ti_of_title")
 
@@ -44,8 +47,14 @@
 
 #define HD_APP_MENU_DIALOG_NEW_TITLE            _OAT("tncpa_bv_of_new_category")
 #define HD_APP_MENU_DIALOG_NEW_NAME             _OAT("tncpa_lb_name")
+#define HD_APP_MENU_DIALOG_NEW_OK               _HFM("ckdg_bd_new_folder_dialog_ok")
+#define HD_APP_MENU_DIALOG_NEW_CANCEL           _HFM("ckdg_bd_new_folder_dialog_cancel")
+#define HD_APP_MENU_DIALOG_NEW_NAME_FIRST       _HCS("ckdg_ib_enter_name")
 
 #define HD_APP_MENU_DIALOG_RENAME_TITLE         _OAT("tncpa_bv_of_rename_category")
+#define HD_APP_MENU_DIALOG_RENAME_OK            _HL("ckdg_bd_rename_object_dialog_ok")
+#define HD_APP_MENU_DIALOG_RENAME_CANCEL        _HL("ckdg_bd_rename_object_dialog_cancel")
+#define HD_APP_MENU_DIALOG_RENAME_NAME_FIRST    _HCS("ckdg_ib_enter_name")
 
 #define HD_APP_MENU_DIALOG_ONLY_EMPTY           _OAT("tncpa_ib_only_empty_fold")
 


More information about the maemo-commits mailing list