aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/nim
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-04-26 19:26:50 +0200
committerhjk <hjk@qt.io>2019-04-30 09:06:30 +0000
commit02ab64f2394e69ffbf3092c45a6928667d37fe5d (patch)
tree5c9b79f67b059f9944849cab863553ae2296cc46 /src/plugins/nim
parent80be7adcdb36d495fb117c8a384c4e398ea8434b (diff)
Nim: Aspectify NimBuildConfiguration
Change-Id: Iccf81e3a089a6b6d756aace99c5051dc7349b6b9 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/nim')
-rw-r--r--src/plugins/nim/nim.pro2
-rw-r--r--src/plugins/nim/nim.qbs1
-rw-r--r--src/plugins/nim/nimconstants.h8
-rw-r--r--src/plugins/nim/project/nimbuildconfiguration.cpp33
-rw-r--r--src/plugins/nim/project/nimbuildconfiguration.h4
-rw-r--r--src/plugins/nim/project/nimbuildconfigurationwidget.cpp85
-rw-r--r--src/plugins/nim/project/nimbuildconfigurationwidget.h58
7 files changed, 4 insertions, 187 deletions
diff --git a/src/plugins/nim/nim.pro b/src/plugins/nim/nim.pro
index e2e4fb18c1b..2cb7bb2de35 100644
--- a/src/plugins/nim/nim.pro
+++ b/src/plugins/nim/nim.pro
@@ -24,7 +24,6 @@ HEADERS += \
project/nimcompilercleanstep.h \
project/nimcompilercleanstepconfigwidget.h \
project/nimrunconfiguration.h \
- project/nimbuildconfigurationwidget.h \
editor/nimeditorfactory.h \
settings/nimcodestylesettingspage.h \
settings/nimcodestylepreferencesfactory.h \
@@ -55,7 +54,6 @@ SOURCES += \
project/nimcompilercleanstep.cpp \
project/nimcompilercleanstepconfigwidget.cpp \
project/nimrunconfiguration.cpp \
- project/nimbuildconfigurationwidget.cpp \
editor/nimeditorfactory.cpp \
settings/nimcodestylesettingspage.cpp \
settings/nimcodestylepreferencesfactory.cpp \
diff --git a/src/plugins/nim/nim.qbs b/src/plugins/nim/nim.qbs
index b009e4d88ff..cf5dc409303 100644
--- a/src/plugins/nim/nim.qbs
+++ b/src/plugins/nim/nim.qbs
@@ -37,7 +37,6 @@ QtcPlugin {
prefix: "project/"
files: [
"nimbuildconfiguration.h", "nimbuildconfiguration.cpp",
- "nimbuildconfigurationwidget.h", "nimbuildconfigurationwidget.cpp",
"nimcompilerbuildstep.h", "nimcompilerbuildstep.cpp",
"nimcompilerbuildstepconfigwidget.h", "nimcompilerbuildstepconfigwidget.cpp", "nimcompilerbuildstepconfigwidget.ui",
"nimcompilercleanstep.h", "nimcompilercleanstep.cpp",
diff --git a/src/plugins/nim/nimconstants.h b/src/plugins/nim/nimconstants.h
index d37cdcedb73..552e01d4b31 100644
--- a/src/plugins/nim/nimconstants.h
+++ b/src/plugins/nim/nimconstants.h
@@ -39,19 +39,11 @@ const char C_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("OpenWith::Editors", "Nim
const char C_NIMTOOLCHAIN_TYPEID[] = "Nim.NimToolChain";
const char C_NIMTOOLCHAIN_COMPILER_COMMAND_KEY[] = "Nim.NimToolChain.CompilerCommand";
-// NimRunConfiguration
-const QString C_NIMRUNCONFIGURATION_EXECUTABLE_KEY = QStringLiteral("Nim.NimRunConfiguration.Executable");
-
// NimProject
const char C_NIMPROJECT_EXCLUDEDFILES[] = "Nim.NimProjectExcludedFiles";
// NimBuildConfiguration
const char C_NIMBUILDCONFIGURATION_ID[] = "Nim.NimBuildConfiguration";
-const QString C_NIMBUILDCONFIGURATION_DISPLAY_KEY = QStringLiteral("Nim.NimBuildConfiguration.Display");
-const QString C_NIMBUILDCONFIGURATION_BUILDDIRECTORY_KEY = QStringLiteral("Nim.NimBuildConfiguration.BuildDirectory");
-
-// NimBuildConfigurationWidget
-const char C_NIMBUILDCONFIGURATIONWIDGET_DISPLAY[] = QT_TRANSLATE_NOOP("NimBuildConfigurationWidget","General");
// NimCompilerBuildStep
const char C_NIMCOMPILERBUILDSTEP_ID[] = "Nim.NimCompilerBuildStep";
diff --git a/src/plugins/nim/project/nimbuildconfiguration.cpp b/src/plugins/nim/project/nimbuildconfiguration.cpp
index 46acf4881b3..4db5db8aa8a 100644
--- a/src/plugins/nim/project/nimbuildconfiguration.cpp
+++ b/src/plugins/nim/project/nimbuildconfiguration.cpp
@@ -24,7 +24,6 @@
****************************************************************************/
#include "nimbuildconfiguration.h"
-#include "nimbuildconfigurationwidget.h"
#include "nimcompilerbuildstep.h"
#include "nimproject.h"
#include "nimbuildconfiguration.h"
@@ -43,6 +42,7 @@
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/projectmacroexpander.h>
#include <projectexplorer/target.h>
+#include <projectexplorer/projectconfigurationaspects.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h>
@@ -73,6 +73,9 @@ static FileName defaultBuildDirectory(const Kit *k,
NimBuildConfiguration::NimBuildConfiguration(Target *target, Core::Id id)
: BuildConfiguration(target, id)
{
+ setConfigWidgetDisplayName(tr("General"));
+ setConfigWidgetHasFrame(true);
+ setBuildDirectorySettingsKey("Nim.NimBuildConfiguration.BuildDirectory");
}
void NimBuildConfiguration::initialize(const BuildInfo &info)
@@ -118,39 +121,11 @@ void NimBuildConfiguration::initialize(const BuildInfo &info)
}
}
-
-NamedWidget *NimBuildConfiguration::createConfigWidget()
-{
- return new NimBuildConfigurationWidget(this);
-}
-
BuildConfiguration::BuildType NimBuildConfiguration::buildType() const
{
return BuildConfiguration::Unknown;
}
-bool NimBuildConfiguration::fromMap(const QVariantMap &map)
-{
- if (!BuildConfiguration::fromMap(map))
- return false;
-
- const QString displayName = map[Constants::C_NIMBUILDCONFIGURATION_DISPLAY_KEY].toString();
- const QString buildDirectory = map[Constants::C_NIMBUILDCONFIGURATION_BUILDDIRECTORY_KEY].toString();
-
- setDisplayName(displayName);
- setBuildDirectory(FileName::fromString(buildDirectory));
-
- return true;
-}
-
-QVariantMap NimBuildConfiguration::toMap() const
-{
- QVariantMap result = BuildConfiguration::toMap();
- result[Constants::C_NIMBUILDCONFIGURATION_DISPLAY_KEY] = displayName();
- result[Constants::C_NIMBUILDCONFIGURATION_BUILDDIRECTORY_KEY] = buildDirectory().toString();
- return result;
-}
-
FileName NimBuildConfiguration::cacheDirectory() const
{
return buildDirectory().appendPath(QStringLiteral("nimcache"));
diff --git a/src/plugins/nim/project/nimbuildconfiguration.h b/src/plugins/nim/project/nimbuildconfiguration.h
index 90175647ead..5a8fcf86b13 100644
--- a/src/plugins/nim/project/nimbuildconfiguration.h
+++ b/src/plugins/nim/project/nimbuildconfiguration.h
@@ -40,12 +40,8 @@ class NimBuildConfiguration : public ProjectExplorer::BuildConfiguration
NimBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
void initialize(const ProjectExplorer::BuildInfo &info) override;
- ProjectExplorer::NamedWidget *createConfigWidget() override;
ProjectExplorer::BuildConfiguration::BuildType buildType() const override;
- bool fromMap(const QVariantMap &map) override;
- QVariantMap toMap() const override;
-
public:
Utils::FileName cacheDirectory() const;
Utils::FileName outFilePath() const;
diff --git a/src/plugins/nim/project/nimbuildconfigurationwidget.cpp b/src/plugins/nim/project/nimbuildconfigurationwidget.cpp
deleted file mode 100644
index e4511eba313..00000000000
--- a/src/plugins/nim/project/nimbuildconfigurationwidget.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) Filippo Cucchetto <filippocucchetto@gmail.com>
-** Contact: http://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 "nimbuildconfigurationwidget.h"
-#include "nimbuildconfiguration.h"
-
-#include "../nimconstants.h"
-
-#include <utils/pathchooser.h>
-#include <utils/detailswidget.h>
-
-#include <QVBoxLayout>
-#include <QFormLayout>
-#include <QComboBox>
-
-using namespace ProjectExplorer;
-using namespace Utils;
-
-namespace Nim {
-
-NimBuildConfigurationWidget::NimBuildConfigurationWidget(NimBuildConfiguration *bc)
- : NamedWidget(nullptr)
- , m_bc(bc)
-{
- // Build UI
- auto mainLayout = new QVBoxLayout(this);
- mainLayout->setMargin(0);
-
- auto detailsWidget = new DetailsWidget();
- detailsWidget->setState(DetailsWidget::NoSummary);
- mainLayout->addWidget(detailsWidget);
-
- auto detailsInnerWidget = new QWidget();
- auto formLayout = new QFormLayout(detailsInnerWidget);
- detailsWidget->setWidget(detailsInnerWidget);
-
- m_buildDirectoryChooser = new PathChooser();
- formLayout->addRow(tr("Build directory:"), m_buildDirectoryChooser);
-
- // Connect signals
- connect(bc, &NimBuildConfiguration::buildDirectoryChanged,
- this, &NimBuildConfigurationWidget::updateUi);
- connect(m_buildDirectoryChooser, &PathChooser::pathChanged,
- this, &NimBuildConfigurationWidget::onPathEdited);
-
- setDisplayName(tr(Constants::C_NIMBUILDCONFIGURATIONWIDGET_DISPLAY));
- updateUi();
-}
-
-NimBuildConfigurationWidget::~NimBuildConfigurationWidget() = default;
-
-void NimBuildConfigurationWidget::updateUi()
-{
- m_buildDirectoryChooser->setPath(m_bc->buildDirectory().toUserOutput());
-}
-
-void NimBuildConfigurationWidget::onPathEdited(const QString &path)
-{
- m_bc->setBuildDirectory(FileName::fromUserInput(path));
-}
-
-
-}
diff --git a/src/plugins/nim/project/nimbuildconfigurationwidget.h b/src/plugins/nim/project/nimbuildconfigurationwidget.h
deleted file mode 100644
index cb6251b3ec9..00000000000
--- a/src/plugins/nim/project/nimbuildconfigurationwidget.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) Filippo Cucchetto <filippocucchetto@gmail.com>
-** Contact: http://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.
-**
-****************************************************************************/
-
-#pragma once
-
-#include <projectexplorer/namedwidget.h>
-
-QT_BEGIN_NAMESPACE
-class QComboBox;
-class QLineEdit;
-class QPushButton;
-QT_END_NAMESPACE
-
-namespace Utils { class PathChooser; }
-
-namespace Nim {
-
-class NimBuildConfiguration;
-
-class NimBuildConfigurationWidget : public ProjectExplorer::NamedWidget
-{
- Q_OBJECT
-
-public:
- explicit NimBuildConfigurationWidget(NimBuildConfiguration *bc);
- ~NimBuildConfigurationWidget();
-
-private:
- void updateUi();
- void onPathEdited(const QString &path);
-
- NimBuildConfiguration *m_bc;
- Utils::PathChooser *m_buildDirectoryChooser;
-};
-
-}