summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2023-05-10 13:03:33 +0200
committerChristian Stenger <christian.stenger@qt.io>2023-05-15 04:52:55 +0000
commit9c2fa5c975d3a416d858d2635b718d6e5afaaecc (patch)
tree649815ff145510e1c6dfa868382c64a5031584e1
parent985c1ee3e9dc0298405e9400f7016d869ec4676e (diff)
downloadqt-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.cpp22
-rw-r--r--src/plugins/perforce/perforcesettings.h1
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();