More consistent formatters

This commit is contained in:
2016-05-14 04:08:22 +03:00
parent 51c7299ad0
commit 6bd7788aa9
22 changed files with 107 additions and 65 deletions

View File

@ -201,7 +201,7 @@ QVariantMap AWConfigHelper::readDataEngineConfiguration() const
}
void AWConfigHelper::writeDataEngineConfiguration(
bool AWConfigHelper::writeDataEngineConfiguration(
const QVariantMap configuration) const
{
qCDebug(LOG_AW) << "Configuration" << configuration;
@ -228,6 +228,8 @@ void AWConfigHelper::writeDataEngineConfiguration(
settings.endGroup();
settings.sync();
return (settings.status() == QSettings::NoError);
}

View File

@ -42,7 +42,7 @@ public:
const bool importAdds) const;
// dataengine
Q_INVOKABLE QVariantMap readDataEngineConfiguration() const;
Q_INVOKABLE void
Q_INVOKABLE bool
writeDataEngineConfiguration(const QVariantMap configuration) const;
private:

View File

@ -19,11 +19,11 @@
#include <KI18n/KLocalizedString>
#include <QtConcurrent/QtConcurrent>
#include <QBuffer>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QPixmap>
#include <QtConcurrent/QtConcurrent>
#include <cmath>

View File

@ -23,8 +23,8 @@
#include <QInputDialog>
#include <QSettings>
#include "awdebug.h"
#include "awdatetimeformatter.h"
#include "awdebug.h"
#include "awfloatformatter.h"
#include "awnoformatter.h"
#include "awscriptformatter.h"
@ -66,11 +66,13 @@ QStringList AWFormatterHelper::definedFormatters() const
}
QString AWFormatterHelper::formatterByTag(const QString tag) const
QVariantMap AWFormatterHelper::getFormatters() const
{
qCDebug(LOG_AW) << "Looking for tag" << tag;
QVariantMap map;
for (auto tag : m_formatters.keys())
map[tag] = m_formatters[tag]->name();
return m_formatters.contains(tag) ? m_formatters[tag]->name() : QString();
return map;
}
@ -80,6 +82,25 @@ QStringList AWFormatterHelper::knownFormatters() const
}
bool AWFormatterHelper::writeFormatters(const QVariantMap configuration) const
{
QString fileName = QString("%1/awesomewidgets/formatters/formatters.ini")
.arg(QStandardPaths::writableLocation(
QStandardPaths::GenericDataLocation));
QSettings settings(fileName, QSettings::IniFormat);
qCInfo(LOG_AW) << "Configuration file" << fileName;
settings.beginGroup(QString("Formatters"));
for (auto key : configuration.keys())
settings.setValue(key, configuration[key]);
settings.endGroup();
settings.sync();
return (settings.status() == QSettings::NoError);
}
QList<AbstractExtItem *> AWFormatterHelper::items() const
{
QList<AbstractExtItem *> converted;
@ -155,19 +176,28 @@ void AWFormatterHelper::initKeys()
{
m_formatters.clear();
QSettings settings(m_formatterConfig, QSettings::IniFormat);
settings.beginGroup(QString("Formatters"));
QStringList keys = settings.childKeys();
for (auto key : keys) {
QString name = settings.value(key).toString();
qCInfo(LOG_AW) << "Found formatter" << name << "for key" << key;
if (!m_formattersClasses.contains(name)) {
qCWarning(LOG_AW) << "Invalid formatter" << name << "found in"
<< key;
QStringList configs = QStandardPaths::locateAll(
QStandardPaths::GenericDataLocation,
QString("awesomewidgets/formatters/formatters.ini"));
for (auto fileName : configs) {
QSettings settings(fileName, QSettings::IniFormat);
qCInfo(LOG_AW) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Formatters"));
QStringList keys = settings.childKeys();
for (auto key : keys) {
QString name = settings.value(key).toString();
qCInfo(LOG_AW) << "Found formatter" << name << "for key" << key
<< "in" << settings.fileName();
if (!m_formattersClasses.contains(name)) {
qCWarning(LOG_AW) << "Invalid formatter" << name << "found in"
<< key;
}
m_formatters[key] = m_formattersClasses[name];
}
m_formatters[key] = m_formattersClasses[name];
settings.endGroup();
}
settings.endGroup();
}
@ -184,10 +214,6 @@ void AWFormatterHelper::installDirectories()
m_directories = QStandardPaths::locateAll(
QStandardPaths::GenericDataLocation,
QString("awesomewidgets/formatters"), QStandardPaths::LocateDirectory);
m_formatterConfig = QString("%1/awesomewidgets/formatters/formatters.ini")
.arg(QStandardPaths::writableLocation(
QStandardPaths::GenericDataLocation));
}

View File

@ -35,8 +35,9 @@ public:
virtual ~AWFormatterHelper();
QString convert(const QVariant &value, const QString name) const;
Q_INVOKABLE QStringList definedFormatters() const;
Q_INVOKABLE QString formatterByTag(const QString tag) const;
Q_INVOKABLE QVariantMap getFormatters() const;
Q_INVOKABLE QStringList knownFormatters() const;
Q_INVOKABLE bool writeFormatters(const QVariantMap configuration) const;
QList<AbstractExtItem *> items() const;
private:
@ -53,7 +54,6 @@ private:
void initItems();
// properties
QStringList m_directories;
QString m_formatterConfig;
QHash<QString, AWAbstractFormatter *> m_formatters;
QHash<QString, AWAbstractFormatter *> m_formattersClasses;
};

View File

@ -194,12 +194,14 @@ QString AWKeyOperations::infoByKey(QString key) const
else if (key.startsWith(QString("custom")))
return extScripts->itemByTag(key, QString("custom"))->uniq();
else if (key.contains(QRegExp(QString("^hdd[rw]"))))
return QString("%1").arg(m_devices[QString(
"disk")][key.remove(QRegExp(QString("hdd[rw]"))).toInt()]);
return QString("%1").arg(
m_devices[QString("disk")]
[key.remove(QRegExp(QString("hdd[rw]"))).toInt()]);
else if (key.contains(QRegExp(
QString("^hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb)"))))
return QString("%1").arg(m_devices[QString(
"mount")][key
return QString("%1").arg(
m_devices[QString("mount")]
[key
.remove(QRegExp(QString(
"^hdd([0-9]|mb|gb|freemb|freegb|totmb|totgb)")))
.toInt()]);
@ -207,8 +209,9 @@ QString AWKeyOperations::infoByKey(QString key) const
return QString("%1").arg(
m_devices[QString("hdd")][key.remove(QString("hddtemp")).toInt()]);
else if (key.contains(QRegExp(QString("^(down|up)[0-9]"))))
return QString("%1").arg(m_devices[QString(
"net")][key.remove(QRegExp(QString("^(down|up)"))).toInt()]);
return QString("%1").arg(
m_devices[QString("net")]
[key.remove(QRegExp(QString("^(down|up)"))).toInt()]);
else if (key.startsWith(QString("pkgcount")))
return extUpgrade->itemByTag(key, QString("pkgcount"))->uniq();
else if (key.contains(QRegExp(QString("(^|perc)(ask|bid|price)(chg|)"))))

View File

@ -17,11 +17,11 @@
#include "awkeys.h"
#include <QtConcurrent/QtConcurrent>
#include <QJSEngine>
#include <QRegExp>
#include <QThread>
#include <QTimer>
#include <QtConcurrent/QtConcurrent>
#include "awdataaggregator.h"
#include "awdataengineaggregator.h"

View File

@ -19,14 +19,14 @@
#include <KI18n/KLocalizedString>
#include <QtConcurrent/QtConcurrent>
#include <QDesktopServices>
#include <QJsonDocument>
#include <QJsonParseError>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QSettings>
#include <QtConcurrent/QtConcurrent>
#include "awdebug.h"