OK button of new folder dialog.
* Add a new dimming rules to check folder depth, only
for Context Sensitive Menu of folder view.
* Fixes NB#60458, NB#61835
pmo-trunk-r2463
{ "/HeaderViewCSM/HeaderViewCSMHelp", NULL },
/* Contextual Menus (Folder View) */
- { "/FolderViewCSM/FolderViewCSMNewFolder", G_CALLBACK(modest_ui_dimming_rules_on_new_folder) },
+ { "/FolderViewCSM/FolderViewCSMNewFolder", G_CALLBACK(modest_ui_dimming_rules_on_csm_new_folder) },
{ "/FolderViewCSM/FolderViewCSMRenameFolder", G_CALLBACK(modest_ui_dimming_rules_on_rename_folder) },
{ "/FolderViewCSM/FolderViewCSMPasteMsgs", G_CALLBACK(modest_ui_dimming_rules_on_paste_msgs) },
{ "/FolderViewCSM/FolderViewCSMDeleteFolder", G_CALLBACK(modest_ui_dimming_rules_on_delete_folder) },
#define URI_ACTION_COPY "copy:"
static osso_context_t *osso_context = NULL;
+
+static void folder_name_insensitive_press (GtkWidget *widget, ModestWindow *window);
static void
on_modest_conf_update_interval_changed (ModestConf* self, const gchar *key,
const gchar *suggested_name,
gchar **folder_name)
{
+ GtkWidget *accept_btn = NULL;
GtkWidget *dialog, *entry, *label, *hbox;
+ GList *buttons = NULL;
gint result;
/* Ask the user for the folder name */
GTK_RESPONSE_REJECT,
NULL);
+ /* Add accept button (with unsensitive handler) */
+ buttons = gtk_container_get_children (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area));
+ accept_btn = GTK_WIDGET (buttons->next->data);
+ g_signal_connect (G_OBJECT (accept_btn), "insensitive-press", G_CALLBACK (folder_name_insensitive_press), parent_window);
+
/* Create label and entry */
label = gtk_label_new (label_text);
/* TODO: check that the suggested name does not exist */
return result;
}
+static void
+folder_name_insensitive_press (GtkWidget *widget, ModestWindow *window)
+{
+ hildon_banner_show_information (NULL, NULL, _("(empty)"));
+}
+
gint
modest_platform_run_new_folder_dialog (GtkWindow *parent_window,
TnyFolderStore *parent_folder,
}
gboolean
+modest_ui_dimming_rules_on_csm_new_folder (ModestWindow *win, gpointer user_data)
+{
+ ModestDimmingRule *rule = NULL;
+ gboolean dimmed = FALSE;
+
+ g_return_val_if_fail (MODEST_IS_MAIN_WINDOW(win), FALSE);
+ g_return_val_if_fail (MODEST_IS_DIMMING_RULE (user_data), FALSE);
+ rule = MODEST_DIMMING_RULE (user_data);
+
+ /* Check common new folder menu item dimming rules */
+ dimmed = modest_ui_dimming_rules_on_new_folder (win, user_data);
+
+ /* Check CSM specific dimming rules */
+ if (!dimmed) {
+ dimmed = _selected_folder_is_snd_level (MODEST_MAIN_WINDOW(win));
+ if (dimmed)
+ modest_dimming_rule_set_notification (rule, _("mail_in_ui_folder_create_error"));
+ }
+
+ return dimmed;
+}
+
+gboolean
modest_ui_dimming_rules_on_new_folder (ModestWindow *win, gpointer user_data)
{
ModestDimmingRule *rule = NULL;
/* Apply folder rules */
if (!dimmed) {
- dimmed = _selected_folder_is_snd_level (MODEST_MAIN_WINDOW(win));
- if (dimmed)
- modest_dimming_rule_set_notification (rule, _("mail_in_ui_folder_create_error"));
- }
- if (!dimmed) {
dimmed = _selected_folder_not_writeable (MODEST_MAIN_WINDOW(win));
if (dimmed)
modest_dimming_rule_set_notification (rule, _("mail_in_ui_folder_create_error"));
if (!gtk_tree_selection_get_selected (sel, &model, &iter))
goto frees;
path = gtk_tree_model_get_path (model, &iter);
- result = gtk_tree_path_get_depth (path) > 1;
+ result = gtk_tree_path_get_depth (path) > 2;
frees:
if (folder != NULL)
/* Menu & toolbar dimming rules */
gboolean modest_ui_dimming_rules_on_new_msg (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_new_folder (ModestWindow *win, gpointer user_data);
+gboolean modest_ui_dimming_rules_on_csm_new_folder (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_delete_folder (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_rename_folder (ModestWindow *win, gpointer user_data);
gboolean modest_ui_dimming_rules_on_sort (ModestWindow *win, gpointer user_data);