diff --git a/.gitignore b/.gitignore index 9a0d19c..9684c5e 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ pkg # clion settings .idea +cmake-build* diff --git a/.vscode/temp.sql b/.vscode/temp.sql deleted file mode 100644 index e69de29..0000000 diff --git a/sources/.clang-format b/sources/.clang-format index a3de373..05d985c 100644 --- a/sources/.clang-format +++ b/sources/.clang-format @@ -1,20 +1,19 @@ --- Language: Cpp AccessModifierOffset: -4 -AlignAfterOpenBracket: true +AlignAfterOpenBracket: Align AlignConsecutiveAssignments: false -AlignEscapedNewlinesLeft: false AlignOperands: true AlignTrailingComments: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false AllowShortFunctionsOnASingleLine: Inline -AllowShortIfStatementsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: Never AllowShortLoopsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakBeforeMultilineStrings: false -AlwaysBreakTemplateDeclarations: false +AlwaysBreakTemplateDeclarations: No BinPackArguments: true BinPackParameters: true BreakBeforeBinaryOperators: All diff --git a/sources/.kdev4/awesomewidgets.kdev4 b/sources/.kdev4/awesomewidgets.kdev4 deleted file mode 100644 index 5da78b6..0000000 --- a/sources/.kdev4/awesomewidgets.kdev4 +++ /dev/null @@ -1,26 +0,0 @@ -[Buildset] -BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x1e\x00a\x00w\x00e\x00s\x00o\x00m\x00e\x00-\x00w\x00i\x00d\x00g\x00e\x00t\x00s) - -[CMake] -Build Directory Count=1 -Current Build Directory Index=0 -ProjectRootRelative=./ - -[CMake][CMake Build Directory 0] -Build Directory Path=file:///home/arcanis/Documents/github/awesome-widgets/build -Build Type=Optimization -CMake Binary=file:///usr/bin/cmake -Environment Profile= -Extra Arguments= -Install Directory=file:///usr - -[Defines And Includes][Compiler] -Name=GCC -Path=gcc -Type=GCC - -[Launch] -Launch Configurations= - -[Project] -VersionControlSupport=kdevgit diff --git a/sources/.kdev4/sources.kdev4 b/sources/.kdev4/sources.kdev4 deleted file mode 100644 index ea73c1d..0000000 --- a/sources/.kdev4/sources.kdev4 +++ /dev/null @@ -1,23 +0,0 @@ -[Buildset] -BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x1e\x00a\x00w\x00e\x00s\x00o\x00m\x00e\x00-\x00w\x00i\x00d\x00g\x00e\x00t\x00s) - -[CMake] -Build Directory Count=1 -Current Build Directory Index=0 -ProjectRootRelative=./ - -[CMake][CMake Build Directory 0] -Build Directory Path=file:///home/arcanis/Documents/github/awesome-widgets/build -Build Type=Release -CMake Binary=file:///usr/bin/cmake -Environment Profile= -Extra Arguments= -Install Directory=file:///usr - -[Defines And Includes][Compiler] -Name=GCC -Path=gcc -Type=GCC - -[Project] -VersionControlSupport=kdevgit diff --git a/sources/3rdparty/qreplytimeout/qreplytimeout.cpp b/sources/3rdparty/qreplytimeout/qreplytimeout.cpp index eb3c4ad..ee500bd 100644 --- a/sources/3rdparty/qreplytimeout/qreplytimeout.cpp +++ b/sources/3rdparty/qreplytimeout/qreplytimeout.cpp @@ -12,7 +12,7 @@ QReplyTimeout::QReplyTimeout(QNetworkReply *reply, const int timeout) void QReplyTimeout::timeout() { - QNetworkReply *reply = static_cast(parent()); + auto *reply = dynamic_cast(parent()); if (reply->isRunning()) reply->close(); } diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt index d5b6fe4..4dd30a1 100644 --- a/sources/CMakeLists.txt +++ b/sources/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 2.8.12) cmake_policy(SET CMP0011 NEW) cmake_policy(SET CMP0015 NEW) if (POLICY CMP0063) - cmake_policy(SET CMP0063 OLD) + cmake_policy(SET CMP0063 NEW) endif () if (POLICY CMP0071) cmake_policy(SET CMP0071 NEW) diff --git a/sources/awdebug.cpp b/sources/awdebug.cpp index 852b18d..2046e6a 100644 --- a/sources/awdebug.cpp +++ b/sources/awdebug.cpp @@ -35,7 +35,7 @@ QString AWDebug::getAboutText(const QString &_type) if (_type == "header") { text = NAME; } else if (_type == "version") { - text = i18n("Version %1 (build date %2)", VERSION, BUILD_DATE); + text = i18np("Version %1 (build date %2)", VERSION, BUILD_DATE); if (!QString(COMMIT_SHA).isEmpty()) text += QString(" (%1)").arg(COMMIT_SHA); } else if (_type == "description") { @@ -60,7 +60,7 @@ QString AWDebug::getAboutText(const QString &_type) .arg(DATE) .arg(EMAIL) .arg(AUTHOR) - + i18n("This software is licensed under %1", LICENSE) + ""; + + i18nc("This software is licensed under %1", LICENSE) + ""; } else if (_type == "translators") { QStringList translatorList = QString(TRANSLATORS).split(','); for (auto &translator : translatorList) diff --git a/sources/awdebug.h b/sources/awdebug.h index 8447c65..a43db77 100644 --- a/sources/awdebug.h +++ b/sources/awdebug.h @@ -33,7 +33,7 @@ const char LOG_FORMAT[] = "[%{time " QString getAboutText(const QString &_type); QStringList getBuildData(); -} +} // namespace AWDebug Q_DECLARE_LOGGING_CATEGORY(LOG_AW) diff --git a/sources/awesome-widget/metadata.desktop b/sources/awesome-widget/metadata.desktop index 52f21e6..09fd0c1 100644 --- a/sources/awesome-widget/metadata.desktop +++ b/sources/awesome-widget/metadata.desktop @@ -15,7 +15,6 @@ Icon=utilities-system-monitor X-KDE-ServiceTypes=Plasma/Applet X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml -X-Plasma-RemoteLocation= X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis X-KDE-PluginInfo-Email=esalexeev@gmail.com diff --git a/sources/awesome-widget/package/metadata.desktop b/sources/awesome-widget/package/metadata.desktop index 7a33208..22a5b57 100644 --- a/sources/awesome-widget/package/metadata.desktop +++ b/sources/awesome-widget/package/metadata.desktop @@ -15,7 +15,6 @@ Icon=utilities-system-monitor X-KDE-ServiceTypes=Plasma/Applet X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml -X-Plasma-RemoteLocation= X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis X-KDE-PluginInfo-Email=esalexeev@gmail.com diff --git a/sources/awesome-widget/plugin/awabstractpairconfig.cpp b/sources/awesome-widget/plugin/awabstractpairconfig.cpp index 2b378cf..f18fb98 100644 --- a/sources/awesome-widget/plugin/awabstractpairconfig.cpp +++ b/sources/awesome-widget/plugin/awabstractpairconfig.cpp @@ -21,17 +21,17 @@ #include #include +#include #include "awabstractselector.h" #include "awdebug.h" -AWAbstractPairConfig::AWAbstractPairConfig(QWidget *_parent, const bool _hasEdit, - const QStringList &_keys) +AWAbstractPairConfig::AWAbstractPairConfig(QWidget *_parent, const bool _hasEdit, QStringList _keys) : QDialog(_parent) , ui(new Ui::AWAbstractPairConfig) , m_hasEdit(_hasEdit) - , m_keys(_keys) + , m_keys(std::move(_keys)) { qCDebug(LOG_AW) << __PRETTY_FUNCTION__; @@ -84,8 +84,8 @@ void AWAbstractPairConfig::edit() void AWAbstractPairConfig::updateUi() { - QPair current = static_cast(sender())->current(); - int index = m_selectors.indexOf(static_cast(sender())); + QPair current = dynamic_cast(sender())->current(); + int index = m_selectors.indexOf(dynamic_cast(sender())); if ((current.first.isEmpty()) && (current.second.isEmpty())) { // remove current selector if it is empty and does not last @@ -110,7 +110,7 @@ void AWAbstractPairConfig::addSelector(const QStringList &_keys, const QStringLi qCDebug(LOG_AW) << "Add selector with keys" << _keys << "values" << _values << "and current ones" << _current; - AWAbstractSelector *selector = new AWAbstractSelector(ui->scrollAreaWidgetContents, m_editable); + auto *selector = new AWAbstractSelector(ui->scrollAreaWidgetContents, m_editable); selector->init(_keys, _values, _current); ui->verticalLayout->insertWidget(ui->verticalLayout->count() - 1, selector); connect(selector, SIGNAL(selectionChanged()), this, SLOT(updateUi())); diff --git a/sources/awesome-widget/plugin/awabstractpairconfig.h b/sources/awesome-widget/plugin/awabstractpairconfig.h index 2834ee6..579b865 100644 --- a/sources/awesome-widget/plugin/awabstractpairconfig.h +++ b/sources/awesome-widget/plugin/awabstractpairconfig.h @@ -36,12 +36,12 @@ class AWAbstractPairConfig : public QDialog public: explicit AWAbstractPairConfig(QWidget *_parent = nullptr, const bool _hasEdit = false, - const QStringList &_keys = QStringList()); - virtual ~AWAbstractPairConfig(); + QStringList _keys = QStringList()); + ~AWAbstractPairConfig() override; template void initHelper() { - if (m_helper) - delete m_helper; + + delete m_helper; m_helper = new T(this); } void showDialog(); diff --git a/sources/awesome-widget/plugin/awabstractpairhelper.cpp b/sources/awesome-widget/plugin/awabstractpairhelper.cpp index aac202e..43c828d 100644 --- a/sources/awesome-widget/plugin/awabstractpairhelper.cpp +++ b/sources/awesome-widget/plugin/awabstractpairhelper.cpp @@ -19,13 +19,14 @@ #include #include +#include #include "awdebug.h" -AWAbstractPairHelper::AWAbstractPairHelper(const QString &_filePath, const QString &_section) - : m_filePath(_filePath) - , m_section(_section) +AWAbstractPairHelper::AWAbstractPairHelper(QString _filePath, QString _section) + : m_filePath(std::move(_filePath)) + , m_section(std::move(_section)) { qCDebug(LOG_AW) << __PRETTY_FUNCTION__; diff --git a/sources/awesome-widget/plugin/awabstractpairhelper.h b/sources/awesome-widget/plugin/awabstractpairhelper.h index c1eac82..404fb84 100644 --- a/sources/awesome-widget/plugin/awabstractpairhelper.h +++ b/sources/awesome-widget/plugin/awabstractpairhelper.h @@ -25,7 +25,7 @@ class AWAbstractPairHelper { public: - explicit AWAbstractPairHelper(const QString &_filePath = "", const QString &_section = ""); + explicit AWAbstractPairHelper(QString _filePath = "", QString _section = ""); virtual ~AWAbstractPairHelper(); QStringList keys() const; QHash pairs() const; diff --git a/sources/awesome-widget/plugin/awabstractselector.h b/sources/awesome-widget/plugin/awabstractselector.h index ef586ec..2cac132 100644 --- a/sources/awesome-widget/plugin/awabstractselector.h +++ b/sources/awesome-widget/plugin/awabstractselector.h @@ -34,7 +34,7 @@ class AWAbstractSelector : public QWidget public: explicit AWAbstractSelector(QWidget *_parent = nullptr, const QPair &_editable = {false, false}); - virtual ~AWAbstractSelector(); + ~AWAbstractSelector() override; QPair current() const; void init(const QStringList &_keys, const QStringList &_values, const QPair &_current); diff --git a/sources/awesome-widget/plugin/awactions.cpp b/sources/awesome-widget/plugin/awactions.cpp index 4935099..c854770 100644 --- a/sources/awesome-widget/plugin/awactions.cpp +++ b/sources/awesome-widget/plugin/awactions.cpp @@ -55,7 +55,7 @@ void AWActions::checkUpdates(const bool _showAnyway) } -QString AWActions::getFileContent(const QString &_path) const +QString AWActions::getFileContent(const QString &_path) { qCDebug(LOG_AW) << "Get content from file" << _path; @@ -72,13 +72,13 @@ QString AWActions::getFileContent(const QString &_path) const // HACK: since QML could not use QLoggingCategory I need this hack -bool AWActions::isDebugEnabled() const +bool AWActions::isDebugEnabled() { return LOG_AW().isDebugEnabled(); } -bool AWActions::runCmd(const QString &_cmd) const +bool AWActions::runCmd(const QString &_cmd) { qCDebug(LOG_AW) << "Cmd" << _cmd; @@ -89,15 +89,15 @@ bool AWActions::runCmd(const QString &_cmd) const // HACK: this method uses variable from version.h -void AWActions::showReadme() const +void AWActions::showReadme() { QDesktopServices::openUrl(QUrl(HOMEPAGE)); } -void AWActions::showLegacyInfo() const +void AWActions::showLegacyInfo() { - QMessageBox *msgBox = new QMessageBox(nullptr); + auto *msgBox = new QMessageBox(nullptr); msgBox->setAttribute(Qt::WA_DeleteOnClose); msgBox->setModal(false); msgBox->setWindowTitle(i18n("Not supported")); @@ -110,7 +110,7 @@ void AWActions::showLegacyInfo() const // HACK: this method uses variables from version.h -QString AWActions::getAboutText(const QString &_type) const +QString AWActions::getAboutText(const QString &_type) { qCDebug(LOG_AW) << "Type" << _type; @@ -118,7 +118,7 @@ QString AWActions::getAboutText(const QString &_type) const } -QVariantMap AWActions::getFont(const QVariantMap &_defaultFont) const +QVariantMap AWActions::getFont(const QVariantMap &_defaultFont) { qCDebug(LOG_AW) << "Default font is" << _defaultFont; diff --git a/sources/awesome-widget/plugin/awactions.h b/sources/awesome-widget/plugin/awactions.h index a70d7b5..c804123 100644 --- a/sources/awesome-widget/plugin/awactions.h +++ b/sources/awesome-widget/plugin/awactions.h @@ -31,16 +31,16 @@ class AWActions : public QObject public: explicit AWActions(QObject *_parent = nullptr); - virtual ~AWActions(); + ~AWActions() override; Q_INVOKABLE void checkUpdates(const bool _showAnyway = false); - Q_INVOKABLE QString getFileContent(const QString &_path) const; - Q_INVOKABLE bool isDebugEnabled() const; - Q_INVOKABLE bool runCmd(const QString &_cmd) const; - Q_INVOKABLE void showLegacyInfo() const; - Q_INVOKABLE void showReadme() const; + Q_INVOKABLE static QString getFileContent(const QString &_path); + Q_INVOKABLE static bool isDebugEnabled(); + Q_INVOKABLE static bool runCmd(const QString &_cmd); + Q_INVOKABLE static void showLegacyInfo(); + Q_INVOKABLE static void showReadme(); // configuration slots - Q_INVOKABLE QString getAboutText(const QString &_type) const; - Q_INVOKABLE QVariantMap getFont(const QVariantMap &_defaultFont) const; + Q_INVOKABLE static QString getAboutText(const QString &_type); + Q_INVOKABLE static QVariantMap getFont(const QVariantMap &_defaultFont); public slots: Q_INVOKABLE static void sendNotification(const QString &_eventId, const QString &_message); diff --git a/sources/awesome-widget/plugin/awbugreporter.cpp b/sources/awesome-widget/plugin/awbugreporter.cpp index a2410db..337d603 100644 --- a/sources/awesome-widget/plugin/awbugreporter.cpp +++ b/sources/awesome-widget/plugin/awbugreporter.cpp @@ -50,7 +50,7 @@ void AWBugReporter::doConnect() QString AWBugReporter::generateText(const QString &_description, const QString &_reproduce, - const QString &_expected, const QString &_logs) const + const QString &_expected, const QString &_logs) { // do not log _logs here, it may have quite large size qCDebug(LOG_AW) << "Generate text with description" << _description << "steps" << _reproduce @@ -72,7 +72,7 @@ void AWBugReporter::sendBugReport(const QString &_title, const QString &_body) { qCDebug(LOG_AW) << "Send bug report with title" << _title << "and body" << _body; - QNetworkAccessManager *manager = new QNetworkAccessManager(nullptr); + auto *manager = new QNetworkAccessManager(nullptr); connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(issueReplyRecieved(QNetworkReply *))); @@ -100,7 +100,7 @@ void AWBugReporter::issueReplyRecieved(QNetworkReply *_reply) return emit(replyReceived(0, "")); } - QJsonParseError error; + QJsonParseError error{}; QJsonDocument jsonDoc = QJsonDocument::fromJson(_reply->readAll(), &error); if (error.error != QJsonParseError::NoError) { qCWarning(LOG_AW) << "Parse error" << error.errorString(); @@ -124,7 +124,7 @@ void AWBugReporter::showInformation(const int _number, const QString &_url) // cache url first m_lastBugUrl = _url; - QMessageBox *msgBox = new QMessageBox(nullptr); + auto *msgBox = new QMessageBox(nullptr); msgBox->setAttribute(Qt::WA_DeleteOnClose); msgBox->setModal(false); msgBox->setWindowTitle(i18n("Issue created")); @@ -138,7 +138,7 @@ void AWBugReporter::showInformation(const int _number, const QString &_url) void AWBugReporter::userReplyOnBugReport(QAbstractButton *_button) { - QMessageBox::ButtonRole ret = static_cast(sender())->buttonRole(_button); + QMessageBox::ButtonRole ret = dynamic_cast(sender())->buttonRole(_button); qCInfo(LOG_AW) << "User select" << ret; switch (ret) { diff --git a/sources/awesome-widget/plugin/awbugreporter.h b/sources/awesome-widget/plugin/awbugreporter.h index 88aed69..57ada94 100644 --- a/sources/awesome-widget/plugin/awbugreporter.h +++ b/sources/awesome-widget/plugin/awbugreporter.h @@ -31,10 +31,10 @@ class AWBugReporter : public QObject public: explicit AWBugReporter(QObject *_parent = nullptr); - virtual ~AWBugReporter(); + ~AWBugReporter() override; Q_INVOKABLE void doConnect(); - Q_INVOKABLE QString generateText(const QString &_description, const QString &_reproduce, - const QString &_expected, const QString &_logs) const; + Q_INVOKABLE static QString generateText(const QString &_description, const QString &_reproduce, + const QString &_expected, const QString &_logs); Q_INVOKABLE void sendBugReport(const QString &_title, const QString &_body); signals: diff --git a/sources/awesome-widget/plugin/awconfighelper.cpp b/sources/awesome-widget/plugin/awconfighelper.cpp index edffc40..70d76b1 100644 --- a/sources/awesome-widget/plugin/awconfighelper.cpp +++ b/sources/awesome-widget/plugin/awconfighelper.cpp @@ -17,8 +17,6 @@ #include "awconfighelper.h" -#include - #include #include #include @@ -62,7 +60,7 @@ QString AWConfigHelper::configurationDirectory() const } -bool AWConfigHelper::dropCache() const +bool AWConfigHelper::dropCache() { QString fileName = QString("%1/awesomewidgets.ndx") @@ -78,7 +76,7 @@ bool AWConfigHelper::exportConfiguration(QObject *_nativeConfig, const QString & QSettings settings(_fileName, QSettings::IniFormat); // plasmoid configuration - const QQmlPropertyMap *configuration = static_cast(_nativeConfig); + const auto *configuration = dynamic_cast(_nativeConfig); settings.beginGroup("plasmoid"); for (auto &key : configuration->keys()) { QVariant value = configuration->value(key); @@ -173,7 +171,7 @@ QVariantMap AWConfigHelper::importConfiguration(const QString &_fileName, } -QVariantMap AWConfigHelper::readDataEngineConfiguration() const +QVariantMap AWConfigHelper::readDataEngineConfiguration() { QString fileName = QStandardPaths::locate(QStandardPaths::ConfigLocation, "plasma-dataengine-extsysmon.conf"); @@ -199,7 +197,7 @@ QVariantMap AWConfigHelper::readDataEngineConfiguration() const } -bool AWConfigHelper::writeDataEngineConfiguration(const QVariantMap &_configuration) const +bool AWConfigHelper::writeDataEngineConfiguration(const QVariantMap &_configuration) { qCDebug(LOG_AW) << "Configuration" << _configuration; @@ -226,7 +224,7 @@ bool AWConfigHelper::writeDataEngineConfiguration(const QVariantMap &_configurat } -void AWConfigHelper::copyConfigs(const QString &_localDir) const +void AWConfigHelper::copyConfigs(const QString &_localDir) { qCDebug(LOG_AW) << "Local directory" << _localDir; @@ -268,15 +266,14 @@ void AWConfigHelper::copyExtensions(const QString &_item, const QString &_type, } -void AWConfigHelper::copySettings(QSettings &_from, QSettings &_to) const +void AWConfigHelper::copySettings(QSettings &_from, QSettings &_to) { for (auto &key : _from.childKeys()) _to.setValue(key, _from.value(key)); } -void AWConfigHelper::readFile(QSettings &_settings, const QString &_key, - const QString &_fileName) const +void AWConfigHelper::readFile(QSettings &_settings, const QString &_key, const QString &_fileName) { qCDebug(LOG_AW) << "Key" << _key << "from file" << _fileName; @@ -291,8 +288,7 @@ void AWConfigHelper::readFile(QSettings &_settings, const QString &_key, } -void AWConfigHelper::writeFile(QSettings &_settings, const QString &_key, - const QString &_fileName) const +void AWConfigHelper::writeFile(QSettings &_settings, const QString &_key, const QString &_fileName) { qCDebug(LOG_AW) << "Key" << _key << "to file" << _fileName; diff --git a/sources/awesome-widget/plugin/awconfighelper.h b/sources/awesome-widget/plugin/awconfighelper.h index e008a64..957431f 100644 --- a/sources/awesome-widget/plugin/awconfighelper.h +++ b/sources/awesome-widget/plugin/awconfighelper.h @@ -31,26 +31,26 @@ class AWConfigHelper : public QObject public: explicit AWConfigHelper(QObject *_parent = nullptr); - virtual ~AWConfigHelper(); + ~AWConfigHelper() override; Q_INVOKABLE QString configurationDirectory() const; - Q_INVOKABLE bool dropCache() const; + Q_INVOKABLE static bool dropCache(); Q_INVOKABLE bool exportConfiguration(QObject *_nativeConfig, const QString &_fileName) const; Q_INVOKABLE QVariantMap importConfiguration(const QString &_fileName, const bool _importPlasmoid, const bool _importExtensions, const bool _importAdds) const; // dataengine - Q_INVOKABLE QVariantMap readDataEngineConfiguration() const; - Q_INVOKABLE bool writeDataEngineConfiguration(const QVariantMap &_configuration) const; + Q_INVOKABLE static QVariantMap readDataEngineConfiguration(); + Q_INVOKABLE static bool writeDataEngineConfiguration(const QVariantMap &_configuration); private: // methods - void copyConfigs(const QString &_localDir) const; + static void copyConfigs(const QString &_localDir); void copyExtensions(const QString &_item, const QString &_type, QSettings &_settings, const bool _inverse) const; - void copySettings(QSettings &_from, QSettings &_to) const; - void readFile(QSettings &_settings, const QString &_key, const QString &_fileName) const; - void writeFile(QSettings &_settings, const QString &_key, const QString &_fileName) const; + static void copySettings(QSettings &_from, QSettings &_to); + static void readFile(QSettings &_settings, const QString &_key, const QString &_fileName); + static void writeFile(QSettings &_settings, const QString &_key, const QString &_fileName); // properties QString m_baseDir; QStringList m_dirs = {"desktops", "quotes", "scripts", "upgrade", "weather", "formatters"}; diff --git a/sources/awesome-widget/plugin/awcustomkeysconfig.h b/sources/awesome-widget/plugin/awcustomkeysconfig.h index 5554c82..794956e 100644 --- a/sources/awesome-widget/plugin/awcustomkeysconfig.h +++ b/sources/awesome-widget/plugin/awcustomkeysconfig.h @@ -29,7 +29,7 @@ class AWCustomKeysConfig : public AWAbstractPairConfig public: explicit AWCustomKeysConfig(QWidget *_parent = nullptr, const QStringList &_keys = QStringList()); - virtual ~AWCustomKeysConfig(); + ~AWCustomKeysConfig() override; }; diff --git a/sources/awesome-widget/plugin/awcustomkeyshelper.h b/sources/awesome-widget/plugin/awcustomkeyshelper.h index 42b8af7..7a3b179 100644 --- a/sources/awesome-widget/plugin/awcustomkeyshelper.h +++ b/sources/awesome-widget/plugin/awcustomkeyshelper.h @@ -30,15 +30,15 @@ class AWCustomKeysHelper : public QObject, public AWAbstractPairHelper public: explicit AWCustomKeysHelper(QObject *_parent = nullptr); - virtual ~AWCustomKeysHelper(); + ~AWCustomKeysHelper() override; // get QString source(const QString &_key) const; QStringList sources() const; QStringList refinedSources() const; // configuration related - virtual void editPairs(){}; - virtual QStringList leftKeys(); - virtual QStringList rightKeys(); + void editPairs() override{}; + QStringList leftKeys() override; + QStringList rightKeys() override; private: }; diff --git a/sources/awesome-widget/plugin/awdataaggregator.cpp b/sources/awesome-widget/plugin/awdataaggregator.cpp index 48e9e1e..feb000c 100644 --- a/sources/awesome-widget/plugin/awdataaggregator.cpp +++ b/sources/awesome-widget/plugin/awdataaggregator.cpp @@ -54,7 +54,7 @@ AWDataAggregator::~AWDataAggregator() } -QString AWDataAggregator::htmlImage(const QPixmap &_source) const +QString AWDataAggregator::htmlImage(const QPixmap &_source) { QByteArray byteArray; QBuffer buffer(&byteArray); @@ -195,7 +195,7 @@ void AWDataAggregator::initScene() } -QString AWDataAggregator::notificationText(const QString &_source, const float _value) const +QString AWDataAggregator::notificationText(const QString &_source, const float _value) { qCDebug(LOG_AW) << "Notification source" << _source << "with value" << _value; @@ -215,7 +215,7 @@ QString AWDataAggregator::notificationText(const QString &_source, const float _ } -QString AWDataAggregator::notificationText(const QString &_source, const QString &_value) const +QString AWDataAggregator::notificationText(const QString &_source, const QString &_value) { qCDebug(LOG_AW) << "Notification source" << _source << "with value" << _value; @@ -246,10 +246,7 @@ void AWDataAggregator::setData(const QVariantHash &_values) m_currentNetworkDevice = value; }(_values["netdev"].toString()); // additional check for GPU load - [this](const float value) { - checkValue("gpu", value, 90.0); - m_currentGPULoad = value; - }(_values["gpu"].toFloat()); + [this](const float value) { checkValue("gpu", value, 90.0); }(_values["gpu"].toFloat()); } diff --git a/sources/awesome-widget/plugin/awdataaggregator.h b/sources/awesome-widget/plugin/awdataaggregator.h index d0769dd..e5c75a1 100644 --- a/sources/awesome-widget/plugin/awdataaggregator.h +++ b/sources/awesome-widget/plugin/awdataaggregator.h @@ -34,8 +34,8 @@ class AWDataAggregator : public QObject public: explicit AWDataAggregator(QObject *_parent = nullptr); - virtual ~AWDataAggregator(); - QString htmlImage(const QPixmap &_source) const; + ~AWDataAggregator() override; + static QString htmlImage(const QPixmap &_source); void setParameters(const QVariantMap &_settings); QPixmap tooltipImage(); @@ -53,8 +53,8 @@ private: void checkValue(const QString &_source, const QString &_current, const QString &_received) const; void initScene(); - QString notificationText(const QString &_source, const float _value) const; - QString notificationText(const QString &_source, const QString &_value) const; + static QString notificationText(const QString &_source, const float _value); + static QString notificationText(const QString &_source, const QString &_value); // main method void setData(const QVariantHash &_values); void setData(const QString &_source, float _value, const float _extremum = -1.0f); @@ -63,7 +63,6 @@ private: // variables int m_counts = 0; QVariantHash m_configuration; - float m_currentGPULoad = 0.0f; QString m_currentNetworkDevice = "lo"; QHash m_boundaries; QHash> m_values; diff --git a/sources/awesome-widget/plugin/awdataengineaggregator.cpp b/sources/awesome-widget/plugin/awdataengineaggregator.cpp index e6d2c1c..e0e048c 100644 --- a/sources/awesome-widget/plugin/awdataengineaggregator.cpp +++ b/sources/awesome-widget/plugin/awdataengineaggregator.cpp @@ -69,16 +69,16 @@ void AWDataEngineAggregator::reconnectSources(const int _interval) disconnectSources(); - m_dataEngines["systemmonitor"]->connectAllSources(parent(), _interval); - m_dataEngines["extsysmon"]->connectAllSources(parent(), _interval); + m_dataEngines["systemmonitor"]->connectAllSources(parent(), (uint)_interval); + m_dataEngines["extsysmon"]->connectAllSources(parent(), (uint)_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); - }); + m_newSourceConnection = connect( + m_dataEngines["systemmonitor"], &Plasma::DataEngine::sourceAdded, + [this, _interval](const QString source) { + emit(deviceAdded(source)); + m_dataEngines["systemmonitor"]->connectSource(source, parent(), (uint)_interval); + }); #ifdef BUILD_FUTURE createQueuedConnection(); diff --git a/sources/awesome-widget/plugin/awdataengineaggregator.h b/sources/awesome-widget/plugin/awdataengineaggregator.h index a2def21..dae35a6 100644 --- a/sources/awesome-widget/plugin/awdataengineaggregator.h +++ b/sources/awesome-widget/plugin/awdataengineaggregator.h @@ -31,7 +31,7 @@ class AWDataEngineAggregator : public QObject public: explicit AWDataEngineAggregator(QObject *_parent = nullptr); - virtual ~AWDataEngineAggregator(); + ~AWDataEngineAggregator() override; void disconnectSources(); void reconnectSources(const int _interval); diff --git a/sources/awesome-widget/plugin/awdataenginemapper.h b/sources/awesome-widget/plugin/awdataenginemapper.h index 9f00e75..c088a93 100644 --- a/sources/awesome-widget/plugin/awdataenginemapper.h +++ b/sources/awesome-widget/plugin/awdataenginemapper.h @@ -33,7 +33,7 @@ class AWDataEngineMapper : public QObject public: explicit AWDataEngineMapper(QObject *_parent = nullptr, AWFormatterHelper *_custom = nullptr); - virtual ~AWDataEngineMapper(); + ~AWDataEngineMapper() override; // get methods AWKeysAggregator::FormatterType formatter(const QString &_key) const; QStringList keysFromSource(const QString &_source) const; diff --git a/sources/awesome-widget/plugin/awdbusadaptor.h b/sources/awesome-widget/plugin/awdbusadaptor.h index a790c2d..31309ec 100644 --- a/sources/awesome-widget/plugin/awdbusadaptor.h +++ b/sources/awesome-widget/plugin/awdbusadaptor.h @@ -33,7 +33,7 @@ class AWDBusAdaptor : public QDBusAbstractAdaptor public: explicit AWDBusAdaptor(AWKeys *_parent = nullptr); - virtual ~AWDBusAdaptor(); + ~AWDBusAdaptor() override; public slots: // get methods diff --git a/sources/awesome-widget/plugin/awesomewidget.h b/sources/awesome-widget/plugin/awesomewidget.h index 743e2c9..86ab973 100644 --- a/sources/awesome-widget/plugin/awesomewidget.h +++ b/sources/awesome-widget/plugin/awesomewidget.h @@ -28,7 +28,7 @@ class AWPlugin : public QQmlExtensionPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") public: - void registerTypes(const char *uri); + void registerTypes(const char *uri) override; }; diff --git a/sources/awesome-widget/plugin/awformatterconfig.h b/sources/awesome-widget/plugin/awformatterconfig.h index c706bf9..9af1e1d 100644 --- a/sources/awesome-widget/plugin/awformatterconfig.h +++ b/sources/awesome-widget/plugin/awformatterconfig.h @@ -29,7 +29,7 @@ class AWFormatterConfig : public AWAbstractPairConfig public: explicit AWFormatterConfig(QWidget *_parent = nullptr, const QStringList &_keys = QStringList()); - virtual ~AWFormatterConfig(); + ~AWFormatterConfig() override; }; diff --git a/sources/awesome-widget/plugin/awformatterhelper.cpp b/sources/awesome-widget/plugin/awformatterhelper.cpp index d00d844..0eadc67 100644 --- a/sources/awesome-widget/plugin/awformatterhelper.cpp +++ b/sources/awesome-widget/plugin/awformatterhelper.cpp @@ -122,7 +122,7 @@ void AWFormatterHelper::editItems() AWAbstractFormatter::FormatterClass -AWFormatterHelper::defineFormatterClass(const QString &_stringType) const +AWFormatterHelper::defineFormatterClass(const QString &_stringType) { qCDebug(LOG_AW) << "Define formatter class for" << _stringType; diff --git a/sources/awesome-widget/plugin/awformatterhelper.h b/sources/awesome-widget/plugin/awformatterhelper.h index a1cfd71..3152d61 100644 --- a/sources/awesome-widget/plugin/awformatterhelper.h +++ b/sources/awesome-widget/plugin/awformatterhelper.h @@ -30,29 +30,29 @@ class AWFormatterHelper : public AbstractExtItemAggregator, public AWAbstractPai public: explicit AWFormatterHelper(QWidget *_parent = nullptr); - virtual ~AWFormatterHelper(); + ~AWFormatterHelper() override; // read-write methods - void initItems(); + void initItems() override; // methods QString convert(const QVariant &_value, const QString &_name) const; QStringList definedFormatters() const; - QList items() const; + QList items() const override; // configuration related - virtual void editPairs(); - virtual QStringList leftKeys(); - virtual QStringList rightKeys(); + void editPairs() override; + QStringList leftKeys() override; + QStringList rightKeys() override; public slots: void editItems(); private: // methods - AWAbstractFormatter::FormatterClass defineFormatterClass(const QString &_stringType) const; + static AWAbstractFormatter::FormatterClass defineFormatterClass(const QString &_stringType); void initFormatters(); QPair readMetadata(const QString &_filePath) const; // parent methods - void doCreateItem(); + void doCreateItem() override; // properties QHash m_formatters; QHash m_formattersClasses; diff --git a/sources/awesome-widget/plugin/awkeycache.cpp b/sources/awesome-widget/plugin/awkeycache.cpp index eac2749..92f77a5 100644 --- a/sources/awesome-widget/plugin/awkeycache.cpp +++ b/sources/awesome-widget/plugin/awkeycache.cpp @@ -15,6 +15,7 @@ * along with awesome-widgets. If not, see http://www.gnu.org/licenses/ * ***************************************************************************/ + #include "awkeycache.h" #include diff --git a/sources/awesome-widget/plugin/awkeycache.h b/sources/awesome-widget/plugin/awkeycache.h index 0317cc2..272c6ee 100644 --- a/sources/awesome-widget/plugin/awkeycache.h +++ b/sources/awesome-widget/plugin/awkeycache.h @@ -31,7 +31,7 @@ QStringList getRequiredKeys(const QStringList &_keys, const QStringList &_bars, const QVariantMap &_tooltip, const QStringList &_userKeys, const QStringList &_allKeys); QHash loadKeysFromCache(); -}; +} // namespace AWKeyCache #endif /* AWKEYCACHE_H */ diff --git a/sources/awesome-widget/plugin/awkeyoperations.h b/sources/awesome-widget/plugin/awkeyoperations.h index a58d99f..57c0a7e 100644 --- a/sources/awesome-widget/plugin/awkeyoperations.h +++ b/sources/awesome-widget/plugin/awkeyoperations.h @@ -39,7 +39,7 @@ class AWKeyOperations : public QObject public: explicit AWKeyOperations(QObject *_parent = nullptr); - virtual ~AWKeyOperations(); + ~AWKeyOperations() override; QStringList devices(const QString &_type) const; QHash devices() const; void updateCache(); diff --git a/sources/awesome-widget/plugin/awkeys.cpp b/sources/awesome-widget/plugin/awkeys.cpp index 208d392..36f0705 100644 --- a/sources/awesome-widget/plugin/awkeys.cpp +++ b/sources/awesome-widget/plugin/awkeys.cpp @@ -345,10 +345,9 @@ QString AWKeys::parsePattern(QString _pattern) const // bars for (auto &bar : m_foundBars) { GraphicalItem *item = m_keyOperator->giByKey(bar); - QString image = item->isCustom() - ? item->image(AWPatternFunctions::expandLambdas( - item->bar(), m_aggregator, m_values, item->usedKeys())) - : item->image(m_values[item->bar()]); + QString image = item->isCustom() ? item->image(AWPatternFunctions::expandLambdas( + item->bar(), m_aggregator, m_values, item->usedKeys())) + : item->image(m_values[item->bar()]); _pattern.replace(QString("$%1").arg(bar), image); } diff --git a/sources/awesome-widget/plugin/awkeys.h b/sources/awesome-widget/plugin/awkeys.h index a1864ee..8f0ebce 100644 --- a/sources/awesome-widget/plugin/awkeys.h +++ b/sources/awesome-widget/plugin/awkeys.h @@ -38,7 +38,7 @@ class AWKeys : public QObject public: explicit AWKeys(QObject *_parent = nullptr); - virtual ~AWKeys(); + ~AWKeys() override; Q_INVOKABLE void initDataAggregator(const QVariantMap &_tooltipParams); Q_INVOKABLE void initKeys(const QString &_currentPattern, const int _interval, const int _limit, const bool _optimize); @@ -59,7 +59,7 @@ public: public slots: void dataUpdated(const QString &_sourceName, const Plasma::DataEngine::Data &_data); // dummy method required by DataEngine connections - void modelChanged(QString, QAbstractItemModel *){}; + static void modelChanged(QString, QAbstractItemModel *){}; signals: void dropSourceFromDataengine(const QString &_source); diff --git a/sources/awesome-widget/plugin/awkeysaggregator.cpp b/sources/awesome-widget/plugin/awkeysaggregator.cpp index 47632cb..d9c460f 100644 --- a/sources/awesome-widget/plugin/awkeysaggregator.cpp +++ b/sources/awesome-widget/plugin/awkeysaggregator.cpp @@ -117,7 +117,7 @@ QString AWKeysAggregator::formatter(const QVariant &_data, const QString &_key) break; case FormatterType::TimeCustom: output = m_customTime; - [&output, loc, this](const QDateTime dt) { + [&output, loc, this](const QDateTime &dt) { for (auto &key : m_timeKeys) output.replace(QString("$%1").arg(key), loc.toString(dt, key)); }(_data.toDateTime()); diff --git a/sources/awesome-widget/plugin/awkeysaggregator.h b/sources/awesome-widget/plugin/awkeysaggregator.h index 8f99846..83ef50f 100644 --- a/sources/awesome-widget/plugin/awkeysaggregator.h +++ b/sources/awesome-widget/plugin/awkeysaggregator.h @@ -66,7 +66,7 @@ public: }; explicit AWKeysAggregator(QObject *_parent = nullptr); - virtual ~AWKeysAggregator(); + ~AWKeysAggregator() override; void initFormatters(); // get methods QString formatter(const QVariant &_data, const QString &_key) const; diff --git a/sources/awesome-widget/plugin/awpairconfigfactory.cpp b/sources/awesome-widget/plugin/awpairconfigfactory.cpp index 7de5dc3..893d9d2 100644 --- a/sources/awesome-widget/plugin/awpairconfigfactory.cpp +++ b/sources/awesome-widget/plugin/awpairconfigfactory.cpp @@ -37,7 +37,7 @@ AWPairConfigFactory::~AWPairConfigFactory() void AWPairConfigFactory::showFormatterDialog(const QStringList &_keys) { - AWFormatterConfig *config = new AWFormatterConfig(nullptr, _keys); + auto *config = new AWFormatterConfig(nullptr, _keys); config->showDialog(); config->deleteLater(); } @@ -45,7 +45,7 @@ void AWPairConfigFactory::showFormatterDialog(const QStringList &_keys) void AWPairConfigFactory::showKeysDialog(const QStringList &_keys) { - AWCustomKeysConfig *config = new AWCustomKeysConfig(nullptr, _keys); + auto *config = new AWCustomKeysConfig(nullptr, _keys); config->showDialog(); config->deleteLater(); } diff --git a/sources/awesome-widget/plugin/awpairconfigfactory.h b/sources/awesome-widget/plugin/awpairconfigfactory.h index 40d0d08..5ecb661 100644 --- a/sources/awesome-widget/plugin/awpairconfigfactory.h +++ b/sources/awesome-widget/plugin/awpairconfigfactory.h @@ -28,9 +28,9 @@ class AWPairConfigFactory : public QObject public: explicit AWPairConfigFactory(QObject *_parent = nullptr); - virtual ~AWPairConfigFactory(); - Q_INVOKABLE void showFormatterDialog(const QStringList &_keys); - Q_INVOKABLE void showKeysDialog(const QStringList &_keys); + ~AWPairConfigFactory() override; + Q_INVOKABLE static void showFormatterDialog(const QStringList &_keys); + Q_INVOKABLE static void showKeysDialog(const QStringList &_keys); private: }; diff --git a/sources/awesome-widget/plugin/awpatternfunctions.cpp b/sources/awesome-widget/plugin/awpatternfunctions.cpp index 1658705..5cbe322 100644 --- a/sources/awesome-widget/plugin/awpatternfunctions.cpp +++ b/sources/awesome-widget/plugin/awpatternfunctions.cpp @@ -54,7 +54,7 @@ QString AWPatternFunctions::expandTemplates(QString _code) qCDebug(LOG_AW) << "Expand templates in" << _code; // match the following construction $template{{some code here}} - QRegularExpression templatesRegexp("\\$template\\{\\{(?.*?)\\}\\}"); + QRegularExpression templatesRegexp(R"(\$template\{\{(?.*?)\}\})"); templatesRegexp.setPatternOptions(QRegularExpression::DotMatchesEverythingOption); QRegularExpressionMatchIterator it = templatesRegexp.globalMatch(_code); @@ -92,8 +92,7 @@ AWPatternFunctions::findFunctionCalls(const QString &_function, const QString &_ // in this field if they are not screened by $, i.e. '$,' // * body depends on the function name, double brackets should be screened // by using $, e.g. ${ - QRegularExpression regex( - QString("\\$%1\\<(?.*?)\\>\\{\\{(?.*?)\\}\\}").arg(_function)); + QRegularExpression regex(QString(R"(\$%1\<(?.*?)\>\{\{(?.*?)\}\})").arg(_function)); regex.setPatternOptions(QRegularExpression::DotMatchesEverythingOption); QList foundFunctions; @@ -266,7 +265,7 @@ QStringList AWPatternFunctions::findLambdas(const QString &_code) QStringList selectedKeys; // match the following construction ${{some code here}} - QRegularExpression lambdaRegexp("\\$\\{\\{(?.*?)\\}\\}"); + QRegularExpression lambdaRegexp(R"(\$\{\{(?.*?)\}\})"); lambdaRegexp.setPatternOptions(QRegularExpression::DotMatchesEverythingOption); QRegularExpressionMatchIterator it = lambdaRegexp.globalMatch(_code); diff --git a/sources/awesome-widget/plugin/awpatternfunctions.h b/sources/awesome-widget/plugin/awpatternfunctions.h index 9ea3441..c57ffd0 100644 --- a/sources/awesome-widget/plugin/awpatternfunctions.h +++ b/sources/awesome-widget/plugin/awpatternfunctions.h @@ -46,7 +46,7 @@ QString insertMacros(QString _code); // find methods QStringList findKeys(const QString &_code, const QStringList &_keys, const bool _isBars); QStringList findLambdas(const QString &_code); -}; +} // namespace AWPatternFunctions #endif /* AWPATTERNFUNCTIONS_H */ diff --git a/sources/awesome-widget/plugin/awtelemetryhandler.cpp b/sources/awesome-widget/plugin/awtelemetryhandler.cpp index 43efaee..08ce41a 100644 --- a/sources/awesome-widget/plugin/awtelemetryhandler.cpp +++ b/sources/awesome-widget/plugin/awtelemetryhandler.cpp @@ -126,7 +126,7 @@ void AWTelemetryHandler::uploadTelemetry(const QString &_group, const QString &_ return; } - QNetworkAccessManager *manager = new QNetworkAccessManager(nullptr); + auto *manager = new QNetworkAccessManager(nullptr); connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(telemetryReplyRecieved(QNetworkReply *))); @@ -156,7 +156,7 @@ void AWTelemetryHandler::telemetryReplyRecieved(QNetworkReply *_reply) return; } - QJsonParseError error; + QJsonParseError error{}; QJsonDocument jsonDoc = QJsonDocument::fromJson(_reply->readAll(), &error); if (error.error != QJsonParseError::NoError) { qCWarning(LOG_AW) << "Parse error" << error.errorString(); @@ -173,7 +173,7 @@ void AWTelemetryHandler::telemetryReplyRecieved(QNetworkReply *_reply) } -QString AWTelemetryHandler::getKey(const int _count) const +QString AWTelemetryHandler::getKey(const int _count) { qCDebug(LOG_AW) << "Get key for keys count" << _count; diff --git a/sources/awesome-widget/plugin/awtelemetryhandler.h b/sources/awesome-widget/plugin/awtelemetryhandler.h index fb2d336..42eb3f1 100644 --- a/sources/awesome-widget/plugin/awtelemetryhandler.h +++ b/sources/awesome-widget/plugin/awtelemetryhandler.h @@ -32,7 +32,7 @@ public: const char *REMOTE_TELEMETRY_URL = "https://arcanis.me/telemetry"; explicit AWTelemetryHandler(QObject *_parent = nullptr, const QString &_clientId = ""); - virtual ~AWTelemetryHandler(); + ~AWTelemetryHandler() override; Q_INVOKABLE QStringList get(const QString &_group) const; Q_INVOKABLE QString getLast(const QString &_group) const; Q_INVOKABLE void init(const int _count, const bool _enableRemote, const QString &_clientId); @@ -46,7 +46,7 @@ private slots: void telemetryReplyRecieved(QNetworkReply *_reply); private: - QString getKey(const int _count) const; + static QString getKey(const int _count); QString m_clientId; QString m_localFile; int m_storeCount = 0; diff --git a/sources/awesome-widget/plugin/awupdatehelper.cpp b/sources/awesome-widget/plugin/awupdatehelper.cpp index 261f3ad..3142d70 100644 --- a/sources/awesome-widget/plugin/awupdatehelper.cpp +++ b/sources/awesome-widget/plugin/awupdatehelper.cpp @@ -52,7 +52,7 @@ void AWUpdateHelper::checkUpdates(const bool _showAnyway) // showAnyway options requires to show message if no updates found on direct // request. In case of automatic check no message will be shown - QNetworkAccessManager *manager = new QNetworkAccessManager(nullptr); + auto *manager = new QNetworkAccessManager(nullptr); connect(manager, &QNetworkAccessManager::finished, [_showAnyway, this](QNetworkReply *reply) { return versionReplyRecieved(reply, _showAnyway); }); @@ -72,7 +72,7 @@ bool AWUpdateHelper::checkVersion() qCInfo(LOG_AW) << "Found version" << version << "actual one is" << m_foundVersion; if ((version != m_foundVersion) && (!QString(CHANGELOG).isEmpty())) { - genMessageBox(i18n("Changelog of %1", VERSION), QString(CHANGELOG).replace('@', '\n'), + genMessageBox(i18nc("Changelog of %1", VERSION), QString(CHANGELOG).replace('@', '\n'), QMessageBox::Ok) ->open(); return true; @@ -103,7 +103,7 @@ void AWUpdateHelper::showUpdates(const QVersionNumber &_version) qCDebug(LOG_AW) << "Version" << _version; QString text; - text += i18n("Current version : %1", VERSION); + text += i18nc("Current version : %1", VERSION); text += QString(COMMIT_SHA).isEmpty() ? "\n" : QString(" (%1)\n").arg(QString(COMMIT_SHA)); text += i18n("New version : %1", _version.toString()) + "\n\n"; text += i18n("Click \"Ok\" to download"); @@ -115,7 +115,7 @@ void AWUpdateHelper::showUpdates(const QVersionNumber &_version) void AWUpdateHelper::userReplyOnUpdates(QAbstractButton *_button) { - QMessageBox::ButtonRole ret = static_cast(sender())->buttonRole(_button); + QMessageBox::ButtonRole ret = dynamic_cast(sender())->buttonRole(_button); qCInfo(LOG_AW) << "User select" << ret; switch (ret) { @@ -138,7 +138,7 @@ void AWUpdateHelper::versionReplyRecieved(QNetworkReply *_reply, const bool _sho return; } - QJsonParseError error; + QJsonParseError error = QJsonParseError(); QJsonDocument jsonDoc = QJsonDocument::fromJson(_reply->readAll(), &error); if (error.error != QJsonParseError::NoError) { qCWarning(LOG_AW) << "Parse error" << error.errorString(); @@ -167,7 +167,7 @@ QMessageBox *AWUpdateHelper::genMessageBox(const QString &_title, const QString { qCDebug(LOG_AW) << "Construct message box with title" << _title << "and body" << _body; - QMessageBox *msgBox = new QMessageBox(nullptr); + auto *msgBox = new QMessageBox(nullptr); msgBox->setAttribute(Qt::WA_DeleteOnClose); msgBox->setModal(false); msgBox->setWindowTitle(_title); diff --git a/sources/awesome-widget/plugin/awupdatehelper.h b/sources/awesome-widget/plugin/awupdatehelper.h index cfd26e7..ae650fd 100644 --- a/sources/awesome-widget/plugin/awupdatehelper.h +++ b/sources/awesome-widget/plugin/awupdatehelper.h @@ -32,19 +32,19 @@ class AWUpdateHelper : public QObject public: explicit AWUpdateHelper(QObject *_parent = nullptr); - virtual ~AWUpdateHelper(); + ~AWUpdateHelper() override; void checkUpdates(const bool _showAnyway = false); bool checkVersion(); private slots: - void showInfo(const QVersionNumber &_version); + static void showInfo(const QVersionNumber &_version); void showUpdates(const QVersionNumber &_version); void userReplyOnUpdates(QAbstractButton *_button); void versionReplyRecieved(QNetworkReply *_reply, const bool _showAnyway); private: - QMessageBox *genMessageBox(const QString &_title, const QString &_body, - const QMessageBox::StandardButtons _buttons); + static QMessageBox *genMessageBox(const QString &_title, const QString &_body, + const QMessageBox::StandardButtons _buttons); QVersionNumber m_foundVersion; QString m_genericConfig; }; diff --git a/sources/awesomewidgets/abstractextitem.cpp b/sources/awesomewidgets/abstractextitem.cpp index c41ef67..44a55f7 100644 --- a/sources/awesomewidgets/abstractextitem.cpp +++ b/sources/awesomewidgets/abstractextitem.cpp @@ -45,7 +45,7 @@ AbstractExtItem::~AbstractExtItem() if (m_socket) { m_socket->close(); - m_socket->removeServer(socket()); + QLocalServer::removeServer(socket()); m_socket->deleteLater(); } } @@ -270,7 +270,7 @@ void AbstractExtItem::deinitSocket() return; m_socket->close(); - m_socket->removeServer(socket()); + QLocalServer::removeServer(socket()); delete m_socket; disconnect(m_socket, SIGNAL(newConnection()), this, SLOT(newConnectionReceived())); } diff --git a/sources/awesomewidgets/abstractextitem.h b/sources/awesomewidgets/abstractextitem.h index f325db5..8e0300b 100644 --- a/sources/awesomewidgets/abstractextitem.h +++ b/sources/awesomewidgets/abstractextitem.h @@ -41,7 +41,7 @@ class AbstractExtItem : public QDialog public: explicit AbstractExtItem(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AbstractExtItem(); + ~AbstractExtItem() override; virtual void bumpApi(const int _newVer); virtual AbstractExtItem *copy(const QString &_fileName, const int _number) = 0; virtual void copyDefaults(AbstractExtItem *_other) const; diff --git a/sources/awesomewidgets/abstractextitemaggregator.cpp b/sources/awesomewidgets/abstractextitemaggregator.cpp index 1189795..8fb22a8 100644 --- a/sources/awesomewidgets/abstractextitemaggregator.cpp +++ b/sources/awesomewidgets/abstractextitemaggregator.cpp @@ -23,12 +23,13 @@ #include #include #include +#include -AbstractExtItemAggregator::AbstractExtItemAggregator(QWidget *_parent, const QString &_type) +AbstractExtItemAggregator::AbstractExtItemAggregator(QWidget *_parent, QString _type) : QDialog(_parent) , ui(new Ui::AbstractExtItemAggregator) - , m_type(_type) + , m_type(std::move(_type)) { qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; @@ -90,7 +91,7 @@ void AbstractExtItemAggregator::deleteItem() if (!source) { qCWarning(LOG_LIB) << "Nothing to delete"; return; - }; + } if (source->tryDelete()) { initItems(); @@ -105,7 +106,7 @@ void AbstractExtItemAggregator::editItem() if (!source) { qCWarning(LOG_LIB) << "Nothing to edit"; return; - }; + } if (source->showConfiguration(configArgs()) == 1) { initItems(); @@ -154,7 +155,7 @@ void AbstractExtItemAggregator::repaintList() ui->listWidget->clear(); for (auto &_item : items()) { QString fileName = QFileInfo(_item->fileName()).fileName(); - QListWidgetItem *item = new QListWidgetItem(fileName, ui->listWidget); + auto *item = new QListWidgetItem(fileName, ui->listWidget); QStringList tooltip; tooltip.append(i18n("Name: %1", _item->name())); tooltip.append(i18n("Comment: %1", _item->comment())); @@ -216,11 +217,11 @@ void AbstractExtItemAggregator::editItemActivated(QListWidgetItem *) void AbstractExtItemAggregator::editItemButtonPressed(QAbstractButton *_button) { - if (static_cast(_button) == copyButton) + if (dynamic_cast(_button) == copyButton) return copyItem(); - else if (static_cast(_button) == createButton) + else if (dynamic_cast(_button) == createButton) return doCreateItem(); - else if (static_cast(_button) == deleteButton) + else if (dynamic_cast(_button) == deleteButton) return deleteItem(); else if (ui->buttonBox->buttonRole(_button) == QDialogButtonBox::AcceptRole) return editItem(); diff --git a/sources/awesomewidgets/abstractextitemaggregator.h b/sources/awesomewidgets/abstractextitemaggregator.h index fc23c7a..418d386 100644 --- a/sources/awesomewidgets/abstractextitemaggregator.h +++ b/sources/awesomewidgets/abstractextitemaggregator.h @@ -39,8 +39,8 @@ class AbstractExtItemAggregator : public QDialog Q_PROPERTY(QVariant type READ type) public: - explicit AbstractExtItemAggregator(QWidget *_parent, const QString &_type); - virtual ~AbstractExtItemAggregator(); + explicit AbstractExtItemAggregator(QWidget *_parent, QString _type); + ~AbstractExtItemAggregator() override; // methods void copyItem(); template void createItem() @@ -54,7 +54,7 @@ public: if (fileName.isEmpty()) { qCWarning(LOG_LIB) << "Nothing to create"; return; - }; + } QString filePath = QString("%1/%2").arg(dir).arg(fileName); T *newItem = new T(this, filePath); @@ -62,7 +62,7 @@ public: if (newItem->showConfiguration(configArgs()) == 1) { initItems(); repaintList(); - }; + } }; void deleteItem(); void editItem(); diff --git a/sources/awesomewidgets/abstractquotesprovider.h b/sources/awesomewidgets/abstractquotesprovider.h index 1dee50a..53b94ff 100644 --- a/sources/awesomewidgets/abstractquotesprovider.h +++ b/sources/awesomewidgets/abstractquotesprovider.h @@ -31,12 +31,12 @@ class AbstractQuotesProvider : public QObject public: explicit AbstractQuotesProvider(QObject *_parent) : QObject(_parent){}; - virtual ~AbstractQuotesProvider(){}; + ~AbstractQuotesProvider() override = default; virtual void initUrl(const QString &_asset) = 0; virtual QVariantHash parse(const QByteArray &_source, const QVariantHash &_oldValues) const = 0; QString tag(const QString &_type) const { - return static_cast(parent())->tag(_type); + return dynamic_cast(parent())->tag(_type); }; virtual QUrl url() const = 0; }; diff --git a/sources/awesomewidgets/abstractweatherprovider.h b/sources/awesomewidgets/abstractweatherprovider.h index 2bf6034..10895a0 100644 --- a/sources/awesomewidgets/abstractweatherprovider.h +++ b/sources/awesomewidgets/abstractweatherprovider.h @@ -31,12 +31,12 @@ class AbstractWeatherProvider : public QObject public: explicit AbstractWeatherProvider(QObject *_parent) : QObject(_parent){}; - virtual ~AbstractWeatherProvider(){}; + ~AbstractWeatherProvider() override = default; virtual void initUrl(const QString &_city, const QString &_country, const int _ts) = 0; virtual QVariantHash parse(const QVariantMap &_json) const = 0; QString tag(const QString &_type) const { - return static_cast(parent())->tag(_type); + return dynamic_cast(parent())->tag(_type); }; virtual QUrl url() const = 0; }; diff --git a/sources/awesomewidgets/awabstractformatter.cpp b/sources/awesomewidgets/awabstractformatter.cpp index ad3a0bf..5e1978c 100644 --- a/sources/awesomewidgets/awabstractformatter.cpp +++ b/sources/awesomewidgets/awabstractformatter.cpp @@ -39,7 +39,7 @@ void AWAbstractFormatter::copyDefaults(AbstractExtItem *_other) const { AbstractExtItem::copyDefaults(_other); - static_cast(_other)->setType(type()); + dynamic_cast(_other)->setType(type()); } diff --git a/sources/awesomewidgets/awabstractformatter.h b/sources/awesomewidgets/awabstractformatter.h index 2e9dea2..b254271 100644 --- a/sources/awesomewidgets/awabstractformatter.h +++ b/sources/awesomewidgets/awabstractformatter.h @@ -31,10 +31,10 @@ public: enum class FormatterClass { DateTime, Float, List, Script, String, NoFormat, Json }; explicit AWAbstractFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWAbstractFormatter(); + ~AWAbstractFormatter() override; virtual QString convert(const QVariant &_value) const = 0; - void copyDefaults(AbstractExtItem *_other) const; - QString uniq() const; + void copyDefaults(AbstractExtItem *_other) const override; + QString uniq() const override; // properties QString strType() const; FormatterClass type() const; @@ -42,9 +42,9 @@ public: void setType(const FormatterClass _type); public slots: - virtual void readConfiguration(); - QVariantHash run() { return QVariantHash(); }; - virtual void writeConfiguration() const; + void readConfiguration() override; + QVariantHash run() override { return QVariantHash(); }; + void writeConfiguration() const override; private: // properties diff --git a/sources/awesomewidgets/awdatetimeformatter.cpp b/sources/awesomewidgets/awdatetimeformatter.cpp index db08a42..b2a18a4 100644 --- a/sources/awesomewidgets/awdatetimeformatter.cpp +++ b/sources/awesomewidgets/awdatetimeformatter.cpp @@ -60,8 +60,7 @@ AWDateTimeFormatter *AWDateTimeFormatter::copy(const QString &_fileName, const i { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - AWDateTimeFormatter *item - = new AWDateTimeFormatter(static_cast(parent()), _fileName); + auto *item = new AWDateTimeFormatter(dynamic_cast(parent()), _fileName); AWAbstractFormatter::copyDefaults(item); item->setFormat(format()); item->setTranslateString(translateString()); diff --git a/sources/awesomewidgets/awdatetimeformatter.h b/sources/awesomewidgets/awdatetimeformatter.h index 492663d..b2e1d78 100644 --- a/sources/awesomewidgets/awdatetimeformatter.h +++ b/sources/awesomewidgets/awdatetimeformatter.h @@ -36,9 +36,9 @@ class AWDateTimeFormatter : public AWAbstractFormatter public: explicit AWDateTimeFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWDateTimeFormatter(); - QString convert(const QVariant &_value) const; - AWDateTimeFormatter *copy(const QString &_fileName, const int _number); + ~AWDateTimeFormatter() override; + QString convert(const QVariant &_value) const override; + AWDateTimeFormatter *copy(const QString &_fileName, const int _number) override; // properties QString format() const; bool translateString() const; @@ -46,14 +46,14 @@ public: void setTranslateString(const bool _translate); public slots: - void readConfiguration(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private: Ui::AWDateTimeFormatter *ui = nullptr; void initLocale(); - void translate(); + void translate() override; // properties QLocale m_locale; QString m_format = ""; diff --git a/sources/awesomewidgets/awfloatformatter.cpp b/sources/awesomewidgets/awfloatformatter.cpp index 7e34335..2c51b28 100644 --- a/sources/awesomewidgets/awfloatformatter.cpp +++ b/sources/awesomewidgets/awfloatformatter.cpp @@ -64,7 +64,7 @@ AWFloatFormatter *AWFloatFormatter::copy(const QString &_fileName, const int _nu { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - AWFloatFormatter *item = new AWFloatFormatter(static_cast(parent()), _fileName); + auto *item = new AWFloatFormatter(dynamic_cast(parent()), _fileName); AWAbstractFormatter::copyDefaults(item); item->setCount(count()); item->setFormat(format()); diff --git a/sources/awesomewidgets/awfloatformatter.h b/sources/awesomewidgets/awfloatformatter.h index f9bf166..bbedf22 100644 --- a/sources/awesomewidgets/awfloatformatter.h +++ b/sources/awesomewidgets/awfloatformatter.h @@ -39,9 +39,9 @@ class AWFloatFormatter : public AWAbstractFormatter public: explicit AWFloatFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWFloatFormatter(); - QString convert(const QVariant &_value) const; - AWFloatFormatter *copy(const QString &_fileName, const int _number); + ~AWFloatFormatter() override; + QString convert(const QVariant &_value) const override; + AWFloatFormatter *copy(const QString &_fileName, const int _number) override; // properties int count() const; QChar fillChar() const; @@ -59,13 +59,13 @@ public: void setSummand(const double _summand); public slots: - void readConfiguration(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private: Ui::AWFloatFormatter *ui = nullptr; - void translate(); + void translate() override; // properties int m_count = 0; QChar m_fillChar = QChar(); diff --git a/sources/awesomewidgets/awjsonformatter.cpp b/sources/awesomewidgets/awjsonformatter.cpp index 0a27619..d59963f 100644 --- a/sources/awesomewidgets/awjsonformatter.cpp +++ b/sources/awesomewidgets/awjsonformatter.cpp @@ -68,7 +68,7 @@ AWJsonFormatter *AWJsonFormatter::copy(const QString &_fileName, const int _numb { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - AWJsonFormatter *item = new AWJsonFormatter(static_cast(parent()), _fileName); + auto *item = new AWJsonFormatter(dynamic_cast(parent()), _fileName); AWAbstractFormatter::copyDefaults(item); item->setNumber(_number); item->setPath(path()); @@ -159,7 +159,7 @@ QVariant AWJsonFormatter::getFromJson(const QVariant &_value, const QVariant &_e } -QVariant AWJsonFormatter::getFromList(const QVariant &_value, const int _index) const +QVariant AWJsonFormatter::getFromList(const QVariant &_value, const int _index) { qCDebug(LOG_LIB) << "Looking for index" << _index << "in" << _value; @@ -167,7 +167,7 @@ QVariant AWJsonFormatter::getFromList(const QVariant &_value, const int _index) } -QVariant AWJsonFormatter::getFromMap(const QVariant &_value, const QString &_key) const +QVariant AWJsonFormatter::getFromMap(const QVariant &_value, const QString &_key) { qCDebug(LOG_LIB) << "Looking for key" << _key << "in" << _value; diff --git a/sources/awesomewidgets/awjsonformatter.h b/sources/awesomewidgets/awjsonformatter.h index 112452d..bb06f2b 100644 --- a/sources/awesomewidgets/awjsonformatter.h +++ b/sources/awesomewidgets/awjsonformatter.h @@ -33,25 +33,25 @@ class AWJsonFormatter : public AWAbstractFormatter public: explicit AWJsonFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWJsonFormatter(); - QString convert(const QVariant &_value) const; - AWJsonFormatter *copy(const QString &_fileName, const int _number); + ~AWJsonFormatter() override; + QString convert(const QVariant &_value) const override; + AWJsonFormatter *copy(const QString &_fileName, const int _number) override; // properties QString path() const; void setPath(const QString &_path); public slots: - void readConfiguration(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private: Ui::AWJsonFormatter *ui = nullptr; QVariant getFromJson(const QVariant &_value, const QVariant &_element) const; - QVariant getFromList(const QVariant &_value, const int _index) const; - QVariant getFromMap(const QVariant &_value, const QString &_key) const; + static QVariant getFromList(const QVariant &_value, const int _index); + static QVariant getFromMap(const QVariant &_value, const QString &_key); void initPath(); - void translate(); + void translate() override; // properties QString m_path; QVariantList m_splittedPath; diff --git a/sources/awesomewidgets/awlistformatter.cpp b/sources/awesomewidgets/awlistformatter.cpp index f5207db..85dbd96 100644 --- a/sources/awesomewidgets/awlistformatter.cpp +++ b/sources/awesomewidgets/awlistformatter.cpp @@ -63,7 +63,7 @@ AWListFormatter *AWListFormatter::copy(const QString &_fileName, const int _numb { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - AWListFormatter *item = new AWListFormatter(static_cast(parent()), _fileName); + auto *item = new AWListFormatter(dynamic_cast(parent()), _fileName); AWAbstractFormatter::copyDefaults(item); item->setFilter(filter()); item->setSeparator(separator()); diff --git a/sources/awesomewidgets/awlistformatter.h b/sources/awesomewidgets/awlistformatter.h index 56f318a..888c414 100644 --- a/sources/awesomewidgets/awlistformatter.h +++ b/sources/awesomewidgets/awlistformatter.h @@ -35,9 +35,9 @@ class AWListFormatter : public AWAbstractFormatter public: explicit AWListFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWListFormatter(); - QString convert(const QVariant &_value) const; - AWListFormatter *copy(const QString &_fileName, const int _number); + ~AWListFormatter() override; + QString convert(const QVariant &_value) const override; + AWListFormatter *copy(const QString &_fileName, const int _number) override; // properties QString filter() const; bool isSorted() const; @@ -47,13 +47,13 @@ public: void setSorted(const bool _sorted); public slots: - void readConfiguration(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private: Ui::AWListFormatter *ui = nullptr; - void translate(); + void translate() override; // properties QString m_filter = ""; QString m_separator = ""; diff --git a/sources/awesomewidgets/awnoformatter.cpp b/sources/awesomewidgets/awnoformatter.cpp index 6409675..695ffba 100644 --- a/sources/awesomewidgets/awnoformatter.cpp +++ b/sources/awesomewidgets/awnoformatter.cpp @@ -57,7 +57,7 @@ AWNoFormatter *AWNoFormatter::copy(const QString &_fileName, const int _number) { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - AWNoFormatter *item = new AWNoFormatter(static_cast(parent()), _fileName); + auto *item = new AWNoFormatter(dynamic_cast(parent()), _fileName); AWAbstractFormatter::copyDefaults(item); item->setNumber(_number); diff --git a/sources/awesomewidgets/awnoformatter.h b/sources/awesomewidgets/awnoformatter.h index 2f617d5..8e2113f 100644 --- a/sources/awesomewidgets/awnoformatter.h +++ b/sources/awesomewidgets/awnoformatter.h @@ -32,16 +32,16 @@ class AWNoFormatter : public AWAbstractFormatter public: explicit AWNoFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWNoFormatter(); - QString convert(const QVariant &_value) const; - AWNoFormatter *copy(const QString &_fileName, const int _number); + ~AWNoFormatter() override; + QString convert(const QVariant &_value) const override; + AWNoFormatter *copy(const QString &_fileName, const int _number) override; public slots: - int showConfiguration(const QVariant &_args); + int showConfiguration(const QVariant &_args) override; private: Ui::AWNoFormatter *ui = nullptr; - void translate(); + void translate() override; // properties }; diff --git a/sources/awesomewidgets/awscriptformatter.cpp b/sources/awesomewidgets/awscriptformatter.cpp index 455e932..9ba6315 100644 --- a/sources/awesomewidgets/awscriptformatter.cpp +++ b/sources/awesomewidgets/awscriptformatter.cpp @@ -72,7 +72,7 @@ AWScriptFormatter *AWScriptFormatter::copy(const QString &_fileName, const int _ { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - AWScriptFormatter *item = new AWScriptFormatter(static_cast(parent()), _fileName); + auto *item = new AWScriptFormatter(dynamic_cast(parent()), _fileName); AWAbstractFormatter::copyDefaults(item); item->setAppendCode(appendCode()); item->setCode(code()); diff --git a/sources/awesomewidgets/awscriptformatter.h b/sources/awesomewidgets/awscriptformatter.h index 06cf4ac..71e5967 100644 --- a/sources/awesomewidgets/awscriptformatter.h +++ b/sources/awesomewidgets/awscriptformatter.h @@ -36,9 +36,9 @@ class AWScriptFormatter : public AWAbstractFormatter public: explicit AWScriptFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWScriptFormatter(); - QString convert(const QVariant &_value) const; - AWScriptFormatter *copy(const QString &_fileName, const int _number); + ~AWScriptFormatter() override; + QString convert(const QVariant &_value) const override; + AWScriptFormatter *copy(const QString &_fileName, const int _number) override; // properties bool appendCode() const; QString code() const; @@ -49,14 +49,14 @@ public: void setHasReturn(const bool _hasReturn); public slots: - void readConfiguration(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private: Ui::AWScriptFormatter *ui = nullptr; void initProgram(); - void translate(); + void translate() override; // properties bool m_appendCode = true; QString m_code = ""; diff --git a/sources/awesomewidgets/awstringformatter.cpp b/sources/awesomewidgets/awstringformatter.cpp index 87a19d6..952238e 100644 --- a/sources/awesomewidgets/awstringformatter.cpp +++ b/sources/awesomewidgets/awstringformatter.cpp @@ -63,7 +63,7 @@ AWStringFormatter *AWStringFormatter::copy(const QString &_fileName, const int _ { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - AWStringFormatter *item = new AWStringFormatter(static_cast(parent()), _fileName); + auto *item = new AWStringFormatter(dynamic_cast(parent()), _fileName); AWAbstractFormatter::copyDefaults(item); item->setCount(count()); item->setFillChar(fillChar()); diff --git a/sources/awesomewidgets/awstringformatter.h b/sources/awesomewidgets/awstringformatter.h index 2070bee..7af6516 100644 --- a/sources/awesomewidgets/awstringformatter.h +++ b/sources/awesomewidgets/awstringformatter.h @@ -35,9 +35,9 @@ class AWStringFormatter : public AWAbstractFormatter public: explicit AWStringFormatter(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~AWStringFormatter(); - QString convert(const QVariant &_value) const; - AWStringFormatter *copy(const QString &_fileName, const int _number); + ~AWStringFormatter() override; + QString convert(const QVariant &_value) const override; + AWStringFormatter *copy(const QString &_fileName, const int _number) override; // properties int count() const; QChar fillChar() const; @@ -47,13 +47,13 @@ public: void setForceWidth(const bool _forceWidth); public slots: - void readConfiguration(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private: Ui::AWStringFormatter *ui = nullptr; - void translate(); + void translate() override; // properties int m_count = 0; QChar m_fillChar = QChar(); diff --git a/sources/awesomewidgets/extitemaggregator.h b/sources/awesomewidgets/extitemaggregator.h index d0b4c9b..6bd106d 100644 --- a/sources/awesomewidgets/extitemaggregator.h +++ b/sources/awesomewidgets/extitemaggregator.h @@ -44,7 +44,7 @@ public: initItems(); }; - virtual ~ExtItemAggregator() + ~ExtItemAggregator() override { qCDebug(LOG_LIB) << __PRETTY_FUNCTION__; @@ -61,7 +61,7 @@ public: qCInfo(LOG_LIB) << "Dialog returns" << ret; }; - void initItems() + void initItems() override { m_items.clear(); m_activeItems.clear(); @@ -117,13 +117,13 @@ public: return found; }; - QList items() const { return m_items; }; + QList items() const override { return m_items; }; private: QList m_items; QList m_activeItems; - void doCreateItem() { return createItem(); } + void doCreateItem() override { return createItem(); } QList getItems() { diff --git a/sources/awesomewidgets/extnetworkrequest.cpp b/sources/awesomewidgets/extnetworkrequest.cpp index 73f9e92..ac23f90 100644 --- a/sources/awesomewidgets/extnetworkrequest.cpp +++ b/sources/awesomewidgets/extnetworkrequest.cpp @@ -69,7 +69,7 @@ ExtNetworkRequest *ExtNetworkRequest::copy(const QString &_fileName, const int _ { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - ExtNetworkRequest *item = new ExtNetworkRequest(static_cast(parent()), _fileName); + auto *item = new ExtNetworkRequest(dynamic_cast(parent()), _fileName); copyDefaults(item); item->setNumber(_number); item->setStringUrl(stringUrl()); diff --git a/sources/awesomewidgets/extnetworkrequest.h b/sources/awesomewidgets/extnetworkrequest.h index 80fc3c3..b55e2a3 100644 --- a/sources/awesomewidgets/extnetworkrequest.h +++ b/sources/awesomewidgets/extnetworkrequest.h @@ -35,19 +35,19 @@ class ExtNetworkRequest : public AbstractExtItem public: explicit ExtNetworkRequest(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~ExtNetworkRequest(); - ExtNetworkRequest *copy(const QString &_fileName, const int _number); + ~ExtNetworkRequest() override; + ExtNetworkRequest *copy(const QString &_fileName, const int _number) override; // get methods QString stringUrl() const; - QString uniq() const; + QString uniq() const override; // set methods void setStringUrl(const QString &_url); public slots: - void readConfiguration(); - QVariantHash run(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + QVariantHash run() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private slots: void networkReplyReceived(QNetworkReply *_reply); @@ -59,7 +59,7 @@ private: bool m_isRunning = false; Ui::ExtNetworkRequest *ui = nullptr; void initUrl(); - void translate(); + void translate() override; // properties QString m_stringUrl = "https://httpbin.org/get"; // values diff --git a/sources/awesomewidgets/extquotes.cpp b/sources/awesomewidgets/extquotes.cpp index 1eb2ca4..2c9e0d3 100644 --- a/sources/awesomewidgets/extquotes.cpp +++ b/sources/awesomewidgets/extquotes.cpp @@ -27,7 +27,6 @@ #include "awdebug.h" #include "stooqquotesprovider.h" -#include "yahooquotesprovider.h" ExtQuotes::ExtQuotes(QWidget *_parent, const QString &_filePath) @@ -75,7 +74,7 @@ ExtQuotes *ExtQuotes::copy(const QString &_fileName, const int _number) { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - ExtQuotes *item = new ExtQuotes(static_cast(parent()), _fileName); + auto *item = new ExtQuotes(dynamic_cast(parent()), _fileName); copyDefaults(item); item->setNumber(_number); item->setTicker(ticker()); diff --git a/sources/awesomewidgets/extquotes.h b/sources/awesomewidgets/extquotes.h index 9237b31..439fac6 100644 --- a/sources/awesomewidgets/extquotes.h +++ b/sources/awesomewidgets/extquotes.h @@ -36,19 +36,19 @@ class ExtQuotes : public AbstractExtItem public: explicit ExtQuotes(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~ExtQuotes(); - ExtQuotes *copy(const QString &_fileName, const int _number); + ~ExtQuotes() override; + ExtQuotes *copy(const QString &_fileName, const int _number) override; // get methods QString ticker() const; - QString uniq() const; + QString uniq() const override; // set methods void setTicker(const QString &_ticker); public slots: - void readConfiguration(); - QVariantHash run(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + QVariantHash run() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private slots: void quotesReplyReceived(QNetworkReply *_reply); @@ -60,7 +60,7 @@ private: bool m_isRunning = false; Ui::ExtQuotes *ui = nullptr; void initProvider(); - void translate(); + void translate() override; // properties QString m_ticker = "EURUSD=X"; // values diff --git a/sources/awesomewidgets/extscript.cpp b/sources/awesomewidgets/extscript.cpp index 8f0118d..e38a4a0 100644 --- a/sources/awesomewidgets/extscript.cpp +++ b/sources/awesomewidgets/extscript.cpp @@ -67,7 +67,7 @@ ExtScript *ExtScript::copy(const QString &_fileName, const int _number) { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - ExtScript *item = new ExtScript(static_cast(parent()), _fileName); + auto *item = new ExtScript(dynamic_cast(parent()), _fileName); copyDefaults(item); item->setExecutable(executable()); item->setNumber(_number); @@ -79,7 +79,7 @@ ExtScript *ExtScript::copy(const QString &_fileName, const int _number) } -QString ExtScript::jsonFiltersFile() const +QString ExtScript::jsonFiltersFile() { QString fileName = QStandardPaths::locate(QStandardPaths::GenericDataLocation, @@ -253,7 +253,7 @@ void ExtScript::readJsonFilters() QString jsonText = jsonFile.readAll(); jsonFile.close(); - QJsonParseError error; + QJsonParseError error{}; QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonText.toUtf8(), &error); if (error.error != QJsonParseError::NoError) { qCWarning(LOG_LIB) << "Parse error" << error.errorString(); diff --git a/sources/awesomewidgets/extscript.h b/sources/awesomewidgets/extscript.h index 79126dc..0f83a10 100644 --- a/sources/awesomewidgets/extscript.h +++ b/sources/awesomewidgets/extscript.h @@ -40,15 +40,15 @@ public: enum class Redirect { stdout2stderr = 0, nothing = 1, stderr2stdout = 2, swap = 3 }; explicit ExtScript(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~ExtScript(); - ExtScript *copy(const QString &_fileName, const int _number); - QString jsonFiltersFile() const; + ~ExtScript() override; + ExtScript *copy(const QString &_fileName, const int _number) override; + static QString jsonFiltersFile(); // get methods QString executable() const; QStringList filters() const; QString prefix() const; Redirect redirect() const; - QString uniq() const; + QString uniq() const override; // derivatives QString strRedirect() const; // set methods @@ -62,11 +62,11 @@ public: void updateFilter(const QString &_filter, const bool _add); public slots: - void readConfiguration(); + void readConfiguration() override; void readJsonFilters(); - QVariantHash run(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + QVariantHash run() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private slots: void startProcess(); @@ -75,7 +75,7 @@ private slots: private: QProcess *m_process = nullptr; Ui::ExtScript *ui = nullptr; - void translate(); + void translate() override; // properties QString m_executable = "/usr/bin/true"; QStringList m_filters = QStringList(); diff --git a/sources/awesomewidgets/extupgrade.cpp b/sources/awesomewidgets/extupgrade.cpp index 303bc45..3461f8c 100644 --- a/sources/awesomewidgets/extupgrade.cpp +++ b/sources/awesomewidgets/extupgrade.cpp @@ -63,7 +63,7 @@ ExtUpgrade *ExtUpgrade::copy(const QString &_fileName, const int _number) { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - ExtUpgrade *item = new ExtUpgrade(static_cast(parent()), _fileName); + auto *item = new ExtUpgrade(dynamic_cast(parent()), _fileName); copyDefaults(item); item->setExecutable(executable()); item->setFilter(filter()); @@ -218,7 +218,7 @@ void ExtUpgrade::updateValue() QString qoutput = QTextCodec::codecForMib(106)->toUnicode(m_process->readAllStandardOutput()).trimmed(); - m_values[tag("pkgcount")] = [this](QString output) { + m_values[tag("pkgcount")] = [this](const QString &output) { return filter().isEmpty() ? output.split('\n', QString::SkipEmptyParts).count() - null() : output.split('\n', QString::SkipEmptyParts).filter(QRegExp(filter())).count(); diff --git a/sources/awesomewidgets/extupgrade.h b/sources/awesomewidgets/extupgrade.h index f079144..aedc0dc 100644 --- a/sources/awesomewidgets/extupgrade.h +++ b/sources/awesomewidgets/extupgrade.h @@ -37,23 +37,23 @@ class ExtUpgrade : public AbstractExtItem public: explicit ExtUpgrade(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~ExtUpgrade(); - ExtUpgrade *copy(const QString &_fileName, const int _number); + ~ExtUpgrade() override; + ExtUpgrade *copy(const QString &_fileName, const int _number) override; // get methods QString executable() const; QString filter() const; int null() const; - QString uniq() const; + QString uniq() const override; // set methods void setExecutable(const QString &_executable); void setFilter(const QString &_filter); void setNull(const int _null); public slots: - void readConfiguration(); - QVariantHash run(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + QVariantHash run() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private slots: void startProcess(); @@ -62,7 +62,7 @@ private slots: private: QProcess *m_process = nullptr; Ui::ExtUpgrade *ui = nullptr; - void translate(); + void translate() override; // properties QString m_executable = "/usr/bin/true"; QString m_filter = ""; diff --git a/sources/awesomewidgets/extweather.cpp b/sources/awesomewidgets/extweather.cpp index cca7b87..4853fa6 100644 --- a/sources/awesomewidgets/extweather.cpp +++ b/sources/awesomewidgets/extweather.cpp @@ -77,7 +77,7 @@ ExtWeather *ExtWeather::copy(const QString &_fileName, const int _number) { qCDebug(LOG_LIB) << "File" << _fileName << "number" << _number; - ExtWeather *item = new ExtWeather(static_cast(parent()), _fileName); + auto *item = new ExtWeather(dynamic_cast(parent()), _fileName); copyDefaults(item); item->setCity(city()); item->setCountry(country()); @@ -90,7 +90,7 @@ ExtWeather *ExtWeather::copy(const QString &_fileName, const int _number) } -QString ExtWeather::jsonMapFile() const +QString ExtWeather::jsonMapFile() { QString fileName = QStandardPaths::locate(QStandardPaths::GenericDataLocation, @@ -248,7 +248,7 @@ void ExtWeather::readJsonMap() QString jsonText = jsonFile.readAll(); jsonFile.close(); - QJsonParseError error; + QJsonParseError error{}; QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonText.toUtf8(), &error); if (error.error != QJsonParseError::NoError) { qCWarning(LOG_LIB) << "Parse error" << error.errorString(); @@ -345,7 +345,7 @@ void ExtWeather::weatherReplyReceived(QNetworkReply *_reply) } m_isRunning = false; - QJsonParseError error; + QJsonParseError error{}; QJsonDocument jsonDoc = QJsonDocument::fromJson(_reply->readAll(), &error); _reply->deleteLater(); if (error.error != QJsonParseError::NoError) { diff --git a/sources/awesomewidgets/extweather.h b/sources/awesomewidgets/extweather.h index 8894dc3..b9ab53c 100644 --- a/sources/awesomewidgets/extweather.h +++ b/sources/awesomewidgets/extweather.h @@ -43,9 +43,9 @@ public: enum class Provider { OWM = 0, Yahoo = 1 }; explicit ExtWeather(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~ExtWeather(); - ExtWeather *copy(const QString &_fileName, const int _number); - QString jsonMapFile() const; + ~ExtWeather() override; + ExtWeather *copy(const QString &_fileName, const int _number) override; + static QString jsonMapFile(); QString weatherFromInt(const int _id) const; // get methods QString city() const; @@ -54,7 +54,7 @@ public: Provider provider() const; QString strProvider() const; int ts() const; - QString uniq() const; + QString uniq() const override; // set methods void setCity(const QString &_city); void setCountry(const QString &_country); @@ -64,11 +64,11 @@ public: void setTs(const int _ts); public slots: - void readConfiguration(); + void readConfiguration() override; void readJsonMap(); - QVariantHash run(); - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + QVariantHash run() override; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private slots: void sendRequest(); @@ -80,7 +80,7 @@ private: bool m_isRunning = false; Ui::ExtWeather *ui = nullptr; void initProvider(); - void translate(); + void translate() override; // properties QString m_city = "London"; QString m_country = "uk"; diff --git a/sources/awesomewidgets/graphicalitem.cpp b/sources/awesomewidgets/graphicalitem.cpp index 28ca2e1..4b9bd6f 100644 --- a/sources/awesomewidgets/graphicalitem.cpp +++ b/sources/awesomewidgets/graphicalitem.cpp @@ -75,7 +75,7 @@ GraphicalItem *GraphicalItem::copy(const QString &_fileName, const int _number) { qCDebug(LOG_LIB) << "File" << _fileName << "with number" << _number; - GraphicalItem *item = new GraphicalItem(static_cast(parent()), _fileName); + auto *item = new GraphicalItem(dynamic_cast(parent()), _fileName); copyDefaults(item); item->setActiveColor(activeColor()); item->setBar(bar()); @@ -486,8 +486,8 @@ int GraphicalItem::showConfiguration(const QVariant &_args) setCount(ui->spinBox_count->value()); setCustom(ui->checkBox_custom->isChecked()); setBar(m_custom ? ui->lineEdit_customValue->text() : ui->comboBox_value->currentText()); - setMaxValue(ui->doubleSpinBox_max->value()); - setMinValue(ui->doubleSpinBox_min->value()); + setMaxValue(static_cast(ui->doubleSpinBox_max->value())); + setMinValue(static_cast(ui->doubleSpinBox_min->value())); setActiveColor(ui->lineEdit_activeColor->text()); setInactiveColor(ui->lineEdit_inactiveColor->text()); setType(static_cast(ui->comboBox_type->currentIndex())); diff --git a/sources/awesomewidgets/graphicalitem.h b/sources/awesomewidgets/graphicalitem.h index cc00212..544a193 100644 --- a/sources/awesomewidgets/graphicalitem.h +++ b/sources/awesomewidgets/graphicalitem.h @@ -53,8 +53,8 @@ public: enum class Type { Horizontal = 0, Vertical = 1, Circle = 2, Graph = 3, Bars = 4 }; explicit GraphicalItem(QWidget *_parent = nullptr, const QString &_filePath = ""); - virtual ~GraphicalItem(); - GraphicalItem *copy(const QString &_fileName, const int _number); + ~GraphicalItem() override; + GraphicalItem *copy(const QString &_fileName, const int _number) override; QString image(const QVariant &value); void initScene(); // get methods @@ -72,7 +72,7 @@ public: Direction direction() const; QString strDirection() const; QStringList usedKeys() const; - QString uniq() const; + QString uniq() const override; // set methods void setBar(const QString &_bar); void setActiveColor(const QString &_color); @@ -90,10 +90,10 @@ public: void setUsedKeys(const QStringList &_usedKeys); public slots: - void readConfiguration(); - QVariantHash run() { return QVariantHash(); }; - int showConfiguration(const QVariant &_args); - void writeConfiguration() const; + void readConfiguration() override; + QVariantHash run() override { return QVariantHash(); }; + int showConfiguration(const QVariant &_args) override; + void writeConfiguration() const override; private slots: void changeColor(); @@ -105,7 +105,7 @@ private: QGraphicsScene *m_scene = nullptr; QGraphicsView *m_view = nullptr; Ui::GraphicalItem *ui = nullptr; - void translate(); + void translate() override; // properties QString m_bar = "cpu"; int m_count = 100; diff --git a/sources/awesomewidgets/graphicalitemhelper.cpp b/sources/awesomewidgets/graphicalitemhelper.cpp index fc8cca1..5a039d0 100644 --- a/sources/awesomewidgets/graphicalitemhelper.cpp +++ b/sources/awesomewidgets/graphicalitemhelper.cpp @@ -89,7 +89,7 @@ void GraphicalItemHelper::paintBars(const float _value) // default norms float normX = static_cast(m_width) / static_cast(m_values.count()); - float normY = static_cast(m_height - 1); + auto normY = static_cast(m_height - 1); // paint graph for (int i = 0; i < m_values.count(); i++) { float x = i * normX; @@ -113,11 +113,11 @@ void GraphicalItemHelper::paintCircle(const float _percent) // inactive circle = m_scene->addEllipse(0.0, 0.0, m_width, m_height, m_inactivePen, m_inactivePen.brush()); - circle->setSpanAngle(-(1.0f - _percent) * 360.0f * 16.0f); - circle->setStartAngle(90.0f * 16.0f - _percent * 360.0f * 16.0f); + circle->setSpanAngle(static_cast(-(1.0f - _percent) * 360.0f * 16.0f)); + circle->setStartAngle(static_cast(90.0f * 16.0f - _percent * 360.0f * 16.0f)); // active circle = m_scene->addEllipse(0.0, 0.0, m_width, m_height, m_activePen, m_activePen.brush()); - circle->setSpanAngle(-_percent * 360.0f * 16.0f); + circle->setSpanAngle(static_cast(-_percent * 360.0f * 16.0f)); circle->setStartAngle(90 * 16); } @@ -133,7 +133,7 @@ void GraphicalItemHelper::paintGraph(const float _value) // default norms float normX = static_cast(m_width) / static_cast(m_values.count()); - float normY = static_cast(m_height - 1); + auto normY = static_cast(m_height - 1); // paint graph for (int i = 0; i < m_values.count() - 1; i++) { // some magic here diff --git a/sources/awesomewidgets/graphicalitemhelper.h b/sources/awesomewidgets/graphicalitemhelper.h index f79dff5..8cbb1b4 100644 --- a/sources/awesomewidgets/graphicalitemhelper.h +++ b/sources/awesomewidgets/graphicalitemhelper.h @@ -31,7 +31,7 @@ class GraphicalItemHelper : public QObject public: explicit GraphicalItemHelper(QObject *_parent = nullptr, QGraphicsScene *_scene = nullptr); - virtual ~GraphicalItemHelper(); + ~GraphicalItemHelper() override; // parameters void setParameters(const QString &_active, const QString &_inactive, const int _width, const int _height, const int _count); @@ -42,9 +42,9 @@ public: void paintHorizontal(const float _percent); void paintVertical(const float _percent); // additional conversion methods - float getPercents(const float _value, const float _min, const float _max); - bool isColor(const QString &_input); - QColor stringToColor(const QString &_color); + static float getPercents(const float _value, const float _min, const float _max); + static bool isColor(const QString &_input); + static QColor stringToColor(const QString &_color); private: void storeValue(const float _value); diff --git a/sources/awesomewidgets/owmweatherprovider.h b/sources/awesomewidgets/owmweatherprovider.h index 7c23f8c..3222e5c 100644 --- a/sources/awesomewidgets/owmweatherprovider.h +++ b/sources/awesomewidgets/owmweatherprovider.h @@ -32,10 +32,10 @@ public: const char *OWM_FORECAST_URL = "https://arcanis.me/forecast"; explicit OWMWeatherProvider(QObject *_parent); - virtual ~OWMWeatherProvider(); - void initUrl(const QString &_city, const QString &_country, const int); - QVariantHash parse(const QVariantMap &_json) const; - QUrl url() const; + ~OWMWeatherProvider() override; + void initUrl(const QString &_city, const QString &_country, const int) override; + QVariantHash parse(const QVariantMap &_json) const override; + QUrl url() const override; private: QVariantHash parseSingleJson(const QVariantMap &_json) const; diff --git a/sources/awesomewidgets/qcronscheduler.cpp b/sources/awesomewidgets/qcronscheduler.cpp index 894a638..c72abc9 100644 --- a/sources/awesomewidgets/qcronscheduler.cpp +++ b/sources/awesomewidgets/qcronscheduler.cpp @@ -76,7 +76,7 @@ void QCronScheduler::expired() } -QList QCronScheduler::parseField(const QString &_value, const int _min, const int _max) const +QList QCronScheduler::parseField(const QString &_value, const int _min, const int _max) { qCDebug(LOG_LIB) << "Parse field" << _value << "with corner values" << _min << _max; diff --git a/sources/awesomewidgets/qcronscheduler.h b/sources/awesomewidgets/qcronscheduler.h index cfcbdec..b42c495 100644 --- a/sources/awesomewidgets/qcronscheduler.h +++ b/sources/awesomewidgets/qcronscheduler.h @@ -44,7 +44,7 @@ public: } QCronField; explicit QCronScheduler(QObject *_parent = nullptr); - virtual ~QCronScheduler(); + ~QCronScheduler() override; void parse(const QString &_timer); signals: @@ -56,7 +56,7 @@ private slots: private: QCronRunSchedule m_schedule; QTimer *m_timer = nullptr; - QList parseField(const QString &_value, const int _min, const int _max) const; + static QList parseField(const QString &_value, const int _min, const int _max); }; diff --git a/sources/awesomewidgets/stooqquotesprovider.h b/sources/awesomewidgets/stooqquotesprovider.h index f38b068..ae232d7 100644 --- a/sources/awesomewidgets/stooqquotesprovider.h +++ b/sources/awesomewidgets/stooqquotesprovider.h @@ -29,10 +29,10 @@ public: const char *STOOQ_QUOTES_URL = "https://stooq.com/q/l/"; explicit StooqQuotesProvider(QObject *_parent); - virtual ~StooqQuotesProvider(); - void initUrl(const QString &_asset); - QVariantHash parse(const QByteArray &_source, const QVariantHash &_oldValues) const; - QUrl url() const; + ~StooqQuotesProvider() override; + void initUrl(const QString &_asset) override; + QVariantHash parse(const QByteArray &_source, const QVariantHash &_oldValues) const override; + QUrl url() const override; private: QUrl m_url; diff --git a/sources/awesomewidgets/yahooquotesprovider.cpp b/sources/awesomewidgets/yahooquotesprovider.cpp index fb8d29e..d7ddac6 100644 --- a/sources/awesomewidgets/yahooquotesprovider.cpp +++ b/sources/awesomewidgets/yahooquotesprovider.cpp @@ -56,7 +56,7 @@ QVariantHash YahooQuotesProvider::parse(const QByteArray &_source, QVariantHash values; - QJsonParseError error; + QJsonParseError error{}; QJsonDocument jsonDoc = QJsonDocument::fromJson(_source, &error); if (error.error != QJsonParseError::NoError) { qCWarning(LOG_LIB) << "Parse error" << error.errorString(); diff --git a/sources/awesomewidgets/yahooquotesprovider.h b/sources/awesomewidgets/yahooquotesprovider.h index 00369b7..c63a007 100644 --- a/sources/awesomewidgets/yahooquotesprovider.h +++ b/sources/awesomewidgets/yahooquotesprovider.h @@ -30,10 +30,10 @@ public: const char *YAHOO_QUOTES_QUERY = "select * from yahoo.finance.quotes where symbol='%1'"; explicit YahooQuotesProvider(QObject *_parent); - virtual ~YahooQuotesProvider(); - void initUrl(const QString &_asset); - QVariantHash parse(const QByteArray &_source, const QVariantHash &_oldValues) const; - QUrl url() const; + ~YahooQuotesProvider() override; + void initUrl(const QString &_asset) override; + QVariantHash parse(const QByteArray &_source, const QVariantHash &_oldValues) const override; + QUrl url() const override; private: QUrl m_url; diff --git a/sources/awesomewidgets/yahooweatherprovider.h b/sources/awesomewidgets/yahooweatherprovider.h index 8d99ef6..20e0eee 100644 --- a/sources/awesomewidgets/yahooweatherprovider.h +++ b/sources/awesomewidgets/yahooweatherprovider.h @@ -32,10 +32,10 @@ public: "geo.places(1) where text='%1, %2')"; explicit YahooWeatherProvider(QObject *_parent); - virtual ~YahooWeatherProvider(); - void initUrl(const QString &_city, const QString &_country, const int); - QVariantHash parse(const QVariantMap &_json) const; - QUrl url() const; + ~YahooWeatherProvider() override; + void initUrl(const QString &_city, const QString &_country, const int) override; + QVariantHash parse(const QVariantMap &_json) const override; + QUrl url() const override; private: QVariantHash parseCurrent(const QVariantMap &_json, const QVariantMap &_atmosphere) const; diff --git a/sources/desktop-panel/metadata.desktop b/sources/desktop-panel/metadata.desktop index f18af63..a2df8bf 100644 --- a/sources/desktop-panel/metadata.desktop +++ b/sources/desktop-panel/metadata.desktop @@ -15,7 +15,6 @@ Icon=utilities-system-monitor X-KDE-ServiceTypes=Plasma/Applet X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml -X-Plasma-RemoteLocation= X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis X-KDE-PluginInfo-Email=esalexeev@gmail.com diff --git a/sources/desktop-panel/package/metadata.desktop b/sources/desktop-panel/package/metadata.desktop index 8620000..db9fc5c 100644 --- a/sources/desktop-panel/package/metadata.desktop +++ b/sources/desktop-panel/package/metadata.desktop @@ -15,7 +15,6 @@ Icon=utilities-system-monitor X-KDE-ServiceTypes=Plasma/Applet X-Plasma-API=declarativeappletscript X-Plasma-MainScript=ui/main.qml -X-Plasma-RemoteLocation= X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis X-KDE-PluginInfo-Email=esalexeev@gmail.com diff --git a/sources/desktop-panel/plugin/desktoppanel.h b/sources/desktop-panel/plugin/desktoppanel.h index cd7d0cb..49d50db 100644 --- a/sources/desktop-panel/plugin/desktoppanel.h +++ b/sources/desktop-panel/plugin/desktoppanel.h @@ -28,7 +28,7 @@ class DPPlugin : public QQmlExtensionPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") public: - void registerTypes(const char *uri); + void registerTypes(const char *uri) override; }; diff --git a/sources/desktop-panel/plugin/dpadds.cpp b/sources/desktop-panel/plugin/dpadds.cpp index 15842f4..1b53277 100644 --- a/sources/desktop-panel/plugin/dpadds.cpp +++ b/sources/desktop-panel/plugin/dpadds.cpp @@ -56,19 +56,19 @@ DPAdds::~DPAdds() // HACK: since QML could not use QLoggingCategory I need this hack -bool DPAdds::isDebugEnabled() const +bool DPAdds::isDebugEnabled() { return LOG_DP().isDebugEnabled(); } -int DPAdds::currentDesktop() const +int DPAdds::currentDesktop() { return KWindowSystem::currentDesktop(); } -QStringList DPAdds::dictKeys(const bool _sorted, const QString &_regexp) const +QStringList DPAdds::dictKeys(const bool _sorted, const QString &_regexp) { qCDebug(LOG_DP) << "Should be sorted" << _sorted << "and filter applied" << _regexp; @@ -85,7 +85,7 @@ QStringList DPAdds::dictKeys(const bool _sorted, const QString &_regexp) const } -int DPAdds::numberOfDesktops() const +int DPAdds::numberOfDesktops() { return KWindowSystem::numberOfDesktops(); } @@ -104,13 +104,13 @@ QString DPAdds::toolTipImage(const int _desktop) const if (m_tooltipType == "names") { QStringList windowList; std::for_each(info.windowsData.cbegin(), info.windowsData.cend(), - [&windowList](WindowData data) { windowList.append(data.name); }); + [&windowList](const WindowData &data) { windowList.append(data.name); }); return QString("
  • %1
