c0e79390 | 2019-05-02 11:18:05 | Luke Dashjr |
KMail: Menu options to toggle "Show Message Structure" Subtly different from the same feature in KDE: KDE's menu items toggle the default behaviour between always/never, and the menu item is disabled if smart is set. For Trinity, the option is always available, and only toggles visibility of the structure for the current session. Signed-off-by: Luke Dashjr <luke-jr+git@...> |
||
M kmail/kmmainwidget.cpp M kmail/kmreadermainwin.cpp M kmail/kmreaderwin.cpp M kmail/kmreaderwin.h |
||
kmail/kmmainwidget.cppdiff --git a/kmail/kmmainwidget.cpp b/kmail/kmmainwidget.cpp index 0d84522..1d2661f 100644 --- a/kmail/kmmainwidget.cpp +++ b/kmail/kmmainwidget.cpp @@ -2438,6 +2438,7 @@ viewSourceAction()->plug(menu); if(mMsgView) { mMsgView->toggleFixFontAction()->plug(menu); + mMsgView->toggleMimePartTreeAction()->plug(menu); } menu->insertSeparator(); mPrintAction->plug( menu ); kmail/kmreadermainwin.cppdiff --git a/kmail/kmreadermainwin.cpp b/kmail/kmreadermainwin.cpp index 6694ba3..6257ba9 100644 --- a/kmail/kmreadermainwin.cpp +++ b/kmail/kmreadermainwin.cpp @@ -509,6 +509,7 @@ menu->insertSeparator(); mViewSourceAction->plug( menu ); mReaderWin->toggleFixFontAction()->plug( menu ); + mReaderWin->toggleMimePartTreeAction()->plug( menu ); menu->insertSeparator(); mPrintAction->plug( menu ); mSaveAsAction->plug( menu ); kmail/kmreaderwin.cppdiff --git a/kmail/kmreaderwin.cpp b/kmail/kmreaderwin.cpp index b3c4357..1b6ca48 100644 --- a/kmail/kmreaderwin.cpp +++ b/kmail/kmreaderwin.cpp @@ -618,6 +618,11 @@ Key_X, TQT_TQOBJECT(this), TQT_SLOT(slotToggleFixedFont()), ac, "toggle_fixedfont" ); + mToggleMimePartTreeAction = new TDEToggleAction( i18n("Show Message Structure"), + 0, ac, "toggle_mimeparttree" ); + connect(mToggleMimePartTreeAction, TQT_SIGNAL(toggled(bool)), + TQT_TQOBJECT(this), TQT_SLOT(slotToggleMimePartTree())); + mStartIMChatAction = new TDEAction( i18n("Chat &With..."), 0, TQT_TQOBJECT(this), TQT_SLOT(slotIMChat()), ac, "start_im_chat" ); } @@ -1444,6 +1449,7 @@ //----------------------------------------------------------------------------- void KMReaderWin::showHideMimeTree( bool isPlainTextTopLevel ) { + mIsPlainText = isPlainTextTopLevel; if ( mMimeTreeMode == 2 || ( mMimeTreeMode == 1 && !isPlainTextTopLevel ) ) mMimePartTree->show(); @@ -1452,6 +1458,9 @@ TDEConfigGroup reader( KMKernel::config(), "Reader" ); saveSplitterSizes( reader ); mMimePartTree->hide(); + } + if ( mToggleMimePartTreeAction->isChecked() != mMimePartTree->isVisible() ) { + mToggleMimePartTreeAction->setChecked( mMimePartTree->isVisible() ); } } @@ -2135,6 +2144,17 @@ //----------------------------------------------------------------------------- +void KMReaderWin::slotToggleMimePartTree() +{ + if ( mToggleMimePartTreeAction->isChecked() ) { + mMimeTreeMode = 2; // always + } else { + mMimeTreeMode = 0; // never + } + showHideMimeTree(); +} + +//----------------------------------------------------------------------------- void KMReaderWin::slotCopySelectedText() { kapp->clipboard()->setText( mViewer->selectedText() ); kmail/kmreaderwin.hdiff --git a/kmail/kmreaderwin.h b/kmail/kmreaderwin.h index 81256e8..0495041 100644 --- a/kmail/kmreaderwin.h +++ b/kmail/kmreaderwin.h @@ -5,6 +5,7 @@ #ifndef KMREADERWIN_H #define KMREADERWIN_H +#include <tdeactionclasses.h> #include <tqwidget.h> #include <tqtimer.h> #include <tqstringlist.h> @@ -256,6 +257,7 @@ TDEAction *urlOpenAction() { return mUrlOpenAction; } TDEAction *urlSaveAsAction() { return mUrlSaveAsAction; } TDEAction *addBookmarksAction() { return mAddBookmarksAction;} + TDEAction *toggleMimePartTreeAction() { return mToggleMimePartTreeAction; } TDEAction *startImChatAction() { return mStartIMChatAction; } // This function returns the complete data that were in this // message parts - *after* all encryption has been removed that @@ -397,6 +399,8 @@ /** The user toggled the "Fixed Font" flag from the view menu. */ void slotToggleFixedFont(); + + void slotToggleMimePartTree(); /** Copy the selected text to the clipboard */ void slotCopySelectedText(); @@ -594,6 +598,7 @@ TDEToggleAction *mHeaderOnlyAttachmentsAction; TDESelectAction *mSelectEncodingAction; TDEToggleAction *mToggleFixFontAction; + TDEToggleAction *mToggleMimePartTreeAction; KURL mHoveredUrl; KURL mClickedUrl; |
||
70cc9c74 | 2019-05-02 11:18:05 | Michele Calgaro |
Improvements on previous commit and other commits published in #19. This removes the need for mIsPlainText caching and also avoid to reread the configuration every time a message is changed. Signed-off-by: Michele Calgaro <michele.calgaro@...> |
||
M kmail/kmreadermainwin.cpp M kmail/kmreaderwin.cpp M kmail/kmreaderwin.h |
||
kmail/kmreadermainwin.cppdiff --git a/kmail/kmreadermainwin.cpp b/kmail/kmreadermainwin.cpp index 6257ba9..336d4c1 100644 --- a/kmail/kmreadermainwin.cpp +++ b/kmail/kmreadermainwin.cpp @@ -509,7 +509,7 @@ menu->insertSeparator(); mViewSourceAction->plug( menu ); mReaderWin->toggleFixFontAction()->plug( menu ); - mReaderWin->toggleMimePartTreeAction()->plug( menu ); + mReaderWin->toggleMimePartTreeAction()->plug( menu ); menu->insertSeparator(); mPrintAction->plug( menu ); mSaveAsAction->plug( menu ); kmail/kmreaderwin.cppdiff --git a/kmail/kmreaderwin.cpp b/kmail/kmreaderwin.cpp index 1b6ca48..76b2571 100644 --- a/kmail/kmreaderwin.cpp +++ b/kmail/kmreaderwin.cpp @@ -447,6 +447,7 @@ mExternalWindow = (aParent == mainWindow ); mSplitterSizes << 180 << 100; mMimeTreeMode = 1; + mMimeTreeModeOverride = -1; mMimeTreeAtBottom = true; mAutoDelete = false; mLastSerNum = 0; @@ -1449,10 +1450,11 @@ //----------------------------------------------------------------------------- void KMReaderWin::showHideMimeTree( bool isPlainTextTopLevel ) { - mIsPlainText = isPlainTextTopLevel; - if ( mMimeTreeMode == 2 || - ( mMimeTreeMode == 1 && !isPlainTextTopLevel ) ) + if ( mMimeTreeModeOverride == 2 || + ( mMimeTreeModeOverride != 0 && (mMimeTreeMode == 2 || + ( mMimeTreeMode == 1 && !isPlainTextTopLevel ) ) ) ) { mMimePartTree->show(); + } else { // don't rely on TQSplitter maintaining sizes for hidden widgets: TDEConfigGroup reader( KMKernel::config(), "Reader" ); @@ -1468,6 +1470,7 @@ KMMessage * msg = message(); mMimePartTree->clear(); + mMimeTreeModeOverride = -1; // clear any previous manual overiding showHideMimeTree( !msg || // treat no message as "text/plain" ( msg->type() == DwMime::kTypeText && msg->subtype() == DwMime::kSubtypePlain ) ); @@ -2147,11 +2150,11 @@ void KMReaderWin::slotToggleMimePartTree() { if ( mToggleMimePartTreeAction->isChecked() ) { - mMimeTreeMode = 2; // always + mMimeTreeModeOverride = 2; // always } else { - mMimeTreeMode = 0; // never + mMimeTreeModeOverride = 0; // never } - showHideMimeTree(); + showHideMimeTree(false); } //----------------------------------------------------------------------------- kmail/kmreaderwin.hdiff --git a/kmail/kmreaderwin.h b/kmail/kmreaderwin.h index 0495041..c9f78ae 100644 --- a/kmail/kmreaderwin.h +++ b/kmail/kmreaderwin.h @@ -5,7 +5,6 @@ #ifndef KMREADERWIN_H #define KMREADERWIN_H -#include <tdeactionclasses.h> #include <tqwidget.h> #include <tqtimer.h> #include <tqstringlist.h> @@ -246,6 +245,7 @@ // Action to reply to a message // but action( "some_name" ) some name could be used instead. TDEToggleAction *toggleFixFontAction() { return mToggleFixFontAction; } + TDEToggleAction *toggleMimePartTreeAction() { return mToggleMimePartTreeAction; } TDEAction *mailToComposeAction() { return mMailToComposeAction; } TDEAction *mailToReplyAction() { return mMailToReplyAction; } TDEAction *mailToForwardAction() { return mMailToForwardAction; } @@ -257,7 +257,6 @@ TDEAction *urlOpenAction() { return mUrlOpenAction; } TDEAction *urlSaveAsAction() { return mUrlSaveAsAction; } TDEAction *addBookmarksAction() { return mAddBookmarksAction;} - TDEAction *toggleMimePartTreeAction() { return mToggleMimePartTreeAction; } TDEAction *startImChatAction() { return mStartIMChatAction; } // This function returns the complete data that were in this // message parts - *after* all encryption has been removed that @@ -400,12 +399,13 @@ /** The user toggled the "Fixed Font" flag from the view menu. */ void slotToggleFixedFont(); + /** Show or hide the Mime Tree Viewer */ void slotToggleMimePartTree(); /** Copy the selected text to the clipboard */ void slotCopySelectedText(); - void slotUrlClicked(); + void slotUrlClicked(); /** Operations on mailto: URLs. */ void slotMailtoReply(); @@ -586,6 +586,7 @@ TQStringList mTempFiles; TQStringList mTempDirs; int mMimeTreeMode; + int mMimeTreeModeOverride; bool mMimeTreeAtBottom; TQValueList<int> mSplitterSizes; partNode* mRootNode; |