diff --git a/src/formatter/articlegrantleeobject.h b/src/formatter/articlegrantleeobject.h --- a/src/formatter/articlegrantleeobject.h +++ b/src/formatter/articlegrantleeobject.h @@ -36,16 +36,9 @@ Q_PROPERTY(QString enclosure READ enclosure) Q_PROPERTY(QString articleCompleteStoryLink READ articleCompleteStoryLink) Q_PROPERTY(QString imageFeed READ imageFeed) - Q_PROPERTY(QString deleteAction READ deleteAction) - Q_PROPERTY(QString markAsReadAction READ markAsReadAction) - Q_PROPERTY(QString markAsUnreadAction READ markAsUnreadAction) - Q_PROPERTY(QString markAsImportantAction READ markAsImportantAction) - Q_PROPERTY(QString sendUrlAction READ sendUrlAction) - Q_PROPERTY(QString sendFileAction READ sendFileAction) - Q_PROPERTY(QString openInExternalBrowser READ openInExternalBrowser) - Q_PROPERTY(QString openInBackgroundTab READ openInBackgroundTab) Q_PROPERTY(Akregator::ArticleGrantleeObject::ArticleStatus articleStatus READ articleStatus) Q_PROPERTY(bool important READ important) + Q_PROPERTY(QString actionToken READ actionToken) public: explicit ArticleGrantleeObject(const QUrl &imageDir, const Article &article, ArticleFormatter::IconOption icon, QObject *parent = nullptr); @@ -76,18 +69,14 @@ QString markAsImportantAction() const; QString sendUrlAction() const; QString sendFileAction() const; - QString openInExternalBrowser() const; - - QString openInBackgroundTab() const; bool important() const; + QString actionToken() const; private: - QString createActionUrl(const QString &actionName) const; Article mArticle; ArticleFormatter::IconOption mArticleFormatOption; QUrl mImageDir; - int mIconSize; }; } #endif // ARTICLEGRANTLEEOBJECT_H diff --git a/src/formatter/articlegrantleeobject.cpp b/src/formatter/articlegrantleeobject.cpp --- a/src/formatter/articlegrantleeobject.cpp +++ b/src/formatter/articlegrantleeobject.cpp @@ -19,12 +19,10 @@ #include "articlegrantleeobject.h" #include "articleformatter.h" -#include #include "utils.h" #include "feed.h" #include #include -#include #include #include #include @@ -37,7 +35,6 @@ , mArticleFormatOption(iconOption) , mImageDir(imageDir) { - mIconSize = KIconLoader::global()->currentSize(KIconLoader::Small); } ArticleGrantleeObject::~ArticleGrantleeObject() @@ -117,87 +114,12 @@ return text; } -QString ArticleGrantleeObject::createActionUrl(const QString &actionName) const +QString ArticleGrantleeObject::actionToken() const { - QUrl url; - url.setScheme(QStringLiteral("akregatoraction")); - url.setPath(actionName); QUrlQuery query; query.addQueryItem(QStringLiteral("id"), mArticle.guid()); query.addQueryItem(QStringLiteral("feed"), mArticle.feed()->xmlUrl()); - url.setQuery(query); - return url.toDisplayString(); -} - -QString ArticleGrantleeObject::deleteAction() const -{ - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("edit-delete"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("delete")), iconPath, i18n("Delete Article"), QString::number(mIconSize)); - return text; -} - -QString ArticleGrantleeObject::markAsReadAction() const -{ - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("mail-mark-read"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("markAsRead")), iconPath, i18n("Mark as Read"), QString::number(mIconSize)); - return text; -} - -QString ArticleGrantleeObject::markAsUnreadAction() const -{ - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("mail-mark-unread"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("markAsUnRead")), iconPath, i18n("Mark as Unread"), QString::number(mIconSize)); - return text; -} - -QString ArticleGrantleeObject::markAsImportantAction() const -{ - if (mArticle.keep()) { - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("mail-message"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("markAsImportant")), iconPath, i18n("Remove Important Status"), QString::number(mIconSize)); - return text; - } else { - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("mail-mark-important"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("markAsImportant")), iconPath, i18n("Mark as Important"), QString::number(mIconSize)); - return text; - } -} - -QString ArticleGrantleeObject::sendUrlAction() const -{ - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("mail-message-new"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("sendUrlArticle")), iconPath, i18n("Send Link Address"), QString::number(mIconSize)); - return text; -} - -QString ArticleGrantleeObject::sendFileAction() const -{ - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("mail-message-new"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("sendFileArticle")), iconPath, i18n("Send File Address"), QString::number(mIconSize)); - return text; -} - -QString ArticleGrantleeObject::openInExternalBrowser() const -{ - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("window-new"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("openInExternalBrowser")), iconPath, i18n("Open Link in External Browser"), QString::number(mIconSize)); - return text; -} - -QString ArticleGrantleeObject::openInBackgroundTab() const -{ - const QString iconPath = QUrl::fromLocalFile(MessageViewer::IconNameCache::instance()->iconPath(QStringLiteral("tab-new"), KIconLoader::Small)).url(); - const QString text = QStringLiteral("\n") - .arg(createActionUrl(QStringLiteral("openInBackgroundTab")), iconPath, i18n("Open In Background Tab"), QString::number(mIconSize)); - return text; + return QLatin1Char('?') + query.toString(QUrl::FullyEncoded); } bool ArticleGrantleeObject::important() const diff --git a/src/formatter/html/5.2/combinedview.html b/src/formatter/html/5.2/combinedview.html --- a/src/formatter/html/5.2/combinedview.html +++ b/src/formatter/html/5.2/combinedview.html @@ -69,7 +69,7 @@ color: rgb(120, 125, 129) ! important; font-size: {{ mediumFontSize}}px; } - .headimage { + .headimage, div.theactioncell a img { float: right; margin-left: 5px; } @@ -100,18 +100,22 @@
{% with article.articleStatus as result %} {% ifequal article.Unread result %} -
{{ article.markAsReadAction|safe }}
+ {% endifequal %} {% ifequal article.Read result %} -
{{ article.markAsUnreadAction|safe }}
+ {% endifequal %} {% endwith %} -
{{ article.markAsImportantAction|safe }}
-
{{ article.openInExternalBrowser|safe }}
-
{{ article.openInBackgroundTab|safe }}
-
{{ article.sendFileAction|safe }}
-
{{ article.sendUrlAction|safe }}
-
{{ article.deleteAction|safe }}
+ {% if article.important %} + + {% else %} + + {% endif %} + + + + +