diff options
author | Christian Stenger <christian.stenger@qt.io> | 2023-05-10 13:03:33 +0200 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2023-05-15 04:52:55 +0000 |
commit | 9c2fa5c975d3a416d858d2635b718d6e5afaaecc (patch) | |
tree | 649815ff145510e1c6dfa868382c64a5031584e1 | |
parent | 985c1ee3e9dc0298405e9400f7016d869ec4676e (diff) | |
download | qt-creator-9c2fa5c975d3a416d858d2635b718d6e5afaaecc.tar.gz |
Perforce: Fix testing settings
Changed settings had been taken into account only after
an explicit Apply and this may be rather confusing.
Change-Id: I344ddf18a3cb15b0bc2d2b41a38587395b592e46
Reviewed-by: hjk <hjk@qt.io>
-rw-r--r-- | src/plugins/perforce/perforcesettings.cpp | 22 | ||||
-rw-r--r-- | src/plugins/perforce/perforcesettings.h | 1 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/plugins/perforce/perforcesettings.cpp b/src/plugins/perforce/perforcesettings.cpp index ee18c4ee5f..e62fdade89 100644 --- a/src/plugins/perforce/perforcesettings.cpp +++ b/src/plugins/perforce/perforcesettings.cpp @@ -106,6 +106,23 @@ QStringList PerforceSettings::commonP4Arguments() const return lst; } +QStringList PerforceSettings::commonP4Arguments_volatile() const +{ + QStringList lst; + if (customEnv.volatileValue().toBool()) { + auto p4C = p4Client.volatileValue().toString(); + if (!p4C.isEmpty()) + lst << "-c" << p4C; + auto p4P = p4Port.volatileValue().toString(); + if (!p4P.isEmpty()) + lst << "-p" << p4P; + auto p4U = p4User.volatileValue().toString(); + if (!p4U.isEmpty()) + lst << "-u" << p4U; + } + return lst; +} + bool PerforceSettings::isValid() const { return !m_topLevel.isEmpty() && !p4BinaryPath.value().isEmpty(); @@ -234,7 +251,10 @@ PerforceSettingsPage::PerforceSettingsPage(PerforceSettings *settings) errorLabel->setStyleSheet(QString()); errorLabel->setText(Tr::tr("Testing...")); - checker->start(settings->p4BinaryPath.filePath(), {}, settings->commonP4Arguments(), 10000); + + const FilePath p4Bin = FilePath::fromUserInput( + settings->p4BinaryPath.volatileValue().toString()); + checker->start(p4Bin, {}, settings->commonP4Arguments_volatile(), 10000); }); Group config { diff --git a/src/plugins/perforce/perforcesettings.h b/src/plugins/perforce/perforcesettings.h index f0754e982e..b632d15325 100644 --- a/src/plugins/perforce/perforcesettings.h +++ b/src/plugins/perforce/perforcesettings.h @@ -64,6 +64,7 @@ public: // Return basic arguments, including -d and server connection parameters. QStringList commonP4Arguments() const; QStringList commonP4Arguments(const QString &workingDir) const; + QStringList commonP4Arguments_volatile() const; // remove when auto apply is done void clearTopLevel(); |