Bug 92905 - Folder Menu and Context Menu of a Folder should be the same
Summary: Folder Menu and Context Menu of a Folder should be the same
Status: RESOLVED WAITINGFORINFO
Alias: None
Product: kmail
Classification: Applications
Component: keys and menus (show other bugs)
Version: 1.7
Platform: Debian testing Linux
: NOR wishlist with 14 votes (vote)
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: junior-jobs
: 109656 125674 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-11-08 13:11 UTC by Unknown
Modified: 2012-08-19 00:47 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Unknown 2004-11-08 13:11:56 UTC
Version:           1.7 (using KDE KDE 3.3.1)
Installed from:    Debian testing/unstable Packages
OS:                Linux

(Maybe this is connected to 37771)

The Folder Menu and the Context Menu of a Folder should be the same, e.g. both should include "Delete Duplicate Messages" etc.
This is what I would expect in this case and it reduces mouse moving and/or key strokes.
Comment 1 Unknown 2004-11-08 13:25:51 UTC
Argh, sorry, this should be a wish, it's not a bug, is it possible to reassign it?
Comment 2 Iñaki Baz Castillo 2006-01-31 19:12:36 UTC
KDE 3.5.1 - Kmail 1.9.1

A local Folder selected (not IMAP):


Bar menu - "Folder":
**********************

- New Folder...
----------------------------------------
- Mark All Messages as Read
----------------------------------------
- Remove Duplicate Messages
----------------------------------------
- Check Mail in this Folder...
----------------------------------------
- Move All Messages to the Trash
- Delete Folder
----------------------------------------
- Prefer HTML to Plain Text
- Load External References
- Thread Messages
- Thread Messages slso by Subject
----------------------------------------
- Mailing List Management
- Assign Shortcut...
- Properties


Context menu "Folder":
***************************

- Mark All Messages as Read
----------------------------------------
- New Subfolder...
- Move Folder To ->
- Find Messages...
- Compact Folder
----------------------------------------
- Move All Messages to the Trash
----------------------------------------
- Assign Shortcut...
- Expire...
- Properties



I can's understand why both menus are similar but different.

The user is not usually pressing with the right mouse on the folder, so why not join both menus in just one? there will appear more options than now, but there will not confusion, it's not so terrible.

IMAP folders and local folders have different options, of course. So, why not the bar "Folder" menu shows the options refered to the selected folder? just the same as the context menu in each case.
Comment 3 Jonathan Marten 2006-11-22 17:37:20 UTC
*** Bug 125674 has been marked as a duplicate of this bug. ***
Comment 4 Jonathan Marten 2006-11-22 19:16:27 UTC
SVN commit 606990 by marten:

Apparently no objections, so...

Some changes to make menubar and popup menus more consistent (but still some way to go):
Menubar - Message has same "Mark Thread" submenu as popup
All popups with "Print", "Save" and "Save Attachments" in consistent order
Message window popup (when selected text) has same "Reply" menu as preview popup
Menubar - Folder - Mailing List Management has "..."
Folder list popup has "Empty" and "Delete" in consistent order

CCBUG: 92905
CCMAIL:kmail-devel@kde.org
GUI:



 M  +2 -6      branches/work/kdepim-3.5.5+/kmail/kmail_part.rc  
 M  +1 -2      branches/work/kdepim-3.5.5+/kmail/kmfoldertree.cpp  
 M  +1 -7      branches/work/kdepim-3.5.5+/kmail/kmheaders.cpp  
 M  +5 -1      branches/work/kdepim-3.5.5+/kmail/kmmainwidget.cpp  
 M  +2 -6      branches/work/kdepim-3.5.5+/kmail/kmmainwin.rc  
 M  +11 -3     branches/work/kdepim-3.5.5+/kmail/kmreadermainwin.cpp  


--- branches/work/kdepim-3.5.5+/kmail/kmail_part.rc #606989:606990
@@ -2,7 +2,7 @@
      the same menu entries at the same place in KMail and Kontact  -->
 
 <!DOCTYPE kpartgui>
-<kpartgui version="7" name="kmail_part" >
+<kpartgui version="8" name="kmail_part" >
  <MenuBar>
   <Menu noMerge="1" name="file" >
    <text>&amp;File</text>
