forked from qt-creator/qt-creator
Utils: Use FilePath for PathChooser::m_baseDirectory
... and collapse the two accessor versions to one. Change-Id: I282753a0092601cff073684053ff914016452645 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -171,7 +171,7 @@ public:
|
||||
QString m_dialogTitleOverride;
|
||||
QString m_dialogFilter;
|
||||
QString m_initialBrowsePathOverride;
|
||||
QString m_baseDirectory;
|
||||
FilePath m_baseDirectory;
|
||||
Environment m_environment;
|
||||
BinaryVersionToolTipEventFilter *m_binaryVersionToolTipEventFilter = nullptr;
|
||||
QList<QAbstractButton *> m_buttons;
|
||||
@@ -201,7 +201,7 @@ QString PathChooserPrivate::expandedPath(const QString &input) const
|
||||
switch (m_acceptingKind) {
|
||||
case PathChooser::Command:
|
||||
case PathChooser::ExistingCommand: {
|
||||
const FilePath expanded = m_environment.searchInPath(path, {FilePath::fromString(m_baseDirectory)});
|
||||
const FilePath expanded = m_environment.searchInPath(path, {m_baseDirectory});
|
||||
return expanded.isEmpty() ? path : expanded.toString();
|
||||
}
|
||||
case PathChooser::Any:
|
||||
@@ -211,7 +211,7 @@ QString PathChooserPrivate::expandedPath(const QString &input) const
|
||||
case PathChooser::File:
|
||||
case PathChooser::SaveFile:
|
||||
if (!m_baseDirectory.isEmpty() && QFileInfo(path).isRelative())
|
||||
return QFileInfo(m_baseDirectory + '/' + path).absoluteFilePath();
|
||||
return m_baseDirectory.pathAppended(path).toFileInfo().absoluteFilePath();
|
||||
break;
|
||||
}
|
||||
return path;
|
||||
@@ -280,27 +280,17 @@ QAbstractButton *PathChooser::buttonAtIndex(int index) const
|
||||
return d->m_buttons.at(index);
|
||||
}
|
||||
|
||||
QString PathChooser::baseDirectory() const
|
||||
void PathChooser::setBaseDirectory(const FilePath &base)
|
||||
{
|
||||
return d->m_baseDirectory;
|
||||
}
|
||||
|
||||
void PathChooser::setBaseDirectory(const QString &directory)
|
||||
{
|
||||
if (d->m_baseDirectory == directory)
|
||||
if (d->m_baseDirectory == base)
|
||||
return;
|
||||
d->m_baseDirectory = directory;
|
||||
d->m_baseDirectory = base;
|
||||
triggerChanged();
|
||||
}
|
||||
|
||||
FilePath PathChooser::baseFileName() const
|
||||
FilePath PathChooser::baseDirectory() const
|
||||
{
|
||||
return FilePath::fromString(d->m_baseDirectory);
|
||||
}
|
||||
|
||||
void PathChooser::setBaseFileName(const FilePath &base)
|
||||
{
|
||||
setBaseDirectory(base.toString());
|
||||
return d->m_baseDirectory;
|
||||
}
|
||||
|
||||
void PathChooser::setEnvironment(const Environment &env)
|
||||
|
||||
@@ -51,12 +51,11 @@ class QTCREATOR_UTILS_EXPORT PathChooser : public QWidget
|
||||
Q_PROPERTY(QString promptDialogTitle READ promptDialogTitle WRITE setPromptDialogTitle DESIGNABLE true)
|
||||
Q_PROPERTY(QString promptDialogFilter READ promptDialogFilter WRITE setPromptDialogFilter DESIGNABLE true)
|
||||
Q_PROPERTY(Kind expectedKind READ expectedKind WRITE setExpectedKind DESIGNABLE true)
|
||||
Q_PROPERTY(QString baseDirectory READ baseDirectory WRITE setBaseDirectory DESIGNABLE true)
|
||||
Q_PROPERTY(Utils::FilePath baseDirectory READ baseDirectory WRITE setBaseDirectory DESIGNABLE true)
|
||||
Q_PROPERTY(QStringList commandVersionArguments READ commandVersionArguments WRITE setCommandVersionArguments)
|
||||
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly DESIGNABLE true)
|
||||
// Designer does not know this type, so force designable to false:
|
||||
Q_PROPERTY(Utils::FilePath fileName READ fileName WRITE setFileName DESIGNABLE false)
|
||||
Q_PROPERTY(Utils::FilePath baseFileName READ baseFileName WRITE setBaseFileName DESIGNABLE false)
|
||||
Q_PROPERTY(QColor errorColor READ errorColor WRITE setErrorColor DESIGNABLE true)
|
||||
Q_PROPERTY(QColor okColor READ okColor WRITE setOkColor DESIGNABLE true)
|
||||
|
||||
@@ -99,11 +98,8 @@ public:
|
||||
static QString expandedDirectory(const QString &input, const Environment &env,
|
||||
const QString &baseDir);
|
||||
|
||||
QString baseDirectory() const;
|
||||
void setBaseDirectory(const QString &directory);
|
||||
|
||||
FilePath baseFileName() const;
|
||||
void setBaseFileName(const FilePath &base);
|
||||
FilePath baseDirectory() const;
|
||||
void setBaseDirectory(const FilePath &base);
|
||||
|
||||
void setEnvironment(const Environment &env);
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ BuildPathPage::BuildPathPage(AutotoolsOpenProjectWizard *w) : QWizardPage(w),
|
||||
fl->addWidget(label);
|
||||
m_pc->setHistoryCompleter(QLatin1String("AutoTools.BuildDir.History"));
|
||||
auto wiz = static_cast<AutotoolsOpenProjectWizard *>(wizard());
|
||||
m_pc->setBaseDirectory(wiz->sourceDirectory());
|
||||
m_pc->setBaseDirectory(Utils::FilePath::fromString(wiz->sourceDirectory()));
|
||||
m_pc->setPath(wiz->buildDirectory());
|
||||
connect(m_pc, &Utils::PathChooser::rawPathChanged, this, &BuildPathPage::buildDirectoryChanged);
|
||||
fl->addRow(tr("Build directory:"), m_pc);
|
||||
|
||||
@@ -107,7 +107,7 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc)
|
||||
auto project = bc->project();
|
||||
|
||||
auto buildDirChooser = new Utils::PathChooser;
|
||||
buildDirChooser->setBaseFileName(project->projectDirectory());
|
||||
buildDirChooser->setBaseDirectory(project->projectDirectory());
|
||||
buildDirChooser->setFileName(bc->buildDirectory());
|
||||
connect(buildDirChooser, &Utils::PathChooser::rawPathChanged, this,
|
||||
[this](const QString &path) {
|
||||
|
||||
@@ -463,7 +463,7 @@ CMakeToolItemConfigWidget::CMakeToolItemConfigWidget(CMakeToolItemModel *model)
|
||||
|
||||
connect(m_binaryChooser, &PathChooser::rawPathChanged, this, [this]() {
|
||||
updateQchFilePath();
|
||||
m_qchFileChooser->setBaseFileName(m_binaryChooser->fileName().parentDir());
|
||||
m_qchFileChooser->setBaseDirectory(m_binaryChooser->fileName().parentDir());
|
||||
store();
|
||||
});
|
||||
connect(m_qchFileChooser, &PathChooser::rawPathChanged, this, &CMakeToolItemConfigWidget::store);
|
||||
@@ -508,7 +508,7 @@ void CMakeToolItemConfigWidget::load(const CMakeToolTreeItem *item)
|
||||
m_binaryChooser->setFileName(item->m_executable);
|
||||
|
||||
m_qchFileChooser->setReadOnly(item->m_autodetected);
|
||||
m_qchFileChooser->setBaseFileName(item->m_executable.parentDir());
|
||||
m_qchFileChooser->setBaseDirectory(item->m_executable.parentDir());
|
||||
m_qchFileChooser->setFileName(item->m_qchFile);
|
||||
|
||||
m_autoRunCheckBox->setChecked(item->m_isAutoRun);
|
||||
|
||||
@@ -42,7 +42,7 @@ QWidget *ConfigModelItemDelegate::createEditor(QWidget *parent, const QStyleOpti
|
||||
if (data.type == ConfigModel::DataItem::FILE || data.type == ConfigModel::DataItem::DIRECTORY) {
|
||||
auto edit = new Utils::PathChooser(parent);
|
||||
edit->setFocusPolicy(Qt::StrongFocus);
|
||||
edit->setBaseFileName(m_base);
|
||||
edit->setBaseDirectory(m_base);
|
||||
edit->setAutoFillBackground(true);
|
||||
if (data.type == ConfigModel::DataItem::FILE) {
|
||||
edit->setExpectedKind(Utils::PathChooser::File);
|
||||
|
||||
@@ -79,7 +79,7 @@ ImportWidget::ImportWidget(QWidget *parent) :
|
||||
|
||||
void ImportWidget::setCurrentDirectory(const Utils::FilePath &dir)
|
||||
{
|
||||
m_pathChooser->setBaseFileName(dir);
|
||||
m_pathChooser->setBaseDirectory(dir);
|
||||
m_pathChooser->setFileName(dir);
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ void ImportWidget::handleImportRequest()
|
||||
Utils::FilePath dir = m_pathChooser->fileName();
|
||||
emit importFrom(dir);
|
||||
|
||||
m_pathChooser->setFileName(m_pathChooser->baseFileName());
|
||||
m_pathChooser->setFileName(m_pathChooser->baseDirectory());
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -773,7 +773,7 @@ void PathChooserField::initializeData(MacroExpander *expander)
|
||||
{
|
||||
auto w = qobject_cast<PathChooser *>(widget());
|
||||
QTC_ASSERT(w, return);
|
||||
w->setBaseDirectory(expander->expand(m_basePath));
|
||||
w->setBaseDirectory(expander->expand(FilePath::fromString(m_basePath)));
|
||||
w->setExpectedKind(m_kind);
|
||||
|
||||
if (m_currentPath.isNull())
|
||||
|
||||
@@ -408,7 +408,7 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep)
|
||||
}
|
||||
|
||||
m_ui->makeLineEdit->setExpectedKind(Utils::PathChooser::ExistingCommand);
|
||||
m_ui->makeLineEdit->setBaseDirectory(Utils::PathChooser::homePath());
|
||||
m_ui->makeLineEdit->setBaseDirectory(FilePath::fromString(PathChooser::homePath()));
|
||||
m_ui->makeLineEdit->setHistoryCompleter("PE.MakeCommand.History");
|
||||
m_ui->makeLineEdit->setPath(m_makeStep->makeCommand().toString());
|
||||
m_ui->makeArgumentsLineEdit->setText(m_makeStep->userArguments());
|
||||
|
||||
@@ -268,7 +268,7 @@ void BaseStringAspect::setBaseFileName(const FilePath &baseFileName)
|
||||
{
|
||||
d->m_baseFileName = baseFileName;
|
||||
if (d->m_pathChooserDisplay)
|
||||
d->m_pathChooserDisplay->setBaseFileName(baseFileName);
|
||||
d->m_pathChooserDisplay->setBaseDirectory(baseFileName);
|
||||
}
|
||||
|
||||
void BaseStringAspect::setReadOnly(bool readOnly)
|
||||
@@ -323,7 +323,7 @@ void BaseStringAspect::addToLayout(LayoutBuilder &builder)
|
||||
if (!d->m_historyCompleterKey.isEmpty())
|
||||
d->m_pathChooserDisplay->setHistoryCompleter(d->m_historyCompleterKey);
|
||||
d->m_pathChooserDisplay->setEnvironment(d->m_environment);
|
||||
d->m_pathChooserDisplay->setBaseFileName(d->m_baseFileName);
|
||||
d->m_pathChooserDisplay->setBaseDirectory(d->m_baseFileName);
|
||||
d->m_pathChooserDisplay->setReadOnly(d->m_readOnly);
|
||||
useMacroExpander(d->m_pathChooserDisplay->lineEdit());
|
||||
connect(d->m_pathChooserDisplay, &PathChooser::pathChanged,
|
||||
|
||||
@@ -147,7 +147,7 @@ void WorkingDirectoryAspect::addToLayout(LayoutBuilder &builder)
|
||||
m_chooser->setHistoryCompleter(settingsKey());
|
||||
m_chooser->setExpectedKind(Utils::PathChooser::Directory);
|
||||
m_chooser->setPromptDialogTitle(tr("Select Working Directory"));
|
||||
m_chooser->setBaseFileName(m_defaultWorkingDirectory);
|
||||
m_chooser->setBaseDirectory(m_defaultWorkingDirectory);
|
||||
m_chooser->setFileName(m_workingDirectory.isEmpty() ? m_defaultWorkingDirectory : m_workingDirectory);
|
||||
connect(m_chooser.data(), &PathChooser::pathChanged, this,
|
||||
[this]() {
|
||||
@@ -234,7 +234,7 @@ void WorkingDirectoryAspect::setDefaultWorkingDirectory(const FilePath &defaultW
|
||||
Utils::FilePath oldDefaultDir = m_defaultWorkingDirectory;
|
||||
m_defaultWorkingDirectory = defaultWorkingDir;
|
||||
if (m_chooser)
|
||||
m_chooser->setBaseFileName(m_defaultWorkingDirectory);
|
||||
m_chooser->setBaseDirectory(m_defaultWorkingDirectory);
|
||||
|
||||
if (m_workingDirectory.isEmpty() || m_workingDirectory == oldDefaultDir) {
|
||||
if (m_chooser)
|
||||
|
||||
@@ -229,7 +229,7 @@ void FindInFiles::setDirectory(const FilePath &directory)
|
||||
|
||||
void FindInFiles::setBaseDirectory(const FilePath &directory)
|
||||
{
|
||||
m_directory->setBaseFileName(directory);
|
||||
m_directory->setBaseDirectory(directory);
|
||||
}
|
||||
|
||||
FilePath FindInFiles::directory() const
|
||||
|
||||
Reference in New Issue
Block a user