Simplify determination of whether markup is supported

This should also result in a speed increase (however slight), since the capabilities are now sorted through only once.
pull/475/head
Loren Burkholder 4 years ago committed by Nicolas Werner
parent 4150d75be7
commit 4a86e14d04
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
  1. 22
      src/notifications/ManagerLinux.cpp

@ -9,6 +9,8 @@
#include <QImage>
#include <QTextDocumentFragment>
#include <functional>
#include "Utils.h"
NotificationsManager::NotificationsManager(QObject *parent)
@ -161,14 +163,18 @@ NotificationsManager::notificationClosed(uint id, uint reason)
QString
NotificationsManager::formatNotification(const QString &text)
{
static auto capabilites = dbus.call("GetCapabilities").arguments();
for (auto x : capabilites)
if (x.toStringList().contains("body-markup"))
return QString(text)
.replace("<em>", "<i>")
.replace("</em>", "</i>")
.replace("<strong>", "<b>")
.replace("</strong>", "</b>");
static const auto hasMarkup = std::invoke([this]() -> bool {
for (auto x : dbus.call("GetCapabilities").arguments())
if (x.toStringList().contains("body-markup"))
return true;
return false;
});
if (hasMarkup)
return QString(text)
.replace("<em>", "<i>")
.replace("</em>", "</i>")
.replace("<strong>", "<b>")
.replace("</strong>", "</b>");
return QTextDocumentFragment::fromHtml(text).toPlainText();
}

Loading…
Cancel
Save