@@ -126,11 +126,7 @@
    <Action name="move_to" />
    <Separator/> 
    <Action name="set_status" />
-   <Menu name="menubar_message_mark_thread_as">
-     <text>Mark Thread as</text>
-     <Action name="thread_watched" />
-     <Action name="thread_ignored" />
-   </Menu>
+   <Action name="thread_status" />
    <Separator/>
    <Action name="create_filter"/>
    <Menu name="apply_filter_actions" >
--- branches/work/kdepim-3.5.5+/kmail/kmfoldertree.cpp #606989:606990
@@ -1025,11 +1025,10 @@
       mMainWidget->action("compact")->plug(folderMenu);
 
       folderMenu->insertSeparator();
+      mMainWidget->action("empty")->plug(folderMenu);
       if ( !fti->folder()->isSystemFolder() ) {
         mMainWidget->action("delete_folder")->plug(folderMenu);
-        folderMenu->insertSeparator();
       }
-      mMainWidget->action("empty")->plug(folderMenu);
       folderMenu->insertSeparator();
     }
   }
--- branches/work/kdepim-3.5.5+/kmail/kmheaders.cpp #606989:606990
@@ -2360,12 +2360,6 @@
     mOwner->threadStatusMenu()->plug( menu ); // Mark Thread menu
   }
 
-  if ( !out_folder && !tem_folder && !mFolder->isSent() &&
-       mOwner->watchThreadAction()->isEnabled() ) {
-    mOwner->watchThreadAction()->plug( menu );
-    mOwner->ignoreThreadAction()->plug( menu );
-  }
-
   if ( !out_folder && !tem_folder ) {
     menu->insertSeparator();
     mOwner->filterMenu()->plug( menu ); // Create Filter menu
@@ -2373,9 +2367,9 @@
   }
 
   menu->insertSeparator();
+  mOwner->printAction()->plug(menu);
   mOwner->saveAsAction()->plug(menu);
   mOwner->saveAttachmentsAction()->plug(menu);
-  mOwner->printAction()->plug(menu);
   menu->insertSeparator();
   if ( mFolder->isTrash() ) {
     mOwner->deleteAction()->plug(menu);
--- branches/work/kdepim-3.5.5+/kmail/kmmainwidget.cpp #606989:606990
@@ -2705,7 +2705,7 @@
   mModifyFolderAction = new KAction( i18n("&Properties"), "configure", 0, this,
 		      SLOT(slotModifyFolder()), actionCollection(), "modify" );
 
-  mFolderMailingListPropertiesAction = new KAction( i18n("&Mailing List Management"),
+  mFolderMailingListPropertiesAction = new KAction( i18n("&Mailing List Management..."),
       /*"folder_mailinglist_properties",*/ 0, this, SLOT( slotFolderMailingListProperties() ),
       actionCollection(), "folder_mailinglist_properties" );
 
@@ -2946,6 +2946,10 @@
                                        0, this, SLOT(slotSetThreadStatusIgnored()),
                                        actionCollection(), "thread_ignored");
 
+  mThreadStatusMenu->insert( new KActionSeparator( this ) );
+  mThreadStatusMenu->insert( mWatchThreadAction );
+  mThreadStatusMenu->insert( mIgnoreThreadAction );
+
   mSaveAttachmentsAction = new KAction( i18n("Save A&ttachments..."), "attach",
                                 0, this, SLOT(slotSaveAttachments()),
                                 actionCollection(), "file_save_attachments" );
--- branches/work/kdepim-3.5.5+/kmail/kmmainwin.rc #606989:606990
@@ -2,7 +2,7 @@
      the same menu entries at the same place in KMail and Kontact  -->
 
 <!DOCTYPE kpartgui>
-<kpartgui version="90" name="kmmainwin" >
+<kpartgui version="91" name="kmmainwin" >
  <MenuBar>
   <Menu noMerge="1" name="file" >
    <text>&amp;File</text>
@@ -130,11 +130,7 @@
    <Action name="move_to" />
    <Separator/> 
    <Action name="set_status" />
-   <Menu name="menubar_message_mark_thread_as">
-     <text>Mark Thread as</text>
-     <Action name="thread_watched" />
-     <Action name="thread_ignored" />
-   </Menu>
+   <Action name="thread_status" />
    <Separator/>
    <Action name="create_filter"/>
    <Menu name="apply_filter_actions" >
--- branches/work/kdepim-3.5.5+/kmail/kmreadermainwin.cpp #606989:606990
@@ -423,6 +423,9 @@
   if(mReaderWin && !mReaderWin->copyText().isEmpty()) {
     if ( urlMenuAdded )
       menu->insertSeparator();
+    mReplyActionMenu->plug( menu );
+    menu->insertSeparator();
+
     mReaderWin->copyAction()->plug( menu );
     mReaderWin->selectAllAction()->plug( menu );
   } else if ( !urlMenuAdded )
@@ -435,9 +438,14 @@
       return;
     }
 
