aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager/qbssettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qbsprojectmanager/qbssettings.cpp')
-rw-r--r--src/plugins/qbsprojectmanager/qbssettings.cpp36
1 files changed, 8 insertions, 28 deletions
diff --git a/src/plugins/qbsprojectmanager/qbssettings.cpp b/src/plugins/qbsprojectmanager/qbssettings.cpp
index 78eac2b308c..91e4763bf25 100644
--- a/src/plugins/qbsprojectmanager/qbssettings.cpp
+++ b/src/plugins/qbsprojectmanager/qbssettings.cpp
@@ -12,7 +12,7 @@
#include <utils/environment.h>
#include <utils/hostosinfo.h>
#include <utils/pathchooser.h>
-#include <utils/qtcprocess.h>
+#include <utils/process.h>
#include <QCoreApplication>
#include <QCheckBox>
@@ -21,8 +21,7 @@
using namespace Utils;
-namespace QbsProjectManager {
-namespace Internal {
+namespace QbsProjectManager::Internal {
const char QBS_EXE_KEY[] = "QbsProjectManager/QbsExecutable";
const char QBS_DEFAULT_INSTALL_DIR_KEY[] = "QbsProjectManager/DefaultInstallDir";
@@ -32,7 +31,7 @@ static QString getQbsVersion(const FilePath &qbsExe)
{
if (qbsExe.isEmpty() || !qbsExe.exists())
return {};
- QtcProcess qbsProc;
+ Process qbsProc;
qbsProc.setCommand({qbsExe, {"--version"}});
qbsProc.start();
if (!qbsProc.waitForFinished(5000) || qbsProc.exitCode() != 0)
@@ -142,10 +141,10 @@ void QbsSettings::storeSettings() const
s->setValue(USE_CREATOR_SETTINGS_KEY, m_settings.useCreatorSettings);
}
-class QbsSettingsPage::SettingsWidget : public QWidget
+class QbsSettingsPageWidget : public Core::IOptionsPageWidget
{
public:
- SettingsWidget()
+ QbsSettingsPageWidget()
{
m_qbsExePathChooser.setExpectedKind(PathChooser::ExistingCommand);
m_qbsExePathChooser.setFilePath(QbsSettings::qbsExecutableFilePath());
@@ -166,7 +165,7 @@ public:
});
}
- void apply()
+ void apply() final
{
QbsSettingsData settings = QbsSettings::rawSettingsData();
if (m_qbsExePathChooser.filePath() != QbsSettings::qbsExecutableFilePath())
@@ -197,26 +196,7 @@ QbsSettingsPage::QbsSettingsPage()
setCategory(Constants::QBS_SETTINGS_CATEGORY);
setDisplayCategory(Tr::tr(Constants::QBS_SETTINGS_TR_CATEGORY));
setCategoryIconPath(":/qbsprojectmanager/images/settingscategory_qbsprojectmanager.png");
+ setWidgetCreator([] { return new QbsSettingsPageWidget; });
}
-QWidget *QbsSettingsPage::widget()
-{
- if (!m_widget)
- m_widget = new SettingsWidget;
- return m_widget;
-
-}
-
-void QbsSettingsPage::apply()
-{
- if (m_widget)
- m_widget->apply();
-}
-
-void QbsSettingsPage::finish()
-{
- delete m_widget;
-}
-
-} // namespace Internal
-} // namespace QbsProjectManager
+} // QbsProjectManager::Internal