rewrite extensions to new model

This commit is contained in:
Evgenii Alekseev 2016-05-11 14:02:15 +03:00
parent 7c37134aab
commit 14aab3b758
13 changed files with 151 additions and 220 deletions

View File

@ -26,16 +26,13 @@
#include "abstractextitemaggregator.h" #include "abstractextitemaggregator.h"
AbstractExtItem::AbstractExtItem(QWidget *parent, const QString desktopName, AbstractExtItem::AbstractExtItem(QWidget *parent, const QString filePath)
const QStringList directories)
: QDialog(parent) : QDialog(parent)
, m_fileName(desktopName) , m_fileName(filePath)
, m_dirs(directories)
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
qCDebug(LOG_LIB) << "Desktop name" << desktopName << "directories" qCDebug(LOG_LIB) << "Desktop name" << filePath;
<< directories;
m_name = m_fileName; m_name = m_fileName;
} }
@ -57,6 +54,21 @@ void AbstractExtItem::copyDefaults(AbstractExtItem *_other) const
} }
QString AbstractExtItem::writtableConfig() const
{
QStringList paths = m_fileName.split(QChar('/'));
QString name = paths.takeLast();
QString dir = paths.takeLast();
return QString("%1/awesomewidgets/%2/%3")
.arg(QStandardPaths::writableLocation(
QStandardPaths::GenericDataLocation))
.arg(dir)
.arg(name);
}
int AbstractExtItem::apiVersion() const int AbstractExtItem::apiVersion() const
{ {
return m_apiVersion; return m_apiVersion;
@ -69,12 +81,6 @@ QString AbstractExtItem::comment() const
} }
QStringList AbstractExtItem::directories() const
{
return m_dirs;
}
QString AbstractExtItem::fileName() const QString AbstractExtItem::fileName() const
{ {
return m_fileName; return m_fileName;
@ -173,48 +179,34 @@ void AbstractExtItem::setNumber(int _number)
void AbstractExtItem::readConfiguration() void AbstractExtItem::readConfiguration()
{ {
for (int i = m_dirs.count() - 1; i >= 0; i--) { QSettings settings(m_fileName, QSettings::IniFormat);
if (!QDir(m_dirs.at(i)).entryList(QDir::Files).contains(m_fileName))
continue;
QSettings settings(QString("%1/%2").arg(m_dirs.at(i)).arg(m_fileName),
QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setName(settings.value(QString("Name"), m_name).toString()); setName(settings.value(QString("Name"), m_name).toString());
setComment(settings.value(QString("Comment"), m_comment).toString()); setComment(settings.value(QString("Comment"), m_comment).toString());
setApiVersion( setApiVersion(
settings.value(QString("X-AW-ApiVersion"), m_apiVersion).toInt()); settings.value(QString("X-AW-ApiVersion"), m_apiVersion).toInt());
setActive(settings.value(QString("X-AW-Active"), QVariant(m_active)) setActive(
.toString() settings.value(QString("X-AW-Active"), QVariant(m_active)).toString()
== QString("true")); == QString("true"));
setInterval( setInterval(settings.value(QString("X-AW-Interval"), m_interval).toInt());
settings.value(QString("X-AW-Interval"), m_interval).toInt());
setNumber(settings.value(QString("X-AW-Number"), m_number).toInt()); setNumber(settings.value(QString("X-AW-Number"), m_number).toInt());
settings.endGroup(); settings.endGroup();
}
} }
bool AbstractExtItem::tryDelete() const bool AbstractExtItem::tryDelete() const
{ {
for (auto dir : m_dirs) { bool status = QFile::remove(m_fileName);
bool status = QFile::remove(QString("%1/%2").arg(dir).arg(m_fileName)); qCInfo(LOG_AW) << "Remove file" << m_fileName << status;
qCInfo(LOG_LIB) << "Remove file"
<< QString("%1/%2").arg(dir).arg(m_fileName) << status;
}
// check if exists return status;
for (auto dir : m_dirs)
if (QFile::exists(QString("%1/%2").arg(dir).arg(m_fileName)))
return false;
return true;
} }
void AbstractExtItem::writeConfiguration() const void AbstractExtItem::writeConfiguration() const
{ {
QSettings settings(QString("%1/%2").arg(m_dirs.first()).arg(m_fileName), QSettings settings(writtableConfig(), QSettings::IniFormat);
QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName(); qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -28,7 +28,6 @@ class AbstractExtItem : public QDialog
Q_PROPERTY(bool active READ isActive WRITE setActive) Q_PROPERTY(bool active READ isActive WRITE setActive)
Q_PROPERTY(int apiVersion READ apiVersion WRITE setApiVersion) Q_PROPERTY(int apiVersion READ apiVersion WRITE setApiVersion)
Q_PROPERTY(QString comment READ comment WRITE setComment) Q_PROPERTY(QString comment READ comment WRITE setComment)
Q_PROPERTY(QStringList directories READ directories)
Q_PROPERTY(QString fileName READ fileName) Q_PROPERTY(QString fileName READ fileName)
Q_PROPERTY(int interval READ interval WRITE setInterval) Q_PROPERTY(int interval READ interval WRITE setInterval)
Q_PROPERTY(QString name READ name WRITE setName) Q_PROPERTY(QString name READ name WRITE setName)
@ -37,16 +36,15 @@ class AbstractExtItem : public QDialog
public: public:
explicit AbstractExtItem(QWidget *parent = nullptr, explicit AbstractExtItem(QWidget *parent = nullptr,
const QString desktopName = QString(), const QString filePath = QString());
const QStringList directories = QStringList());
virtual ~AbstractExtItem(); virtual ~AbstractExtItem();
virtual AbstractExtItem *copy(const QString _fileName, const int _number) virtual AbstractExtItem *copy(const QString _fileName, const int _number)
= 0; = 0;
void copyDefaults(AbstractExtItem *_other) const; virtual void copyDefaults(AbstractExtItem *_other) const;
QString writtableConfig() const;
// get methods // get methods
int apiVersion() const; int apiVersion() const;
QString comment() const; QString comment() const;
QStringList directories() const;
QString fileName() const; QString fileName() const;
int interval() const; int interval() const;
bool isActive() const; bool isActive() const;
@ -71,7 +69,6 @@ public slots:
private: private:
QString m_fileName; QString m_fileName;
QStringList m_dirs;
virtual void translate() = 0; virtual void translate() = 0;
// properties // properties
int m_apiVersion = 0; int m_apiVersion = 0;

View File

@ -57,7 +57,7 @@ public:
void editItems() void editItems()
{ {
repaint(); repaintList();
int ret = dialog->exec(); int ret = dialog->exec();
qCInfo(LOG_LIB) << "Dialog returns" << ret; qCInfo(LOG_LIB) << "Dialog returns" << ret;
}; };
@ -104,7 +104,8 @@ public:
T *found = nullptr; T *found = nullptr;
for (auto item : m_items) { for (auto item : m_items) {
if (item->fileName() != widgetItem->text()) QString fileName = QFileInfo(item->fileName()).fileName();
if (fileName != widgetItem->text())
continue; continue;
found = item; found = item;
break; break;
@ -135,7 +136,6 @@ private:
QList<T *> m_activeItems; QList<T *> m_activeItems;
QString m_type; QString m_type;
// init method
QList<T *> getItems() QList<T *> getItems()
{ {
// create directory at $HOME // create directory at $HOME
@ -161,7 +161,8 @@ private:
continue; continue;
qCInfo(LOG_LIB) << "Found file" << file << "in" << dir; qCInfo(LOG_LIB) << "Found file" << file << "in" << dir;
names.append(file); names.append(file);
items.append(new T(this, file, dirs)); QString filePath = QString("%1/%2").arg(dir).arg(file);
items.append(new T(this, filePath));
} }
} }
@ -185,12 +186,13 @@ private:
} }
}; };
void repaint() void repaintList()
{ {
widgetDialog->clear(); widgetDialog->clear();
for (auto _item : m_items) { for (auto _item : m_items) {
QString fileName = QFileInfo(_item->fileName()).fileName();
QListWidgetItem *item QListWidgetItem *item
= new QListWidgetItem(_item->fileName(), widgetDialog); = new QListWidgetItem(fileName, widgetDialog);
QStringList tooltip; QStringList tooltip;
tooltip.append(i18n("Name: %1", _item->name())); tooltip.append(i18n("Name: %1", _item->name()));
tooltip.append(i18n("Comment: %1", _item->comment())); tooltip.append(i18n("Comment: %1", _item->comment()));
@ -206,15 +208,20 @@ private:
T *source = itemFromWidget(); T *source = itemFromWidget();
QString fileName = getName(); QString fileName = getName();
int number = uniqNumber(); int number = uniqNumber();
QString dir = QString("%1/awesomewidgets/%2")
.arg(QStandardPaths::writableLocation(
QStandardPaths::GenericDataLocation))
.arg(m_type);
if ((source == nullptr) || (fileName.isEmpty())) { if ((source == nullptr) || (fileName.isEmpty())) {
qCWarning(LOG_LIB) << "Nothing to copy"; qCWarning(LOG_LIB) << "Nothing to copy";
return; return;
} }
QString filePath = QString("%1/%2").arg(dir).arg(fileName);
T *newItem = static_cast<T *>(source->copy(fileName, number)); T *newItem = static_cast<T *>(source->copy(filePath, number));
if (newItem->showConfiguration(configArgs()) == 1) { if (newItem->showConfiguration(configArgs()) == 1) {
initItems(); initItems();
repaint(); repaintList();
} }
}; };
@ -222,20 +229,21 @@ private:
{ {
QString fileName = getName(); QString fileName = getName();
int number = uniqNumber(); int number = uniqNumber();
QStringList dirs = QStandardPaths::locateAll( QString dir = QString("%1/awesomewidgets/%2")
QStandardPaths::GenericDataLocation, .arg(QStandardPaths::writableLocation(
QString("awesomewidgets/%1").arg(m_type), QStandardPaths::GenericDataLocation))
QStandardPaths::LocateDirectory); .arg(m_type);
if (fileName.isEmpty()) { if (fileName.isEmpty()) {
qCWarning(LOG_LIB) << "Nothing to create"; qCWarning(LOG_LIB) << "Nothing to create";
return; return;
}; };
QString filePath = QString("%1/%2").arg(dir).arg(fileName);
T *newItem = new T(this, fileName, dirs); T *newItem = new T(this, filePath);
newItem->setNumber(number); newItem->setNumber(number);
if (newItem->showConfiguration(configArgs()) == 1) { if (newItem->showConfiguration(configArgs()) == 1) {
initItems(); initItems();
repaint(); repaintList();
} }
}; };
@ -249,7 +257,7 @@ private:
if (source->tryDelete()) { if (source->tryDelete()) {
initItems(); initItems();
repaint(); repaintList();
} }
}; };
@ -263,7 +271,7 @@ private:
if (source->showConfiguration(configArgs()) == 1) { if (source->showConfiguration(configArgs()) == 1) {
initItems(); initItems();
repaint(); repaintList();
} }
}; };
}; };

