diff options
author | Leander Schulten <Leander.Schulten@rwth-aachen.de> | 2020-08-20 00:33:24 +0200 |
---|---|---|
committer | Leander Schulten <Leander.Schulten@rwth-aachen.de> | 2020-10-14 10:12:44 +0000 |
commit | 5b5ae971045adebe40209150cf9e1cac6cc62191 (patch) | |
tree | a289184954bb8e2cc6dd3e7d4471f45e24e9405a /src/plugins/cppeditor/cppquickfixsettingspage.cpp | |
parent | 7c58a4ac5b82903fae881922acdeac7cabc60692 (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.cpp | 62 |
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; +} |