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"
AbstractExtItem::AbstractExtItem(QWidget *parent, const QString desktopName,
const QStringList directories)
AbstractExtItem::AbstractExtItem(QWidget *parent, const QString filePath)
: QDialog(parent)
, m_fileName(desktopName)
, m_dirs(directories)
, m_fileName(filePath)
{
qCDebug(LOG_LIB) << __PRETTY_FUNCTION__;
qCDebug(LOG_LIB) << "Desktop name" << desktopName << "directories"
<< directories;
qCDebug(LOG_LIB) << "Desktop name" << filePath;
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
{
return m_apiVersion;
@ -69,12 +81,6 @@ QString AbstractExtItem::comment() const
}
QStringList AbstractExtItem::directories() const
{
return m_dirs;
}
QString AbstractExtItem::fileName() const
{
return m_fileName;
@ -173,48 +179,34 @@ void AbstractExtItem::setNumber(int _number)
void AbstractExtItem::readConfiguration()
{
for (int i = m_dirs.count() - 1; i >= 0; i--) {
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);
QSettings settings(m_fileName, QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry"));
setName(settings.value(QString("Name"), m_name).toString());
setComment(settings.value(QString("Comment"), m_comment).toString());
setApiVersion(
settings.value(QString("X-AW-ApiVersion"), m_apiVersion).toInt());
setActive(settings.value(QString("X-AW-Active"), QVariant(m_active))
.toString()
== QString("true"));
setInterval(
settings.value(QString("X-AW-Interval"), m_interval).toInt());
setNumber(settings.value(QString("X-AW-Number"), m_number).toInt());
settings.endGroup();
}
settings.beginGroup(QString("Desktop Entry"));
setName(settings.value(QString("Name"), m_name).toString());
setComment(settings.value(QString("Comment"), m_comment).toString());
setApiVersion(
settings.value(QString("X-AW-ApiVersion"), m_apiVersion).toInt());
setActive(
settings.value(QString("X-AW-Active"), QVariant(m_active)).toString()
== QString("true"));
setInterval(settings.value(QString("X-AW-Interval"), m_interval).toInt());
setNumber(settings.value(QString("X-AW-Number"), m_number).toInt());
settings.endGroup();
}
bool AbstractExtItem::tryDelete() const
{
for (auto dir : m_dirs) {
bool status = QFile::remove(QString("%1/%2").arg(dir).arg(m_fileName));
qCInfo(LOG_LIB) << "Remove file"
<< QString("%1/%2").arg(dir).arg(m_fileName) << status;
}
bool status = QFile::remove(m_fileName);
qCInfo(LOG_AW) << "Remove file" << m_fileName << status;
// check if exists
for (auto dir : m_dirs)
if (QFile::exists(QString("%1/%2").arg(dir).arg(m_fileName)))
return false;
return true;
return status;
}
void AbstractExtItem::writeConfiguration() const
{
QSettings settings(QString("%1/%2").arg(m_dirs.first()).arg(m_fileName),
QSettings::IniFormat);
QSettings settings(writtableConfig(), QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
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(int apiVersion READ apiVersion WRITE setApiVersion)
Q_PROPERTY(QString comment READ comment WRITE setComment)
Q_PROPERTY(QStringList directories READ directories)
Q_PROPERTY(QString fileName READ fileName)
Q_PROPERTY(int interval READ interval WRITE setInterval)
Q_PROPERTY(QString name READ name WRITE setName)
@ -37,16 +36,15 @@ class AbstractExtItem : public QDialog
public:
explicit AbstractExtItem(QWidget *parent = nullptr,
const QString desktopName = QString(),
const QStringList directories = QStringList());
const QString filePath = QString());
virtual ~AbstractExtItem();
virtual AbstractExtItem *copy(const QString _fileName, const int _number)
= 0;
void copyDefaults(AbstractExtItem *_other) const;
virtual void copyDefaults(AbstractExtItem *_other) const;
QString writtableConfig() const;
// get methods
int apiVersion() const;
QString comment() const;
QStringList directories() const;
QString fileName() const;
int interval() const;
bool isActive() const;
@ -71,7 +69,6 @@ public slots:
private:
QString m_fileName;
QStringList m_dirs;
virtual void translate() = 0;
// properties
int m_apiVersion = 0;

View File

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

View File

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

View File

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

View File

@ -30,9 +30,8 @@
#include "awdebug.h"
ExtScript::ExtScript(QWidget *parent, const QString scriptName,
const QStringList directories)
: AbstractExtItem(parent, scriptName, directories)
ExtScript::ExtScript(QWidget *parent, const QString filePath)
: AbstractExtItem(parent, filePath)
, ui(new Ui::ExtScript)
{
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;
ExtScript *item = new ExtScript(static_cast<QWidget *>(parent()), _fileName,
directories());
ExtScript *item
= new ExtScript(static_cast<QWidget *>(parent()), _fileName);
copyDefaults(item);
item->setExecutable(executable());
item->setNumber(_number);
@ -215,26 +214,18 @@ void ExtScript::readConfiguration()
{
AbstractExtItem::readConfiguration();
for (int i = directories().count() - 1; i >= 0; i--) {
if (!QDir(directories().at(i))
.entryList(QDir::Files)
.contains(fileName()))
continue;
QSettings settings(
QString("%1/%2").arg(directories().at(i)).arg(fileName()),
QSettings::IniFormat);
QSettings settings(fileName(), QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry"));
setExecutable(settings.value(QString("Exec"), m_executable).toString());
setPrefix(settings.value(QString("X-AW-Prefix"), m_prefix).toString());
setStrRedirect(
settings.value(QString("X-AW-Redirect"), strRedirect()).toString());
// api == 3
setFilters(settings.value(QString("X-AW-Filters"), m_filters)
.toString()
.split(QChar(','), QString::SkipEmptyParts));
settings.endGroup();
}
settings.beginGroup(QString("Desktop Entry"));
setExecutable(settings.value(QString("Exec"), m_executable).toString());
setPrefix(settings.value(QString("X-AW-Prefix"), m_prefix).toString());
setStrRedirect(
settings.value(QString("X-AW-Redirect"), strRedirect()).toString());
// api == 3
setFilters(settings.value(QString("X-AW-Filters"), m_filters)
.toString()
.split(QChar(','), QString::SkipEmptyParts));
settings.endGroup();
// update for current API
if ((apiVersion() > 0) && (apiVersion() < AWESAPI)) {
@ -344,9 +335,7 @@ void ExtScript::writeConfiguration() const
{
AbstractExtItem::writeConfiguration();
QSettings settings(
QString("%1/%2").arg(directories().first()).arg(fileName()),
QSettings::IniFormat);
QSettings settings(writtableConfig(), QSettings::IniFormat);
qCInfo(LOG_LIB) << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry"));

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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