[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: RMB patch for Folder Pane
From: Seth Chaiklin <seth () psy ! au ! dk>
Date: 2001-03-30 18:26:19
[Download RAW message or body]
Enjoy....
--=20
seth@psy.au.dk
seth@schutz.psy.au.dk
["Local+IMAPFolderRMB.patch" (text/x-c++)]
--- kmfoldertree.cpp.orig Fri Mar 30 14:17:05 2001
+++ kmfoldertree.cpp Fri Mar 30 15:06:14 2001
@@ -25,6 +25,7 @@
#include "kmfolder.h"
#include "kmfoldertree.h"
#include "kmfolderdia.h"
+#include "kmkernel.h"
#include "kmcomposewin.h"
#include "kmacctmgr.h"
#include "kmaccount.h"
@@ -724,34 +725,47 @@
QPopupMenu *folderMenu = new QPopupMenu;
KMFolderTreeItem* fti = static_cast<KMFolderTreeItem*>(lvi);
- if (!fti || !fti->folder || fti->folder->isDir())
- return;
- int m1 = folderMenu->insertItem(i18n("&Create Child Folder..."), this,
- SLOT(addChildFolder()));
- int m2 = folderMenu->insertItem(i18n("&Modify..."), topLevelWidget(),
- SLOT(slotModifyFolder()));
+ if (!fti )
+ return;
+ // ignore IMAP root folders
+ if (fti && fti->folder && fti->folder->account() && fti->folder->isDir())
+ return;
+ if ((!fti->folder || fti->folder->isDir()))
+ {
+ folderMenu->insertItem(i18n("&Create Child Folder..."), this,
+ SLOT(addChildFolder()));
+ folderMenu-> insertItem(i18n("Compact All &Folders"),
+ kernel->folderMgr(), SLOT(compactAll()));
+ }
+ else {
+ if ((fti->folder == kernel->outboxFolder()) && (fti->folder->count()) )
+ folderMenu->insertItem(i18n("Send Queued"), topLevelWidget(),
+ SLOT(slotSendQueued()));
+ if (!fti->folder->isSystemFolder())
+ {
+ if (!fti->folder->account()) // protect from imap folders
+ folderMenu->insertItem(i18n("&Create Child Folder..."), this,
+ SLOT(addChildFolder()));
+ folderMenu->insertItem(i18n("&Modify..."), topLevelWidget(),
+ SLOT(slotModifyFolder()));
+ }
folderMenu->insertItem(i18n("C&ompact"), topLevelWidget(),
- SLOT(slotCompactFolder()));
- folderMenu->insertSeparator();
- folderMenu->insertItem(i18n("&Empty"), topLevelWidget(),
- SLOT(slotEmptyFolder()));
- int m3 = folderMenu->insertItem(i18n("&Remove"), topLevelWidget(),
- SLOT(slotRemoveFolder()));
- folderMenu->insertSeparator();
-
- int m4 = folderMenu->insertItem(i18n("&Post to mailing-list"),
- topLevelWidget(),
- SLOT(slotCompose()));
-
- if (fti->folder->account() || fti->folder->isSystemFolder()) {
- folderMenu->setItemEnabled(m1,false);
- folderMenu->setItemEnabled(m3,false);
+ SLOT(slotCompactFolder()));
+ {
+ folderMenu->insertSeparator();
+ folderMenu->insertItem(i18n("&Empty"), topLevelWidget(),
+ SLOT(slotEmptyFolder()));
+ if ( (!fti->folder->isSystemFolder()) && (!fti->folder->account()))
+ folderMenu->insertItem(i18n("&Remove"), topLevelWidget(),
+ SLOT(slotRemoveFolder()));
+ }
+ if (fti->folder->isMailingList()) {
+ folderMenu->insertSeparator();
+ folderMenu->insertItem(i18n("&Post to mailing-list"),
+ topLevelWidget(), SLOT(slotCompose()));
+ }
}
- if (fti->folder->isSystemFolder())
- folderMenu->setItemEnabled(m2,false);
- if (!fti->folder->isMailingList())
- folderMenu->setItemEnabled(m4,false);
folderMenu->exec (p, 0);
triggerUpdate();
@@ -809,6 +823,11 @@
setCurrentItem( qlvi );
}
}
+ // update if added to root Folder
+ if (!fti->folder || fti->folder->isDir()) {
+ doFolderListChanged();
+ reload();
+ }
}
//-----------------------------------------------------------------------------
_______________________________________________
Kmail Developers mailing list
Kmail@master.kde.org
http://master.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic