[maemo-commits] [maemo-commits] r12916 - in projects/haf/trunk/hildon-desktop: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon Jul 30 17:31:15 EEST 2007
- Previous message: [maemo-commits] r12915 - projects/haf/trunk/hildon-fm/hildon-fm
- Next message: [maemo-commits] r12917 - projects/haf/trunk/hildon-fm/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: jobi Date: 2007-07-30 17:31:12 +0300 (Mon, 30 Jul 2007) New Revision: 12916 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 projects/haf/trunk/hildon-desktop/src/hn-app-button.c Log: 2007-07-30 Johan Bilien <johan.bilien at nokia.com> * src/hd-app-menu-dialog.c: - do not allow adding an existing category - show the corresponding info banner. Fixes: NB#63132 Modified: projects/haf/trunk/hildon-desktop/ChangeLog =================================================================== --- projects/haf/trunk/hildon-desktop/ChangeLog 2007-07-30 14:28:11 UTC (rev 12915) +++ projects/haf/trunk/hildon-desktop/ChangeLog 2007-07-30 14:31:12 UTC (rev 12916) @@ -1,5 +1,12 @@ 2007-07-30 Johan Bilien <johan.bilien at nokia.com> + * src/hd-app-menu-dialog.c: + - do not allow adding an existing category + - show the corresponding info banner. + Fixes: NB#63132 + +2007-07-30 Johan Bilien <johan.bilien at nokia.com> + * configure.ac: 0.0.27 2007-07-30 Johan Bilien <johan.bilien at nokia.com> 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-30 14:28:11 UTC (rev 12915) +++ projects/haf/trunk/hildon-desktop/src/hd-app-menu-dialog.c 2007-07-30 14:31:12 UTC (rev 12916) @@ -265,6 +265,39 @@ gtk_widget_set_sensitive (button, g_utf8_strlen (name, -1) != 0); } +static gboolean +hd_app_menu_dialog_category_exists (HDAppMenuDialog *dialog, + const gchar *category) +{ + HDAppMenuDialogPrivate *priv = dialog->priv; + GtkTreeIter iter; + gboolean valid; + gboolean found = FALSE; + + valid = gtk_tree_model_get_iter_first (priv->model, &iter); + + while (valid) + { + gchar *name = NULL; + + gtk_tree_model_get (priv->model, &iter, + TREE_MODEL_LOCALIZED_NAME, &name, + -1); + + if (name && g_str_equal (name, category)) + { + found = TRUE; + g_free (name); + break; + } + + g_free (name); + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + + return found; +} + static void hd_app_menu_dialog_new_category (HDAppMenuDialog *dialog) { @@ -318,27 +351,39 @@ FALSE, 0); - response = gtk_dialog_run (GTK_DIALOG (new_dialog)); + while (TRUE) + { + response = gtk_dialog_run (GTK_DIALOG (new_dialog)); - name = gtk_entry_get_text (GTK_ENTRY (entry)); + name = gtk_entry_get_text (GTK_ENTRY (entry)); - if (response == GTK_RESPONSE_OK && GTK_IS_TREE_STORE (dialog->priv->model)) - { - GtkTreeIter iter; - GdkPixbuf *icon; + if (response == GTK_RESPONSE_OK && GTK_IS_TREE_STORE (dialog->priv->model)) + { + GtkTreeIter iter; + GdkPixbuf *icon; - icon = get_icon (ICON_FOLDER, ICON_SIZE); + if (hd_app_menu_dialog_category_exists (dialog, name)) + { + hildon_banner_show_information (GTK_WIDGET (dialog), + NULL, + HD_APP_MENU_DIALOG_ALREADY_IN_USE); + continue; + } - gtk_tree_store_append (GTK_TREE_STORE (dialog->priv->model), &iter, NULL); + icon = get_icon (ICON_FOLDER, ICON_SIZE); - gtk_tree_store_set (GTK_TREE_STORE (dialog->priv->model), &iter, - TREE_MODEL_NAME, g_strdup (name), - TREE_MODEL_LOCALIZED_NAME, g_strdup (name), - TREE_MODEL_ICON, icon, - -1); + gtk_tree_store_append (GTK_TREE_STORE (dialog->priv->model), &iter, NULL); - g_object_unref (icon); + gtk_tree_store_set (GTK_TREE_STORE (dialog->priv->model), &iter, + TREE_MODEL_NAME, g_strdup (name), + TREE_MODEL_LOCALIZED_NAME, g_strdup (name), + TREE_MODEL_ICON, icon, + -1); + g_object_unref (icon); + } + break; + } gtk_widget_destroy (new_dialog); @@ -410,18 +455,29 @@ FALSE, FALSE, 0); + while (TRUE) + { + response = gtk_dialog_run (GTK_DIALOG (new_dialog)); - response = gtk_dialog_run (GTK_DIALOG (new_dialog)); + name = gtk_entry_get_text (GTK_ENTRY (entry)); - name = gtk_entry_get_text (GTK_ENTRY (entry)); + if (response == GTK_RESPONSE_OK && GTK_IS_TREE_STORE (dialog->priv->model)) + { + if (hd_app_menu_dialog_category_exists (dialog, name)) + { + hildon_banner_show_information (GTK_WIDGET (dialog), + NULL, + HD_APP_MENU_DIALOG_ALREADY_IN_USE); + continue; + } - if (response == GTK_RESPONSE_OK && GTK_IS_TREE_STORE (dialog->priv->model)) - { gtk_tree_store_set (GTK_TREE_STORE (dialog->priv->model), &iter, TREE_MODEL_NAME, name, TREE_MODEL_LOCALIZED_NAME, name, -1); + } + break; } 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-30 14:28:11 UTC (rev 12915) +++ projects/haf/trunk/hildon-desktop/src/hd-applications-menu-settings-l10n.h 2007-07-30 14:31:12 UTC (rev 12916) @@ -60,6 +60,7 @@ #define HD_APP_MENU_DIALOG_NO_APP_DEL _OAT("tncpa_ib_no_app_del") #define HD_APP_MENU_DIALOG_NO_APP_REN _OAT("tncpa_ib_no_app_ren") +#define HD_APP_MENU_DIALOG_ALREADY_IN_USE _HCS("ckdg_ib_folder_already_exists") #endif Modified: projects/haf/trunk/hildon-desktop/src/hn-app-button.c =================================================================== --- projects/haf/trunk/hildon-desktop/src/hn-app-button.c 2007-07-30 14:28:11 UTC (rev 12915) +++ projects/haf/trunk/hildon-desktop/src/hn-app-button.c 2007-07-30 14:31:12 UTC (rev 12916) @@ -410,12 +410,12 @@ menu = gtk_menu_new (); -#ifndef MAEMO_CHANGES +/*#ifndef MAEMO_CHANGES*/ /* If we attach it doesn't show up with VKB */ gtk_menu_attach_to_widget (GTK_MENU (menu), GTK_WIDGET (app_button), NULL); -#endif +/*#endif */ children = hd_wm_entry_info_get_children (info); for (l = children; l != NULL; l = l->next) {
- Previous message: [maemo-commits] r12915 - projects/haf/trunk/hildon-fm/hildon-fm
- Next message: [maemo-commits] r12917 - projects/haf/trunk/hildon-fm/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]