diff options
author | hjk <[email protected]> | 2023-11-10 15:12:09 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2023-11-13 07:33:02 +0000 |
commit | d74a85bbac5b488975960fc548d16fb7c545c011 (patch) | |
tree | 2d09dcf59e7ace4b9700d498aafe90f170ad7ff7 /src | |
parent | 82c77b1304c66267f2fbf40dd7470769454c3f82 (diff) |
Macro: Inline SaveDialog
Not worth the file pair.
Also modernize MacroManager a bit.
Change-Id: I88f6add3147390e3900beebacc4a3f5255eac7ea
Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/macros/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/plugins/macros/macromanager.cpp | 69 | ||||
-rw-r--r-- | src/plugins/macros/macromanager.h | 15 | ||||
-rw-r--r-- | src/plugins/macros/macros.qbs | 2 | ||||
-rw-r--r-- | src/plugins/macros/savedialog.cpp | 55 | ||||
-rw-r--r-- | src/plugins/macros/savedialog.h | 30 |
6 files changed, 59 insertions, 113 deletions
diff --git a/src/plugins/macros/CMakeLists.txt b/src/plugins/macros/CMakeLists.txt index 588a9a330f3..564a602f542 100644 --- a/src/plugins/macros/CMakeLists.txt +++ b/src/plugins/macros/CMakeLists.txt @@ -14,6 +14,5 @@ add_qtc_plugin(Macros macrosplugin.cpp macrosplugin.h macrotextfind.cpp macrotextfind.h macrostr.h - savedialog.cpp savedialog.h texteditormacrohandler.cpp texteditormacrohandler.h ) diff --git a/src/plugins/macros/macromanager.cpp b/src/plugins/macros/macromanager.cpp index b5151b7ee25..1eef4e43e14 100644 --- a/src/plugins/macros/macromanager.cpp +++ b/src/plugins/macros/macromanager.cpp @@ -10,32 +10,34 @@ #include "macroevent.h" #include "macrosconstants.h" #include "macrostr.h" -#include "savedialog.h" #include "texteditormacrohandler.h" -#include <texteditor/texteditorconstants.h> - -#include <coreplugin/coreconstants.h> -#include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/actioncontainer.h> +#include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/command.h> -#include <coreplugin/icore.h> -#include <coreplugin/icontext.h> +#include <coreplugin/coreconstants.h> #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/ieditor.h> +#include <coreplugin/icontext.h> +#include <coreplugin/icore.h> + +#include <texteditor/texteditorconstants.h> + +#include <utils/layoutbuilder.h> #include <utils/qtcassert.h> +#include <QAction> +#include <QDialogButtonBox> #include <QDir> #include <QFile> +#include <QFileDialog> #include <QFileInfo> +#include <QLineEdit> #include <QList> - -#include <QAction> -#include <QFileDialog> #include <QMessageBox> +#include <QRegularExpressionValidator> -namespace Macros { -namespace Internal { +namespace Macros::Internal { /*! \namespace Macros @@ -202,9 +204,47 @@ bool MacroManagerPrivate::executeMacro(Macro *macro) return !error; } +class SaveDialog : public QDialog +{ +public: + SaveDialog() + : QDialog(Core::ICore::dialogParent()) + { + resize(219, 91); + setWindowTitle(Tr::tr("Save Macro")); + + m_name = new QLineEdit; + m_name->setValidator(new QRegularExpressionValidator(QRegularExpression("\\w*"), this)); + + m_description = new QLineEdit; + + auto buttonBox = new QDialogButtonBox; + buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Save); + + using namespace Layouting; + + Form { + Tr::tr("Name:"), m_name, br, + Tr::tr("Description:"), m_description, br, + buttonBox + }.attachTo(this); + + connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); + } + + QString name() const { return m_name->text(); } + + QString description() const { return m_description->text(); } + +private: + QLineEdit *m_name; + QLineEdit *m_description; +}; + void MacroManagerPrivate::showSaveDialog() { - SaveDialog dialog(Core::ICore::dialogParent()); + SaveDialog dialog; if (dialog.exec()) { if (dialog.name().isEmpty()) return; @@ -376,5 +416,4 @@ QString MacroManager::macrosDirectory() return QString(); } -} // Internal -} // Macros +} // Macros::Internal diff --git a/src/plugins/macros/macromanager.h b/src/plugins/macros/macromanager.h index df331979318..936c9156a67 100644 --- a/src/plugins/macros/macromanager.h +++ b/src/plugins/macros/macromanager.h @@ -6,20 +6,17 @@ #include <QObject> #include <QMap> -namespace Macros { -namespace Internal { +namespace Macros::Internal { class IMacroHandler; class Macro; class MacroOptionsWidget; -class MacroManager : public QObject +class MacroManager final : public QObject { - Q_OBJECT - public: MacroManager(); - ~MacroManager() override; + ~MacroManager() final; static MacroManager *instance(); @@ -35,15 +32,13 @@ public: bool executeMacro(const QString &name); void endMacro(); -protected: +private: friend class Internal::MacroOptionsWidget; void deleteMacro(const QString &name); void changeMacro(const QString &name, const QString &description); -private: class MacroManagerPrivate *d; }; -} // namespace Internal -} // namespace Macros +} // namespace Macros::Internal diff --git a/src/plugins/macros/macros.qbs b/src/plugins/macros/macros.qbs index 9aa7441b771..66e92375a0b 100644 --- a/src/plugins/macros/macros.qbs +++ b/src/plugins/macros/macros.qbs @@ -34,8 +34,6 @@ QtcPlugin { "macrostr.h", "macrotextfind.cpp", "macrotextfind.h", - "savedialog.cpp", - "savedialog.h", "texteditormacrohandler.cpp", "texteditormacrohandler.h", ] diff --git a/src/plugins/macros/savedialog.cpp b/src/plugins/macros/savedialog.cpp deleted file mode 100644 index cb45f96da03..00000000000 --- a/src/plugins/macros/savedialog.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (C) 2016 Nicolas Arnaud-Cormos -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#include "savedialog.h" - -#include "macrostr.h" - -#include <utils/layoutbuilder.h> - -#include <QCheckBox> -#include <QDialogButtonBox> -#include <QLineEdit> -#include <QRegularExpressionValidator> - -namespace Macros::Internal { - -SaveDialog::SaveDialog(QWidget *parent) : - QDialog(parent) -{ - resize(219, 91); - setWindowTitle(Tr::tr("Save Macro")); - - m_name = new QLineEdit; - m_name->setValidator(new QRegularExpressionValidator(QRegularExpression(QLatin1String("\\w*")), this)); - - m_description = new QLineEdit; - - auto buttonBox = new QDialogButtonBox; - buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Save); - - using namespace Layouting; - - Form { - Tr::tr("Name:"), m_name, br, - Tr::tr("Description:"), m_description, br, - buttonBox - }.attachTo(this); - - connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); - connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); -} - -SaveDialog::~SaveDialog() = default; - -QString SaveDialog::name() const -{ - return m_name->text(); -} - -QString SaveDialog::description() const -{ - return m_description->text(); -} - -} // Macros::Internal diff --git a/src/plugins/macros/savedialog.h b/src/plugins/macros/savedialog.h deleted file mode 100644 index 69fd7419b92..00000000000 --- a/src/plugins/macros/savedialog.h +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 2016 Nicolas Arnaud-Cormos -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#pragma once - -#include <QDialog> - -QT_BEGIN_NAMESPACE -class QLineEdit; -QT_END_NAMESPACE - -namespace Macros::Internal { - -class SaveDialog : public QDialog -{ - Q_OBJECT - -public: - explicit SaveDialog(QWidget *parent = nullptr); - ~SaveDialog() override; - - QString name() const; - QString description() const; - -private: - QLineEdit *m_name; - QLineEdit *m_description; -}; - -} // Macros::Internal |