[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    Re: [patch] Re: GUI consistency
From:       Ingo =?iso-8859-15?q?Kl=F6cker?= <kloecker () kde ! org>
Date:       2002-08-31 16:57:45
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

Based on Martin's patch I prepared the attached patch (not compressed to
be easier viewable). The differences are:

- - I incorporated Malcolm Hunter's proposed changes ("child folder" ->
"subfolder")

- - I changed the position of '&' (as in "&Reply") in some menu entries to
avoid duplicates and to make the position consistent in different
menus, e.g. "&Move [... ]to Trash" in the Folder menu and the Message
menu.

- - I didn't move "New Message" and "New Message to Mailing-List" to the
File menu. This needs some more thought. We need to rename the File
menu to something which makes more sense (after KDE 3.1).

- - "Send Queued" -> "Send Queued Messages", "Reply All" -> "Reply to
All", ...

- - I changed "Empty..." (folder) to "Move All Messages to Trash". This is
consistent with "Mark All Messages As Read". (Martin proposed "Move
Folder Contents to Trash")

- - I didn't rename slotRemoveFolder() to slotDeleteFolder(). This should
avoid some conflicts with Don's patch.

- - I added some more icons where appropriate.

- - I didn't change the order of "Move" and "Copy", e.g. in the DnD
confirmation menu, because moving messages is in KMail much more common
than copying messages.

- - I changed "Select Columns" (in the RMB menu of the folder list header
and the message list header) to "View Columns".

- - I removed "Unread Column" and "Read Column" from the View menu as they
are easily configurable via the RMB menu. We need to write a Tip of the
Day for this or else the users might not find it.

- - I added KMMainWin::slotSetMsgStatusForwarded() and
KMMainWin::slotSetThreadStatusForwarded() in order to be able to set
the status of a message or a thread to "forwarded". I already missed
this a few times in the past.

- - I moved "Search Messages..." to the Tools menu.

- - I didn't change "Copy" to "Copy Message Text" since Edit->Copy copies
the selection and not the message text.

- - I didn't add Martin's icon. I hope the artist will come up with an
icon.


I'm not satisfied with the message's context menu (RMB on message
header). It's way to cluttered. Furthermore the '&a' appears twice,
once for "Reply to _A_ll" and once for "Save _A_s". I'd prefer to
change "Save _A_s" to "_S_ave As". But this would cause a clash in the
File menu. Any suggestions?

Please comment on the changes. I will commit tomorrow if there are no 
reasonable objections.

Regards,
Ingo

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9cPWJGnR+RTDgudgRAluWAJ4n2+w6U6V1Ljh1+UCuPeM8QypPhwCeI/Ow
jOKse61pRv7tCTT1+Lb9xDo=
=DK8P
-----END PGP SIGNATURE-----

["gui-consistency-fix.diff" (text/x-diff)]

Index: kmfolderdia.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmfolderdia.cpp,v
retrieving revision 1.71
diff -u -3 -p -r1.71 kmfolderdia.cpp
--- kmfolderdia.cpp	2002/08/14 18:14:20	1.71
+++ kmfolderdia.cpp	2002/08/31 16:43:55
@@ -462,7 +462,7 @@ void KMFolderDialog::slotOk()
       return;
     }
 
-    message = i18n( "Cannot move a parent folder into a child folder." );
+    message = i18n( "Cannot move a folder into a subfolder below it." );
     KMFolderDir* folderDir = selectedFolderDir;
 
 
Index: kmfoldertree.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmfoldertree.cpp,v
retrieving revision 1.193
diff -u -3 -p -r1.193 kmfoldertree.cpp
--- kmfoldertree.cpp	2002/08/23 05:37:19	1.193
+++ kmfoldertree.cpp	2002/08/31 16:43:57
@@ -29,6 +29,8 @@ QPixmap* KMFolderTree::pixIn = 0;
 QPixmap* KMFolderTree::pixOut = 0;
 QPixmap* KMFolderTree::pixTr = 0;
 QPixmap* KMFolderTree::pixSent = 0;
+QPixmap* KMFolderTree::pixCopy = 0;
+QPixmap* KMFolderTree::pixCancel = 0;
 
 //=============================================================================
 
@@ -135,6 +138,8 @@ KMFolderTree::KMFolderTree( CryptPlugWra
     pixOut   = new QPixmap( UserIcon("kmfldout"));
     pixSent  = new QPixmap( UserIcon("kmfldsent"));
     pixTr    = new QPixmap( SmallIcon("trashcan_empty"));
+    pixCopy  = new QPixmap( SmallIcon("editcopy"));
+    pixCancel= new QPixmap( SmallIcon("cancel"));
   }
   // connect
   connectSignals();
