aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-02-09 09:22:00 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-02-09 09:22:00 +0000
commit41f1b58babb4560450045f02c283e3b0bc0f1c96 (patch)
tree7537fab39b754308ccf9dd6dcb729b42cc8de010 /src
parent61c83a18c59f9fb538775c96a13b51d388d522f2 (diff)
prohibit move/copy from/to queue folders, and move/copy to virtual folders.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@995 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/folderview.c8
-rw-r--r--src/summaryview.c13
2 files changed, 18 insertions, 3 deletions
diff --git a/src/folderview.c b/src/folderview.c
index 1ba79a79..0aa42588 100644
--- a/src/folderview.c
+++ b/src/folderview.c
@@ -2886,7 +2886,9 @@ static gboolean folderview_drag_motion_cb(GtkWidget *widget,
gtk_tree_model_get_iter(model, &iter, path);
gtk_tree_model_get(model, &iter, COL_FOLDER_ITEM, &item, -1);
src_item = folderview->summaryview->folder_item;
- if (src_item && src_item != item)
+ if (src_item && src_item != item &&
+ src_item->stype != F_QUEUE && item->stype != F_QUEUE &&
+ item->stype != F_VIRTUAL)
acceptable = FOLDER_ITEM_CAN_ADD(item);
} else
remove_auto_expand_timeout(folderview);
@@ -2982,7 +2984,9 @@ static void folderview_drag_received_cb(GtkWidget *widget,
gtk_tree_model_get(model, &iter, COL_FOLDER_ITEM, &item, -1);
src_item = folderview->summaryview->folder_item;
- if (FOLDER_ITEM_CAN_ADD(item) && src_item && src_item != item) {
+ if (FOLDER_ITEM_CAN_ADD(item) && src_item && src_item != item &&
+ src_item->stype != F_QUEUE && item->stype != F_QUEUE &&
+ item->stype != F_VIRTUAL) {
if ((context->actions & GDK_ACTION_MOVE) != 0 &&
FOLDER_ITEM_CAN_ADD(src_item)) {
summary_move_selected_to(folderview->summaryview, item);
diff --git a/src/summaryview.c b/src/summaryview.c
index a11f9deb..67770b29 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -3147,6 +3147,8 @@ static void summary_move_row_to(SummaryView *summaryview, GtkTreeIter *iter,
MsgInfo *msginfo;
g_return_if_fail(to_folder != NULL);
+ if (to_folder->stype == F_QUEUE || to_folder->stype == F_VIRTUAL)
+ return;
GET_MSG_INFO(msginfo, iter);
@@ -3188,7 +3190,11 @@ void summary_move_selected_to(SummaryView *summaryview, FolderItem *to_folder)
if (!to_folder) return;
if (!summaryview->folder_item ||
- FOLDER_TYPE(summaryview->folder_item->folder) == F_NEWS) return;
+ FOLDER_TYPE(summaryview->folder_item->folder) == F_NEWS)
+ return;
+ if (summaryview->folder_item->stype == F_QUEUE ||
+ to_folder->stype == F_QUEUE || to_folder->stype == F_VIRTUAL)
+ return;
if (summary_is_locked(summaryview)) return;
@@ -3239,6 +3245,8 @@ static void summary_copy_row_to(SummaryView *summaryview, GtkTreeIter *iter,
MsgInfo *msginfo;
g_return_if_fail(to_folder != NULL);
+ if (to_folder->stype == F_QUEUE || to_folder->stype == F_VIRTUAL)
+ return;
GET_MSG_INFO(msginfo, iter);
@@ -3280,6 +3288,9 @@ void summary_copy_selected_to(SummaryView *summaryview, FolderItem *to_folder)
if (!to_folder) return;
if (!summaryview->folder_item) return;
+ if (summaryview->folder_item->stype == F_QUEUE ||
+ to_folder->stype == F_QUEUE || to_folder->stype == F_VIRTUAL)
+ return;
if (summary_is_locked(summaryview)) return;