[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: Re: patch for Right Mouse popup in Message and Headers Window
From: Seth Chaiklin <seth () psy ! au ! dk>
Date: 2001-03-18 0:30:24
[Download RAW message or body]
Sorry....here is the patch.
--=20
seth@psy.au.dk
seth@schutz.psy.au.dk
["rmb2.patch" (text/x-c++)]
--- kmmainwin.cpp.orig Mon Mar 5 13:36:24 2001
+++ kmmainwin.cpp Sat Mar 17 22:30:49 2001
@@ -1350,7 +1364,11 @@
//-----------------------------------------------------------------------------
void KMMainWin::slotMsgPopup(const KURL &aUrl, const QPoint& aPoint)
{
+
KPopupMenu* menu = new KPopupMenu;
+ KPopupMenu *setStatusMenu = new KPopupMenu();
+ (void) KMMainWin::updateMessageMenu();
+
mUrlCurrent = aUrl;
@@ -1384,23 +1402,34 @@
}
else
{
- // popup somewhere else on the document
+ // popup somewhere else (i.e., not a URL) on the message
replyAction->plug(menu);
replyAllAction->plug(menu);
forwardAction->plug(menu);
redirectAction->plug(menu);
+ bounceAction->plug(menu);
menu->insertSeparator();
- menu->insertItem(i18n("&Move..."), this,
- SLOT(slotMoveMsg()), Key_M);
- menu->insertItem(i18n("&Copy..."), this,
- SLOT(slotCopyMsg()), Key_C);
+ menu->insertItem(i18n("&Move to"), moveMenu);
+ menu->insertItem(i18n("&Copy to"), copyMenu);
+ menu->insertItem(i18n("&Set Status"), setStatusMenu);
+ newAction->plug(setStatusMenu);
+ unreadAction->plug(setStatusMenu);
+ readAction->plug(setStatusMenu);
+ repliedAction->plug(setStatusMenu);
+ queueAction->plug(setStatusMenu);
+ sentAction->plug(setStatusMenu);
+ menu->insertSeparator();
+ printAction->plug(menu);
+ saveAsAction->plug(menu);
+ if ((mFolder == kernel->outboxFolder()) || (mFolder == kernel->draftsFolder()))
+
+ editAction->plug(menu);
menu->insertSeparator();
deleteAction->plug(menu);
menu->popup(aPoint, 0);
}
}
-
//-----------------------------------------------------------------------------
void KMMainWin::getAccountMenu()
{
@@ -1426,7 +1455,7 @@
KStdAccel::key(KStdAccel::Save),
this, SLOT(slotSaveMsg()), actionCollection(), "save_as" );
- KStdAction::print (this, SLOT(slotPrintMsg()), actionCollection());
+ printAction = KStdAction::print (this, SLOT(slotPrintMsg()), actionCollection());
(void) new KAction( i18n("Compact all &folders"), 0,
kernel->folderMgr(), SLOT(compactAll()),
@@ -1549,7 +1586,9 @@
i++;
}
- editAction = new KAction( i18n("Edi&t..."), Key_T, this,
+
+// How to make this contextual? setItemEnabled(editAction, mFolder ? ((mFolder != \
kernel->outboxFolder()) && (mFolder != kernel->draftsFolder())) : false ); + \
editAction = new KAction( i18n("Edi&t..."), Key_T, this, SLOT(slotEditMsg()), \
actionCollection(), "edit" );
//----- Set status submenu
--- kmmainwin.h.orig Wed Mar 7 02:19:00 2001
+++ kmmainwin.h Sat Mar 17 22:56:33 2001
@@ -78,7 +78,8 @@
KAction *replyAction, *replyAllAction, *replyListAction,
*forwardAction, *redirectAction,
*deleteAction, *saveAsAction, *bounceAction, *editAction,
- *newAction,*unreadAction,*readAction,*repliedAction,*queueAction,*sentActio
n;
+ *newAction,*unreadAction,*readAction,*repliedAction,*queueAction,*sentActio
n,
+ *printAction;
public slots:
virtual void show();
--- kmheaders.cpp.orig Mon Mar 5 13:36:14 2001
+++ kmheaders.cpp Sat Mar 17 22:30:01 2001
@@ -2141,10 +2159,9 @@
mOwner->replyAction->plug(menu);
mOwner->replyAllAction->plug(menu);
mOwner->forwardAction->plug(menu);
+ mOwner->redirectAction->plug(menu);
mOwner->bounceAction->plug(menu);
menu->insertSeparator();
- mOwner->saveAsAction->plug(menu);
- mOwner->editAction->plug(menu);
menu->insertItem(i18n("&Move to"), msgMoveMenu);
menu->insertItem(i18n("&Copy to"), msgCopyMenu);
menu->insertItem(i18n("&Set Status"), setStatusMenu);
@@ -2154,6 +2171,12 @@
mOwner->repliedAction->plug(setStatusMenu);
mOwner->queueAction->plug(setStatusMenu);
mOwner->sentAction->plug(setStatusMenu);
+ menu->insertSeparator();
+ mOwner->printAction->plug(menu);
+ mOwner->saveAsAction->plug(menu);
+ if ((mFolder == kernel->outboxFolder()) || (mFolder == kernel->draftsFolder()))
+ mOwner->editAction->plug(menu);
+ menu->insertSeparator();
mOwner->deleteAction->plug(menu);
menu->exec (QCursor::pos(), 0);
delete menu;
_______________________________________________
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