From: Sergio Villar Senin Date: Thu, 12 Jul 2007 11:16:36 +0000 (+0000) Subject: * Removed some comments X-Git-Tag: git_migration_finished~2815 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=07537ed7ca26f7512195af5dd6bd31b41cc0589a * Removed some comments * Fixes NB#63055 * Added query capabilities to the get_folders method of our local account store * Added the name Outbox for the local merged folder with the same name pmo-trunk-r2723 --- diff --git a/src/modest-local-folder-info.c b/src/modest-local-folder-info.c index 9c646a7..60bf668 100644 --- a/src/modest-local-folder-info.c +++ b/src/modest-local-folder-info.c @@ -41,7 +41,8 @@ typedef struct { const ModestLocalFolder ModestLocalFolderMap[] = { { TNY_FOLDER_TYPE_UNKNOWN, "", N_("")}, { TNY_FOLDER_TYPE_NORMAL, "", N_("")}, - { TNY_FOLDER_TYPE_INBOX, "inbox", N_("mcen_me_folder_inbox")}, + /* There is no special Inbox folder for local accounts */ +/* { TNY_FOLDER_TYPE_INBOX, "inbox", N_("mcen_me_folder_inbox")}, */ { TNY_FOLDER_TYPE_OUTBOX, "outbox", N_("mcen_me_folder_outbox")}, { TNY_FOLDER_TYPE_TRASH, "trash", N_("Trash")}, { TNY_FOLDER_TYPE_JUNK, "junk", N_("Junk")}, diff --git a/src/modest-mail-operation.c b/src/modest-mail-operation.c index de2b313..8e94e38 100644 --- a/src/modest-mail-operation.c +++ b/src/modest-mail-operation.c @@ -1641,8 +1641,6 @@ transfer_folder_cb (TnyFolder *folder, /* Free */ g_object_unref (helper->mail_op); g_slice_free (XFerMsgAsyncHelper, helper); - g_object_unref (folder); - g_object_unref (into); } void @@ -1693,10 +1691,6 @@ modest_mail_operation_xfer_folder (ModestMailOperation *self, /* Notify the queue */ modest_mail_operation_notify_end (self); } else { - /* Pick references for async calls */ - g_object_ref (folder); - g_object_ref (parent); - /* Create the helper */ helper = g_slice_new0 (XFerMsgAsyncHelper); helper->mail_op = g_object_ref(self); diff --git a/src/modest-tny-local-folders-account.c b/src/modest-tny-local-folders-account.c index 400391b..2f176f7 100644 --- a/src/modest-tny-local-folders-account.c +++ b/src/modest-tny-local-folders-account.c @@ -145,6 +145,52 @@ modest_tny_local_folders_account_add_extra_folder (ModestTnyLocalFoldersAccount g_object_ref (folder); } +static gboolean +modest_tny_local_folders_account_query_passes (TnyFolderStoreQuery *query, TnyFolder *folder) +{ + gboolean retval = FALSE; + + if (query && (tny_list_get_length (tny_folder_store_query_get_items (query)) > 0)) + { + TnyList *items = tny_folder_store_query_get_items (query); + TnyIterator *iterator; + iterator = tny_list_create_iterator (items); + + while (!tny_iterator_is_done (iterator)) + { + TnyFolderStoreQueryItem *item = (TnyFolderStoreQueryItem*) tny_iterator_get_current (iterator); + TnyFolderStoreQueryOption options = tny_folder_store_query_item_get_options (item); + regex_t *regex = tny_folder_store_query_item_get_regex (item); + + if ((options & TNY_FOLDER_STORE_QUERY_OPTION_SUBSCRIBED) && + tny_folder_is_subscribed (folder)) + retval = TRUE; + + if ((options & TNY_FOLDER_STORE_QUERY_OPTION_UNSUBSCRIBED) && + !(tny_folder_is_subscribed (folder))) + retval = TRUE; + + if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_NAME) + if (regexec (regex, tny_folder_get_name (folder), 0, NULL, 0) == 0) + retval = TRUE; + + if (regex && options & TNY_FOLDER_STORE_QUERY_OPTION_MATCH_ON_ID) + if (regexec (regex, tny_folder_get_id (folder), 0, NULL, 0) == 0) + retval = TRUE; + + g_object_unref (G_OBJECT (item)); + tny_iterator_next (iterator); + } + + g_object_unref (G_OBJECT (iterator)); + g_object_unref (G_OBJECT (items)); + } else + retval = TRUE; + + return retval; +} + + static void get_folders (TnyFolderStore *self, TnyList *list, TnyFolderStoreQuery *query, GError **err) { @@ -156,14 +202,13 @@ get_folders (TnyFolderStore *self, TnyList *list, TnyFolderStoreQuery *query, GE MODEST_TNY_LOCAL_FOLDERS_ACCOUNT_GET_CLASS (self)); parent_class->get_folders_func (self, list, query, err); - /* Add our extra folders: */ + /* Add our extra folders only if it passes the query */ GSList *iter = priv->list_extra_folders; - while (iter) - { + while (iter) { TnyFolder *folder = TNY_FOLDER (iter->data); - if (folder) - tny_list_append (list, G_OBJECT (folder)); + if (folder && modest_tny_local_folders_account_query_passes (query, folder)) + tny_list_prepend (list, G_OBJECT (folder)); iter = g_slist_next (iter); } @@ -225,7 +270,7 @@ void modest_tny_local_folders_account_add_merged_outbox_folders (ModestTnyLocalF /* All per-account outbox folders are merged into one folders * so that they appear as one outbox to the user: */ - TnyMergeFolder *merged_outbox = TNY_MERGE_FOLDER (tny_merge_folder_new()); + TnyMergeFolder *merged_outbox = TNY_MERGE_FOLDER (tny_merge_folder_new(_("mcen_me_folder_outbox"))); /* Set type to outbox (NB#61580) */ tny_merge_folder_set_folder_type (merged_outbox, TNY_FOLDER_TYPE_OUTBOX); diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index adfd3a7..fac5d9d 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -1346,10 +1346,7 @@ _folder_is_any_of_type (TnyFolder *folder, g_return_val_if_fail (TNY_IS_FOLDER(folder), FALSE); /* Get folder type */ - if (modest_tny_folder_is_local_folder (folder)) - folder_type = modest_tny_folder_get_local_folder_type (folder); - else - folder_type = modest_tny_folder_guess_folder_type (folder); + folder_type = modest_tny_folder_guess_folder_type (folder); /* Check foler type */ for (i=0; i < ntypes; i++) { diff --git a/src/widgets/modest-folder-view.c b/src/widgets/modest-folder-view.c index 5a22557..237f5de 100644 --- a/src/widgets/modest-folder-view.c +++ b/src/widgets/modest-folder-view.c @@ -130,7 +130,9 @@ static gboolean _clipboard_set_selected_data (ModestFolderView *folder_view, static void _clear_hidding_filter (ModestFolderView *folder_view); -static void on_row_changed_maybe_select_folder (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, +static void on_row_changed_maybe_select_folder (GtkTreeModel *tree_model, + GtkTreePath *path, + GtkTreeIter *iter, ModestFolderView *self); enum { @@ -937,7 +939,7 @@ filter_row (GtkTreeModel *model, guint i; gboolean found = FALSE; gboolean cleared = FALSE; - + g_return_val_if_fail (MODEST_IS_FOLDER_VIEW (data), FALSE); priv = MODEST_FOLDER_VIEW_GET_PRIVATE (data); @@ -975,8 +977,6 @@ filter_row (GtkTreeModel *model, retval = FALSE; } } - - /* The virtual local-folders folder store is also shown by default. */ /* Check hiding (if necessary) */ cleared = modest_email_clipboard_cleared (priv->clipboard); @@ -1070,7 +1070,7 @@ modest_folder_view_update_model (ModestFolderView *self, GTK_SORT_ASCENDING); gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (sortable), TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, - cmp_rows, NULL, NULL); + cmp_rows, NULL, NULL); /* Create filter model */ filter_model = gtk_tree_model_filter_new (sortable, NULL); @@ -1078,13 +1078,6 @@ modest_folder_view_update_model (ModestFolderView *self, filter_row, self, NULL); -/* if (priv->style == MODEST_FOLDER_VIEW_STYLE_SHOW_ONE) { */ -/* filter_model = gtk_tree_model_filter_new (sortable, NULL); */ -/* gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (filter_model), */ -/* filter_row, */ -/* self, */ -/* NULL); */ -/* } */ /* Set new model */ gtk_tree_view_set_model (GTK_TREE_VIEW(self), filter_model); @@ -1093,16 +1086,9 @@ modest_folder_view_update_model (ModestFolderView *self, g_signal_connect (G_OBJECT(filter_model), "row-inserted", (GCallback)on_row_changed_maybe_select_folder, self); - - -/* gtk_tree_view_set_model (GTK_TREE_VIEW(self), */ -/* (filter_model) ? filter_model : sortable); */ g_object_unref (model); - g_object_unref (filter_model); -/* if (filter_model) */ -/* g_object_unref (filter_model); */ - + g_object_unref (filter_model); g_object_unref (sortable); /* Force a reselection of the INBOX next time the widget is shown */ @@ -1560,12 +1546,13 @@ drag_and_drop_from_folder_view (GtkTreeModel *source_model, helper->delete_source, NULL, NULL); + + g_object_unref (G_OBJECT (mail_op)); } /* Frees */ g_object_unref (G_OBJECT (parent_folder)); g_object_unref (G_OBJECT (folder)); - g_object_unref (G_OBJECT (mail_op)); } /* @@ -2125,10 +2112,8 @@ on_row_changed_maybe_select_folder (GtkTreeModel *tree_model, GtkTreePath *path if (!MODEST_IS_FOLDER_VIEW(self)) return; - g_return_if_fail (MODEST_IS_FOLDER_VIEW (self)); priv = MODEST_FOLDER_VIEW_GET_PRIVATE (self); - if (priv->folder_to_select) { if (!modest_folder_view_select_folder (self, priv->folder_to_select, @@ -2144,10 +2129,10 @@ on_row_changed_maybe_select_folder (GtkTreeModel *tree_model, GtkTreePath *path gtk_tree_path_free (path); - } + } g_object_unref (priv->folder_to_select); priv->folder_to_select = NULL; - } + } }