[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