aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor/cppquickfixsettingspage.cpp
diff options
context:
space:
mode:
authorLeander Schulten <Leander.Schulten@rwth-aachen.de>2020-08-20 00:33:24 +0200
committerLeander Schulten <Leander.Schulten@rwth-aachen.de>2020-10-14 10:12:44 +0000
commit5b5ae971045adebe40209150cf9e1cac6cc62191 (patch)
treea289184954bb8e2cc6dd3e7d4471f45e24e9405a /src/plugins/cppeditor/cppquickfixsettingspage.cpp
parent7c58a4ac5b82903fae881922acdeac7cabc60692 (diff)
CppEditor: Introduce QuickFix settings and unify getter/setter generation
Introduces a QuickFix settings page where the generation of getters and setters can be customized. The settings can be saved into a file that can go into a VCS. All QuickFixes that generate getter/setter/signals/ Q_PROPERTIES now use the same backend. QuickFixes that generate getters/ setters are now extended to also generate signals and Q_PROPERTIES. Fixes: QTCREATORBUG-1532 Fixes: QTCREATORBUG-17941 Fixes: QTCREATORBUG-12678 Fixes: QTCREATORBUG-15779 Fixes: QTCREATORBUG-11620 Fixes: QTCREATORBUG-22707 Fixes: QTCREATORBUG-20157 Fixes: QTCREATORBUG-21804 Fixes: QTCREATORBUG-19814 Fixes: QTCREATORBUG-14622 Fixes: QTCREATORBUG-19803 Change-Id: I50ed2dad9b4a637fbd87b3e1f2856060ad0ad920 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/cppeditor/cppquickfixsettingspage.cpp')
-rw-r--r--src/plugins/cppeditor/cppquickfixsettingspage.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/plugins/cppeditor/cppquickfixsettingspage.cpp b/src/plugins/cppeditor/cppquickfixsettingspage.cpp
new file mode 100644
index 0000000000..63738f098f
--- /dev/null
+++ b/src/plugins/cppeditor/cppquickfixsettingspage.cpp
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 Leander Schulten <Leander.Schulten@rwth-aachen.de>
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#include "cppquickfixsettingspage.h"
+#include "cppeditorconstants.h"
+#include "cppquickfixsettings.h"
+#include "cppquickfixsettingswidget.h"
+#include "cpptools/cpptoolsconstants.h"
+#include <QCoreApplication>
+#include <QtDebug>
+
+using namespace CppEditor::Internal;
+
+CppQuickFixSettingsPage::CppQuickFixSettingsPage()
+{
+ setId(Constants::QUICK_FIX_SETTINGS_ID);
+ setDisplayName(QCoreApplication::translate("CppTools", Constants::QUICK_FIX_SETTINGS_DISPLAY_NAME));
+ setCategory(CppTools::Constants::CPP_SETTINGS_CATEGORY);
+}
+
+QWidget *CppQuickFixSettingsPage::widget()
+{
+ if (!m_widget) {
+ m_widget = new CppQuickFixSettingsWidget;
+ m_widget->loadSettings(CppQuickFixSettings::instance());
+ }
+ return m_widget;
+}
+
+void CppQuickFixSettingsPage::apply()
+{
+ const auto s = CppQuickFixSettings::instance();
+ m_widget->saveSettings(s);
+ s->saveAsGlobalSettings();
+}
+
+void CppEditor::Internal::CppQuickFixSettingsPage::finish()
+{
+ delete m_widget;
+}