diff --git a/messageviewer/autotests/setupenv.h b/messageviewer/autotests/setupenv.h --- a/messageviewer/autotests/setupenv.h +++ b/messageviewer/autotests/setupenv.h @@ -76,6 +76,21 @@ mHtmlMail = htmlMail; } + bool autoImportKeys() Q_DECL_OVERRIDE + { + return true; + } + + bool showEmoticons() Q_DECL_OVERRIDE + { + return false; + } + + bool showExpandQuotesMark() Q_DECL_OVERRIDE + { + return false; + } + private: MessageViewer::HtmlWriter *mWriter; MessageViewer::CSSHelper *mCSSHelper; diff --git a/messageviewer/src/CMakeLists.txt b/messageviewer/src/CMakeLists.txt --- a/messageviewer/src/CMakeLists.txt +++ b/messageviewer/src/CMakeLists.txt @@ -540,14 +540,9 @@ set(libotp_SRCS ${libmessageviewer_otp_SRCS} ${libmessageviewer_otp_extra_SRCS} - settings/messageviewersettings.cpp ) ecm_qt_declare_logging_category(libotp_SRCS HEADER messageviewer_debug.h IDENTIFIER MESSAGEVIEWER_LOG CATEGORY_NAME log_messageviewer) -kconfig_add_kcfg_files(libotp_SRCS - settings/globalsettings_messageviewer.kcfgc -) - add_library(KF5Otp ${libotp_SRCS} ) diff --git a/messageviewer/src/objecttreesourceif.h b/messageviewer/src/objecttreesourceif.h --- a/messageviewer/src/objecttreesourceif.h +++ b/messageviewer/src/objecttreesourceif.h @@ -21,7 +21,7 @@ #define MAILVIEWER_OBJECTTREESOURCE_IF_H #include "messageviewer_export.h" -#include "messageviewer/messageviewerutil.h" +#include "messageviewer/mimetype.h" #include @@ -88,6 +88,13 @@ /** The source object behind the interface. */ virtual QObject *sourceObject() = 0; + + /** should keys be imported automatically **/ + virtual bool autoImportKeys() = 0; + + virtual bool showEmoticons() = 0; + + virtual bool showExpandQuotesMark() = 0; }; } diff --git a/messageviewer/src/viewer/objecttreeemptysource.h b/messageviewer/src/viewer/objecttreeemptysource.h --- a/messageviewer/src/viewer/objecttreeemptysource.h +++ b/messageviewer/src/viewer/objecttreeemptysource.h @@ -49,6 +49,9 @@ CSSHelper *cssHelper() Q_DECL_OVERRIDE; QObject *sourceObject() Q_DECL_OVERRIDE; + bool autoImportKeys() Q_DECL_OVERRIDE; + bool showEmoticons() Q_DECL_OVERRIDE; + bool showExpandQuotesMark() Q_DECL_OVERRIDE; private: EmptySourcePrivate *const d; }; diff --git a/messageviewer/src/viewer/objecttreeemptysource.cpp b/messageviewer/src/viewer/objecttreeemptysource.cpp --- a/messageviewer/src/viewer/objecttreeemptysource.cpp +++ b/messageviewer/src/viewer/objecttreeemptysource.cpp @@ -113,5 +113,20 @@ return 0; } +bool EmptySource::autoImportKeys() +{ + return true; +} + +bool EmptySource::showEmoticons() +{ + return false; +} + +bool EmptySource::showExpandQuotesMark() +{ + return false; +} + } diff --git a/messageviewer/src/viewer/objecttreeparser.cpp b/messageviewer/src/viewer/objecttreeparser.cpp --- a/messageviewer/src/viewer/objecttreeparser.cpp +++ b/messageviewer/src/viewer/objecttreeparser.cpp @@ -46,13 +46,11 @@ #include "partmetadata.h" #include "attachmentstrategy.h" #include "interfaces/htmlwriter.h" -#include "widgets/htmlstatusbar.h" #include "csshelper.h" #include "viewer/bodypartformatterfactory.h" #include "viewer/partnodebodypart.h" #include "interfaces/bodypartformatter.h" -#include "settings/messageviewersettings.h" -#include "messageviewer/messageviewerutil.h" +#include "messageviewer/mimetype.h" #include "job/kleojobexecutor.h" #include "messageviewer/nodehelper.h" #include "utils/iconnamecache.h" @@ -85,8 +83,7 @@ #include #include -#include -#include +#include #include #include @@ -1175,7 +1172,7 @@ if (smimeType == QLatin1String("certs-only")) { result.setNeverDisplayInline(true); - CertMessagePart::Ptr mp(new CertMessagePart(this, node, smimeCrypto, MessageViewer::MessageViewerSettings::self()->autoImportKeys())); + CertMessagePart::Ptr mp(new CertMessagePart(this, node, smimeCrypto, mSource->autoImportKeys())); return mp; } @@ -2184,7 +2181,7 @@ assert(cssHelper()); KTextToHTML::Options convertFlags = KTextToHTML::PreserveSpaces | KTextToHTML::HighlightText; - if (decorate && MessageViewer::MessageViewerSettings::self()->showEmoticons()) { + if (decorate && mSource->showEmoticons()) { convertFlags |= KTextToHTML::ReplaceSmileys; } QString htmlStr; @@ -2214,7 +2211,7 @@ int currQuoteLevel = -2; // -2 == no previous lines bool curHidden = false; // no hide any block - if (MessageViewer::MessageViewerSettings::self()->showExpandQuotesMark()) { + if (mSource->showExpandQuotesMark()) { // Cache Icons if (mCollapseIcon.isEmpty()) { mCollapseIcon = iconToDataUrl(IconNameCache::instance()->iconPath(QStringLiteral("quotecollapse"), 0)); @@ -2264,7 +2261,7 @@ bool actHidden = false; // This quoted line needs be hidden - if (MessageViewer::MessageViewerSettings::self()->showExpandQuotesMark() && mSource->levelQuote() >= 0 + if (mSource->showExpandQuotesMark() && mSource->levelQuote() >= 0 && mSource->levelQuote() <= (actQuoteLevel)) { actHidden = true; } @@ -2285,7 +2282,7 @@ if (actQuoteLevel == -1) { htmlStr += normalStartTag; } else { - if (MessageViewer::MessageViewerSettings::self()->showExpandQuotesMark()) { + if (mSource->showExpandQuotesMark()) { if (actHidden) { //only show the QuoteMark when is the first line of the level hidden if (!curHidden) { diff --git a/messageviewer/src/viewer/objecttreeviewersource.h b/messageviewer/src/viewer/objecttreeviewersource.h --- a/messageviewer/src/viewer/objecttreeviewersource.h +++ b/messageviewer/src/viewer/objecttreeviewersource.h @@ -48,6 +48,9 @@ CSSHelper *cssHelper() Q_DECL_OVERRIDE; QObject *sourceObject() Q_DECL_OVERRIDE; + bool autoImportKeys() Q_DECL_OVERRIDE; + bool showEmoticons() Q_DECL_OVERRIDE; + bool showExpandQuotesMark() Q_DECL_OVERRIDE; private: ViewerPrivate *mViewer; }; diff --git a/messageviewer/src/viewer/objecttreeviewersource.cpp b/messageviewer/src/viewer/objecttreeviewersource.cpp --- a/messageviewer/src/viewer/objecttreeviewersource.cpp +++ b/messageviewer/src/viewer/objecttreeviewersource.cpp @@ -20,6 +20,7 @@ #include "objecttreeviewersource.h" #include "viewer/viewer_p.h" #include "widgets/htmlstatusbar.h" +#include "settings/messageviewersettings.h" namespace MessageViewer { @@ -92,4 +93,19 @@ return mViewer->cssHelper(); } +bool MailViewerSource::autoImportKeys() +{ + return MessageViewer::MessageViewerSettings::self()->autoImportKeys(); +} + +bool MailViewerSource::showEmoticons() +{ + return MessageViewer::MessageViewerSettings::self()->showEmoticons(); +} + +bool MailViewerSource::showExpandQuotesMark() +{ + return MessageViewer::MessageViewerSettings::self()->showExpandQuotesMark(); +} + }