Make lib path chooser case-insensitive on Windows

Clear the old maemo stuff.

Task-number: QTCREATORBUG-16057
Change-Id: Ib349683e979a202c2244d6cdeec18a20517be4f6
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Jarek Kobus
2016-08-08 15:16:24 +02:00
committed by Jarek Kobus
parent b4ca04346e
commit 02937fdc4b
3 changed files with 12 additions and 38 deletions

View File

@@ -28,18 +28,18 @@
#include "librarydetailscontroller.h"
#include <utils/hostosinfo.h>
#include <utils/fileutils.h>
#include <QVBoxLayout>
#include <QRadioButton>
#include <QLabel>
#include <QFileInfo>
#include <QDebug>
#include <QTextStream>
using namespace QmakeProjectManager;
using namespace QmakeProjectManager::Internal;
const char qt_file_dialog_filter_reg_exp[] =
"^(.*)\\(([a-zA-Z0-9_.*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$";
@@ -54,19 +54,20 @@ QStringList qt_clean_filter_list(const QString &filter)
return f.split(QLatin1Char(' '), QString::SkipEmptyParts);
}
static bool validateLibraryPath(const QString &path, const Utils::PathChooser *pathChooser,
static bool validateLibraryPath(const Utils::FileName &filePath,
const Utils::PathChooser *pathChooser,
QString *errorMessage)
{
Q_UNUSED(errorMessage);
QFileInfo fi(path);
if (!fi.exists())
if (!filePath.exists())
return false;
const QString fileName = fi.fileName();
const QString fileName = filePath.fileName();
QStringList filters = qt_clean_filter_list(pathChooser->promptDialogFilter());
for (int i = 0; i < filters.count(); i++) {
QRegExp regExp(filters.at(i));
regExp.setCaseSensitivity(Utils::HostOsInfo::fileNameCaseSensitivity());
regExp.setPatternSyntax(QRegExp::Wildcard);
if (regExp.exactMatch(fileName))
return true;
@@ -195,8 +196,8 @@ DetailsPage::DetailsPage(AddLibraryWizard *parent)
const auto pathValidator = [libPathChooser](Utils::FancyLineEdit *edit, QString *errorMessage) {
return libPathChooser->defaultValidationFunction()(edit, errorMessage)
&& validateLibraryPath(libPathChooser->fileName().toString(), libPathChooser,
errorMessage);
&& validateLibraryPath(libPathChooser->fileName(),
libPathChooser, errorMessage);
};
libPathChooser->setValidationFunction(pathValidator);
setProperty(Utils::SHORT_TITLE_PROPERTY, tr("Details"));