-    if ( ! ( aMsg.parent() && ( aMsg.parent()->isSent() || aMsg.parent()->isDrafts() ) ) ) {
-      // add the reply and forward actions only if we are not in a sent-mail or drafts
-      // folder
+    if ( ! ( aMsg.parent() && ( aMsg.parent()->isSent() ||
+                                aMsg.parent()->isDrafts() ||
+                                aMsg.parent()->isTemplates() ) ) ) {
+      // add the reply and forward actions only if we are not in a sent-mail,
+      // templates or drafts folder
+      //
+      // FIXME: needs custom templates added to menu
+      // (see KMMainWidget::updateCustomTemplateMenus)
       mReplyActionMenu->plug( menu );
       mForwardActionMenu->plug( menu );
       menu->insertSeparator();
Comment 5 Jonathan Marten 2006-11-30 16:02:17 UTC
SVN commit 609392 by marten:

Forward port 606990,607024 from work/kdepim-3.5.5+ feature branch:

Some changes to make menubar and popup menus more consistent (but still some way to go):
Menubar - Message has same "Mark Thread" submenu as popup
All popups with "Print", "Save" and "Save Attachments" in consistent order
Message window popup (when selected text) has same "Reply" menu as preview popup
Menubar - Folder - Mailing List Management has "..."
Folder list popup has "Empty" and "Delete" in consistent order
Add keyboard shortcut Ctrl+S for "Save As" action in reader window

GUI:
CCBUG:92905
CCBUG:106478



 M  +2 -6      kmail_part.rc  
 M  +2 -4      kmfoldertree.cpp  
 M  +1 -6      kmheaders.cpp  
 M  +5 -1      kmmainwidget.cpp  
 M  +2 -6      kmmainwin.rc  
 M  +9 -4      kmreadermainwin.cpp  
 M  +3 -3      kmreadermainwin.h  


--- trunk/KDE/kdepim/kmail/kmail_part.rc #609391:609392
@@ -2,7 +2,7 @@
      the same menu entries at the same place in KMail and Kontact  -->
 
 <!DOCTYPE kpartgui>
-<kpartgui version="6" name="kmail_part" >
+<kpartgui version="7" name="kmail_part" >
  <MenuBar>
   <Menu noMerge="1" name="file" >
    <text>&amp;File</text>
@@ -125,11 +125,7 @@
    <Action name="move_to" />
    <Separator/> 
    <Action name="set_status" />
-   <Menu name="menubar_message_mark_thread_as">
-     <text>Mark Thread as</text>
-     <Action name="thread_watched" />
-     <Action name="thread_ignored" />
-   </Menu>
+   <Action name="thread_status" />
    <Separator/>
    <Action name="create_filter"/>
    <Menu name="apply_filter_actions" >
--- trunk/KDE/kdepim/kmail/kmfoldertree.cpp #609391:609392
@@ -1034,11 +1034,9 @@
       folderMenu->addAction( mMainWidget->action("compact") );
 
       folderMenu->addSeparator();
-      if ( !fti->folder()->isSystemFolder() ) {
-        folderMenu->addAction( mMainWidget->action("delete_folder") );
-        folderMenu->addSeparator();
-      }
       folderMenu->addAction( mMainWidget->action("empty") );
+      if ( !fti->folder()->isSystemFolder() )
+        folderMenu->addAction( mMainWidget->action("delete_folder") );
       folderMenu->addSeparator();
     }
   }
