gtk_box_pack_end (GTK_BOX (priv->top_vbox), toolbar, FALSE, FALSE, 0);
}
}
+
+static void
+edit_mode_changed (ModestFolderWindow *folder_window,
+ gint edit_mode_id,
+ ModestFolderWindow *self)
+{
+ ModestFolderWindowPrivate *priv;
+ ModestFolderViewFilter filter = MODEST_FOLDER_VIEW_FILTER_NONE;
+
+ g_return_if_fail (MODEST_IS_FOLDER_WINDOW (self));
+ priv = MODEST_FOLDER_WINDOW_GET_PRIVATE (self);
+
+ switch (edit_mode_id) {
+ case EDIT_MODE_COMMAND_MOVE:
+ filter = MODEST_FOLDER_VIEW_FILTER_MOVEABLE;
+ break;
+ case EDIT_MODE_COMMAND_DELETE:
+ filter = MODEST_FOLDER_VIEW_FILTER_DELETABLE;
+ break;
+ case EDIT_MODE_COMMAND_RENAME:
+ filter = MODEST_FOLDER_VIEW_FILTER_RENAMEABLE;
+ break;
+ case MODEST_HILDON2_WINDOW_EDIT_MODE_NONE:
+ filter = MODEST_FOLDER_VIEW_FILTER_NONE;
+ break;
+ }
+
+ modest_folder_view_set_filter (MODEST_FOLDER_VIEW (priv->folder_view), filter);
+}
guint i;
gboolean found = FALSE;
gboolean cleared = FALSE;
+ ModestTnyFolderRules rules = 0;
g_return_val_if_fail (MODEST_IS_FOLDER_VIEW (data), FALSE);
priv = MODEST_FOLDER_VIEW_GET_PRIVATE (data);
}
}
+ if (retval && TNY_IS_FOLDER (instance)) {
+ rules = modest_tny_folder_get_rules (TNY_FOLDER (instance));
+ }
+
+ if (retval && (priv->filter & MODEST_FOLDER_VIEW_FILTER_DELETABLE)) {
+ if (TNY_IS_FOLDER (instance)) {
+ retval = !(rules & MODEST_FOLDER_RULES_FOLDER_NON_DELETABLE);
+ } else if (TNY_IS_ACCOUNT (instance)) {
+ retval = FALSE;
+ }
+ }
+
+ if (retval && (priv->filter & MODEST_FOLDER_VIEW_FILTER_RENAMEABLE)) {
+ if (TNY_IS_FOLDER (instance)) {
+ retval = !(rules & MODEST_FOLDER_RULES_FOLDER_NON_RENAMEABLE);
+ } else if (TNY_IS_ACCOUNT (instance)) {
+ retval = FALSE;
+ }
+ }
+
+ if (retval && (priv->filter & MODEST_FOLDER_VIEW_FILTER_MOVEABLE)) {
+ if (TNY_IS_FOLDER (instance)) {
+ retval = !(rules & MODEST_FOLDER_RULES_FOLDER_NON_MOVEABLE);
+ } else if (TNY_IS_ACCOUNT (instance)) {
+ retval = FALSE;
+ }
+ }
+
/* Free */
g_object_unref (instance);
MODEST_FOLDER_VIEW_FILTER_NONE = 0,
MODEST_FOLDER_VIEW_FILTER_CAN_HAVE_FOLDERS = 1 << 0,
MODEST_FOLDER_VIEW_FILTER_HIDE_MANDATORY_FOLDERS = 1 << 1,
+ MODEST_FOLDER_VIEW_FILTER_RENAMEABLE = 1 << 2,
+ MODEST_FOLDER_VIEW_FILTER_MOVEABLE = 1 << 3,
+ MODEST_FOLDER_VIEW_FILTER_DELETABLE = 1 << 4,
} ModestFolderViewFilter;
typedef struct _ModestFolderView ModestFolderView;