+ gboolean forbidden = TRUE;
+
+ /* check the folder rules for the destination */
+ folder = tree_path_to_folder (dest_model, dest_row);
+ if (folder) {
+ ModestTnyFolderRules rules =
+ modest_tny_folder_get_rules (folder);
+ forbidden = rules & MODEST_FOLDER_RULES_FOLDER_NON_WRITEABLE;
+ if (forbidden)
+ g_debug ("folder rules: cannot write to that folder");
+ g_object_unref (folder);
+ }
+
+ if (!forbidden) {
+ /* check the folder rules for the source */
+ folder = tree_path_to_folder (source_model, helper->source_row);
+ if (folder) {
+ ModestTnyFolderRules rules =
+ modest_tny_folder_get_rules (folder);
+ forbidden = rules & MODEST_FOLDER_RULES_FOLDER_NON_MOVEABLE;
+ if (forbidden)
+ g_debug ("folder rules: cannot move that folder");
+ g_object_unref (folder);
+ }
+ }