more pretty about text

Use generic text generation for all plasmoids
This commit is contained in:
Evgenii Alekseev 2016-11-06 22:12:03 +03:00
parent 73d1b0a69f
commit 6a24fc3f63
9 changed files with 97 additions and 137 deletions

View File

@ -16,6 +16,8 @@
***************************************************************************/
#include <KI18n/KLocalizedString>
#include "awdebug.h"
@ -31,7 +33,80 @@ Q_LOGGING_CATEGORY(LOG_LIB, "org.kde.plasma.awesomewidgets",
QtMsgType::QtWarningMsg)
const QStringList getBuildData()
QString AWDebug::getAboutText(const QString type)
{
QString text;
if (type == QString("header")) {
text = QString(NAME);
} else if (type == QString("version")) {
text = i18n("Version %1 (build date %2)", QString(VERSION),
QString(BUILD_DATE));
if (!QString(COMMIT_SHA).isEmpty())
text += QString(" (%1)").arg(QString(COMMIT_SHA));
} else if (type == QString("description")) {
text = i18n("A set of minimalistic plasmoid widgets");
} else if (type == QString("links")) {
text = i18n("Links:") + QString("<ul>")
+ QString("<li><a href=\"%1\">%2</a></li>")
.arg(QString(HOMEPAGE))
.arg(i18n("Homepage"))
+ QString("<li><a href=\"%1\">%2</a></li>")
.arg(QString(REPOSITORY))
.arg(i18n("Repository"))
+ QString("<li><a href=\"%1\">%2</a></li>")
.arg(QString(BUGTRACKER))
.arg(i18n("Bugtracker"))
+ QString("<li><a href=\"%1\">%2</a></li>")
.arg(QString(TRANSLATION))
.arg(i18n("Translation issue"))
+ QString("<li><a href=\"%1\">%2</a></li>")
.arg(QString(AUR_PACKAGES))
.arg(i18n("AUR packages"))
+ QString("<li><a href=\"%1\">%2</a></li>")
.arg(QString(OPENSUSE_PACKAGES))
.arg(i18n("openSUSE packages"))
+ QString("</ul>");
} else if (type == QString("copy")) {
text = QString("<small>&copy; %1 <a href=\"mailto:%2\">%3</a><br>")
.arg(QString(DATE))
.arg(QString(EMAIL))
.arg(QString(AUTHOR))
+ i18n("This software is licensed under %1", QString(LICENSE))
+ QString("</small>");
} else if (type == QString("translators")) {
QStringList translatorList = QString(TRANSLATORS).split(QChar(','));
for (auto &translator : translatorList)
translator = QString("<li>%1</li>").arg(translator);
text = i18n("Translators:") + QString("<ul>")
+ translatorList.join(QString("")) + QString("</ul>");
} else if (type == QString("3rdparty")) {
QStringList trdPartyList
= QString(TRDPARTY_LICENSE)
.split(QChar(';'), QString::SkipEmptyParts);
for (int i = 0; i < trdPartyList.count(); i++)
trdPartyList[i]
= QString("<li><a href=\"%3\">%1</a> (%2 license)</li>")
.arg(trdPartyList.at(i).split(QChar(','))[0])
.arg(trdPartyList.at(i).split(QChar(','))[1])
.arg(trdPartyList.at(i).split(QChar(','))[2]);
text = i18n("This software uses:") + QString("<ul>")
+ trdPartyList.join(QString("")) + QString("</ul>");
} else if (type == QString("thanks")) {
QStringList thanks = QString(SPECIAL_THANKS)
.split(QChar(';'), QString::SkipEmptyParts);
for (int i = 0; i < thanks.count(); i++)
thanks[i] = QString("<li><a href=\"%2\">%1</a></li>")
.arg(thanks.at(i).split(QChar(','))[0])
.arg(thanks.at(i).split(QChar(','))[1]);
text = i18n("Special thanks to:") + QString("<ul>")
+ thanks.join(QString("")) + QString("</ul>");
}
return text;
}
QStringList AWDebug::getBuildData()
{
QStringList metadata;
metadata.append(QString("=== Awesome Widgets configuration details ==="));

View File

@ -23,12 +23,18 @@
#include "version.h"
namespace AWDebug
{
const char LOG_FORMAT[] = "[%{time "
"process}][%{if-debug}DD%{endif}%{if-info}II%{endif}%"
"{if-warning}WW%{endif}%{if-critical}CC%{endif}%{if-"
"fatal}FF%{endif}][%{category}][%{function}] "
"%{message}";
QString getAboutText(const QString type);
QStringList getBuildData();
}
Q_DECLARE_LOGGING_CATEGORY(LOG_AW)
Q_DECLARE_LOGGING_CATEGORY(LOG_DBUS)
@ -37,7 +43,5 @@ Q_DECLARE_LOGGING_CATEGORY(LOG_ESM)
Q_DECLARE_LOGGING_CATEGORY(LOG_ESS)
Q_DECLARE_LOGGING_CATEGORY(LOG_LIB)
const QStringList getBuildData();
#endif /* AWDEBUG_H */

View File

@ -118,66 +118,7 @@ QString AWActions::getAboutText(const QString type) const
{
qCDebug(LOG_AW) << "Type" << type;
QString text;
if (type == QString("header")) {
text = QString(NAME);
} else if (type == QString("version")) {
text = i18n("Version %1 (build date %2)", QString(VERSION),
QString(BUILD_DATE));
if (!QString(COMMIT_SHA).isEmpty())
text += QString(" (%1)").arg(QString(COMMIT_SHA));
} else if (type == QString("description")) {
text = i18n("A set of minimalistic plasmoid widgets");
} else if (type == QString("links")) {
text = i18n("Links:") + QString("<br>")
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(HOMEPAGE))
.arg(i18n("Homepage"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(REPOSITORY))
.arg(i18n("Repository"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(BUGTRACKER))
.arg(i18n("Bugtracker"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(TRANSLATION))
.arg(i18n("Translation issue"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(AUR_PACKAGES))
.arg(i18n("AUR packages"))
+ QString("<a href=\"%1\">%2</a>")
.arg(QString(OPENSUSE_PACKAGES))
.arg(i18n("openSUSE packages"));
} else if (type == QString("copy")) {
text = QString("<small>&copy; %1 <a href=\"mailto:%2\">%3</a><br>")
.arg(QString(DATE))
.arg(QString(EMAIL))
.arg(QString(AUTHOR))
+ i18n("This software is licensed under %1", QString(LICENSE))
+ QString("</small>");
} else if (type == QString("translators")) {
text = i18n("Translators: %1", QString(TRANSLATORS));
} else if (type == QString("3rdparty")) {
QStringList trdPartyList
= QString(TRDPARTY_LICENSE)
.split(QChar(';'), QString::SkipEmptyParts);
for (int i = 0; i < trdPartyList.count(); i++)
trdPartyList[i] = QString("<a href=\"%3\">%1</a> (%2 license)")
.arg(trdPartyList.at(i).split(QChar(','))[0])
.arg(trdPartyList.at(i).split(QChar(','))[1])
.arg(trdPartyList.at(i).split(QChar(','))[2]);
text = i18n("This software uses: %1", trdPartyList.join(QString(", ")));
} else if (type == QString("thanks")) {
QStringList thanks = QString(SPECIAL_THANKS)
.split(QChar(';'), QString::SkipEmptyParts);
for (int i = 0; i < thanks.count(); i++)
thanks[i] = QString("<a href=\"%2\">%1</a>")
.arg(thanks.at(i).split(QChar(','))[0])
.arg(thanks.at(i).split(QChar(','))[1]);
text = i18n("Special thanks to %1", thanks.join(QString(", ")));
}
return text;
return AWDebug::getAboutText(type);
}

View File

@ -66,7 +66,7 @@ QString AWBugReporter::generateText(const QString description,
output += QString("**Step to reproduce**\n\n%1\n\n").arg(reproduce);
output += QString("**Expected result**\n\n%1\n\n").arg(expected);
output += QString("**Version**\n\n%1\n\n")
.arg(getBuildData().join(QString("\n")));
.arg(AWDebug::getBuildData().join(QString("\n")));
// append logs
output += QString("**Logs**\n\n%1").arg(logs);

View File

@ -38,9 +38,9 @@
AWKeys::AWKeys(QObject *parent)
: QObject(parent)
{
qSetMessagePattern(LOG_FORMAT);
qSetMessagePattern(AWDebug::LOG_FORMAT);
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;
for (auto metadata : getBuildData())
for (auto &metadata : AWDebug::getBuildData())
qCDebug(LOG_AW) << metadata;
// thread pool

View File

@ -34,9 +34,9 @@ public:
explicit ExtItemAggregator(QWidget *parent, const QString type)
: AbstractExtItemAggregator(parent, type)
{
qSetMessagePattern(LOG_FORMAT);
qSetMessagePattern(AWDebug::LOG_FORMAT);
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
for (auto metadata : getBuildData())
for (auto &metadata : AWDebug::getBuildData())
qCDebug(LOG_LIB) << metadata;
qCDebug(LOG_LIB) << "Type" << type;

View File

@ -39,9 +39,9 @@
DPAdds::DPAdds(QObject *parent)
: QObject(parent)
{
qSetMessagePattern(LOG_FORMAT);
qSetMessagePattern(AWDebug::LOG_FORMAT);
qCDebug(LOG_DP) << __PRETTY_FUNCTION__;
for (auto metadata : getBuildData())
for (auto &metadata : AWDebug::getBuildData())
qCDebug(LOG_DP) << metadata;
connect(KWindowSystem::self(), SIGNAL(currentDesktopChanged(int)), this,
@ -262,67 +262,7 @@ QString DPAdds::getAboutText(const QString type) const
{
qCDebug(LOG_DP) << "Type" << type;
QString text;
if (type == QString("header")) {
text = QString(NAME);
} else if (type == QString("version")) {
text = i18n("Version %1 (build date %2)", QString(VERSION),
QString(BUILD_DATE));
if (!QString(COMMIT_SHA).isEmpty())
text += QString(" (%1)").arg(QString(COMMIT_SHA));
} else if (type == QString("description")) {
text = i18n("A set of minimalistic plasmoid widgets");
} else if (type == QString("links")) {
text = i18n("Links:") + QString("<br>")
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(HOMEPAGE))
.arg(i18n("Homepage"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(REPOSITORY))
.arg(i18n("Repository"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(BUGTRACKER))
.arg(i18n("Bugtracker"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(TRANSLATION))
.arg(i18n("Translation issue"))
+ QString("<a href=\"%1\">%2</a><br>")
.arg(QString(AUR_PACKAGES))
.arg(i18n("AUR packages"))
+ QString("<a href=\"%1\">%2</a>")
.arg(QString(OPENSUSE_PACKAGES))
.arg(i18n("openSUSE packages"));
} else if (type == QString("copy")) {
text = QString("<small>&copy; %1 <a href=\"mailto:%2\">%3</a><br>")
.arg(QString(DATE))
.arg(QString(EMAIL))
.arg(QString(AUTHOR))
+ i18n("This software is licensed under %1", QString(LICENSE))
+ QString("</small>");
} else if (type == QString("translators")) {
text = i18n("Translators: %1", QString(TRANSLATORS));
} else if (type == QString("3rdparty")) {
QStringList trdPartyList
= QString(TRDPARTY_LICENSE)
.split(QChar(';'), QString::SkipEmptyParts);
for (int i = 0; i < trdPartyList.count(); i++)
trdPartyList[i]
= QString("<a href=\"%3\">%1</a> (%2 license)")
.arg(trdPartyList.at(i).split(QChar(',')).at(0))
.arg(trdPartyList.at(i).split(QChar(',')).at(1))
.arg(trdPartyList.at(i).split(QChar(',')).at(2));
text = i18n("This software uses: %1", trdPartyList.join(QString(", ")));
} else if (type == QString("thanks")) {
QStringList thanks = QString(SPECIAL_THANKS)
.split(QChar(';'), QString::SkipEmptyParts);
for (int i = 0; i < thanks.count(); i++)
thanks[i] = QString("<a href=\"%2\">%1</a>")
.arg(thanks.at(i).split(QChar(','))[0])
.arg(thanks.at(i).split(QChar(','))[1]);
text = i18n("Special thanks to %1", thanks.join(QString(", ")));
}
return text;
return AWDebug::getAboutText(type);
}

View File

@ -32,9 +32,9 @@ ExtendedSysMon::ExtendedSysMon(QObject *parent, const QVariantList &args)
: Plasma::DataEngine(parent, args)
{
Q_UNUSED(args)
qSetMessagePattern(LOG_FORMAT);
qSetMessagePattern(AWDebug::LOG_FORMAT);
qCDebug(LOG_ESM) << __PRETTY_FUNCTION__;
for (auto metadata : getBuildData())
for (auto &metadata : AWDebug::getBuildData())
qCDebug(LOG_ESM) << metadata;
setMinimumPollingInterval(333);

View File

@ -7,10 +7,10 @@ const char NAME[] = "Awesome Widgets";
const char VERSION[] = "@PROJECT_VERSION@";
const char COMMIT_SHA[] = "@PROJECT_COMMIT_SHA@";
const char AUTHOR[] = "@PROJECT_AUTHOR@";
const char TRANSLATORS[] = "Ernesto Aviles Vzqz (Spanish), Mermouy (French), "
"underr (Brazillian Portuguese), Viktor Slobodyan "
"(Ukrainian), Lemueler (Chinese), Heimen Stoffels "
"(Dutch), Mariusz Kocoń (Polish)";
const char TRANSLATORS[] = "Ernesto Aviles Vzqz (Spanish),Mermouy "
"(French),underr (Brazillian Portuguese),Viktor "
"Slobodyan (Ukrainian),Lemueler (Chinese),Heimen "
"Stoffels (Dutch), Mariusz Kocoń (Polish)";
const char EMAIL[] = "@PROJECT_CONTACT@";
const char LICENSE[] = "@PROJECT_LICENSE@";
const char TRDPARTY_LICENSE[] = "QReplyTimeout "