aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-07-01 10:42:15 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-07-01 10:42:15 +0000
commit0ada6c15f7eef4e46d8f1b8964dad1193692a10a (patch)
treee767d7b49be640a123d3bf49ae751fa2af7ba441 /src/mainwindow.c
parent0839e124a6910f5d134ec3b229466cd470b0c7ea (diff)
implemented folder move.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@389 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/mainwindow.c')
-rw-r--r--src/mainwindow.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/mainwindow.c b/src/mainwindow.c
index 3af7d2dc..98180364 100644
--- a/src/mainwindow.c
+++ b/src/mainwindow.c
@@ -194,6 +194,9 @@ static void new_folder_cb (MainWindow *mainwin,
static void rename_folder_cb (MainWindow *mainwin,
guint action,
GtkWidget *widget);
+static void move_folder_cb (MainWindow *mainwin,
+ guint action,
+ GtkWidget *widget);
static void delete_folder_cb (MainWindow *mainwin,
guint action,
GtkWidget *widget);
@@ -469,6 +472,7 @@ static GtkItemFactoryEntry mainwin_entries[] =
{N_("/_File/_Folder/Create _new folder..."),
NULL, new_folder_cb, 0, NULL},
{N_("/_File/_Folder/_Rename folder..."),NULL, rename_folder_cb, 0, NULL},
+ {N_("/_File/_Folder/_Move folder..."), NULL, move_folder_cb, 0, NULL},
{N_("/_File/_Folder/_Delete folder"), NULL, delete_folder_cb, 0, NULL},
{N_("/_File/_Mailbox"), NULL, NULL, 0, "<Branch>"},
{N_("/_File/_Mailbox/Add _mailbox..."), NULL, add_mailbox_cb, 0, NULL},
@@ -1622,12 +1626,13 @@ typedef enum
M_FOLDER_NEWOK = 1 << 17,
M_FOLDER_RENOK = 1 << 18,
- M_FOLDER_DELOK = 1 << 19,
- M_MBOX_ADDOK = 1 << 20,
- M_MBOX_RMOK = 1 << 21,
- M_MBOX_CHKOK = 1 << 22,
- M_MBOX_CHKALLOK = 1 << 23,
- M_MBOX_REBUILDOK = 1 << 24
+ M_FOLDER_MOVEOK = 1 << 19,
+ M_FOLDER_DELOK = 1 << 20,
+ M_MBOX_ADDOK = 1 << 21,
+ M_MBOX_RMOK = 1 << 22,
+ M_MBOX_CHKOK = 1 << 23,
+ M_MBOX_CHKALLOK = 1 << 24,
+ M_MBOX_REBUILDOK = 1 << 25
} SensitiveCond;
static SensitiveCond main_window_get_current_state(MainWindow *mainwin)
@@ -1684,6 +1689,8 @@ static SensitiveCond main_window_get_current_state(MainWindow *mainwin)
else if (item->stype == F_NORMAL) {
state |= M_FOLDER_RENOK;
state |= M_FOLDER_DELOK;
+ if (item->folder->klass->move_folder)
+ state |= M_FOLDER_MOVEOK;
}
} else if (FOLDER_TYPE(item->folder) == F_NEWS) {
if (item->parent != NULL)
@@ -1766,6 +1773,7 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
} entry[] = {
{"/File/Folder/Create new folder...", M_UNLOCKED|M_FOLDER_NEWOK},
{"/File/Folder/Rename folder..." , M_UNLOCKED|M_FOLDER_RENOK},
+ {"/File/Folder/Move folder..." , M_UNLOCKED|M_FOLDER_MOVEOK},
{"/File/Folder/Delete folder" , M_UNLOCKED|M_FOLDER_DELOK},
{"/File/Mailbox/Add mailbox..." , M_UNLOCKED|M_MBOX_ADDOK},
{"/File/Mailbox/Remove mailbox" , M_UNLOCKED|M_MBOX_RMOK},
@@ -2638,6 +2646,11 @@ static void rename_folder_cb(MainWindow *mainwin, guint action,
folderview_rename_folder(mainwin->folderview);
}
+static void move_folder_cb(MainWindow *mainwin, guint action, GtkWidget *widget)
+{
+ folderview_move_folder(mainwin->folderview);
+}
+
static void delete_folder_cb(MainWindow *mainwin, guint action,
GtkWidget *widget)
{