From 9f479b8f76238a03bce5d13aee14efd34e659c6e Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Sun, 30 Oct 2022 20:34:23 +0100 Subject: Clean up and modernize code - static "new-style" signal->slot connections - Fix a lot of things Clang-Tidy complained about - Move includes to .cpp files and use forward decls in .h - Don't use and , but specific includes instead --- src/client/addons/addons.cpp | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'src/client/addons/addons.cpp') diff --git a/src/client/addons/addons.cpp b/src/client/addons/addons.cpp index 43813ee..d39e53c 100644 --- a/src/client/addons/addons.cpp +++ b/src/client/addons/addons.cpp @@ -30,13 +30,12 @@ QList AddonManager::_addons; class Addon { public: - Addon() : button(nullptr), menu(nullptr), wantConnectInfo(false) {} - QPushButton *button; - QAction *menu; + QPushButton *button{}; + QAction *menu{}; QProcess process; - bool wantConnectInfo; - bool wantInit; - bool runAsync; + bool wantConnectInfo{}; + bool wantInit{}; + bool runAsync{}; QList> envir; }; @@ -57,7 +56,7 @@ void AddonManager::loadFromPath(const QString &path, QList &button QFileInfoList fileInfoList = configDir.entryInfoList(QDir::Files, QDir::Name); QRegularExpression paramRegex("^([A-Z]+)=(.*)$", QRegularExpression::MultilineOption); - for (QFileInfo fileInfo : fileInfoList) { + for (const auto& fileInfo : fileInfoList) { QString filePath = fileInfo.absoluteFilePath(); QSettings setting(filePath, QSettings::IniFormat); setting.setIniCodec("UTF-8"); @@ -77,7 +76,7 @@ void AddonManager::loadFromPath(const QString &path, QList &button } // Alloc addon - Addon *addon = new Addon(); + auto *addon = new Addon(); // Toggle/click callback auto toggleFun = [=](bool value) { addon->envir.append(qMakePair(s_EVENT, s_clicked)); @@ -92,7 +91,7 @@ void AddonManager::loadFromPath(const QString &path, QList &button addon->menu->setCheckable(checkable); addon->menu->setToolTip(tooltip); menuEntries.append(addon->menu); - addon->menu->connect(addon->menu, &QAction::triggered, toggleFun); + QObject::connect(addon->menu, &QAction::triggered, toggleFun); } else if (type == "button") { addon->button = new QPushButton(caption); if (!icon.isNull()) { @@ -103,7 +102,7 @@ void AddonManager::loadFromPath(const QString &path, QList &button addon->button->setCheckable(checkable); addon->button->setToolTip(tooltip); buttons.append(addon->button); - addon->button->connect(addon->button, &QPushButton::clicked, toggleFun); + QObject::connect(addon->button, &QPushButton::clicked, toggleFun); } else { qDebug() << "Ignoring unknown addon type" << type; delete addon; @@ -117,13 +116,13 @@ void AddonManager::loadFromPath(const QString &path, QList &button // Setup process addon->process.setProgram(exec); // Stdin for status updates - addon->process.connect(&addon->process, &QProcess::readyReadStandardOutput, [=]() { + QObject::connect(&addon->process, &QProcess::readyReadStandardOutput, [=]() { auto lines = addon->process.readAllStandardOutput(); auto matches = paramRegex.globalMatch(lines); handleAddonOutput(addon, matches); }); // Stderr just for debugging - addon->process.connect(&addon->process, &QProcess::readyReadStandardError, [=]() { + QObject::connect(&addon->process, &QProcess::readyReadStandardError, [=]() { qDebug() << exec << "stderr:" << QString::fromLocal8Bit(addon->process.readAllStandardError()); }); } @@ -144,7 +143,7 @@ void AddonManager::initControls() void AddonManager::connectEvent(bool isLocal, const QString &address) { - for (auto addon : _addons) { + for (auto *addon : _addons) { if (!addon->wantConnectInfo) continue; addon->envir.append(qMakePair(s_EVENT, s_connected)); @@ -168,7 +167,7 @@ static void executeAddon(Addon *addon) { // Set up environment auto env = QProcessEnvironment::systemEnvironment(); - for (auto e : addon->envir) { + for (const auto& e : addon->envir) { env.insert(e.first, e.second); } addon->envir.clear(); @@ -184,26 +183,26 @@ static void executeAddon(Addon *addon) addon->process.setProcessEnvironment(env); // Run if (addon->runAsync) { - addon->process.startDetached(addon->process.program(), QStringList()); + QProcess::startDetached(addon->process.program(), QStringList()); } else { addon->process.start(); addon->process.closeWriteChannel(); } } -static void setAddonVisible(Addon *addon, bool newValue) +static void setAddonVisible(Addon *addon, bool visible) { if (addon->button != nullptr) { QWidget *p = addon->button->parentWidget(); bool wasVisible = p != nullptr && addon->button->isVisibleTo(p); - addon->button->setVisible(newValue); - if (p != nullptr && wasVisible != newValue) { + addon->button->setVisible(visible); + if (p != nullptr && wasVisible != visible) { // Visibility changed -- adjust size of toolbar - int size = (addon->button->width() + 2) * (newValue ? 1 : -1); + int size = (addon->button->width() + 2) * (visible ? 1 : -1); p->setFixedWidth(p->width() + size); } } else { - addon->menu->setVisible(newValue); + addon->menu->setVisible(visible); } } -- cgit v1.2.3-55-g7522