@@ -143,7 +148,7 @@ KMFolderTree::KMFolderTree( CryptPlugWra
   header()->setClickEnabled(true);
   header()->installEventFilter(this);
   mPopup = new KPopupMenu;
-  mPopup->insertTitle(i18n("Select columns"));
+  mPopup->insertTitle(i18n("View columns"));
   mPopup->setCheckable(true);
   mUnreadPop = mPopup->insertItem(i18n("Unread Column"), this, \
SLOT(slotToggleUnreadColumn()));  mTotalPop = mPopup->insertItem(i18n("Total \
Column"), this, SLOT(slotToggleTotalColumn())); @@ -869,16 +917,16 @@ void \
KMFolderTree::rightButtonPressed(QL  if ((!fti->folder() || \
(fti->folder()->noContent()  && !fti->parent())))
   {
-    QString createChild = i18n("&Create Child Folder...");
-    if (!fti->folder()) createChild = i18n("&Create Folder...");
+    QString createChild = i18n("&New Subfolder...");
+    if (!fti->folder()) createChild = i18n("&New Folder...");
 
     folderMenu->insertItem(SmallIcon("folder_new"),
                            createChild, this,
                            SLOT(addChildFolder()));
     if (!fti->folder()) {
-      folderMenu->insertItem(i18n("Compact All &Folders"),
+      folderMenu->insertItem(i18n("&Compact All Folders"),
                      kernel->folderMgr(), SLOT(compactAll()));
-      folderMenu->insertItem(i18n("Expire All Folders"),
+      folderMenu->insertItem(i18n("&Expire All Folders"),
 			     kernel->folderMgr(), SLOT(expireAll()));
     } else if (fti->folder()->protocol() == "imap") {
       folderMenu->insertItem(SmallIcon("mail_get"), i18n("Check &Mail"),
@@ -888,12 +936,12 @@ void KMFolderTree::rightButtonPressed(QL
   } else {
     if ((fti->folder() == kernel->outboxFolder()) && (fti->folder()->count()) )
         folderMenu->insertItem(SmallIcon("mail_send"),
-                               i18n("Send Queued"), topLevelWidget(),
+                               i18n("&Send Queued Messages"), topLevelWidget(),
                                SLOT(slotSendQueued()));
     if (!fti->folder()->isSystemFolder() || fti->folder()->protocol() == "imap")
     {
       folderMenu->insertItem(SmallIcon("folder_new"),
-                             i18n("&Create Child Folder..."), this,
+                             i18n("&New Subfolder..."), this,
                              SLOT(addChildFolder()));
     }
 
@@ -902,32 +950,35 @@ void KMFolderTree::rightButtonPressed(QL
     // -- smp.
     if (!fti->folder()->noContent())
     {
-      folderMenu->insertItem(i18n("&Properties..."), topLevelWidget(),
-                         SLOT(slotModifyFolder()));
+      if (fti->folder()->countUnread() > 0)
+        folderMenu->insertItem(SmallIcon("goto"),
+                               i18n("Mark All Messages as &Read"), topLevelWidget(),
+                               SLOT(slotMarkAllAsRead()));
 
+      folderMenu->insertItem(i18n("&Compact"), topLevelWidget(),
+                             SLOT(slotCompactFolder()));
+
       if (fti->folder()->protocol() != "imap" && fti->folder()->isAutoExpire())
-        folderMenu->insertItem(i18n("E&xpire"), topLevelWidget(),
+        folderMenu->insertItem(i18n("&Expire"), topLevelWidget(),
                                SLOT(slotExpireFolder()));
 
-      folderMenu->insertItem(i18n("C&ompact"), topLevelWidget(),
-                             SLOT(slotCompactFolder()));
       folderMenu->insertSeparator();
-      if (fti->folder()->countUnread() > 0)
-        folderMenu->insertItem(SmallIcon("goto"),
-                               i18n("&Mark All Messages as Read"), topLevelWidget(),
-                               SLOT(slotMarkAllAsRead()));
-      folderMenu->insertItem(i18n("&Empty..."), topLevelWidget(),
+
+      folderMenu->insertItem(SmallIcon("edittrash"),
+                             i18n("&Move All Messages to Trash"), topLevelWidget(),
                              SLOT(slotEmptyFolder()));
     }
     if ( !fti->folder()->isSystemFolder() )
-        folderMenu->insertItem(i18n("&Remove..."), topLevelWidget(),
-                               SLOT(slotRemoveFolder()));
+      folderMenu->insertItem(SmallIcon("editdelete"),
+                             i18n("&Delete Folder"), topLevelWidget(),
+                             SLOT(slotRemoveFolder()));
 
-    if (!fti->folder()->noContent() && fti->folder()->isMailingList())
+    if (!fti->folder()->noContent())
     {
       folderMenu->insertSeparator();
-      folderMenu->insertItem(i18n("Post to &Mailing-List"),
-                             topLevelWidget(), SLOT(slotPostToML()));
+      folderMenu->insertItem(SmallIcon("configure"),
+                             i18n("&Properties..."), topLevelWidget(),
+                             SLOT(slotModifyFolder()));
     }
   }
 
@@ -960,7 +1011,7 @@ void KMFolderTree::mouseButtonPressed(in
 }
 
 //-----------------------------------------------------------------------------
-// Create a child folder.
+// Create a subfolder.
 // Requires creating the appropriate subdirectory and show a dialog
 void KMFolderTree::addChildFolder()
 {
@@ -977,7 +1028,7 @@ void KMFolderTree::addChildFolder()
     dir = fti->folder()->child();
 
   KMFolderDialog *d =
-    new KMFolderDialog(0, dir, topLevelWidget(), i18n("Create Child Folder") );
+    new KMFolderDialog(0, dir, topLevelWidget(), i18n("Create Subfolder") );
 
   if (d->exec()) /* fti may be deleted here */ {
     QListViewItem *qlvi = indexOfFolder( aFolder );
@@ -1247,9 +1308,9 @@ void KMFolderTree::contentsDropEvent( QD
         if ( mShowPopupAfterDnD ) {
           KPopupMenu *menu = new KPopupMenu( this );
           menu->insertItem( i18n("Move"), DRAG_MOVE, 0 );
-          menu->insertItem( i18n("Copy"), DRAG_COPY, 1 );
+          menu->insertItem( *pixCopy, i18n("Copy"), DRAG_COPY, 1 );
           menu->insertSeparator();
-          menu->insertItem( i18n("Cancel"), DRAG_CANCEL, 3 );
+          menu->insertItem( *pixCancel, i18n("Cancel"), DRAG_CANCEL, 3 );
           int id = menu->exec( QCursor::pos(), 0 );
           switch(id) {
             case DRAG_COPY:
Index: kmfoldertree.h
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmfoldertree.h,v
retrieving revision 1.54
diff -u -3 -p -r1.54 kmfoldertree.h
--- kmfoldertree.h	2002/07/10 17:58:35	1.54
+++ kmfoldertree.h	2002/08/31 16:43:57
@@ -196,7 +198,7 @@ protected:
 
   QTimer mUpdateTimer;
   static QPixmap *pixDir, *pixNode, *pixPlain, *pixFld, *pixFull, *pixIn,
-    *pixOut, *pixTr, *pixSent;
+    *pixOut, *pixTr, *pixSent, *pixCopy, *pixCancel;
 
   /** We need out own root, otherwise the @ref QListView will create
       its own root of type @ref QListViewItem, hence no overriding
Index: kmheaders.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmheaders.cpp,v
retrieving revision 1.436
diff -u -3 -p -r1.436 kmheaders.cpp
--- kmheaders.cpp	2002/08/25 13:22:14	1.436
+++ kmheaders.cpp	2002/08/31 16:44:00
@@ -1,3 +1,4 @@
+
 // kmheaders.cpp
 
 #include <config.h>
@@ -494,7 +495,7 @@ KMHeaders::KMHeaders(KMMainWin *aOwner, 
   header()->setClickEnabled(true);
   header()->installEventFilter(this);
   mPopup = new KPopupMenu;
-  mPopup->insertTitle(i18n("Select columns"));
+  mPopup->insertTitle(i18n("View columns"));
   mPopup->setCheckable(true);
   mSizeColumn = mPopup->insertItem(i18n("Size Column"), this, \
SLOT(slotToggleSizeColumn()));  
@@ -2679,30 +2680,38 @@ void KMHeaders::slotRMB()
   if ( out_folder )
      mOwner->editAction->plug(menu);
   else {
+     // show most used actions
      mOwner->replyAction->plug(menu);
      mOwner->replyAllAction->plug(menu);
+     mOwner->replyListAction->plug(menu);
      mOwner->action("message_forward")->plug(menu);
      mOwner->bounceAction->plug(menu);
-       }
+     mOwner->sendAgainAction->plug(menu);
+  }
   menu->insertSeparator();
 
-  if ( !out_folder )
-      mOwner->filterMenu->plug( menu );
-
   menu->insertItem(i18n("&Move To"), msgMoveMenu);
   menu->insertItem(i18n("&Copy To"), msgCopyMenu);
   if ( !out_folder ) {
-      mOwner->statusMenu->plug( menu );
-      if ( mOwner->threadStatusMenu->isEnabled() )
-	mOwner->threadStatusMenu->plug( menu );
+    mOwner->statusMenu->plug( menu ); // Mark Message menu
+    if ( mOwner->threadStatusMenu->isEnabled() )
+      mOwner->threadStatusMenu->plug( menu ); // Mark Thread menu
   }
 
   menu->insertSeparator();
-  mOwner->printAction->plug(menu);
   mOwner->saveAsAction->plug(menu);
+  mOwner->printAction->plug(menu);
+
   menu->insertSeparator();
   mOwner->trashAction->plug(menu);
   mOwner->deleteAction->plug(menu);
+
+  if ( !out_folder ) {
+    menu->insertSeparator();
+    mOwner->action("apply_filters")->plug(menu);
+    mOwner->filterMenu->plug( menu ); // Create Filter menu
+  }
+
   menu->exec (QCursor::pos(), 0);
   delete menu;
 }
Index: kmmainwin.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmmainwin.cpp,v
retrieving revision 1.514
diff -u -3 -p -r1.514 kmmainwin.cpp
--- kmmainwin.cpp	2002/08/28 11:58:14	1.514
+++ kmmainwin.cpp	2002/08/31 16:44:04
@@ -1048,9 +1048,11 @@ void KMMainWin::slotEmptyFolder()
 
   if (mConfirmEmpty)
   {
-    str = i18n("Are you sure you want to empty the folder \
\"%1\"?").arg(mFolder->label()); +    str = i18n("Are you sure you want to move all \
messages from " +               "folder \"%1\" to the trash?").arg(mFolder->label());
 
-    if (KMessageBox::warningContinueCancel(this, str, i18n("Empty Folder"), \
i18n("&Empty")) +    if (KMessageBox::warningContinueCancel(this, str, i18n("Move to \
Trash"), +                                           i18n("&Move to Trash"))
         !=KMessageBox::Continue) return;
   }
 
@@ -1103,11 +1105,12 @@ void KMMainWin::slotRemoveFolder()
   if (!mFolder) return;
   if (mFolder->isSystemFolder()) return;
 
-  str = i18n("Are you sure you want to remove the folder "
-	     "\"%1\" and all subfolders, discarding their contents?")
+  str = i18n("Are you sure you want to delete the folder "
+	     "\"%1\" and all its subfolders, discarding their contents?")
 			     .arg(mFolder->label());
 
-  if (KMessageBox::warningContinueCancel(this, str, i18n("Remove Folder"), \
i18n("&Remove")) +  if (KMessageBox::warningContinueCancel(this, str, i18n("Delete \
Folder"), +                                         i18n("&Delete"))
       == KMessageBox::Continue)
   {
     if (mFolder->hasAccounts())
@@ -1959,6 +1962,12 @@ void KMMainWin::slotSetMsgStatusReplied(
 }
 
 //-----------------------------------------------------------------------------
+void KMMainWin::slotSetMsgStatusForwarded()
+{
+  mHeaders->setMsgStatus(KMMsgStatusForwarded);
+}
+
+//-----------------------------------------------------------------------------
 void KMMainWin::slotSetMsgStatusQueued()
 {
   mHeaders->setMsgStatus(KMMsgStatusQueued);
@@ -2001,6 +2010,12 @@ void KMMainWin::slotSetThreadStatusRepli
 }
 
 //-----------------------------------------------------------------------------
+void KMMainWin::slotSetThreadStatusForwarded()
+{
+  mHeaders->setThreadStatus(KMMsgStatusForwarded);
+}
+
+//-----------------------------------------------------------------------------
 void KMMainWin::slotSetThreadStatusQueued()
 {
   mHeaders->setThreadStatus(KMMsgStatusQueued);
@@ -2475,11 +2490,8 @@ KRadioAction * KMMainWin::actionForAttac
 //-----------------------------------------------------------------------------
 void KMMainWin::setupMenuBar()
 {
-  KAction *action;
-  QString msg;
-
   //----- File Menu
-  (void) new KAction( i18n("&New Mail Client..."), "window_new", 0,
+  (void) new KAction( i18n("New &Window..."), "window_new", 0,
 		      this, SLOT(slotNewMailReader()),
 		      actionCollection(), "new_mail_client" );
 
@@ -2489,7 +2501,7 @@ void KMMainWin::setupMenuBar()
 
   printAction = KStdAction::print (this, SLOT(slotPrintMsg()), actionCollection());
 
-  (void) new KAction( i18n("Compact All &Folders"), 0,
+  (void) new KAction( i18n("&Compact All Folders"), 0,
 		      this, SLOT(slotCompactAll()),
 		      actionCollection(), "compact_all_folders" );
 
@@ -2502,7 +2514,7 @@ void KMMainWin::setupMenuBar()
 		      actionCollection(), "check_mail" );
 
   KActionMenu *actActionMenu = new
-    KActionMenu( i18n("Chec&k Mail In"), "mail_get", actionCollection(),
+    KActionMenu( i18n("Check Mail &In"), "mail_get", actionCollection(),
 				   	"check_mail_in" );
   actActionMenu->setDelayed(true); //needed for checking "all accounts"
 
@@ -2512,35 +2524,35 @@ void KMMainWin::setupMenuBar()
   connect(actMenu,SIGNAL(activated(int)),this,SLOT(slotCheckOneAccount(int)));
   connect(actMenu,SIGNAL(aboutToShow()),this,SLOT(getAccountMenu()));
 
-  (void) new KAction( i18n("&Send Queued"), "mail_send", 0, this,
+  (void) new KAction( i18n("&Send Queued Messages"), "mail_send", 0, this,
 		     SLOT(slotSendQueued()), actionCollection(), "send_queued");
+
+  KStdAction::quit( this, SLOT(slotQuit()), actionCollection());
 
-  (void) new KAction( i18n("Address &Book..."), "contents", 0, this,
+  //----- Tools menu
+  (void) new KAction( i18n("&Address Book..."), "contents", 0, this,
 		      SLOT(slotAddrBook()), actionCollection(), "addressbook" );
 
   (void) new KAction( i18n("&Import..."), "fileopen", 0, this,
 		      SLOT(slotImport()), actionCollection(), "import" );
 
-  KStdAction::quit( this, SLOT(slotQuit()), actionCollection());
-
   //----- Edit Menu
   KStdAction::undo( this, SLOT(slotUndo()), actionCollection(), "edit_undo");
 
-  (void) new KAction( i18n("&Copy Text"), KStdAccel::shortcut(KStdAccel::Copy), \
                this,
-		      SLOT(slotCopyText()), actionCollection(), "copy_text" );
+  KStdAction::copy( this, SLOT(slotCopyText()), actionCollection(), "copy");
 
   trashAction = new KAction( KGuiItem( i18n("&Move to Trash"), "edittrash",
-                                       i18n("Move message to trash bin") ),
+                                       i18n("Move message to trashcan") ),
                              "D;Delete", this, SLOT(slotTrashMsg()),
                              actionCollection(), "move_to_trash" );
 
   deleteAction = new KAction( i18n("&Delete"), "editdelete", SHIFT+Key_Delete, this,
                               SLOT(slotDeleteMsg()), actionCollection(), "delete" );
 
-  (void) new KAction( i18n("&Search Messages..."), "find", Key_S, this,
+  (void) new KAction( i18n("&Search Messages..."), "filefind", Key_S, this,
 		      SLOT(slotSearch()), actionCollection(), "search_messages" );
 
-  (void) new KAction( i18n("&Find in Message..."), \
KStdAccel::shortcut(KStdAccel::Find), this, +  (void) new KAction( i18n("&Find in \
Message..."), "find", KStdAccel::shortcut(KStdAccel::Find), this,  SLOT(slotFind()), \
actionCollection(), "find_in_messages" );  
   (void) new KAction( i18n("Select &All Messages"), Key_K, this,
@@ -2550,28 +2562,29 @@ void KMMainWin::setupMenuBar()
 		      SLOT(slotSelectText()), actionCollection(), "mark_all_text" );
 
   //----- Folder Menu
-  (void) new KAction( i18n("&Create..."), "folder_new", 0, this,
-		      SLOT(slotAddFolder()), actionCollection(), "create" );
+  (void) new KAction( i18n("&New Folder..."), "folder_new", 0, this,
+		      SLOT(slotAddFolder()), actionCollection(), "new_folder" );
 
-  modifyFolderAction = new KAction( i18n("&Properties..."), 0, this,
+  modifyFolderAction = new KAction( i18n("&Properties..."), "configure", 0, this,
 		      SLOT(slotModifyFolder()), actionCollection(), "modify" );
 
-  markAllAsReadAction = new KAction( i18n("&Mark All Messages as Read"), "goto", 0, \
this, +  markAllAsReadAction = new KAction( i18n("Mark All Messages as &Read"), \
                "goto", 0, this,
 		      SLOT(slotMarkAllAsRead()), actionCollection(), "mark_all_as_read" );
 
-  expireFolderAction = new KAction(i18n("E&xpire"), 0, this, \
SLOT(slotExpireFolder()), +  expireFolderAction = new KAction(i18n("&Expire"), 0, \
this, SLOT(slotExpireFolder()),  actionCollection(), "expire");
 
-  compactFolderAction = new KAction( i18n("C&ompact"), 0, this,
+  compactFolderAction = new KAction( i18n("&Compact"), 0, this,
 		      SLOT(slotCompactFolder()), actionCollection(), "compact" );
 
-  emptyFolderAction = new KAction( i18n("&Empty..."), 0, this,
+  emptyFolderAction = new KAction( i18n("&Move All Messages to Trash"),
+                                   "edittrash", 0, this,
 		      SLOT(slotEmptyFolder()), actionCollection(), "empty" );
 
-  removeFolderAction = new KAction( i18n("&Remove..."), 0, this,
-		      SLOT(slotRemoveFolder()), actionCollection(), "remove" );
+  removeFolderAction = new KAction( i18n("&Delete Folder"), "editdelete", 0, this,
+		      SLOT(slotRemoveFolder()), actionCollection(), "delete_folder" );
 
-  preferHtmlAction = new KToggleAction( i18n("Pre&fer HTML to Plain Text"), 0, this,
+  preferHtmlAction = new KToggleAction( i18n("Prefer &HTML to Plain Text"), 0, this,
 		      SLOT(slotOverrideHtml()), actionCollection(), "prefer_html" );
 
   threadMessagesAction = new KToggleAction( i18n("&Thread Messages"), 0, this,
@@ -2581,19 +2594,19 @@ void KMMainWin::setupMenuBar()
   (void) new KAction( i18n("&New Message..."), "filenew", \
KStdAccel::shortcut(KStdAccel::New), this,  SLOT(slotCompose()), actionCollection(), \
"new_message" );  
-  (void) new KAction( i18n("P&ost to Mailing-List..."), 0, this,
+  (void) new KAction( i18n("New Message t&o Mailing-List..."), 0, this,
 		      SLOT(slotPostToML()), actionCollection(), "post_message" );
 
   replyAction = new KAction( i18n("&Reply..."), "mail_reply", Key_R, this,
 		      SLOT(slotReplyToMsg()), actionCollection(), "reply" );
 
-  noQuoteReplyAction = new KAction( i18n("Reply Without &Quote..."), ALT+Key_R,
+  noQuoteReplyAction = new KAction( i18n("Reply Without &Quote..."), SHIFT+Key_R,
     this, SLOT(slotNoQuoteReplyToMsg()), actionCollection(), "noquotereply" );
 
-  replyAllAction = new KAction( i18n("Reply &All..."), "mail_replyall",
+  replyAllAction = new KAction( i18n("Reply to &All..."), "mail_replyall",
      Key_A, this, SLOT(slotReplyAllToMsg()), actionCollection(), "reply_all" );
 
-  replyListAction = new KAction( i18n("Reply &List..."), "mail_replylist",
+  replyListAction = new KAction( i18n("Reply to Mailing-&List..."), \
                "mail_replylist",
      Key_L, this, SLOT(slotReplyListToMsg()), actionCollection(), "reply_list" );
 
   KActionMenu * forwardMenu =
@@ -2624,7 +2637,7 @@ void KMMainWin::setupMenuBar()
 		      SLOT(slotResendMsg()), actionCollection(), "send_again" );
 
   //----- Message-Encoding Submenu
-  mEncoding = new KSelectAction( i18n( "Set &Encoding" ), "charset", 0, this,
+  mEncoding = new KSelectAction( i18n( "&Set Encoding" ), "charset", 0, this,
 		      SLOT( slotSetEncoding() ), actionCollection(), "encoding" );
   QStringList encodings = KMMsgBase::supportedEncodings(FALSE);
   encodings.prepend( i18n( "Auto" ) );
@@ -2643,8 +2656,8 @@ void KMMainWin::setupMenuBar()
     i++;
   }
 
-  editAction = new KAction( i18n("Edi&t"), Key_T, this,
-		      SLOT(slotEditMsg()), actionCollection(), "edit" );
+  editAction = new KAction( i18n("&Edit Message"), "edit", Key_T, this,
+                            SLOT(slotEditMsg()), actionCollection(), "edit" );
 
   //----- Create filter submenu
   filterMenu = new KActionMenu( i18n("&Create Filter"), actionCollection(), \
"create_filter" ); @@ -2671,106 +2684,92 @@ void KMMainWin::setupMenuBar()
 
   //----- "Mark Message" submenu
   statusMenu = new KActionMenu ( i18n( "Mar&k Message" ),
-				 actionCollection(), "set_status" );
-  action = new KAction( i18n("&New"), "kmmsgnew", 0, this,
-			SLOT(slotSetMsgStatusNew()),
-			actionCollection(), "status_new" );
-  msg = i18n("Mark current message as new");
-  action->setToolTip( msg );
-  statusMenu->insert( action );
-
-  action = new KAction( i18n("&Unread"), "kmmsgunseen", 0, this,
-			SLOT(slotSetMsgStatusUnread()),
-			actionCollection(), "status_unread");
-  msg = i18n("Mark current message as unread");
-  action->setToolTip( msg );
-  statusMenu->insert( action );
-
-  action = new KAction( i18n("&Read"), "kmmsgold", 0, this,
-			SLOT(slotSetMsgStatusRead()),
-			actionCollection(), "status_read");
-  msg = i18n("Mark current message as read");
-  action->setToolTip( msg );
-  statusMenu->insert( action );
-
-  action = new KAction( i18n("R&eplied"), "kmmsgreplied", 0, this,
-			SLOT(slotSetMsgStatusReplied()),
-			actionCollection(), "status_replied");
-  msg = i18n("Mark current message as replied");
-  action->setToolTip( msg );
-  statusMenu->insert( action );
-
-  action = new KAction( i18n("&Queued"), "kmmsgqueued", 0, this,
-			SLOT(slotSetMsgStatusQueued()),
-			actionCollection(), "status_queued");
-  action->setToolTip( i18n("Mark current message as queued") );
-  statusMenu->insert( action );
-
-  action = new KAction( i18n("&Sent"), "kmmsgsent", 0, this,
-			SLOT(slotSetMsgStatusSent()),
-			actionCollection(), "status_sent");
-  msg = i18n("Mark current message as sent");
-  action->setToolTip( msg );
-  statusMenu->insert( action );
-
-  action = new KAction( i18n("&Important"), "kmmsgflag", 0, this,
-			SLOT(slotSetMsgStatusFlag()),
-			actionCollection(), "status_flag");
-  msg = i18n("Mark current message as important");
-  action->setToolTip( msg );
-  statusMenu->insert( action );
+                                 actionCollection(), "set_status" );
+
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as &New"), "kmmsgnew",
+                                          i18n("Mark selected messages as new")),
+                                 0, this, SLOT(slotSetMsgStatusNew()),
+                                 actionCollection(), "status_new" ));
+
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as &Unread"), \
"kmmsgunseen", +                                          i18n("Mark selected \
messages as unread")), +                                 0, this, \
SLOT(slotSetMsgStatusUnread()), +                                 actionCollection(), \
"status_unread")); +
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as &Read"), "kmmsgold",
+                                          i18n("Mark selected messages as read")),
+                                 0, this, SLOT(slotSetMsgStatusRead()),
+                                 actionCollection(), "status_read"));
+
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as R&eplied"), \
"kmmsgreplied", +                                          i18n("Mark selected \
messages as replied")), +                                 0, this, \
SLOT(slotSetMsgStatusReplied()), +                                 \
actionCollection(), "status_replied")); +
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as &Forwarded"), \
"kmmsgforwarded", +                                          i18n("Mark selected \
messages as forwarded")), +                                 0, this, \
SLOT(slotSetMsgStatusForwarded()), +                                 \
actionCollection(), "status_forwarded")); +
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as &Queued"), \
"kmmsgqueued", +                                          i18n("Mark selected \
messages as queued")), +                                 0, this, \
SLOT(slotSetMsgStatusQueued()), +                                 actionCollection(), \
"status_queued")); +
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as &Sent"), \
"kmmsgsent", +                                          i18n("Mark selected messages \
as sent")), +                                 0, this, SLOT(slotSetMsgStatusSent()),
+                                 actionCollection(), "status_sent"));
+
+  statusMenu->insert(new KAction(KGuiItem(i18n("Mark Message as &Important"), \
"kmmsgflag", +                                          i18n("Mark selected messages \
as important")), +                                 0, this, \
SLOT(slotSetMsgStatusFlag()), +                                 actionCollection(), \
"status_flag"));  
   //----- "Mark Thread" submenu
-  threadStatusMenu = new KActionMenu ( i18n( "Mark T&hread" ),
-				       actionCollection(), "thread_status" );
-  action = new KAction( i18n("&New"), "kmmsgnew", 0, this,
-			SLOT(slotSetThreadStatusNew()),
-			actionCollection(), "thread_new");
-  msg = i18n("Mark current thread as new");
-  action->setToolTip( msg );
-  threadStatusMenu->insert( action );
-
-  action = new KAction( i18n("&Unread"), "kmmsgunseen", 0, this,
-			SLOT(slotSetThreadStatusUnread()),
-			actionCollection(), "thread_unread");
-  msg = i18n("Mark current thread as unread");
-  action->setToolTip( msg );
-  threadStatusMenu->insert( action );
-
-  action = new KAction( i18n("&Read"), "kmmsgold", 0, this,
-			SLOT(slotSetThreadStatusRead()),
-			actionCollection(), "thread_read");
-  msg = i18n("Mark current thread as read");
-  action->setToolTip( msg );
-  threadStatusMenu->insert( action );
-
-  action = new KAction( i18n("R&eplied"), "kmmsgreplied", 0, this,
-			SLOT(slotSetThreadStatusReplied()),
-			actionCollection(), "thread_replied");
-  msg = i18n("Mark current thread as replied");
-  action->setToolTip( msg );
-  threadStatusMenu->insert( action );
-
-  action = new KAction( i18n("&Queued"), "kmmsgqueued", 0, this,
-			SLOT(slotSetThreadStatusQueued()),
-			actionCollection(), "thread_queued");
-  msg = i18n("Mark current thread as queued");
-  action->setToolTip( msg );
-  threadStatusMenu->insert( action );
-
-  action = new KAction( i18n("&Sent"), "kmmsgsent", 0, this,
-			SLOT(slotSetThreadStatusSent()),
-			actionCollection(), "thread_sent");
-  msg = i18n("Mark current thread as sent");
-  action->setToolTip( msg );
-  threadStatusMenu->insert( action );
-
-  action = new KAction( i18n("&Important"), "kmmsgflag", 0, this,
-			SLOT(slotSetThreadStatusFlag()),
-			actionCollection(), "thread_flag");
-  msg = i18n("Mark current thread as important");
-  action->setToolTip( msg );
-  threadStatusMenu->insert( action );
+  threadStatusMenu = new KActionMenu ( i18n( "Mark &Thread" ),
+                                       actionCollection(), "thread_status" );
+
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as &New"), \
"kmmsgnew", +                                                i18n("Mark all messages \
in the selected thread as new")), +                                       0, this, \
SLOT(slotSetThreadStatusNew()), +                                       \
actionCollection(), "thread_new")); +
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as &Unread"), \
"kmmsgunseen", +                                                i18n("Mark all \
messages in the selected thread as unread")), +                                       \
0, this, SLOT(slotSetThreadStatusUnread()), +                                       \
actionCollection(), "thread_unread")); +
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as &Read"), \
"kmmsgold", +                                                i18n("Mark all messages \
in the selected thread as read")), +                                       0, this, \
SLOT(slotSetThreadStatusRead()), +                                       \
actionCollection(), "thread_read")); +
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as R&eplied"), \
"kmmsgreplied", +                                                i18n("Mark all \
messages in the selected thread as replied")), +                                      \
0, this, SLOT(slotSetThreadStatusReplied()), +                                       \
actionCollection(), "thread_replied")); +
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as &Forwarded"), \
"kmmsgforwarded", +                                                i18n("Mark all \
messages in the selected thread as forwarded")), +                                    \
0, this, SLOT(slotSetThreadStatusForwarded()), +                                      \
actionCollection(), "thread_forwarded")); +
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as &Queued"), \
"kmmsgqueued", +                                                i18n("Mark all \
messages in the selected thread as queued")), +                                       \
0, this, SLOT(slotSetThreadStatusQueued()), +                                       \
actionCollection(), "thread_queued")); +
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as &Sent"), \
"kmmsgsent", +                                                i18n("Mark all messages \
in the selected thread as sent")), +                                       0, this, \
SLOT(slotSetThreadStatusSent()), +                                       \
actionCollection(), "thread_sent")); +
+  threadStatusMenu->insert(new KAction(KGuiItem(i18n("Mark Thread as &Important"), \
"kmmsgflag", +                                                i18n("Mark all messages \
in the selected thread as important")), +                                       0, \
this, SLOT(slotSetThreadStatusFlag()), +                                       \
actionCollection(), "thread_flag")); +
 
 
   moveActionMenu = new KActionMenu( i18n("&Move To" ),
@@ -2790,48 +2789,42 @@ void KMMainWin::setupMenuBar()
   KActionMenu * headerMenu =
     new KActionMenu( i18n("View->", "&Headers"),
 		     actionCollection(), "view_headers" );
-  msg = i18n("Choose display style of message headers");
-  headerMenu->setToolTip( msg );
+  headerMenu->setToolTip( i18n("Choose display style of message headers") );
 
   connect( headerMenu, SIGNAL(activated()), SLOT(slotCycleHeaderStyles()) );
 
-  raction = new KRadioAction( i18n("View->headers->", "&Fancy"), 0, this,
+  raction = new KRadioAction( i18n("View->headers->", "&Fancy Headers"), 0, this,
 			      SLOT(slotFancyHeaders()),
 			      actionCollection(), "view_headers_fancy" );
-  msg = i18n("Show the list of headers in a fancy format");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show the list of headers in a fancy format") );
   raction->setExclusiveGroup( "view_headers_group" );
   headerMenu->insert( raction );
 
-  raction = new KRadioAction( i18n("View->headers->", "&Brief"), 0, this,
+  raction = new KRadioAction( i18n("View->headers->", "&Brief Headers"), 0, this,
 			      SLOT(slotBriefHeaders()),
 			      actionCollection(), "view_headers_brief" );
-  msg = i18n("Show brief list of message headers");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show brief list of message headers") );
   raction->setExclusiveGroup( "view_headers_group" );
   headerMenu->insert( raction );
 
-  raction = new KRadioAction( i18n("View->headers->", "&Standard"), 0, this,
+  raction = new KRadioAction( i18n("View->headers->", "&Standard Headers"), 0, this,
 			      SLOT(slotStandardHeaders()),
 			      actionCollection(), "view_headers_standard" );
-  msg = i18n("Show standard list of message headers");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show standard list of message headers") );
   raction->setExclusiveGroup( "view_headers_group" );
   headerMenu->insert( raction );
 
-  raction = new KRadioAction( i18n("View->headers->", "&Long"), 0, this,
+  raction = new KRadioAction( i18n("View->headers->", "&Long Headers"), 0, this,
 			      SLOT(slotLongHeaders()),
 			      actionCollection(), "view_headers_long" );
-  msg = i18n("Show long list of message headers");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show long list of message headers") );
   raction->setExclusiveGroup( "view_headers_group" );
   headerMenu->insert( raction );
 
-  raction = new KRadioAction( i18n("View->headers->", "&All"), 0, this,
+  raction = new KRadioAction( i18n("View->headers->", "&All Headers"), 0, this,
 			      SLOT(slotAllHeaders()),
 			      actionCollection(), "view_headers_all" );
-  msg = i18n("Show all message headers");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show all message headers") );
   raction->setExclusiveGroup( "view_headers_group" );
   headerMenu->insert( raction );
 
@@ -2847,38 +2840,33 @@ void KMMainWin::setupMenuBar()
   connect( attachmentMenu, SIGNAL(activated()),
 	   SLOT(slotCycleAttachmentStyles()) );
 
-  msg = i18n("Choose display style of attachments");
-  attachmentMenu->setToolTip( msg );
+  attachmentMenu->setToolTip( i18n("Choose display style of attachments") );
 
   raction = new KRadioAction( i18n("View->attachments->", "&As Icons"), 0, this,
 			      SLOT(slotIconicAttachments()),
 			      actionCollection(), "view_attachments_as_icons" );
-  msg = i18n("Show all attachments as icons. Click to see them.");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show all attachments as icons. Click to see them.") );
   raction->setExclusiveGroup( "view_attachments_group" );
   attachmentMenu->insert( raction );
 
   raction = new KRadioAction( i18n("View->attachments->", "&Smart"), 0, this,
 			      SLOT(slotSmartAttachments()),
 			      actionCollection(), "view_attachments_smart" );
-  msg = i18n("Show attachments as suggested by sender.");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show attachments as suggested by sender.") );
   raction->setExclusiveGroup( "view_attachments_group" );
   attachmentMenu->insert( raction );
 
   raction = new KRadioAction( i18n("View->attachments->", "&Inline"), 0, this,
 			      SLOT(slotInlineAttachments()),
 			      actionCollection(), "view_attachments_inline" );
-  msg = i18n("Show all attachments inline (if possible)");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Show all attachments inline (if possible)") );
   raction->setExclusiveGroup( "view_attachments_group" );
   attachmentMenu->insert( raction );
 
   raction = new KRadioAction( i18n("View->attachments->", "&Hide"), 0, this,
                               SLOT(slotHideAttachments()),
                               actionCollection(), "view_attachments_hide" );
-  msg = i18n("Don't show attachments in the message viewer");
-  raction->setToolTip( msg );
+  raction->setToolTip( i18n("Don't show attachments in the message viewer") );
   raction->setExclusiveGroup( "view_attachments_group" );
   attachmentMenu->insert( raction );
 
@@ -2890,17 +2878,15 @@ void KMMainWin::setupMenuBar()
   unreadColumnToggle = new KToggleAction( i18n("View->", "&Unread Column"), 0, this,
 			       SLOT(slotToggleUnreadColumn()),
 			       actionCollection(), "view_columns_unread" );
-  msg = i18n("Toggle display of column showing the "
-	     "number of unread messages in folders.");
-  unreadColumnToggle->setToolTip( msg );
+  unreadColumnToggle->setToolTip( i18n("Toggle display of column showing the "
+                                       "number of unread messages in folders.") );
   unreadColumnToggle->setChecked( mFolderTree->isUnreadActive() );
 
   totalColumnToggle = new KToggleAction( i18n("View->", "&Total Column"), 0, this,
 			       SLOT(slotToggleTotalColumn()),
 			       actionCollection(), "view_columns_total" );
-  msg = i18n("Toggle display of column showing the "
-	     "total number of messages in folders.");
-  totalColumnToggle->setToolTip( msg );
+  totalColumnToggle->setToolTip( i18n("Toggle display of column showing the "
+                                      "total number of messages in folders.") );
   totalColumnToggle->setChecked( mFolderTree->isTotalActive() );
 
   (void)new KAction( KGuiItem( i18n("View->","&Expand Thread"), QString::null,
@@ -2936,86 +2922,57 @@ void KMMainWin::setupMenuBar()
 
 
   //----- Go Menu
-  KActionMenu * goNextMenu = new KActionMenu( i18n("Go->","&Next"),
-					      actionCollection(),
-					      "go_next_menu" );
-  // clicking the button in the toolbar doesn't do anything:
-  goNextMenu->setDelayed( false );
-
-  action = new KAction( KGuiItem( i18n("Go->Next->","&Message"), "next",
-				  i18n("Go to the next message") ),
-			"N;Right", this, SLOT(slotNextMessage()),
-			actionCollection(), "go_next_message" );
-  goNextMenu->insert( action );
-
-  action = new KAction( KGuiItem( i18n("Go->Next->","&Unread Message"), "next",
-				  i18n("Go to the next unread message") ),
-			Key_Plus, this, SLOT(slotNextUnreadMessage()),
-			actionCollection(), "go_next_unread_message" );
-  goNextMenu->insert( action );
-
-  /* ### needs better support ffrom folders:
-  action = new KAction( KGuiItem( i18n("Go->Next->","&Important Message"),
-				  "next",
-				  i18n("Go to the next important message") ),
-			0, this, SLOT(slotNextImportantMessage()),
-			actionCollection(), "go_next_important_message" );
-  goNextMenu->insert( action );
+  new KAction( KGuiItem( i18n("&Next Message"), QString::null,
+                         i18n("Go to the next message") ),
+                         "N;Right", this, SLOT(slotNextMessage()),
+                         actionCollection(), "go_next_message" );
+
+  new KAction( KGuiItem( i18n("Next &Unread Message"), "next",
+                         i18n("Go to the next unread message") ),
+                         Key_Plus, this, SLOT(slotNextUnreadMessage()),
+                         actionCollection(), "go_next_unread_message" );
+
+  /* ### needs better support from folders:
+  new KAction( KGuiItem( i18n("Next &Important Message"), QString::null,
+                         i18n("Go to the next important message") ),
+                         0, this, SLOT(slotNextImportantMessage()),
+                         actionCollection(), "go_next_important_message" );
   */
-  goNextMenu->insert( new KActionSeparator() );
 
-  action = new KAction( KGuiItem( i18n("Go->Next->","Unread &Folder"),
-				  "next",
-				  i18n("Go to the next folder with unread "
-				       "messages") ),
-			CTRL+Key_Plus, this, SLOT(slotNextUnreadFolder()),
-			actionCollection(), "go_next_unread_folder" );
-  goNextMenu->insert( action );
-
-  KActionMenu * goPrevMenu = new KActionMenu( i18n("Go->","&Previous"),
-					      actionCollection(),
-					      "go_prev_menu" );
-  // clicking the button in the toolbar doesn't do anything:
-  goPrevMenu->setDelayed( false );
-
-  action = new KAction( KGuiItem( i18n("Go->Prev->","&Message"), "previous",
-				  i18n("Go to the previous message") ),
-			"P;Left", this, SLOT(slotPrevMessage()),
-			actionCollection(), "go_prev_message" );
-  goPrevMenu->insert( action );
-
-  action = new KAction( KGuiItem( i18n("Go->Prev->","&Unread Message"),
-				  "previous",
-				  i18n("Go to the previous unread message") ),
-			Key_Minus, this, SLOT(slotPrevUnreadMessage()),
-			actionCollection(), "go_prev_unread_message" );
-  goPrevMenu->insert( action );
+  new KAction( KGuiItem( i18n("&Previous Message"), QString::null,
+                         i18n("Go to the previous message") ),
+                         "P;Left", this, SLOT(slotPrevMessage()),
+                         actionCollection(), "go_prev_message" );
+
+  new KAction( KGuiItem( i18n("Previous U&nread Message"), "previous",
+                         i18n("Go to the previous unread message") ),
+                         Key_Minus, this, SLOT(slotPrevUnreadMessage()),
+                         actionCollection(), "go_prev_unread_message" );
 
   /* needs better support from folders:
-  action = new KAction( KGuiItem( i18n("Go->Prev->","&Important Message"),
-				  "previous",
-				  i18n("Go to the previous important message") ),
-			0, this, SLOT(slotPrevImportantMessage()),
-			actionCollection(), "go_prev_important_message" );
-  goPrevMenu->insert( action );
+  new KAction( KGuiItem( i18n("Previous I&mportant Message"), QString::null,
+                         i18n("Go to the previous important message") ),
+                         0, this, SLOT(slotPrevImportantMessage()),
+                         actionCollection(), "go_prev_important_message" );
   */
-  goPrevMenu->insert( new KActionSeparator() );
 
-  action = new KAction( KGuiItem( i18n("Go->Prev->","Unread &Folder"),
-				  "previous",
-				  i18n("Go to the previous folder with unread "
-				       "messages") ),
-			CTRL+Key_Minus, this, SLOT(slotPrevUnreadFolder()),
-			actionCollection(), "go_prev_unread_folder" );
-  goPrevMenu->insert( action );
-
-  (void)new KAction( KGuiItem( i18n("Go->","Next &Unread Text"), "next",
-			       i18n("Go to the next unread text"),
-			       i18n("Scroll down current message. "
-				    "If at end of current message, "
-				    "go to next unread message.") ),
-		     Key_Space, this, SLOT(slotReadOn()),
-		     actionCollection(), "go_next_unread_text" );
+  new KAction( KGuiItem( i18n("Next Unread &Folder"), QString::null,
+                         i18n("Go to the next folder with unread messages") ),
+                         CTRL+Key_Plus, this, SLOT(slotNextUnreadFolder()),
+                         actionCollection(), "go_next_unread_folder" );
+
+  new KAction( KGuiItem( i18n("Previous Unread F&older"), QString::null,
+                         i18n("Go to the previous folder with unread messages") ),
+                         CTRL+Key_Minus, this, SLOT(slotPrevUnreadFolder()),
+                         actionCollection(), "go_prev_unread_folder" );
+
+  new KAction( KGuiItem( i18n("Go->","Next Unread &Text"), QString::null,
+                         i18n("Go to the next unread text"),
+                         i18n("Scroll down current message. "
+                              "If at end of current message, "
+                              "go to next unread message.") ),
+                         Key_Space, this, SLOT(slotReadOn()),
+                         actionCollection(), "go_next_unread_text" );
 
   //----- Settings Menu
   toolbarAction = KStdAction::showToolbar(this, SLOT(slotToggleToolBar()),
Index: kmmainwin.h
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmmainwin.h,v
retrieving revision 1.134
diff -u -3 -p -r1.134 kmmainwin.h
--- kmmainwin.h	2002/08/21 21:48:39	1.134
+++ kmmainwin.h	2002/08/31 16:44:04
@@ -237,6 +237,7 @@ protected slots:
   void slotSetMsgStatusUnread();
   void slotSetMsgStatusRead();
   void slotSetMsgStatusReplied();
+  void slotSetMsgStatusForwarded();
   void slotSetMsgStatusQueued();
   void slotSetMsgStatusSent();
   void slotSetMsgStatusFlag();
@@ -244,6 +245,7 @@ protected slots:
   void slotSetThreadStatusUnread();
   void slotSetThreadStatusRead();
   void slotSetThreadStatusReplied();
+  void slotSetThreadStatusForwarded();
   void slotSetThreadStatusQueued();
   void slotSetThreadStatusSent();
   void slotSetThreadStatusFlag();
Index: kmmainwin.rc
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmmainwin.rc,v
retrieving revision 1.41
diff -u -3 -p -r1.41 kmmainwin.rc
--- kmmainwin.rc	2002/08/30 17:43:08	1.41
+++ kmmainwin.rc	2002/08/31 16:44:04
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui>
-<kpartgui version="41" name="kmmainwin" >
+<kpartgui version="42" name="kmmainwin" >
  <MenuBar>
   <Menu noMerge="1" name="file" >
    <text>&amp;File</text>
@@ -20,11 +20,12 @@
   <Menu name="edit" >
    <text>&amp;Edit</text>
    <Action name="undo" />
-   <Action name="copy_text" />
+   <Action name="copy" />
+   <Action name="edit" />
+   <Separator/>
    <Action name="move_to_trash" />
    <Action name="delete" />
    <Separator/>
-   <Action name="search_messages" />
    <Action name="find_in_messages" />
    <Separator/>
    <Action name="mark_all_messages" />
@@ -35,37 +36,42 @@
    <Action name="view_headers"/>
    <Action name="view_attachments"/>
    <Separator/>
-   <Action name="view_columns_unread"/>
-   <Action name="view_columns_total"/>
-   <Separator/>
    <Action name="expand_thread"/>
    <Action name="collapse_thread"/>
    <Action name="expand_all_threads"/>
    <Action name="collapse_all_threads"/>
    <Separator/>
-   <Action name="toggle_fixedfont"/>
-   <Separator/>
    <Action name="view_source"/>
+   <Separator/>
+   <Action name="toggle_fixedfont"/>
+   <Action name="encoding" />
   </Menu>
   <Menu name="go">
    <text>&amp;Go</text>
-   <Action name="go_prev_menu"/>
-   <Action name="go_next_menu"/>
+   <Action name="go_next_message"/> 
+   <Action name="go_next_unread_message"/> 
+   <Action name="go_prev_message"/> 
+   <Action name="go_prev_unread_message"/> 
+   <Separator/>
+   <Action name="go_next_unread_folder"/> 
+   <Action name="go_prev_unread_folder"/> 
+   <Separator/>
    <Action name="go_next_unread_text"/> 
   </Menu>
   <Menu noMerge="1" name="folder" >
    <text>F&amp;older</text>
-   <Action name="create" />
-   <Action name="modify" />
+   <Action name="new_folder" />
    <Action name="mark_all_as_read" />
    <Action name="compact" />
    <Action name="expire" />
    <Separator/>
    <Action name="empty" />
-   <Action name="remove" />
+   <Action name="delete_folder" />
    <Separator/>
    <Action name="prefer_html" />
    <Action name="thread_messages" />
+   <Separator/>
+   <Action name="modify" />
   </Menu>
   <Menu noMerge="1" name="message" >
    <text>&amp;Message</text>
@@ -79,17 +85,17 @@
    <Action name="message_forward" />
    <Action name="bounce" />
    <Action name="send_again" />
-   <Action name="encoding" />
    <Separator/>
-   <Action name="edit" />
-   <Action name="set_status" />
-   <Action name="thread_status" />
    <Action name="move_to" />
    <Action name="copy_to" />
+   <Action name="set_status" />
+   <Action name="thread_status" />
    <Separator/>
    <Action name="apply_filters" />
   </Menu>
   <Menu name="tools">
+   <Action name="search_messages" />
+   <Separator/>
    <Action name="addressbook"/>
    <Action name="import"/>
    <Separator/>


_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.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