Skip to content

Commit

Permalink
some refactoring
Browse files Browse the repository at this point in the history
* massive changes inside includes, drop unused definitions
* rewrite some initialization methods to avoid additional
freeing/allocation
* drop some explicit destructors calls
  • Loading branch information
arcan1s committed Jul 14, 2017
1 parent e90e1da commit d2e6f2f
Show file tree
Hide file tree
Showing 47 changed files with 80 additions and 200 deletions.
1 change: 0 additions & 1 deletion sources/awesome-widget/plugin/awabstractpairconfig.cpp
Expand Up @@ -56,7 +56,6 @@ AWAbstractPairConfig::~AWAbstractPairConfig()

clearSelectors();

delete m_helper;
delete ui;
}

Expand Down
3 changes: 0 additions & 3 deletions sources/awesome-widget/plugin/awactions.cpp
Expand Up @@ -23,7 +23,6 @@
#include <QDesktopServices>
#include <QFile>
#include <QProcess>
#include <QUrl>

#include <fontdialog/fontdialog.h>

Expand All @@ -43,8 +42,6 @@ AWActions::AWActions(QObject *_parent)
AWActions::~AWActions()
{
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;

delete m_updateHelper;
}


Expand Down
2 changes: 0 additions & 2 deletions sources/awesome-widget/plugin/awbugreporter.cpp
Expand Up @@ -21,11 +21,9 @@

#include <QDesktopServices>
#include <QJsonDocument>
#include <QJsonParseError>
#include <QMessageBox>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>

#include "awdebug.h"

Expand Down
5 changes: 5 additions & 0 deletions sources/awesome-widget/plugin/awconfighelper.cpp
Expand Up @@ -22,6 +22,7 @@
#include <QDir>
#include <QQmlPropertyMap>
#include <QSettings>
#include <QStandardPaths>
#include <QTextCodec>

#include "awdebug.h"
Expand All @@ -31,6 +32,10 @@ AWConfigHelper::AWConfigHelper(QObject *_parent)
: QObject(_parent)
{
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;

m_baseDir = QString("%1/awesomewidgets")
.arg(QStandardPaths::writableLocation(
QStandardPaths::GenericDataLocation));
}


Expand Down
13 changes: 3 additions & 10 deletions sources/awesome-widget/plugin/awconfighelper.h
Expand Up @@ -20,7 +20,6 @@
#define AWCONFIGHELPER_H

#include <QObject>
#include <QStandardPaths>
#include <QVariant>


Expand Down Expand Up @@ -57,15 +56,9 @@ class AWConfigHelper : public QObject
void writeFile(QSettings &_settings, const QString &_key,
const QString &_fileName) const;
// properties
QString m_baseDir = QString("%1/awesomewidgets")
.arg(QStandardPaths::writableLocation(
QStandardPaths::GenericDataLocation));
QStringList m_dirs = QStringList() << "desktops"
<< "quotes"
<< "scripts"
<< "upgrade"
<< "weather"
<< "formatters";
QString m_baseDir;
QStringList m_dirs
= {"desktops", "quotes", "scripts", "upgrade", "weather", "formatters"};
};


Expand Down
1 change: 0 additions & 1 deletion sources/awesome-widget/plugin/awcustomkeyshelper.h
Expand Up @@ -19,7 +19,6 @@
#ifndef AWCUSTOMKEYSHELPER_H
#define AWCUSTOMKEYSHELPER_H

#include <QHash>
#include <QObject>

#include "awabstractpairhelper.h"
Expand Down
9 changes: 0 additions & 9 deletions sources/awesome-widget/plugin/awdataaggregator.cpp
Expand Up @@ -22,7 +22,6 @@
#include <QBuffer>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QPixmap>

#include <cmath>

Expand Down Expand Up @@ -55,14 +54,6 @@ AWDataAggregator::~AWDataAggregator()
}


QList<float> AWDataAggregator::getData(const QString &_key) const
{
qCDebug(LOG_AW) << "Key" << _key;

return m_values[QString("%1Tooltip").arg(_key)];
}


