diff --git a/kmheaders.cpp b/kmheaders.cpp index d8a24c2be..e809bd466 100644 --- a/kmheaders.cpp +++ b/kmheaders.cpp @@ -2061,6 +2061,7 @@ void KMHeaders::slotRMB() mOwner->folderToPopupMenu( dir, TRUE, this, &mMenuToFolder, msgMoveMenu ); QPopupMenu *msgCopyMenu = new QPopupMenu(); mOwner->folderToPopupMenu( dir, FALSE, this, &mMenuToFolder, msgCopyMenu ); + QPopupMenu *setStatusMenu = new QPopupMenu(); mOwner->replyAction->plug(menu); mOwner->replyAllAction->plug(menu); @@ -2071,8 +2072,14 @@ void KMHeaders::slotRMB() mOwner->editAction->plug(menu); menu->insertItem(i18n("&Move to"), msgMoveMenu); menu->insertItem(i18n("&Copy to"), msgCopyMenu); + menu->insertItem(i18n("&Set Status"), setStatusMenu); + mOwner->newAction->plug(setStatusMenu); + mOwner->unreadAction->plug(setStatusMenu); + mOwner->readAction->plug(setStatusMenu); + mOwner->repliedAction->plug(setStatusMenu); + mOwner->queueAction->plug(setStatusMenu); + mOwner->sentAction->plug(setStatusMenu); mOwner->deleteAction->plug(menu); - menu->exec (QCursor::pos(), 0); delete menu; } diff --git a/kmmainwin.cpp b/kmmainwin.cpp index b1819dfb9..3e79a11a5 100644 --- a/kmmainwin.cpp +++ b/kmmainwin.cpp @@ -1512,17 +1512,17 @@ void KMMainWin::setupMenuBar() SLOT(slotEditMsg()), actionCollection(), "edit" ); //----- Set status submenu - (void) new KAction( i18n("New"), 0, this, + newAction= new KAction( i18n("New"), 0, this, SLOT(slotSetMsgStatusNew()), actionCollection(), "status_new"); - (void) new KAction( i18n("Unread"), 0, this, + unreadAction=new KAction( i18n("Unread"), 0, this, SLOT(slotSetMsgStatusUnread()), actionCollection(), "status_unread"); - (void) new KAction( i18n("Read"), 0, this, + readAction=new KAction( i18n("Read"), 0, this, SLOT(slotSetMsgStatusRead()), actionCollection(), "status_read"); - (void) new KAction( i18n("Replied"), 0, this, + repliedAction= new KAction( i18n("Replied"), 0, this, SLOT(slotSetMsgStatusReplied()), actionCollection(), "status_replied"); - (void) new KAction( i18n("Queued"), 0, this, + queueAction=new KAction( i18n("Queued"), 0, this, SLOT(slotSetMsgStatusQueued()), actionCollection(), "status_queued"); - (void) new KAction( i18n("Sent"), 0, this, + sentAction=new KAction( i18n("Sent"), 0, this, SLOT(slotSetMsgStatusSent()), actionCollection(), "status_sent"); KActionMenu *moveActionMenu = new KActionMenu( i18n("&Move to" ), diff --git a/kmmainwin.h b/kmmainwin.h index 64fb10a8a..d834c276f 100644 --- a/kmmainwin.h +++ b/kmmainwin.h @@ -77,7 +77,8 @@ public: static void cleanup(); KAction *replyAction, *replyAllAction, *replyListAction, *forwardAction, *redirectAction, - *deleteAction, *saveAsAction, *bounceAction, *editAction; + *deleteAction, *saveAsAction, *bounceAction, *editAction, + *newAction,*unreadAction,*readAction,*repliedAction,*queueAction,*sentAction; public slots: virtual void show();