forked from qt-creator/qt-creator
ProjectExplorer: Use FileName in WorkingDirectoryAspect
+ use native separators for user visible strings Change-Id: Id6e4e27db369314f70e355a395cfddca12b8ea90 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
44539772a3
commit
cb501d4824
@@ -322,7 +322,12 @@ QString PathChooser::path() const
|
|||||||
|
|
||||||
QString PathChooser::rawPath() const
|
QString PathChooser::rawPath() const
|
||||||
{
|
{
|
||||||
return FileName::fromUserInput(QDir::fromNativeSeparators(d->m_lineEdit->text())).toString();
|
return rawFileName().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
FileName PathChooser::rawFileName() const
|
||||||
|
{
|
||||||
|
return FileName::fromUserInput(d->m_lineEdit->text());
|
||||||
}
|
}
|
||||||
|
|
||||||
FileName PathChooser::fileName() const
|
FileName PathChooser::fileName() const
|
||||||
|
@@ -98,6 +98,7 @@ public:
|
|||||||
|
|
||||||
QString path() const;
|
QString path() const;
|
||||||
QString rawPath() const; // The raw unexpanded input.
|
QString rawPath() const; // The raw unexpanded input.
|
||||||
|
FileName rawFileName() const; // The raw unexpanded input.
|
||||||
FileName fileName() const;
|
FileName fileName() const;
|
||||||
|
|
||||||
QString baseDirectory() const;
|
QString baseDirectory() const;
|
||||||
|
@@ -162,10 +162,10 @@ void WorkingDirectoryAspect::addToMainConfigurationWidget(QWidget *parent, QForm
|
|||||||
m_chooser->setHistoryCompleter(m_key);
|
m_chooser->setHistoryCompleter(m_key);
|
||||||
m_chooser->setExpectedKind(Utils::PathChooser::Directory);
|
m_chooser->setExpectedKind(Utils::PathChooser::Directory);
|
||||||
m_chooser->setPromptDialogTitle(tr("Select Working Directory"));
|
m_chooser->setPromptDialogTitle(tr("Select Working Directory"));
|
||||||
m_chooser->lineEdit()->setPlaceholderText(m_defaultWorkingDirectory);
|
m_chooser->lineEdit()->setPlaceholderText(m_defaultWorkingDirectory.toUserOutput());
|
||||||
m_chooser->setPath(m_workingDirectory);
|
m_chooser->setFileName(m_workingDirectory);
|
||||||
connect(m_chooser.data(), &PathChooser::pathChanged, this,
|
connect(m_chooser.data(), &PathChooser::pathChanged, this,
|
||||||
[this]() { m_workingDirectory = m_chooser->rawPath(); });
|
[this]() { m_workingDirectory = m_chooser->rawFileName(); });
|
||||||
|
|
||||||
auto resetButton = new QToolButton(parent);
|
auto resetButton = new QToolButton(parent);
|
||||||
resetButton->setToolTip(tr("Reset to Default"));
|
resetButton->setToolTip(tr("Reset to Default"));
|
||||||
@@ -197,39 +197,40 @@ void WorkingDirectoryAspect::resetPath()
|
|||||||
|
|
||||||
void WorkingDirectoryAspect::fromMap(const QVariantMap &map)
|
void WorkingDirectoryAspect::fromMap(const QVariantMap &map)
|
||||||
{
|
{
|
||||||
m_workingDirectory = map.value(m_key).toString();
|
m_workingDirectory = FileName::fromString(map.value(m_key).toString());
|
||||||
m_defaultWorkingDirectory = map.value(keyForDefaultWd()).toString();
|
m_defaultWorkingDirectory = FileName::fromString(map.value(keyForDefaultWd()).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorkingDirectoryAspect::toMap(QVariantMap &data) const
|
void WorkingDirectoryAspect::toMap(QVariantMap &data) const
|
||||||
{
|
{
|
||||||
data.insert(m_key, m_workingDirectory);
|
data.insert(m_key, m_workingDirectory.toString());
|
||||||
data.insert(keyForDefaultWd(), m_defaultWorkingDirectory);
|
data.insert(keyForDefaultWd(), m_defaultWorkingDirectory.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
QString WorkingDirectoryAspect::workingDirectory() const
|
FileName WorkingDirectoryAspect::workingDirectory() const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(m_chooser, return m_defaultWorkingDirectory);
|
QTC_ASSERT(m_chooser, return m_defaultWorkingDirectory);
|
||||||
return m_workingDirectory.isEmpty()
|
if (m_workingDirectory.isEmpty())
|
||||||
? m_defaultWorkingDirectory
|
return m_defaultWorkingDirectory;
|
||||||
: runConfiguration()->macroExpander()->expandProcessArgs(m_chooser->path());
|
return FileName::fromString(
|
||||||
|
runConfiguration()->macroExpander()->expandProcessArgs(m_chooser->path()));
|
||||||
}
|
}
|
||||||
|
|
||||||
QString WorkingDirectoryAspect::defaultWorkingDirectory() const
|
FileName WorkingDirectoryAspect::defaultWorkingDirectory() const
|
||||||
{
|
{
|
||||||
return m_defaultWorkingDirectory;
|
return m_defaultWorkingDirectory;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString WorkingDirectoryAspect::unexpandedWorkingDirectory() const
|
FileName WorkingDirectoryAspect::unexpandedWorkingDirectory() const
|
||||||
{
|
{
|
||||||
return m_workingDirectory;
|
return m_workingDirectory;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WorkingDirectoryAspect::setDefaultWorkingDirectory(const QString &defaultWorkingDir)
|
void WorkingDirectoryAspect::setDefaultWorkingDirectory(const FileName &defaultWorkingDir)
|
||||||
{
|
{
|
||||||
m_defaultWorkingDirectory = defaultWorkingDir;
|
m_defaultWorkingDirectory = defaultWorkingDir;
|
||||||
if (m_chooser)
|
if (m_chooser)
|
||||||
m_chooser->lineEdit()->setPlaceholderText(m_defaultWorkingDirectory);
|
m_chooser->lineEdit()->setPlaceholderText(m_defaultWorkingDirectory.toUserOutput());
|
||||||
}
|
}
|
||||||
|
|
||||||
PathChooser *WorkingDirectoryAspect::pathChooser() const
|
PathChooser *WorkingDirectoryAspect::pathChooser() const
|
||||||
|
@@ -34,6 +34,8 @@
|
|||||||
#include "runconfiguration.h"
|
#include "runconfiguration.h"
|
||||||
#include "applicationlauncher.h"
|
#include "applicationlauncher.h"
|
||||||
|
|
||||||
|
#include <utils/fileutils.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class QFormLayout;
|
class QFormLayout;
|
||||||
@@ -92,10 +94,10 @@ public:
|
|||||||
|
|
||||||
void addToMainConfigurationWidget(QWidget *parent, QFormLayout *layout);
|
void addToMainConfigurationWidget(QWidget *parent, QFormLayout *layout);
|
||||||
|
|
||||||
QString workingDirectory() const;
|
Utils::FileName workingDirectory() const;
|
||||||
QString defaultWorkingDirectory() const;
|
Utils::FileName defaultWorkingDirectory() const;
|
||||||
QString unexpandedWorkingDirectory() const;
|
Utils::FileName unexpandedWorkingDirectory() const;
|
||||||
void setDefaultWorkingDirectory(const QString &defaultWorkingDir);
|
void setDefaultWorkingDirectory(const Utils::FileName &defaultWorkingDir);
|
||||||
Utils::PathChooser *pathChooser() const;
|
Utils::PathChooser *pathChooser() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -105,8 +107,8 @@ private:
|
|||||||
void resetPath();
|
void resetPath();
|
||||||
QString keyForDefaultWd() const;
|
QString keyForDefaultWd() const;
|
||||||
|
|
||||||
QString m_workingDirectory;
|
Utils::FileName m_workingDirectory;
|
||||||
QString m_defaultWorkingDirectory;
|
Utils::FileName m_defaultWorkingDirectory;
|
||||||
QPointer<Utils::PathChooser> m_chooser;
|
QPointer<Utils::PathChooser> m_chooser;
|
||||||
QString m_key;
|
QString m_key;
|
||||||
};
|
};
|
||||||
|
@@ -248,7 +248,7 @@ QString QbsRunConfiguration::workingDirectory() const
|
|||||||
{
|
{
|
||||||
const auto *wdAspect = extraAspect<WorkingDirectoryAspect>();
|
const auto *wdAspect = extraAspect<WorkingDirectoryAspect>();
|
||||||
QTC_ASSERT(wdAspect, return baseWorkingDirectory());
|
QTC_ASSERT(wdAspect, return baseWorkingDirectory());
|
||||||
return wdAspect->workingDirectory();
|
return wdAspect->workingDirectory().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QbsRunConfiguration::baseWorkingDirectory() const
|
QString QbsRunConfiguration::baseWorkingDirectory() const
|
||||||
@@ -393,7 +393,7 @@ void QbsRunConfigurationWidget::targetInformationHasChanged()
|
|||||||
setExecutableLineText(m_rc->executable());
|
setExecutableLineText(m_rc->executable());
|
||||||
|
|
||||||
WorkingDirectoryAspect *aspect = m_rc->extraAspect<WorkingDirectoryAspect>();
|
WorkingDirectoryAspect *aspect = m_rc->extraAspect<WorkingDirectoryAspect>();
|
||||||
aspect->setDefaultWorkingDirectory(m_rc->baseWorkingDirectory());
|
aspect->setDefaultWorkingDirectory(Utils::FileName::fromString(m_rc->baseWorkingDirectory()));
|
||||||
aspect->pathChooser()->setBaseFileName(m_rc->target()->project()->projectDirectory());
|
aspect->pathChooser()->setBaseFileName(m_rc->target()->project()->projectDirectory());
|
||||||
m_ignoreChange = false;
|
m_ignoreChange = false;
|
||||||
}
|
}
|
||||||
|
@@ -316,7 +316,7 @@ void DesktopQmakeRunConfigurationWidget::effectiveTargetInformationChanged()
|
|||||||
|
|
||||||
m_ignoreChange = true;
|
m_ignoreChange = true;
|
||||||
auto aspect = m_qmakeRunConfiguration->extraAspect<WorkingDirectoryAspect>();
|
auto aspect = m_qmakeRunConfiguration->extraAspect<WorkingDirectoryAspect>();
|
||||||
aspect->setDefaultWorkingDirectory(m_qmakeRunConfiguration->baseWorkingDirectory());
|
aspect->setDefaultWorkingDirectory(FileName::fromString(m_qmakeRunConfiguration->baseWorkingDirectory()));
|
||||||
aspect->pathChooser()->setBaseFileName(m_qmakeRunConfiguration->target()->project()->projectDirectory());
|
aspect->pathChooser()->setBaseFileName(m_qmakeRunConfiguration->target()->project()->projectDirectory());
|
||||||
m_ignoreChange = false;
|
m_ignoreChange = false;
|
||||||
}
|
}
|
||||||
@@ -393,7 +393,7 @@ void DesktopQmakeRunConfiguration::setUsingLibrarySearchPath(bool state)
|
|||||||
|
|
||||||
QString DesktopQmakeRunConfiguration::workingDirectory() const
|
QString DesktopQmakeRunConfiguration::workingDirectory() const
|
||||||
{
|
{
|
||||||
return extraAspect<WorkingDirectoryAspect>()->workingDirectory();
|
return extraAspect<WorkingDirectoryAspect>()->workingDirectory().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DesktopQmakeRunConfiguration::baseWorkingDirectory() const
|
QString DesktopQmakeRunConfiguration::baseWorkingDirectory() const
|
||||||
|
Reference in New Issue
Block a user