").arg(windowList.join("
  • ")); } // init - QGraphicsScene *toolTipScene = new QGraphicsScene(); - QGraphicsView *toolTipView = new QGraphicsView(toolTipScene); + auto *toolTipScene = new QGraphicsScene(); + auto *toolTipView = new QGraphicsView(toolTipScene); toolTipView->setStyleSheet("background: transparent"); toolTipView->setContentsMargins(0, 0, 0, 0); toolTipView->setFrameShape(QFrame::NoFrame); @@ -119,8 +119,8 @@ QString DPAdds::toolTipImage(const int _desktop) const // update float margin = 5.0f * info.desktop.width() / 400.0f; - toolTipView->resize(info.desktop.width() + 2.0f * margin, - info.desktop.height() + 2.0f * margin); + toolTipView->resize(static_cast(info.desktop.width() + 2.0f * margin), + static_cast(info.desktop.height() + 2.0f * margin)); toolTipScene->clear(); toolTipScene->setBackgroundBrush(QBrush(Qt::NoBrush)); // borders @@ -215,7 +215,7 @@ void DPAdds::setToolTipData(const QVariantMap &_tooltipData) } -QString DPAdds::infoByKey(const QString &_key) const +QString DPAdds::infoByKey(const QString &_key) { qCDebug(LOG_AW) << "Requested info for key" << _key; @@ -246,7 +246,7 @@ QString DPAdds::valueByKey(const QString &_key, int _desktop) const // HACK: this method uses variables from version.h -QString DPAdds::getAboutText(const QString &_type) const +QString DPAdds::getAboutText(const QString &_type) { qCDebug(LOG_DP) << "Type" << _type; @@ -254,7 +254,7 @@ QString DPAdds::getAboutText(const QString &_type) const } -QVariantMap DPAdds::getFont(const QVariantMap &_defaultFont) const +QVariantMap DPAdds::getFont(const QVariantMap &_defaultFont) { qCDebug(LOG_DP) << "Default font is" << _defaultFont; @@ -285,7 +285,7 @@ void DPAdds::sendNotification(const QString &_eventId, const QString &_message) // slot for mouse click -void DPAdds::setCurrentDesktop(const int _desktop) const +void DPAdds::setCurrentDesktop(const int _desktop) { qCDebug(LOG_DP) << "Desktop" << _desktop; @@ -293,7 +293,7 @@ void DPAdds::setCurrentDesktop(const int _desktop) const } -DPAdds::DesktopWindowsInfo DPAdds::getInfoByDesktop(const int _desktop) const +DPAdds::DesktopWindowsInfo DPAdds::getInfoByDesktop(const int _desktop) { qCDebug(LOG_DP) << "Desktop" << _desktop; diff --git a/sources/desktop-panel/plugin/dpadds.h b/sources/desktop-panel/plugin/dpadds.h index b8f8c2f..8604716 100644 --- a/sources/desktop-panel/plugin/dpadds.h +++ b/sources/desktop-panel/plugin/dpadds.h @@ -42,21 +42,21 @@ class DPAdds : public QObject public: explicit DPAdds(QObject *_parent = nullptr); - virtual ~DPAdds(); - Q_INVOKABLE bool isDebugEnabled() const; - Q_INVOKABLE int currentDesktop() const; - Q_INVOKABLE QStringList dictKeys(const bool _sorted = true, const QString &_regexp = "") const; - Q_INVOKABLE int numberOfDesktops() const; + ~DPAdds() override; + Q_INVOKABLE static bool isDebugEnabled(); + Q_INVOKABLE static int currentDesktop(); + Q_INVOKABLE static QStringList dictKeys(const bool _sorted = true, const QString &_regexp = ""); + Q_INVOKABLE static int numberOfDesktops(); Q_INVOKABLE QString toolTipImage(const int _desktop) const; Q_INVOKABLE QString parsePattern(const QString &_pattern, const int _desktop) const; // values Q_INVOKABLE void setMark(const QString &_newMark); Q_INVOKABLE void setToolTipData(const QVariantMap &_tooltipData); - Q_INVOKABLE QString infoByKey(const QString &_key) const; + Q_INVOKABLE static QString infoByKey(const QString &_key); Q_INVOKABLE QString valueByKey(const QString &_key, int _desktop = -1) const; // configuration slots - Q_INVOKABLE QString getAboutText(const QString &_type) const; - Q_INVOKABLE QVariantMap getFont(const QVariantMap &_defaultFont) const; + Q_INVOKABLE static QString getAboutText(const QString &_type); + Q_INVOKABLE static QVariantMap getFont(const QVariantMap &_defaultFont); signals: void desktopChanged() const; @@ -64,10 +64,10 @@ signals: public slots: Q_INVOKABLE static void sendNotification(const QString &_eventId, const QString &_message); - Q_INVOKABLE void setCurrentDesktop(const int _desktop) const; + Q_INVOKABLE static void setCurrentDesktop(const int _desktop); private: - DesktopWindowsInfo getInfoByDesktop(const int _desktop) const; + static DesktopWindowsInfo getInfoByDesktop(const int _desktop); // variables int m_tooltipWidth = 200; QString m_mark = "*"; diff --git a/sources/extsysmon/extsysmon.h b/sources/extsysmon/extsysmon.h index a211579..c1aded3 100644 --- a/sources/extsysmon/extsysmon.h +++ b/sources/extsysmon/extsysmon.h @@ -29,12 +29,12 @@ class ExtendedSysMon : public Plasma::DataEngine public: explicit ExtendedSysMon(QObject *_parent, const QVariantList &_args); - virtual ~ExtendedSysMon(); + ~ExtendedSysMon() override; protected: - QStringList sources() const; - bool sourceRequestEvent(const QString &_source); - bool updateSourceEvent(const QString &_source); + QStringList sources() const override; + bool sourceRequestEvent(const QString &_source) override; + bool updateSourceEvent(const QString &_source) override; private: // configuration diff --git a/sources/extsysmon/extsysmonaggregator.cpp b/sources/extsysmon/extsysmonaggregator.cpp index 2ab3e6e..36f8dff 100644 --- a/sources/extsysmon/extsysmonaggregator.cpp +++ b/sources/extsysmon/extsysmonaggregator.cpp @@ -30,6 +30,7 @@ #include "processessource.h" #include "quotessource.h" #include "requestsource.h" +#include "systeminfosource.h" #include "upgradesource.h" #include "weathersource.h" @@ -135,6 +136,10 @@ void ExtSysMonAggregator::init(const QHash &_config) AbstractExtSysMonSource *quotesItem = new QuotesSource(this, QStringList()); for (auto &source : quotesItem->sources()) m_map[source] = quotesItem; + // system + AbstractExtSysMonSource *systemItem = new SystemInfoSource(this, QStringList()); + for (auto &source : systemItem->sources()) + m_map[source] = systemItem; // upgrade AbstractExtSysMonSource *upgradeItem = new UpgradeSource(this, QStringList()); for (auto &source : upgradeItem->sources()) diff --git a/sources/extsysmon/extsysmonaggregator.h b/sources/extsysmon/extsysmonaggregator.h index f752f53..6543fe5 100644 --- a/sources/extsysmon/extsysmonaggregator.h +++ b/sources/extsysmon/extsysmonaggregator.h @@ -29,7 +29,7 @@ class ExtSysMonAggregator : public QObject public: explicit ExtSysMonAggregator(QObject *_parent, const QHash &_config); - virtual ~ExtSysMonAggregator(); + ~ExtSysMonAggregator() override; QVariant data(const QString &_source) const; bool hasSource(const QString &_source) const; QVariantMap initialData(const QString &_source) const; diff --git a/sources/extsysmonsources/abstractextsysmonsource.h b/sources/extsysmonsources/abstractextsysmonsource.h index f2d97cc..5b5dcc8 100644 --- a/sources/extsysmonsources/abstractextsysmonsource.h +++ b/sources/extsysmonsources/abstractextsysmonsource.h @@ -30,13 +30,13 @@ class AbstractExtSysMonSource : public QObject public: explicit AbstractExtSysMonSource(QObject *_parent, const QStringList &) : QObject(_parent){}; - virtual ~AbstractExtSysMonSource(){}; + ~AbstractExtSysMonSource() override = default; virtual QVariant data(const QString &_source) = 0; virtual QVariantMap initialData(const QString &_source) const = 0; virtual void run() = 0; virtual QStringList sources() const = 0; // used by extensions - int index(const QString &_source) const + static int index(const QString &_source) { QRegExp rx("\\d+"); rx.indexIn(_source); diff --git a/sources/extsysmonsources/batterysource.h b/sources/extsysmonsources/batterysource.h index 11763f3..5de7efd 100644 --- a/sources/extsysmonsources/batterysource.h +++ b/sources/extsysmonsources/batterysource.h @@ -32,15 +32,15 @@ public: const int TREND_LIMIT = 20; explicit BatterySource(QObject *_parent, const QStringList &_args); - virtual ~BatterySource(); + ~BatterySource() override; QStringList getSources(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(); - QStringList sources() const; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override; + QStringList sources() const override; private: - double approximate(const QList &_trend); + static double approximate(const QList &_trend); void calculateRates(); // configuration and values int m_batteriesCount = 0; diff --git a/sources/extsysmonsources/customsource.h b/sources/extsysmonsources/customsource.h index fb36c82..290bcd6 100644 --- a/sources/extsysmonsources/customsource.h +++ b/sources/extsysmonsources/customsource.h @@ -32,11 +32,11 @@ class CustomSource : public AbstractExtSysMonSource public: explicit CustomSource(QObject *_parent, const QStringList &_args); - virtual ~CustomSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~CustomSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; private: QStringList getSources(); diff --git a/sources/extsysmonsources/desktopsource.h b/sources/extsysmonsources/desktopsource.h index 2fab1e9..8a2b235 100644 --- a/sources/extsysmonsources/desktopsource.h +++ b/sources/extsysmonsources/desktopsource.h @@ -29,11 +29,11 @@ class DesktopSource : public AbstractExtSysMonSource public: explicit DesktopSource(QObject *_parent, const QStringList &_args); - virtual ~DesktopSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~DesktopSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; }; diff --git a/sources/extsysmonsources/gpuloadsource.cpp b/sources/extsysmonsources/gpuloadsource.cpp index f35d73c..ef59396 100644 --- a/sources/extsysmonsources/gpuloadsource.cpp +++ b/sources/extsysmonsources/gpuloadsource.cpp @@ -35,9 +35,8 @@ GPULoadSource::GPULoadSource(QObject *_parent, const QStringList &_args) m_process = new QProcess(nullptr); // fucking magic from http://doc.qt.io/qt-5/qprocess.html#finished - connect(m_process, - static_cast(&QProcess::finished), - [this](int, QProcess::ExitStatus) { return updateValue(); }); + connect(m_process, QOverload::of(&QProcess::finished), + [=](int, QProcess::ExitStatus) { return updateValue(); }); m_process->waitForFinished(0); } diff --git a/sources/extsysmonsources/gpuloadsource.h b/sources/extsysmonsources/gpuloadsource.h index 9cced01..8662cca 100644 --- a/sources/extsysmonsources/gpuloadsource.h +++ b/sources/extsysmonsources/gpuloadsource.h @@ -31,12 +31,12 @@ class GPULoadSource : public AbstractExtSysMonSource public: explicit GPULoadSource(QObject *_parent, const QStringList &_args); - virtual ~GPULoadSource(); + ~GPULoadSource() override; static QString autoGpu(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(); - QStringList sources() const; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override; + QStringList sources() const override; private slots: void updateValue(); diff --git a/sources/extsysmonsources/gputempsource.cpp b/sources/extsysmonsources/gputempsource.cpp index 6a3b796..efd7dcb 100644 --- a/sources/extsysmonsources/gputempsource.cpp +++ b/sources/extsysmonsources/gputempsource.cpp @@ -35,9 +35,8 @@ GPUTemperatureSource::GPUTemperatureSource(QObject *_parent, const QStringList & m_process = new QProcess(nullptr); // fucking magic from http://doc.qt.io/qt-5/qprocess.html#finished - connect(m_process, - static_cast(&QProcess::finished), - [this](int, QProcess::ExitStatus) { return updateValue(); }); + connect(m_process, QOverload::of(&QProcess::finished), + [=](int, QProcess::ExitStatus) { return updateValue(); }); m_process->waitForFinished(0); } diff --git a/sources/extsysmonsources/gputempsource.h b/sources/extsysmonsources/gputempsource.h index e570e32..cfd7edb 100644 --- a/sources/extsysmonsources/gputempsource.h +++ b/sources/extsysmonsources/gputempsource.h @@ -31,11 +31,11 @@ class GPUTemperatureSource : public AbstractExtSysMonSource public: explicit GPUTemperatureSource(QObject *_parent, const QStringList &_args); - virtual ~GPUTemperatureSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(); - QStringList sources() const; + ~GPUTemperatureSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override; + QStringList sources() const override; private slots: void updateValue(); diff --git a/sources/extsysmonsources/hddtempsource.cpp b/sources/extsysmonsources/hddtempsource.cpp index 361c7be..4d45a97 100644 --- a/sources/extsysmonsources/hddtempsource.cpp +++ b/sources/extsysmonsources/hddtempsource.cpp @@ -40,9 +40,8 @@ HDDTemperatureSource::HDDTemperatureSource(QObject *_parent, const QStringList & for (auto &device : m_devices) { m_processes[device] = new QProcess(nullptr); // fucking magic from http://doc.qt.io/qt-5/qprocess.html#finished - connect(m_processes[device], - static_cast(&QProcess::finished), - [this, device](int, QProcess::ExitStatus) { return updateValue(device); }); + connect(m_processes[device], QOverload::of(&QProcess::finished), + [=](int, QProcess::ExitStatus) { return updateValue(device); }); m_processes[device]->waitForFinished(0); } } diff --git a/sources/extsysmonsources/hddtempsource.h b/sources/extsysmonsources/hddtempsource.h index 6116c12..de33c7a 100644 --- a/sources/extsysmonsources/hddtempsource.h +++ b/sources/extsysmonsources/hddtempsource.h @@ -31,12 +31,12 @@ class HDDTemperatureSource : public AbstractExtSysMonSource public: explicit HDDTemperatureSource(QObject *_parent, const QStringList &_args); - virtual ~HDDTemperatureSource(); + ~HDDTemperatureSource() override; static QStringList allHdd(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; private slots: void updateValue(const QString &_device); diff --git a/sources/extsysmonsources/loadsource.h b/sources/extsysmonsources/loadsource.h index a0990a9..e3f68f4 100644 --- a/sources/extsysmonsources/loadsource.h +++ b/sources/extsysmonsources/loadsource.h @@ -29,11 +29,11 @@ class LoadSource : public AbstractExtSysMonSource public: explicit LoadSource(QObject *_parent, const QStringList &_args); - virtual ~LoadSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~LoadSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; }; diff --git a/sources/extsysmonsources/networksource.cpp b/sources/extsysmonsources/networksource.cpp index ebe41ca..f201579 100644 --- a/sources/extsysmonsources/networksource.cpp +++ b/sources/extsysmonsources/networksource.cpp @@ -19,6 +19,8 @@ #include "networksource.h" #include +#include +#include #include "awdebug.h" @@ -28,6 +30,12 @@ NetworkSource::NetworkSource(QObject *_parent, const QStringList &_args) { Q_ASSERT(_args.count() == 0); qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; + + m_process = new QProcess(nullptr); + // fucking magic from http://doc.qt.io/qt-5/qprocess.html#finished + connect(m_process, QOverload::of(&QProcess::finished), + [=](int, QProcess::ExitStatus) { return updateSsid(); }); + m_process->waitForFinished(0); } @@ -41,23 +49,9 @@ QVariant NetworkSource::data(const QString &_source) { qCDebug(LOG_ESS) << "Source" << _source; - if (_source == "network/current/name") { - QString device = "lo"; - QList rawInterfaceList = QNetworkInterface::allInterfaces(); - qCInfo(LOG_ESS) << "Devices" << rawInterfaceList; - for (auto &interface : rawInterfaceList) { - if ((interface.flags().testFlag(QNetworkInterface::IsLoopBack)) - || (interface.flags().testFlag(QNetworkInterface::IsPointToPoint))) - continue; - if (interface.addressEntries().isEmpty()) - continue; - device = interface.name(); - break; - } - return device; - } - - return QVariant(); + if (!m_values.contains(_source)) + run(); + return m_values.take(_source); } @@ -72,16 +66,66 @@ QVariantMap NetworkSource::initialData(const QString &_source) const data["name"] = "Current network device name"; data["type"] = "QString"; data["units"] = ""; + } else if (_source == "network/current/ssid") { + data["min"] = ""; + data["max"] = ""; + data["name"] = "Current SSID name"; + data["type"] = "QString"; + data["units"] = ""; } return data; } +void NetworkSource::run() +{ + m_values["network/current/name"] = NetworkSource::getCurrentDevice(); + m_process->start("iwgetid -r"); +} + + QStringList NetworkSource::sources() const { QStringList sources; sources.append("network/current/name"); + sources.append("network/current/ssid"); return sources; } + + +void NetworkSource::updateSsid() +{ + qCInfo(LOG_ESS) << "Cmd returns" << m_process->exitCode(); + QString qdebug + = QTextCodec::codecForMib(106)->toUnicode(m_process->readAllStandardError()).trimmed(); + qCInfo(LOG_ESS) << "Error" << qdebug; + QString qoutput + = QTextCodec::codecForMib(106)->toUnicode(m_process->readAllStandardOutput()).trimmed(); + qCInfo(LOG_ESS) << "Output" << qoutput; + + m_values["network/current/ssid"] = qoutput; +} + + +QString NetworkSource::getCurrentDevice() +{ + qCDebug(LOG_ESS) << "Get current devices"; + + QString device = "lo"; + auto rawInterfaceList = QNetworkInterface::allInterfaces(); + qCInfo(LOG_ESS) << "Devices" << rawInterfaceList; + + for (auto &interface : rawInterfaceList) { + if ((interface.flags().testFlag(QNetworkInterface::IsLoopBack)) + || (interface.flags().testFlag(QNetworkInterface::IsPointToPoint))) + continue; + if (interface.addressEntries().isEmpty()) + continue; + device = interface.name(); + break; + } + + return device; +} diff --git a/sources/extsysmonsources/networksource.h b/sources/extsysmonsources/networksource.h index 1041605..7144543 100644 --- a/sources/extsysmonsources/networksource.h +++ b/sources/extsysmonsources/networksource.h @@ -23,17 +23,27 @@ #include "abstractextsysmonsource.h" +class QProcess; + class NetworkSource : public AbstractExtSysMonSource { Q_OBJECT public: explicit NetworkSource(QObject *_parent, const QStringList &_args); - virtual ~NetworkSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~NetworkSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override; + QStringList sources() const override; + +private slots: + void updateSsid(); + +private: + QVariantHash m_values; + QProcess *m_process = nullptr; + static QString getCurrentDevice(); }; diff --git a/sources/extsysmonsources/playersource.cpp b/sources/extsysmonsources/playersource.cpp index add634e..da0fd5a 100644 --- a/sources/extsysmonsources/playersource.cpp +++ b/sources/extsysmonsources/playersource.cpp @@ -66,7 +66,7 @@ QVariant PlayerSource::data(const QString &_source) } -QString PlayerSource::getAutoMpris() const +QString PlayerSource::getAutoMpris() { QDBusMessage listServices = QDBusConnection::sessionBus().interface()->call(QDBus::BlockWithGui, "ListNames"); @@ -282,7 +282,7 @@ void PlayerSource::mpdSocketWritten(const qint64 _bytes) } -QVariantHash PlayerSource::defaultInfo() const +QVariantHash PlayerSource::defaultInfo() { QVariantHash info; info["player/album"] = "unknown"; @@ -300,7 +300,7 @@ QVariantHash PlayerSource::getPlayerMpdInfo() if (m_mpdSocket.state() == QAbstractSocket::UnconnectedState) { // connect to host qCInfo(LOG_ESS) << "Connect to" << m_mpdAddress << m_mpdPort; - m_mpdSocket.connectToHost(m_mpdAddress, m_mpdPort); + m_mpdSocket.connectToHost(m_mpdAddress, static_cast(m_mpdPort)); } else if (m_mpdSocket.state() == QAbstractSocket::ConnectedState) { // send request if (m_mpdSocket.write(MPD_STATUS_REQUEST) == -1) @@ -315,11 +315,11 @@ QVariantHash PlayerSource::getPlayerMprisInfo(const QString &_mpris) const { qCDebug(LOG_ESS) << "MPRIS" << _mpris; - QVariantHash info = defaultInfo(); + auto info = defaultInfo(); if (_mpris.isEmpty()) return info; - QDBusConnection bus = QDBusConnection::sessionBus(); + auto bus = QDBusConnection::sessionBus(); // comes from the following request: // qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 // org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player @@ -328,12 +328,12 @@ QVariantHash PlayerSource::getPlayerMprisInfo(const QString &_mpris) const // dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.vlc // /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get // string:'org.mpris.MediaPlayer2.Player' string:'Metadata' - QVariantList args = QVariantList({"org.mpris.MediaPlayer2.Player", "Metadata"}); + auto args = QVariantList({"org.mpris.MediaPlayer2.Player", "Metadata"}); QDBusMessage request = QDBusMessage::createMethodCall( QString("org.mpris.MediaPlayer2.%1").arg(_mpris), "/org/mpris/MediaPlayer2", "org.freedesktop.DBus.Properties", "Get"); request.setArguments(args); - QDBusMessage response = bus.call(request, QDBus::BlockWithGui, REQUEST_TIMEOUT); + auto response = bus.call(request, QDBus::BlockWithGui, REQUEST_TIMEOUT); if ((response.type() != QDBusMessage::ReplyMessage) || (response.arguments().isEmpty())) { qCWarning(LOG_ESS) << "Error message" << response.errorMessage(); } else { diff --git a/sources/extsysmonsources/playersource.h b/sources/extsysmonsources/playersource.h index ed30f78..ec42bce 100644 --- a/sources/extsysmonsources/playersource.h +++ b/sources/extsysmonsources/playersource.h @@ -35,12 +35,12 @@ public: const char *MPD_STATUS_REQUEST = "currentsong\nstatus\n"; explicit PlayerSource(QObject *_parent, const QStringList &_args); - virtual ~PlayerSource(); - QVariant data(const QString &_source); - QString getAutoMpris() const; - QVariantMap initialData(const QString &_source) const; - void run(); - QStringList sources() const; + ~PlayerSource() override; + QVariant data(const QString &_source) override; + static QString getAutoMpris(); + QVariantMap initialData(const QString &_source) const override; + void run() override; + QStringList sources() const override; // additional method to build dynamic tags static QString buildString(const QString &_current, const QString &_value, const int _s); static QString stripString(const QString &_value, const int _s); @@ -53,7 +53,7 @@ private slots: void mpdSocketWritten(const qint64 _bytes); private: - inline QVariantHash defaultInfo() const; + static inline QVariantHash defaultInfo(); QVariantHash getPlayerMpdInfo(); QVariantHash getPlayerMprisInfo(const QString &_mpris) const; QTcpSocket m_mpdSocket; diff --git a/sources/extsysmonsources/processessource.h b/sources/extsysmonsources/processessource.h index 3193cab..2f44781 100644 --- a/sources/extsysmonsources/processessource.h +++ b/sources/extsysmonsources/processessource.h @@ -29,11 +29,11 @@ class ProcessesSource : public AbstractExtSysMonSource public: explicit ProcessesSource(QObject *_parent, const QStringList &_args); - virtual ~ProcessesSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(); - QStringList sources() const; + ~ProcessesSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override; + QStringList sources() const override; private: // configuration and values diff --git a/sources/extsysmonsources/quotessource.h b/sources/extsysmonsources/quotessource.h index ad250b1..21470bc 100644 --- a/sources/extsysmonsources/quotessource.h +++ b/sources/extsysmonsources/quotessource.h @@ -32,11 +32,11 @@ class QuotesSource : public AbstractExtSysMonSource public: explicit QuotesSource(QObject *_parent, const QStringList &_args); - virtual ~QuotesSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~QuotesSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; private: QStringList getSources(); diff --git a/sources/extsysmonsources/requestsource.h b/sources/extsysmonsources/requestsource.h index dd87ec0..6661aa4 100644 --- a/sources/extsysmonsources/requestsource.h +++ b/sources/extsysmonsources/requestsource.h @@ -32,11 +32,11 @@ class RequestSource : public AbstractExtSysMonSource public: explicit RequestSource(QObject *_parent, const QStringList &_args); - virtual ~RequestSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~RequestSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; private: QStringList getSources(); diff --git a/sources/extsysmonsources/systeminfosource.cpp b/sources/extsysmonsources/systeminfosource.cpp new file mode 100644 index 0000000..54848b1 --- /dev/null +++ b/sources/extsysmonsources/systeminfosource.cpp @@ -0,0 +1,174 @@ +/*************************************************************************** + * This file is part of awesome-widgets * + * * + * awesome-widgets is free software: you can redistribute it and/or * + * modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * awesome-widgets is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with awesome-widgets. If not, see http://www.gnu.org/licenses/ * + ***************************************************************************/ + + +#include "systeminfosource.h" + +#include +#include +#include + +#include + +#include "awdebug.h" + + +SystemInfoSource::SystemInfoSource(QObject *_parent, const QStringList &_args) + : AbstractExtSysMonSource(_parent, _args) +{ + Q_ASSERT(_args.count() == 0); + qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; +} + + +SystemInfoSource::~SystemInfoSource() +{ + qCDebug(LOG_ESS) << __PRETTY_FUNCTION__; +} + + +QVariant SystemInfoSource::data(const QString &_source) +{ + qCDebug(LOG_ESS) << "Source" << _source; + + if (!m_values.contains(_source)) + run(); + return m_values.take(_source); +} + + +QVariantMap SystemInfoSource::initialData(const QString &_source) const +{ + qCDebug(LOG_ESS) << "Source" << _source; + + QVariantMap data; + if (_source == "system/brightness") { + data["min"] = 0.0; + data["max"] = 100.0; + data["name"] = "Screen brightness"; + data["type"] = "float"; + data["units"] = "%"; + } else if (_source == "system/volume") { + data["min"] = 0.0; + data["max"] = 100.0; + data["name"] = "Master volume"; + data["type"] = "float"; + data["units"] = "%"; + } + + return data; +} + + +void SystemInfoSource::run() +{ + m_values["system/brightness"] = SystemInfoSource::getCurrentBrightness(); + m_values["system/volume"] = SystemInfoSource::getCurrentVolume(); +} + + +QStringList SystemInfoSource::sources() const +{ + QStringList sources; + sources.append("system/brightness"); + sources.append("system/volume"); + + return sources; +} + + +QVariant SystemInfoSource::fromDBusVariant(const QVariant &value) +{ + return value.value().variant(); +} + + +float SystemInfoSource::getCurrentBrightness() +{ + qCDebug(LOG_ESS) << "Get current brightness"; + + auto maxBrightness = sendDBusRequest("org.kde.Solid.PowerManagement", + "/org/kde/Solid/PowerManagement/Actions/BrightnessControl", + "org.kde.Solid.PowerManagement.Actions.BrightnessControl", + "brightnessMax") + .toFloat(); + auto brightness + = sendDBusRequest("org.kde.Solid.PowerManagement", + "/org/kde/Solid/PowerManagement/Actions/BrightnessControl", + "org.kde.Solid.PowerManagement.Actions.BrightnessControl", "brightness") + .toFloat(); + + return std::round(100.0f * brightness / maxBrightness); +} + + +float SystemInfoSource::getCurrentVolume() +{ + qCDebug(LOG_ESS) << "Get current volume"; + + // current device first + auto currentMixer + = fromDBusVariant( + sendDBusRequest("org.kde.kmix", "/Mixers", "org.freedesktop.DBus.Properties", "Get", + QVariantList({"org.kde.KMix.MixSet", "currentMasterMixer"}))) + .toString(); + + if (currentMixer.isEmpty()) { + qCWarning(LOG_ESS) << "Mixer is empty"; + return std::numeric_limits::quiet_NaN(); + } + currentMixer.replace(":", "_").replace(".", "_").replace("-", "_"); + + // get capture device + auto currentControl + = fromDBusVariant( + sendDBusRequest("org.kde.kmix", "/Mixers", "org.freedesktop.DBus.Properties", "Get", + QVariantList({"org.kde.KMix.MixSet", "currentMasterControl"}))) + .toString(); + if (currentControl.isEmpty()) { + qCWarning(LOG_ESS) << "Control is empty"; + return std::numeric_limits::quiet_NaN(); + } + currentControl.replace(":", "_").replace(".", "_").replace("-", "_"); + + auto path = QString("/Mixers/%1/%2").arg(currentMixer).arg(currentControl); + return fromDBusVariant(sendDBusRequest("org.kde.kmix", path, "org.freedesktop.DBus.Properties", + "Get", QVariantList({"org.kde.KMix.Control", "volume"}))) + .toFloat(); +} + + +QVariant SystemInfoSource::sendDBusRequest(const QString &destination, const QString &path, + const QString &interface, const QString &method, + const QVariantList &args) +{ + qCDebug(LOG_ESS) << "Send dbus request" << destination << path << interface << method << args; + + auto bus = QDBusConnection::sessionBus(); + auto request = QDBusMessage::createMethodCall(destination, path, interface, method); + if (!args.isEmpty()) + request.setArguments(args); + + auto response = bus.call(request, QDBus::BlockWithGui, REQUEST_TIMEOUT); + + if ((response.type() != QDBusMessage::ReplyMessage) || (response.arguments().isEmpty())) { + qCWarning(LOG_ESS) << "Error message" << response.errorMessage(); + return QVariant(); + } else { + return response.arguments().first(); + } +} diff --git a/sources/extsysmonsources/systeminfosource.h b/sources/extsysmonsources/systeminfosource.h new file mode 100644 index 0000000..521b025 --- /dev/null +++ b/sources/extsysmonsources/systeminfosource.h @@ -0,0 +1,50 @@ +/*************************************************************************** + * This file is part of awesome-widgets * + * * + * awesome-widgets is free software: you can redistribute it and/or * + * modify it under the terms of the GNU General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * awesome-widgets is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with awesome-widgets. If not, see http://www.gnu.org/licenses/ * + ***************************************************************************/ + +#ifndef SYSTEMINFOSOURCE_H +#define SYSTEMINFOSOURCE_H + +#include + +#include "abstractextsysmonsource.h" + + +class SystemInfoSource : public AbstractExtSysMonSource +{ + Q_OBJECT + +public: + explicit SystemInfoSource(QObject *_parent, const QStringList &_args); + ~SystemInfoSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override; + QStringList sources() const override; + +private: + // configuration and values + QVariantHash m_values; + static QVariant fromDBusVariant(const QVariant &value); + static float getCurrentBrightness(); + static float getCurrentVolume(); + static QVariant sendDBusRequest(const QString &destination, const QString &path, + const QString &interface, const QString &method, + const QVariantList &args = QVariantList()); +}; + + +#endif /* SYSTEMINFOSOURCE_H */ diff --git a/sources/extsysmonsources/upgradesource.h b/sources/extsysmonsources/upgradesource.h index 99510ed..21db72c 100644 --- a/sources/extsysmonsources/upgradesource.h +++ b/sources/extsysmonsources/upgradesource.h @@ -32,11 +32,11 @@ class UpgradeSource : public AbstractExtSysMonSource public: explicit UpgradeSource(QObject *_parent, const QStringList &_args); - virtual ~UpgradeSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~UpgradeSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; private: QStringList getSources(); diff --git a/sources/extsysmonsources/weathersource.h b/sources/extsysmonsources/weathersource.h index 52983ad..3ed8cea 100644 --- a/sources/extsysmonsources/weathersource.h +++ b/sources/extsysmonsources/weathersource.h @@ -32,11 +32,11 @@ class WeatherSource : public AbstractExtSysMonSource public: explicit WeatherSource(QObject *_parent, const QStringList &_args); - virtual ~WeatherSource(); - QVariant data(const QString &_source); - QVariantMap initialData(const QString &_source) const; - void run(){}; - QStringList sources() const; + ~WeatherSource() override; + QVariant data(const QString &_source) override; + QVariantMap initialData(const QString &_source) const override; + void run() override{}; + QStringList sources() const override; private: QStringList getSources(); diff --git a/sources/qml/General.qml b/sources/qml/General.qml index c96ede0..32885cf 100644 --- a/sources/qml/General.qml +++ b/sources/qml/General.qml @@ -68,7 +68,7 @@ QtObject { }, { "label": i18n("Network"), - "regexp": "^(netdev|(down|up(?!time)).*)" + "regexp": "^(netdev|ssid|(down|up(?!time)).*)" }, { "label": i18n("Network request"), @@ -82,6 +82,10 @@ QtObject { "label": i18n("Scripts"), "regexp": "^custom.*" }, + { + "label": i18n("System"), + "regexp": "^(volume|brightness)" + }, { "label": i18n("Time"), "regexp": ".*time$" diff --git a/sources/test/awtestlibrary.h b/sources/test/awtestlibrary.h index 4e3405f..87499ae 100644 --- a/sources/test/awtestlibrary.h +++ b/sources/test/awtestlibrary.h @@ -34,7 +34,7 @@ int randomInt(const int _max = 100); QString randomString(const int _min = 1, const int _max = 100); QStringList randomStringList(const int _max = 100); QStringList randomSelect(const QStringList &_available); -}; +} // namespace AWTestLibrary #endif /* AWTESTLIBRARY_H */ diff --git a/sources/test/testabstractformatter.h b/sources/test/testabstractformatter.h index ec94f93..dca1933 100644 --- a/sources/test/testabstractformatter.h +++ b/sources/test/testabstractformatter.h @@ -33,7 +33,7 @@ private slots: void initTestCase(); void cleanupTestCase(); // test - void test_values(); + static void test_values(); void test_type(); void test_copy(); diff --git a/sources/test/testawkeycache.h b/sources/test/testawkeycache.h index ec2ca37..cbeccde 100644 --- a/sources/test/testawkeycache.h +++ b/sources/test/testawkeycache.h @@ -29,7 +29,7 @@ class TestAWKeyCache : public QObject private slots: // initialization void initTestCase(); - void cleanupTestCase(); + static void cleanupTestCase(); // test private: diff --git a/sources/test/testawpatternfunctions.h b/sources/test/testawpatternfunctions.h index d0c09b5..2380e7e 100644 --- a/sources/test/testawpatternfunctions.h +++ b/sources/test/testawpatternfunctions.h @@ -29,7 +29,7 @@ class TestAWPatternFunctions : public QObject private slots: // initialization void initTestCase(); - void cleanupTestCase(); + static void cleanupTestCase(); // test void test_findFunctionCalls(); void test_findKeys(); diff --git a/sources/test/testfloatformatter.h b/sources/test/testfloatformatter.h index bdb0e0d..89ba3e4 100644 --- a/sources/test/testfloatformatter.h +++ b/sources/test/testfloatformatter.h @@ -33,7 +33,7 @@ private slots: void initTestCase(); void cleanupTestCase(); // test - void test_values(); + static void test_values(); void test_count(); void test_fillChar(); void test_forceWidth(); diff --git a/sources/test/testnoformatter.h b/sources/test/testnoformatter.h index b9cf531..6d52a54 100644 --- a/sources/test/testnoformatter.h +++ b/sources/test/testnoformatter.h @@ -33,7 +33,7 @@ private slots: void initTestCase(); void cleanupTestCase(); // test - void test_values(); + static void test_values(); void test_conversion(); void test_copy(); diff --git a/sources/test/testplayersource.h b/sources/test/testplayersource.h index 0b11bf5..4a3768b 100644 --- a/sources/test/testplayersource.h +++ b/sources/test/testplayersource.h @@ -31,7 +31,7 @@ class TestPlayerSource : public QObject private slots: // initialization void initTestCase(); - void cleanupTestCase(); + static void cleanupTestCase(); // test void _test_sources(const PlayerSource *_source); void test_buildString(); diff --git a/sources/test/teststringformatter.h b/sources/test/teststringformatter.h index 6ebe95d..a614aef 100644 --- a/sources/test/teststringformatter.h +++ b/sources/test/teststringformatter.h @@ -33,7 +33,7 @@ private slots: void initTestCase(); void cleanupTestCase(); // test - void test_values(); + static void test_values(); void test_count(); void test_fillChar(); void test_forceWidth(); diff --git a/sources/version.h.in b/sources/version.h.in index 8cdb0a3..e96897f 100644 --- a/sources/version.h.in +++ b/sources/version.h.in @@ -59,7 +59,7 @@ const char STATIC_KEYS[] "swap,downunits,upunits,downkb,downtotkb,downtot,down,uptotkb,uptot,upkb," "up,netdev,ac,bat,batleft,batnow,batrate,battotal,album,artist,duration," "progress,title,dalbum,dartist,dtitle,salbum,sartist,stitle,pscount,pstot" - ",ps,desktop,ndesktop,tdesktops,la15,la5,la1"; + ",ps,desktop,ndesktop,tdesktops,la15,la5,la1,ssid,volume,brightness"; #cmakedefine BUILD_FUTURE #cmakedefine BUILD_LOAD #cmakedefine BUILD_TESTING