--- trunk/KDE/kdepim/kmail/kmheaders.cpp #609391:609392
@@ -2363,11 +2363,6 @@
     menu->addAction( mOwner->threadStatusMenu() ); // Mark Thread menu
   }
 
-  if (!out_folder && !mFolder->isSent() && mOwner->watchThreadAction()->isEnabled() ) {
-    menu->addAction( mOwner->watchThreadAction() );
-    menu->addAction( mOwner->ignoreThreadAction() );
-  }
-
   if ( !out_folder ) {
     menu->addSeparator();
     menu->addAction( mOwner->filterMenu() ); // Create Filter menu
@@ -2375,9 +2370,9 @@
   }
 
   menu->addSeparator();
+  menu->addAction( mOwner->printAction() );
   menu->addAction( mOwner->saveAsAction() );
   menu->addAction( mOwner->saveAttachmentsAction() );
-  menu->addAction( mOwner->printAction() );
   menu->addSeparator();
   if ( mFolder->isTrash() ) {
     menu->addAction( mOwner->deleteAction() );
--- trunk/KDE/kdepim/kmail/kmmainwidget.cpp #609391:609392
@@ -2465,7 +2465,7 @@
   mModifyFolderAction = new KAction(KIcon("configure"),  i18n("&Properties"), actionCollection(), "modify" );
   connect(mModifyFolderAction, SIGNAL(triggered(bool)), SLOT(slotModifyFolder()));
 
-  mFolderMailingListPropertiesAction = new KAction( i18n("&Mailing List Management"),
+  mFolderMailingListPropertiesAction = new KAction( i18n("&Mailing List Management..."),
                                                     actionCollection(), "folder_mailinglist_properties" );
   connect(mFolderMailingListPropertiesAction, SIGNAL(triggered(bool)), SLOT( slotFolderMailingListProperties()));
   // mFolderMailingListPropertiesAction->setIcon(KIcon("folder_mailinglist_properties"));
@@ -2674,6 +2674,10 @@
   mIgnoreThreadAction = new KToggleAction(KIcon("mail_ignore"), i18n("&Ignore Thread"), actionCollection(), "thread_ignored");
   connect(mIgnoreThreadAction, SIGNAL(triggered(bool) ), SLOT(slotSetThreadStatusIgnored()));
 
+  mThreadStatusMenu->addAction( new KSeparatorAction( actionCollection() ) );
+  mThreadStatusMenu->addAction( mWatchThreadAction ); 
+  mThreadStatusMenu->addAction( mIgnoreThreadAction ); 
+
   mSaveAttachmentsAction = new KAction(KIcon("attach"),  i18n("Save A&ttachments..."), actionCollection(), "file_save_attachments" );
   connect(mSaveAttachmentsAction, SIGNAL(triggered(bool) ), SLOT(slotSaveAttachments()));
 
--- trunk/KDE/kdepim/kmail/kmmainwin.rc #609391:609392
@@ -2,7 +2,7 @@
      the same menu entries at the same place in KMail and Kontact  -->
 
 <!DOCTYPE kpartgui>
-<kpartgui version="88" name="kmmainwin" >
+<kpartgui version="89" name="kmmainwin" >
  <MenuBar>
   <Menu noMerge="1" name="file" >
    <text>&amp;File</text>
@@ -128,11 +128,7 @@
    <Action name="move_to" />
    <Separator/> 
    <Action name="set_status" />
-   <Menu name="menubar_message_mark_thread_as">
-     <text>Mark Thread as</text>
-     <Action name="thread_watched" />
-     <Action name="thread_ignored" />
-   </Menu>
+   <Action name="thread_status" />
    <Separator/>
    <Action name="create_filter"/>
    <Menu name="apply_filter_actions" >
--- trunk/KDE/kdepim/kmail/kmreadermainwin.cpp #609391:609392
@@ -234,6 +234,10 @@
   //                             this, SLOT( slotSaveMsg() ),
   //                             actionCollection(), "file_save_as" );
 
+  mSaveAsAction = KStdAction::saveAs( mReaderWin, SLOT( slotSaveMsg() ), 
+				      actionCollection() ); 
+  mSaveAsAction->setShortcut( KStdAccel::shortcut( KStdAccel::Save ) ); 
+
   mPrintAction = KStdAction::print( this, SLOT( slotPrintMsg() ),
                                     actionCollection() );
 
@@ -350,6 +354,9 @@
   if(!mReaderWin->copyText().isEmpty()) {
     if ( urlMenuAdded )
       menu->addSeparator();
+    menu->addAction( mReplyActionMenu ); 
+    menu->insertSeparator(); 
+
     menu->addAction( mReaderWin->copyAction() );
     menu->addAction( mReaderWin->selectAllAction() );
   } else if ( !urlMenuAdded )
@@ -381,11 +388,9 @@
     menu->addAction( mReaderWin->toggleFixFontAction() );
     menu->addSeparator();
     menu->addAction( mPrintAction );
-    QAction* act = menu->addAction( SmallIcon("filesaveas"), i18n( "Save &As..." ) );
+    menu->addAction( mSaveAsAction );
+    QAction* act = menu->addAction( i18n("Save Attachments...") );
     connect(act, SIGNAL(triggered(QAction*)),
-            mReaderWin, SLOT( slotSaveMsg() ) );
-    act = menu->addAction( i18n("Save Attachments...") );
-    connect(act, SIGNAL(triggered(QAction*)),
             mReaderWin, SLOT(slotSaveAttachments()) );
   }
   menu->exec(aPoint, 0);
--- trunk/KDE/kdepim/kmail/kmreadermainwin.h #609391:609392
@@ -59,9 +59,9 @@
   KUrl mUrl;
   QMap<QAction*,KMFolder*> mMenuToFolder;
   // a few actions duplicated from kmmainwidget
-  KAction *mPrintAction, *mReplyAction, *mReplyAllAction, *mReplyAuthorAction,
-          *mReplyListAction, *mForwardAction,
-          *mForwardAttachedAction, *mRedirectAction,
+  KAction *mPrintAction, *mSaveAsAction,
+          *mReplyAction, *mReplyAllAction, *mReplyAuthorAction, *mReplyListAction,
+          *mForwardAction, *mForwardAttachedAction, *mRedirectAction,
           *mViewSourceAction;
   KActionMenu *mReplyActionMenu;
   KActionMenu *mForwardActionMenu;
Comment 6 Jonathan Marten 2006-11-30 16:04:14 UTC
SVN commit 609393 by marten:

Port 606990,607024 from work/kdepim-3.5.5+ feature branch:

Some changes to make menubar and popup menus more consistent (but still some way to go): 
Menubar - Message has same "Mark Thread" submenu as popup 
All popups with "Print", "Save" and "Save Attachments" in consistent order 
Message window popup (when selected text) has same "Reply" menu as preview popup 
Menubar - Folder - Mailing List Management has "..." 
Folder list popup has "Empty" and "Delete" in consistent order 
Add keyboard shortcut Ctrl+S for "Save As" action in reader window 

GUI:
CCBUG:92905
BUG:106478



 M  +2 -6      kmail_part.rc  
 M  +1 -2      kmfoldertree.cpp  
 M  +1 -6      kmheaders.cpp  
 M  +5 -1      kmmainwidget.cpp  
 M  +2 -6      kmmainwin.rc  
 M  +7 -1      kmreadermainwin.cpp  
 M  +2 -2      kmreadermainwin.h  


--- branches/KDE/3.5/kdepim/kmail/kmail_part.rc #609392:609393
@@ -2,7 +2,7 @@
      the same menu entries at the same place in KMail and Kontact  -->
 
 <!DOCTYPE kpartgui>
-<kpartgui version="7" name="kmail_part" >
+<kpartgui version="8" name="kmail_part" >
  <MenuBar>
   <Menu noMerge="1" name="file" >
    <text>&amp;File</text>
@@ -126,11 +126,7 @@
    <Action name="move_to" />
    <Separator/> 
    <Action name="set_status" />
-   <Menu name="menubar_message_mark_thread_as">
-     <text>Mark Thread as</text>
-     <Action name="thread_watched" />
-     <Action name="thread_ignored" />
-   </Menu>
+   <Action name="thread_status" />
    <Separator/>
    <Action name="create_filter"/>
    <Menu name="apply_filter_actions" >
--- branches/KDE/3.5/kdepim/kmail/kmfoldertree.cpp #609392:609393
@@ -1020,11 +1020,10 @@
       mMainWidget->action("compact")->plug(folderMenu);
 
       folderMenu->insertSeparator();
+      mMainWidget->action("empty")->plug(folderMenu);
       if ( !fti->folder()->isSystemFolder() ) {
         mMainWidget->action("delete_folder")->plug(folderMenu);
-        folderMenu->insertSeparator();
       }
-      mMainWidget->action("empty")->plug(folderMenu);
       folderMenu->insertSeparator();
     }
   }