QString AWDataAggregator::htmlImage(const QPixmap &_source) const
{
QByteArray byteArray;
Expand Down
1 change: 0 additions & 1 deletion sources/awesome-widget/plugin/awdataaggregator.h
Expand Up @@ -35,7 +35,6 @@ class AWDataAggregator : public QObject
public:
explicit AWDataAggregator(QObject *_parent = nullptr);
virtual ~AWDataAggregator();
QList<float> getData(const QString &_key) const;
QString htmlImage(const QPixmap &_source) const;
void setParameters(const QVariantMap &_settings);
QPixmap tooltipImage();
Expand Down
73 changes: 34 additions & 39 deletions sources/awesome-widget/plugin/awdataengineaggregator.cpp
Expand Up @@ -28,6 +28,20 @@ AWDataEngineAggregator::AWDataEngineAggregator(QObject *_parent)
{
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;

m_consumer = new Plasma::DataEngineConsumer();
m_dataEngines["systemmonitor"] = m_consumer->dataEngine("systemmonitor");
m_dataEngines["extsysmon"] = m_consumer->dataEngine("extsysmon");
m_dataEngines["time"] = m_consumer->dataEngine("time");

// additional method required by systemmonitor structure
m_newSourceConnection = connect(
m_dataEngines["systemmonitor"], &Plasma::DataEngine::sourceAdded,
[this](const QString source) {
emit(deviceAdded(source));
m_dataEngines["systemmonitor"]->connectSource(source, parent(),
1000);
});

// required to define Qt::QueuedConnection for signal-slot connection
qRegisterMetaType<Plasma::DataEngine::Data>("Plasma::DataEngine::Data");
}
Expand All @@ -37,16 +51,7 @@ AWDataEngineAggregator::~AWDataEngineAggregator()
{
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;

clear();
}


void AWDataEngineAggregator::clear()
{
// disconnect sources first
disconnectSources();
m_dataEngines.clear();
delete m_consumer;
}


Expand All @@ -55,27 +60,31 @@ void AWDataEngineAggregator::disconnectSources()
for (auto dataengine : m_dataEngines.values())
for (auto &source : dataengine->sources())
dataengine->disconnectSource(source, parent());
disconnect(m_newSourceConnection);
}


void AWDataEngineAggregator::initDataEngines(const int _interval)
void AWDataEngineAggregator::reconnectSources(const int _interval)
{
qCDebug(LOG_AW) << "Init dataengines with interval" << _interval;
qCDebug(LOG_AW) << "Reconnect sources with interval" << _interval;

m_consumer = new Plasma::DataEngineConsumer();
m_dataEngines["systemmonitor"] = m_consumer->dataEngine("systemmonitor");
m_dataEngines["extsysmon"] = m_consumer->dataEngine("extsysmon");
m_dataEngines["time"] = m_consumer->dataEngine("time");
disconnectSources();

// additional method required by systemmonitor structure
connect(m_dataEngines["systemmonitor"], &Plasma::DataEngine::sourceAdded,
[this, _interval](const QString source) {
emit(deviceAdded(source));
m_dataEngines["systemmonitor"]->connectSource(source, parent(),
_interval);
});

return reconnectSources(_interval);
m_dataEngines["systemmonitor"]->connectAllSources(parent(), _interval);
m_dataEngines["extsysmon"]->connectAllSources(parent(), _interval);
m_dataEngines["time"]->connectSource("Local", parent(), 1000);

m_newSourceConnection = connect(
m_dataEngines["systemmonitor"], &Plasma::DataEngine::sourceAdded,
[this, _interval](const QString source) {
emit(deviceAdded(source));
m_dataEngines["systemmonitor"]->connectSource(source, parent(),
_interval);
});

#ifdef BUILD_FUTURE
createQueuedConnection();
#endif /* BUILD_FUTURE */
}


Expand All @@ -84,26 +93,12 @@ void AWDataEngineAggregator::dropSource(const QString &_source)
qCDebug(LOG_AW) << "Source" << _source;

// HACK there is no possibility to check to which dataengine source
// connected we will try to disconnect it from systemmonitor and extsysmon
// connected we will try to disconnect it from all engines
for (auto dataengine : m_dataEngines.values())
dataengine->disconnectSource(_source, parent());
}


void AWDataEngineAggregator::reconnectSources(const int _interval)
{
qCDebug(LOG_AW) << "Reconnect sources with interval" << _interval;

m_dataEngines["systemmonitor"]->connectAllSources(parent(), _interval);
m_dataEngines["extsysmon"]->connectAllSources(parent(), _interval);
m_dataEngines["time"]->connectSource("Local", parent(), 1000);

#ifdef BUILD_FUTURE
createQueuedConnection();
#endif /* BUILD_FUTURE */
}


void AWDataEngineAggregator::createQueuedConnection()
{
// HACK additional method which forces QueuedConnection instead of Auto one
Expand Down
5 changes: 2 additions & 3 deletions sources/awesome-widget/plugin/awdataengineaggregator.h
Expand Up @@ -32,21 +32,20 @@ class AWDataEngineAggregator : public QObject
public:
explicit AWDataEngineAggregator(QObject *_parent = nullptr);
virtual ~AWDataEngineAggregator();
void clear();
void disconnectSources();
void initDataEngines(const int _interval);
void reconnectSources(const int _interval);

signals:
void deviceAdded(const QString &_source);

public slots:
void dropSource(const QString &_source);
void reconnectSources(const int _interval);

private:
void createQueuedConnection();
Plasma::DataEngineConsumer *m_consumer = nullptr;
QHash<QString, Plasma::DataEngine *> m_dataEngines;
QMetaObject::Connection m_newSourceConnection;
};


Expand Down
5 changes: 1 addition & 4 deletions sources/awesome-widget/plugin/awdbusadaptor.h
Expand Up @@ -48,10 +48,7 @@ public slots:

private:
AWKeys *m_plugin = nullptr;
QStringList m_logLevels = QStringList() << "debug"
<< "info"
<< "warning"
<< "critical";
QStringList m_logLevels = {"debug", "info", "warning", "critical"};
};


Expand Down
5 changes: 2 additions & 3 deletions sources/awesome-widget/plugin/awesomewidget.cpp
Expand Up @@ -22,8 +22,8 @@
#include "awactions.h"
#include "awbugreporter.h"
#include "awconfighelper.h"
#include "awformatterconfigfactory.h"
#include "awkeys.h"
#include "awpairconfigfactory.h"
#include "awtelemetryhandler.h"


Expand All @@ -34,8 +34,7 @@ void AWPlugin::registerTypes(const char *uri)
qmlRegisterType<AWActions>(uri, 1, 0, "AWActions");
qmlRegisterType<AWBugReporter>(uri, 1, 0, "AWBugReporter");
qmlRegisterType<AWConfigHelper>(uri, 1, 0, "AWConfigHelper");
qmlRegisterType<AWFormatterConfigFactory>(uri, 1, 0,
"AWFormatterConfigFactory");
qmlRegisterType<AWPairConfigFactory>(uri, 1, 0, "AWPairConfigFactory");
qmlRegisterType<AWKeys>(uri, 1, 0, "AWKeys");
qmlRegisterType<AWTelemetryHandler>(uri, 1, 0, "AWTelemetryHandler");
}
1 change: 0 additions & 1 deletion sources/awesome-widget/plugin/awkeycache.cpp
Expand Up @@ -19,7 +19,6 @@

#include <QDir>
#include <QNetworkInterface>
#include <QRegExp>
#include <QSettings>
#include <QStandardPaths>

Expand Down
9 changes: 0 additions & 9 deletions sources/awesome-widget/plugin/awkeyoperations.cpp
Expand Up @@ -55,15 +55,6 @@ AWKeyOperations::AWKeyOperations(QObject *_parent)
AWKeyOperations::~AWKeyOperations()
{
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;

// extensions
delete m_customKeys;
delete m_graphicalItems;
delete m_extNetRequest;
delete m_extQuotes;
delete m_extScripts;
delete m_extUpgrade;
delete m_extWeather;
}


Expand Down
7 changes: 0 additions & 7 deletions sources/awesome-widget/plugin/awkeyoperations.h
Expand Up @@ -19,25 +19,18 @@
#ifndef AWKEYOPERATIONS_H
#define AWKEYOPERATIONS_H

#include <Plasma/DataEngine>

#include <QMutex>
#include <QObject>

#include "extitemaggregator.h"


class AWCustomKeysHelper;
class AWDataAggregator;
class AWDataEngineAggregator;
class AWKeysAggregator;
class ExtNetworkRequest;
class ExtQuotes;
class ExtScript;
class ExtUpgrade;
class ExtWeather;
class GraphicalItem;
class QThreadPool;

class AWKeyOperations : public QObject
{
Expand Down
25 changes: 2 additions & 23 deletions sources/awesome-widget/plugin/awkeys.cpp
Expand Up @@ -19,7 +19,6 @@

#include <QDBusConnection>
#include <QDBusError>
#include <QRegExp>
#include <QThread>
#include <QTimer>
#include <QtConcurrent/QtConcurrent>
Expand Down Expand Up @@ -76,24 +75,9 @@ AWKeys::~AWKeys()
qCDebug(LOG_AW) << __PRETTY_FUNCTION__;

m_timer->stop();
delete m_timer;

// delete dbus session
qlonglong id = reinterpret_cast<qlonglong>(this);
QDBusConnection::sessionBus().unregisterObject(QString("/%1").arg(id));

// core
delete m_dataEngineAggregator;
delete m_threadPool;
delete m_aggregator;
delete m_dataAggregator;
delete m_keyOperator;
}


bool AWKeys::isDBusActive() const
{
return m_dbusActive;
}


Expand Down Expand Up @@ -122,8 +106,7 @@ void AWKeys::initKeys(const QString &_currentPattern, const int _interval,
m_aggregator->initFormatters();
m_keyOperator->setPattern(_currentPattern);
m_keyOperator->updateCache();
m_dataEngineAggregator->clear();
m_dataEngineAggregator->initDataEngines(_interval);
m_dataEngineAggregator->reconnectSources(_interval);

// timer
m_timer->setInterval(_interval);
Expand Down Expand Up @@ -348,13 +331,9 @@ void AWKeys::createDBusInterface()
qCWarning(LOG_AW) << "Could not register DBus service, last error"
<< bus.lastError().message();
if (!bus.registerObject(QString("/%1").arg(id), new AWDBusAdaptor(this),
QDBusConnection::ExportAllContents)) {
QDBusConnection::ExportAllContents))
qCWarning(LOG_AW) << "Could not register DBus object, last error"
<< bus.lastError().message();
m_dbusActive = false;
} else {
m_dbusActive = true;
}
}


Expand Down

0 comments on commit d2e6f2f

Please sign in to comment.