diff --git a/src/plugins/baremetal/CMakeLists.txt b/src/plugins/baremetal/CMakeLists.txt index 12b6d605cb9..7783e91ec8c 100644 --- a/src/plugins/baremetal/CMakeLists.txt +++ b/src/plugins/baremetal/CMakeLists.txt @@ -3,7 +3,6 @@ add_qtc_plugin(BareMetal SOURCES baremetal.qrc baremetalconstants.h - baremetalcustomrunconfiguration.cpp baremetalcustomrunconfiguration.h baremetaldebugsupport.cpp baremetaldebugsupport.h baremetaldevice.cpp baremetaldevice.h baremetaldeviceconfigurationwidget.cpp baremetaldeviceconfigurationwidget.h diff --git a/src/plugins/baremetal/baremetal.pro b/src/plugins/baremetal/baremetal.pro index f471347566d..8a97feaffd6 100644 --- a/src/plugins/baremetal/baremetal.pro +++ b/src/plugins/baremetal/baremetal.pro @@ -9,7 +9,6 @@ include(debugservers/uvsc/uvscservers.pri) # BareMetal files SOURCES += \ - baremetalcustomrunconfiguration.cpp\ baremetaldebugsupport.cpp \ baremetaldevice.cpp \ baremetaldeviceconfigurationwidget.cpp \ @@ -30,7 +29,6 @@ SOURCES += \ HEADERS += \ baremetalconstants.h \ - baremetalcustomrunconfiguration.h \ baremetaldebugsupport.h \ baremetaldevice.h \ baremetaldeviceconfigurationwidget.h \ diff --git a/src/plugins/baremetal/baremetal.qbs b/src/plugins/baremetal/baremetal.qbs index ea82adfa3e6..9531ed05659 100644 --- a/src/plugins/baremetal/baremetal.qbs +++ b/src/plugins/baremetal/baremetal.qbs @@ -16,7 +16,6 @@ QtcPlugin { files: [ "baremetal.qrc", "baremetalconstants.h", - "baremetalcustomrunconfiguration.cpp", "baremetalcustomrunconfiguration.h", "baremetaldebugsupport.cpp", "baremetaldebugsupport.h", "baremetaldevice.cpp", "baremetaldevice.h", "baremetaldeviceconfigurationwidget.cpp", "baremetaldeviceconfigurationwidget.h", diff --git a/src/plugins/baremetal/baremetalcustomrunconfiguration.cpp b/src/plugins/baremetal/baremetalcustomrunconfiguration.cpp deleted file mode 100644 index b4734d46518..00000000000 --- a/src/plugins/baremetal/baremetalcustomrunconfiguration.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Tim Sander -** 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 "baremetalcustomrunconfiguration.h" -#include "baremetalconstants.h" - -#include -#include - -#include - -using namespace Utils; -using namespace ProjectExplorer; - -namespace BareMetal { -namespace Internal { - -// BareMetalCustomRunConfiguration - -BareMetalCustomRunConfiguration::BareMetalCustomRunConfiguration(Target *target, Core::Id id) - : RunConfiguration(target, id) -{ - const auto exeAspect = addAspect(); - exeAspect->setSettingsKey("BareMetal.CustomRunConfig.Executable"); - exeAspect->setPlaceHolderText(tr("Unknown")); - exeAspect->setDisplayStyle(BaseStringAspect::PathChooserDisplay); - exeAspect->setHistoryCompleter("BareMetal.CustomRunConfig.History"); - exeAspect->setExpectedKind(PathChooser::Any); - - addAspect(); - addAspect(); - - setDefaultDisplayName(RunConfigurationFactory::decoratedTargetName(tr("Custom Executable"), target)); -} - -Tasks BareMetalCustomRunConfiguration::checkForIssues() const -{ - Tasks tasks; - if (aspect()->executable().isEmpty()) { - tasks << createConfigurationIssue(tr("The remote executable must be set in order to run " - "a custom remote run configuration.")); - } - return tasks; -} - -// BareMetalCustomRunConfigurationFactory - -BareMetalCustomRunConfigurationFactory::BareMetalCustomRunConfigurationFactory() - : FixedRunConfigurationFactory(BareMetalCustomRunConfiguration::tr("Custom Executable"), true) -{ - registerRunConfiguration("BareMetal"); - addSupportedTargetDeviceType(BareMetal::Constants::BareMetalOsType); -} - -} // namespace Internal -} // namespace BareMetal diff --git a/src/plugins/baremetal/baremetalcustomrunconfiguration.h b/src/plugins/baremetal/baremetalcustomrunconfiguration.h deleted file mode 100644 index 94b032114a1..00000000000 --- a/src/plugins/baremetal/baremetalcustomrunconfiguration.h +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 Tim Sander -** 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. -** -****************************************************************************/ - -#pragma once - -#include - -namespace BareMetal { -namespace Internal { - -// BareMetalCustomRunConfiguration - -class BareMetalCustomRunConfiguration final - : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - -public: - explicit BareMetalCustomRunConfiguration(ProjectExplorer::Target *target, Core::Id id); - -public: - ProjectExplorer::Tasks checkForIssues() const final; -}; - -// BareMetalCustomRunConfigurationFactory - -class BareMetalCustomRunConfigurationFactory final - : public ProjectExplorer::FixedRunConfigurationFactory -{ -public: - explicit BareMetalCustomRunConfigurationFactory(); -}; - -} // namespace Internal -} // namespace BareMetal diff --git a/src/plugins/baremetal/baremetalplugin.cpp b/src/plugins/baremetal/baremetalplugin.cpp index 1848724d548..e39790f80c3 100644 --- a/src/plugins/baremetal/baremetalplugin.cpp +++ b/src/plugins/baremetal/baremetalplugin.cpp @@ -25,7 +25,6 @@ ****************************************************************************/ #include "baremetalconstants.h" -#include "baremetalcustomrunconfiguration.h" #include "baremetaldebugsupport.h" #include "baremetaldevice.h" #include "baremetalplugin.h" diff --git a/src/plugins/baremetal/baremetalrunconfiguration.cpp b/src/plugins/baremetal/baremetalrunconfiguration.cpp index d0cab4e3a52..646691ff2c3 100644 --- a/src/plugins/baremetal/baremetalrunconfiguration.cpp +++ b/src/plugins/baremetal/baremetalrunconfiguration.cpp @@ -38,24 +38,65 @@ using namespace Utils; namespace BareMetal { namespace Internal { -// BareMetalRunConfiguration +// RunConfigurations -BareMetalRunConfiguration::BareMetalRunConfiguration(Target *target, Core::Id id) - : RunConfiguration(target, id) +class BareMetalRunConfiguration final : public RunConfiguration { - const auto exeAspect = addAspect(); - exeAspect->setDisplayStyle(BaseStringAspect::LabelDisplay); - exeAspect->setPlaceHolderText(tr("Unknown")); + Q_DECLARE_TR_FUNCTIONS(BareMetal::Internal::BareMetalRunConfiguration) - addAspect(); - addAspect(); +public: + explicit BareMetalRunConfiguration(Target *target, Core::Id id) + : RunConfiguration(target, id) + { + const auto exeAspect = addAspect(); + exeAspect->setDisplayStyle(BaseStringAspect::LabelDisplay); + exeAspect->setPlaceHolderText(tr("Unknown")); - setUpdater([this, exeAspect] { - const BuildTargetInfo bti = buildTargetInfo(); - exeAspect->setExecutable(bti.targetFilePath); - }); + addAspect(); + addAspect(); - connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); + setUpdater([this, exeAspect] { + const BuildTargetInfo bti = buildTargetInfo(); + exeAspect->setExecutable(bti.targetFilePath); + }); + + connect(target, &Target::buildSystemUpdated, this, &RunConfiguration::update); + } +}; + +class BareMetalCustomRunConfiguration final : public RunConfiguration +{ + Q_DECLARE_TR_FUNCTIONS(BareMetal::Internal::BareMetalCustomRunConfiguration) + +public: + explicit BareMetalCustomRunConfiguration(Target *target, Core::Id id) + : RunConfiguration(target, id) + { + const auto exeAspect = addAspect(); + exeAspect->setSettingsKey("BareMetal.CustomRunConfig.Executable"); + exeAspect->setPlaceHolderText(tr("Unknown")); + exeAspect->setDisplayStyle(BaseStringAspect::PathChooserDisplay); + exeAspect->setHistoryCompleter("BareMetal.CustomRunConfig.History"); + exeAspect->setExpectedKind(PathChooser::Any); + + addAspect(); + addAspect(); + + setDefaultDisplayName(RunConfigurationFactory::decoratedTargetName(tr("Custom Executable"), target)); + } + +public: + Tasks checkForIssues() const final; +}; + +Tasks BareMetalCustomRunConfiguration::checkForIssues() const +{ + Tasks tasks; + if (aspect()->executable().isEmpty()) { + tasks << createConfigurationIssue(tr("The remote executable must be set in order to run " + "a custom remote run configuration.")); + } + return tasks; } // BareMetalRunConfigurationFactory @@ -67,6 +108,15 @@ BareMetalRunConfigurationFactory::BareMetalRunConfigurationFactory() addSupportedTargetDeviceType(BareMetal::Constants::BareMetalOsType); } +// BaseMetalCustomRunConfigurationFactory + +BareMetalCustomRunConfigurationFactory::BareMetalCustomRunConfigurationFactory() + : FixedRunConfigurationFactory(BareMetalCustomRunConfiguration::tr("Custom Executable"), true) +{ + registerRunConfiguration("BareMetal"); + addSupportedTargetDeviceType(BareMetal::Constants::BareMetalOsType); +} + } // namespace Internal } // namespace BareMetal diff --git a/src/plugins/baremetal/baremetalrunconfiguration.h b/src/plugins/baremetal/baremetalrunconfiguration.h index 2132882a5b7..433369e2203 100644 --- a/src/plugins/baremetal/baremetalrunconfiguration.h +++ b/src/plugins/baremetal/baremetalrunconfiguration.h @@ -30,23 +30,18 @@ namespace BareMetal { namespace Internal { -// BareMetalRunConfiguration - -class BareMetalRunConfiguration final : public ProjectExplorer::RunConfiguration -{ - Q_OBJECT - -public: - explicit BareMetalRunConfiguration(ProjectExplorer::Target *target, Core::Id id); -}; - -// BareMetalRunConfigurationFactory - class BareMetalRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory { public: - explicit BareMetalRunConfigurationFactory(); + BareMetalRunConfigurationFactory(); +}; + +class BareMetalCustomRunConfigurationFactory final + : public ProjectExplorer::FixedRunConfigurationFactory +{ +public: + BareMetalCustomRunConfigurationFactory(); }; } // namespace Internal