--- branches/KDE/3.5/kdepim/kmail/kmheaders.cpp #609392:609393
@@ -2325,11 +2325,6 @@
     mOwner->threadStatusMenu()->plug( menu ); // Mark Thread menu
   }
 
-  if (!out_folder && !mFolder->isSent() && mOwner->watchThreadAction()->isEnabled() ) {
-    mOwner->watchThreadAction()->plug(menu);
-    mOwner->ignoreThreadAction()->plug(menu);
-  }
-
   if ( !out_folder ) {
     menu->insertSeparator();
     mOwner->filterMenu()->plug( menu ); // Create Filter menu
@@ -2337,9 +2332,9 @@
   }
 
   menu->insertSeparator();
+  mOwner->printAction()->plug(menu);
   mOwner->saveAsAction()->plug(menu);
   mOwner->saveAttachmentsAction()->plug(menu);
-  mOwner->printAction()->plug(menu);
   menu->insertSeparator();
   if ( mFolder->isTrash() ) {
     mOwner->deleteAction()->plug(menu);
--- branches/KDE/3.5/kdepim/kmail/kmmainwidget.cpp #609392:609393
@@ -2428,7 +2428,7 @@
   mModifyFolderAction = new KAction( i18n("&Properties"), "configure", 0, this,
 		      SLOT(slotModifyFolder()), actionCollection(), "modify" );
 
-  mFolderMailingListPropertiesAction = new KAction( i18n("&Mailing List Management"),
+  mFolderMailingListPropertiesAction = new KAction( i18n("&Mailing List Management..."),
       /*"folder_mailinglist_properties",*/ 0, this, SLOT( slotFolderMailingListProperties() ),
       actionCollection(), "folder_mailinglist_properties" );
 
@@ -2655,6 +2655,10 @@
                                        0, this, SLOT(slotSetThreadStatusIgnored()),
                                        actionCollection(), "thread_ignored");
 
+  mThreadStatusMenu->insert( new KActionSeparator( this ) ); 
+  mThreadStatusMenu->insert( mWatchThreadAction ); 
+  mThreadStatusMenu->insert( mIgnoreThreadAction ); 
+
   mSaveAttachmentsAction = new KAction( i18n("Save A&ttachments..."), "attach",
                                 0, this, SLOT(slotSaveAttachments()),
                                 actionCollection(), "file_save_attachments" );
--- branches/KDE/3.5/kdepim/kmail/kmmainwin.rc #609392:609393
@@ -2,7 +2,7 @@
      the same menu entries at the same place in KMail and Kontact  -->
 
 <!DOCTYPE kpartgui>
-<kpartgui version="89" name="kmmainwin" >
+<kpartgui version="90" name="kmmainwin" >
  <MenuBar>
   <Menu noMerge="1" name="file" >
    <text>&amp;File</text>
@@ -129,11 +129,7 @@
    <Action name="move_to" />
    <Separator/> 
    <Action name="set_status" />
-   <Menu name="menubar_message_mark_thread_as">
-     <text>Mark Thread as</text>
-     <Action name="thread_watched" />
-     <Action name="thread_ignored" />
-   </Menu>
+   <Action name="thread_status" />
    <Separator/>
    <Action name="create_filter"/>
    <Menu name="apply_filter_actions" >
--- branches/KDE/3.5/kdepim/kmail/kmreadermainwin.cpp #609392:609393
@@ -285,6 +285,9 @@
   //                             this, SLOT( slotSaveMsg() ),
   //                             actionCollection(), "file_save_as" );
 
+  mSaveAsAction = KStdAction::saveAs( mReaderWin, SLOT( slotSaveMsg() ), 
+				      actionCollection() ); 
+  mSaveAsAction->setShortcut( KStdAccel::shortcut( KStdAccel::Save ) );
   mPrintAction = KStdAction::print( this, SLOT( slotPrintMsg() ),
                                     actionCollection() );
 
@@ -423,6 +426,9 @@
   if(mReaderWin && !mReaderWin->copyText().isEmpty()) {
     if ( urlMenuAdded )
       menu->insertSeparator();
+    mReplyActionMenu->plug( menu ); 
+    menu->insertSeparator(); 
+
     mReaderWin->copyAction()->plug( menu );
     mReaderWin->selectAllAction()->plug( menu );
   } else if ( !urlMenuAdded )
@@ -454,7 +460,7 @@
     mReaderWin->toggleFixFontAction()->plug( menu );
     menu->insertSeparator();
     mPrintAction->plug( menu );
-    menu->insertItem(  SmallIcon("filesaveas"), i18n( "Save &As..." ), mReaderWin, SLOT( slotSaveMsg() ) );
+    mSaveAsAction->plug( menu );
     menu->insertItem( i18n("Save Attachments..."), mReaderWin, SLOT(slotSaveAttachments()) );
   }
   menu->exec(aPoint, 0);