View File

@ -33,9 +33,8 @@
#include "awdebug.h" #include "awdebug.h"
ExtQuotes::ExtQuotes(QWidget *parent, const QString quotesName, ExtQuotes::ExtQuotes(QWidget *parent, const QString filePath)
const QStringList directories) : AbstractExtItem(parent, filePath)
: AbstractExtItem(parent, quotesName, directories)
, ui(new Ui::ExtQuotes) , ui(new Ui::ExtQuotes)
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
@ -76,11 +75,10 @@ ExtQuotes::~ExtQuotes()
ExtQuotes *ExtQuotes::copy(const QString _fileName, const int _number) ExtQuotes *ExtQuotes::copy(const QString _fileName, const int _number)
{ {
qCDebug(LOG_LIB) << "File" << _fileName; qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number;
qCDebug(LOG_LIB) << "Number" << _number;
ExtQuotes *item = new ExtQuotes(static_cast<QWidget *>(parent()), _fileName, ExtQuotes *item
directories()); = new ExtQuotes(static_cast<QWidget *>(parent()), _fileName);
copyDefaults(item); copyDefaults(item);
item->setNumber(_number); item->setNumber(_number);
item->setTicker(ticker()); item->setTicker(ticker());
@ -113,19 +111,11 @@ void ExtQuotes::readConfiguration()
{ {
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i = directories().count() - 1; i >= 0; i--) { QSettings settings(fileName(), QSettings::IniFormat);
if (!QDir(directories().at(i))
.entryList(QDir::Files)
.contains(fileName()))
continue;
QSettings settings(
QString("%1/%2").arg(directories().at(i)).arg(fileName()),
QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setTicker(settings.value(QString("X-AW-Ticker"), m_ticker).toString()); setTicker(settings.value(QString("X-AW-Ticker"), m_ticker).toString());
settings.endGroup(); settings.endGroup();
}
// update for current API // update for current API
if ((apiVersion() > 0) && (apiVersion() < AWEQAPI)) { if ((apiVersion() > 0) && (apiVersion() < AWEQAPI)) {
@ -200,9 +190,7 @@ void ExtQuotes::writeConfiguration() const
{ {
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings( QSettings settings(writtableConfig(), QSettings::IniFormat);
QString("%1/%2").arg(directories().first()).arg(fileName()),
QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName(); qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -39,8 +39,7 @@ class ExtQuotes : public AbstractExtItem
public: public:
explicit ExtQuotes(QWidget *parent = nullptr, explicit ExtQuotes(QWidget *parent = nullptr,
const QString quotesName = QString(), const QString filePath = QString());
const QStringList directories = QStringList());
virtual ~ExtQuotes(); virtual ~ExtQuotes();
ExtQuotes *copy(const QString _fileName, const int _number); ExtQuotes *copy(const QString _fileName, const int _number);
// get methods // get methods

View File

@ -30,9 +30,8 @@
#include "awdebug.h" #include "awdebug.h"
ExtScript::ExtScript(QWidget *parent, const QString scriptName, ExtScript::ExtScript(QWidget *parent, const QString filePath)
const QStringList directories) : AbstractExtItem(parent, filePath)
: AbstractExtItem(parent, scriptName, directories)
, ui(new Ui::ExtScript) , ui(new Ui::ExtScript)
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
@ -65,8 +64,8 @@ ExtScript *ExtScript::copy(const QString _fileName, const int _number)
{ {
qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number;
ExtScript *item = new ExtScript(static_cast<QWidget *>(parent()), _fileName, ExtScript *item
directories()); = new ExtScript(static_cast<QWidget *>(parent()), _fileName);
copyDefaults(item); copyDefaults(item);
item->setExecutable(executable()); item->setExecutable(executable());
item->setNumber(_number); item->setNumber(_number);
@ -215,14 +214,7 @@ void ExtScript::readConfiguration()
{ {
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i = directories().count() - 1; i >= 0; i--) { QSettings settings(fileName(), QSettings::IniFormat);
if (!QDir(directories().at(i))
.entryList(QDir::Files)
.contains(fileName()))
continue;
QSettings settings(
QString("%1/%2").arg(directories().at(i)).arg(fileName()),
QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setExecutable(settings.value(QString("Exec"), m_executable).toString()); setExecutable(settings.value(QString("Exec"), m_executable).toString());
@ -234,7 +226,6 @@ void ExtScript::readConfiguration()
.toString() .toString()
.split(QChar(','), QString::SkipEmptyParts)); .split(QChar(','), QString::SkipEmptyParts));
settings.endGroup(); settings.endGroup();
}
// update for current API // update for current API
if ((apiVersion() > 0) && (apiVersion() < AWESAPI)) { if ((apiVersion() > 0) && (apiVersion() < AWESAPI)) {
@ -344,9 +335,7 @@ void ExtScript::writeConfiguration() const
{ {
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings( QSettings settings(writtableConfig(), QSettings::IniFormat);
QString("%1/%2").arg(directories().first()).arg(fileName()),
QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName(); qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -40,8 +40,7 @@ public:
enum class Redirect { stdout2stderr, nothing, stderr2stdout, swap }; enum class Redirect { stdout2stderr, nothing, stderr2stdout, swap };
explicit ExtScript(QWidget *parent = nullptr, explicit ExtScript(QWidget *parent = nullptr,
const QString scriptName = QString(), const QString filePath = QString());
const QStringList directories = QStringList());
virtual ~ExtScript(); virtual ~ExtScript();
ExtScript *copy(const QString _fileName, const int _number); ExtScript *copy(const QString _fileName, const int _number);
// get methods // get methods

View File

@ -28,9 +28,8 @@
#include "awdebug.h" #include "awdebug.h"
ExtUpgrade::ExtUpgrade(QWidget *parent, const QString upgradeName, ExtUpgrade::ExtUpgrade(QWidget *parent, const QString filePath)
const QStringList directories) : AbstractExtItem(parent, filePath)
: AbstractExtItem(parent, upgradeName, directories)
, ui(new Ui::ExtUpgrade) , ui(new Ui::ExtUpgrade)
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
@ -61,8 +60,8 @@ ExtUpgrade *ExtUpgrade::copy(const QString _fileName, const int _number)
{ {
qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number;
ExtUpgrade *item = new ExtUpgrade(static_cast<QWidget *>(parent()), ExtUpgrade *item
_fileName, directories()); = new ExtUpgrade(static_cast<QWidget *>(parent()), _fileName);
copyDefaults(item); copyDefaults(item);
item->setExecutable(executable()); item->setExecutable(executable());
item->setFilter(filter()); item->setFilter(filter());
@ -127,14 +126,7 @@ void ExtUpgrade::readConfiguration()
{ {
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i = directories().count() - 1; i >= 0; i--) { QSettings settings(fileName(), QSettings::IniFormat);
if (!QDir(directories().at(i))
.entryList(QDir::Files)
.contains(fileName()))
continue;
QSettings settings(
QString("%1/%2").arg(directories().at(i)).arg(fileName()),
QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setExecutable(settings.value(QString("Exec"), m_executable).toString()); setExecutable(settings.value(QString("Exec"), m_executable).toString());
@ -142,7 +134,6 @@ void ExtUpgrade::readConfiguration()
// api == 3 // api == 3
setFilter(settings.value(QString("X-AW-Filter"), m_filter).toString()); setFilter(settings.value(QString("X-AW-Filter"), m_filter).toString());
settings.endGroup(); settings.endGroup();
}
// update for current API // update for current API
if ((apiVersion() > 0) && (apiVersion() < AWEUAPI)) { if ((apiVersion() > 0) && (apiVersion() < AWEUAPI)) {
@ -208,9 +199,7 @@ void ExtUpgrade::writeConfiguration() const
{ {
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings( QSettings settings(writtableConfig(), QSettings::IniFormat);
QString("%1/%2").arg(directories().first()).arg(fileName()),
QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName(); qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -37,8 +37,7 @@ class ExtUpgrade : public AbstractExtItem
public: public:
explicit ExtUpgrade(QWidget *parent = nullptr, explicit ExtUpgrade(QWidget *parent = nullptr,
const QString upgradeName = QString(), const QString filePath = QString());
const QStringList directories = QStringList());
virtual ~ExtUpgrade(); virtual ~ExtUpgrade();
ExtUpgrade *copy(const QString _fileName, const int _number); ExtUpgrade *copy(const QString _fileName, const int _number);
// get methods // get methods

View File

@ -34,9 +34,8 @@
#include "awdebug.h" #include "awdebug.h"
ExtWeather::ExtWeather(QWidget *parent, const QString weatherName, ExtWeather::ExtWeather(QWidget *parent, const QString filePath)
const QStringList directories) : AbstractExtItem(parent, filePath)
: AbstractExtItem(parent, weatherName, directories)
, ui(new Ui::ExtWeather) , ui(new Ui::ExtWeather)
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
@ -76,8 +75,8 @@ ExtWeather *ExtWeather::copy(const QString _fileName, const int _number)
{ {
qCDebug(LOG_LIB) << "File" << _fileName << "number" << _number; qCDebug(LOG_LIB) << "File" << _fileName << "number" << _number;
ExtWeather *item = new ExtWeather(static_cast<QWidget *>(parent()), ExtWeather *item
_fileName, directories()); = new ExtWeather(static_cast<QWidget *>(parent()), _fileName);
copyDefaults(item); copyDefaults(item);
item->setCity(city()); item->setCity(city());
item->setCountry(country()); item->setCountry(country());
@ -165,26 +164,16 @@ void ExtWeather::readConfiguration()
{ {
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i = directories().count() - 1; i >= 0; i--) { QSettings settings(fileName(), QSettings::IniFormat);
if (!QDir(directories().at(i))
.entryList(QDir::Files)
.contains(fileName()))
continue;
QSettings settings(
QString("%1/%2").arg(directories().at(i)).arg(fileName()),
QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setCity(settings.value(QString("X-AW-City"), m_city).toString()); setCity(settings.value(QString("X-AW-City"), m_city).toString());
setCountry( setCountry(settings.value(QString("X-AW-Country"), m_country).toString());
settings.value(QString("X-AW-Country"), m_country).toString());
setTs(settings.value(QString("X-AW-TS"), m_ts).toInt()); setTs(settings.value(QString("X-AW-TS"), m_ts).toInt());
// api == 2 // api == 2
setImage( setImage(settings.value(QString("X-AW-Image"), QVariant(m_image)).toString()
settings.value(QString("X-AW-Image"), QVariant(m_image)).toString()
== QString("true")); == QString("true"));
settings.endGroup(); settings.endGroup();
}
// update for current API // update for current API
if ((apiVersion() > 0) && (apiVersion() < AWEWAPI)) { if ((apiVersion() > 0) && (apiVersion() < AWEWAPI)) {
@ -291,9 +280,7 @@ void ExtWeather::writeConfiguration() const
{ {
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings( QSettings settings(writtableConfig(), QSettings::IniFormat);
QString("%1/%2").arg(directories().first()).arg(fileName()),
QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName(); qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -43,8 +43,7 @@ class ExtWeather : public AbstractExtItem
public: public:
explicit ExtWeather(QWidget *parent = nullptr, explicit ExtWeather(QWidget *parent = nullptr,
const QString weatherName = QString(), const QString filePath = QString());
const QStringList directories = QStringList());
virtual ~ExtWeather(); virtual ~ExtWeather();
ExtWeather *copy(const QString _fileName, const int _number); ExtWeather *copy(const QString _fileName, const int _number);
QString weatherFromInt(const int _id) const; QString weatherFromInt(const int _id) const;

View File

@ -32,9 +32,8 @@
#include "graphicalitemhelper.h" #include "graphicalitemhelper.h"
GraphicalItem::GraphicalItem(QWidget *parent, const QString desktopName, GraphicalItem::GraphicalItem(QWidget *parent, const QString filePath)
const QStringList directories) : AbstractExtItem(parent, filePath)
: AbstractExtItem(parent, desktopName, directories)
, ui(new Ui::GraphicalItem) , ui(new Ui::GraphicalItem)
{ {
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
@ -70,8 +69,8 @@ GraphicalItem *GraphicalItem::copy(const QString _fileName, const int _number)
{ {
qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number;
GraphicalItem *item = new GraphicalItem(static_cast<QWidget *>(parent()), GraphicalItem *item
_fileName, directories()); = new GraphicalItem(static_cast<QWidget *>(parent()), _fileName);
copyDefaults(item); copyDefaults(item);
item->setActiveColor(m_activeColor); item->setActiveColor(m_activeColor);
item->setBar(m_bar); item->setBar(m_bar);
@ -401,14 +400,7 @@ void GraphicalItem::readConfiguration()
{ {
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i = directories().count() - 1; i >= 0; i--) { QSettings settings(fileName(), QSettings::IniFormat);
if (!QDir(directories().at(i))
.entryList(QDir::Files)
.contains(fileName()))
continue;
QSettings settings(
QString("%1/%2").arg(directories().at(i)).arg(fileName()),
QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setCount(settings.value(QString("X-AW-Count"), m_count).toInt()); setCount(settings.value(QString("X-AW-Count"), m_count).toInt());
@ -417,22 +409,19 @@ void GraphicalItem::readConfiguration()
setMaxValue(settings.value(QString("X-AW-Max"), m_maxValue).toFloat()); setMaxValue(settings.value(QString("X-AW-Max"), m_maxValue).toFloat());
setMinValue(settings.value(QString("X-AW-Min"), m_minValue).toFloat()); setMinValue(settings.value(QString("X-AW-Min"), m_minValue).toFloat());
setActiveColor( setActiveColor(
settings.value(QString("X-AW-ActiveColor"), m_activeColor) settings.value(QString("X-AW-ActiveColor"), m_activeColor).toString());
.toString());
setInactiveColor( setInactiveColor(
settings.value(QString("X-AW-InactiveColor"), m_inactiveColor) settings.value(QString("X-AW-InactiveColor"), m_inactiveColor)
.toString()); .toString());
setStrType(settings.value(QString("X-AW-Type"), strType()).toString()); setStrType(settings.value(QString("X-AW-Type"), strType()).toString());
setStrDirection( setStrDirection(
settings.value(QString("X-AW-Direction"), strDirection()) settings.value(QString("X-AW-Direction"), strDirection()).toString());
.toString());
setHeight(settings.value(QString("X-AW-Height"), m_height).toInt()); setHeight(settings.value(QString("X-AW-Height"), m_height).toInt());
setWidth(settings.value(QString("X-AW-Width"), m_width).toInt()); setWidth(settings.value(QString("X-AW-Width"), m_width).toInt());
// api == 5 // api == 5
if (apiVersion() < 5) { if (apiVersion() < 5) {
QString prefix; QString prefix;
prefix = m_activeColor.startsWith(QString("/")) prefix = m_activeColor.startsWith(QString("/")) ? QString("file://%1")
? QString("file://%1")
: QString("color://%1"); : QString("color://%1");
m_activeColor = prefix.arg(m_activeColor); m_activeColor = prefix.arg(m_activeColor);
prefix = m_inactiveColor.startsWith(QString("/")) prefix = m_inactiveColor.startsWith(QString("/"))
@ -441,7 +430,6 @@ void GraphicalItem::readConfiguration()
m_inactiveColor = prefix.arg(m_inactiveColor); m_inactiveColor = prefix.arg(m_inactiveColor);
} }
settings.endGroup(); settings.endGroup();
}
// update for current API // update for current API
if ((apiVersion() > 0) && (apiVersion() < AWGIAPI)) { if ((apiVersion() > 0) && (apiVersion() < AWGIAPI)) {
@ -520,9 +508,7 @@ void GraphicalItem::writeConfiguration() const
{ {
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings( QSettings settings(writtableConfig(), QSettings::IniFormat);
QString("%1/%2").arg(directories().first()).arg(fileName()),
QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName(); qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -53,8 +53,7 @@ public:
enum class Type { Horizontal, Vertical, Circle, Graph, Bars }; enum class Type { Horizontal, Vertical, Circle, Graph, Bars };
explicit GraphicalItem(QWidget *parent = nullptr, explicit GraphicalItem(QWidget *parent = nullptr,
const QString desktopName = QString(), const QString filePath = QString());
const QStringList directories = QStringList());
virtual ~GraphicalItem(); virtual ~GraphicalItem();
GraphicalItem *copy(const QString _fileName, const int _number); GraphicalItem *copy(const QString _fileName, const int _number);
QString image(const QVariant &value); QString image(const QVariant &value);