--- branches/KDE/3.5/kdepim/kmail/kmreadermainwin.h #609392:609393
@@ -65,8 +65,8 @@
   KURL mUrl;
   QMap<int,KMFolder*> mMenuToFolder;
   // a few actions duplicated from kmmainwidget
-  KAction *mTrashAction, *mPrintAction, *mReplyAction, *mReplyAllAction, *mReplyAuthorAction,
-          *mReplyListAction, *mForwardInlineAction,
+  KAction *mTrashAction, *mPrintAction, *mSaveAsAction, *mReplyAction,
+          *mReplyAllAction, *mReplyAuthorAction, *mReplyListAction, *mForwardInlineAction,
           *mForwardAttachedAction, *mForwardDigestAction, *mRedirectAction,
           *mViewSourceAction;
   KActionMenu *mReplyActionMenu;
Comment 7 Jonathan Marten 2006-12-01 13:18:40 UTC
Some of the fixes implemented.  Leaving the bug resolution - whether to do any further changes, or close this as now FIXED - to an older and wiser developer.
Comment 8 Tobias Leupold 2009-01-01 15:39:32 UTC
I do also think that at least, the folder's context menu should have all entrys of the main "Folder" menu (or why not remove that main Folder entry at all?!).

I really was not able to get it how one could make a per-folder setting for automatical loading of external references until I was told in the KDE forums that this option lived in the main "Folder" menu. Having all the options in the folder's context menu would be far more  intuitional!
Comment 9 Björn Ruberg 2009-12-20 11:48:21 UTC
Yeah, that's really anoying. Should be a minimal adjustment. Great as a junior-job.
Comment 10 Jonathan Marten 2009-12-20 12:38:07 UTC
Usability is always a contentious issue, but from previous discussions the general principles to be followed for context menus are:

(a) Should be as small as possible and contain only the most frequently used options.  For example, it is debatable whether the rarely-used "Archive Folder" or "Assign Shortcut" actions should be in the context menu.

(b) Should not contain actions which are only available through that context menu, as that makes them less 'discoverable".
Comment 11 Björn Ruberg 2009-12-21 20:34:14 UTC
*** Bug 109656 has been marked as a duplicate of this bug. ***
Comment 12 Myriam Schweingruber 2012-08-18 08:59:01 UTC
Thank you for your feature request. Kmail1 is currently unmaintained so we are closing all wishes. Please feel free to reopen a feature request for Kmail2 if it has not already been implemented.
Thank you for your understanding.
Comment 13 Luigi Toscano 2012-08-19 00:47:31 UTC
Instead of creating a new feature request, please confirm here if the wishlist is still valid for kmail2.