summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@theqtcompany.com>2016-08-08 15:16:24 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2016-10-04 10:03:33 +0000
commit02937fdc4bdf130e57247dd11c7450551c9df61c (patch)
tree1684c1e061dc7f0114797040531928cb3dfb07ee /src
parentb4ca04346eb427faf077eaad6a4d9cb349493b7b (diff)
downloadqt-creator-02937fdc4bdf130e57247dd11c7450551c9df61c.tar.gz
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>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmakeprojectmanager/addlibrarywizard.cpp17
-rw-r--r--src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp30
-rw-r--r--src/plugins/qmakeprojectmanager/librarydetailscontroller.h3
3 files changed, 12 insertions, 38 deletions
diff --git a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp
index 402b3e7ecb..aa0806705b 100644
--- a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp
+++ b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp
@@ -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"));
diff --git a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
index ff110d48f5..3fe5583f8b 100644
--- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
+++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp
@@ -31,10 +31,7 @@
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h>
-#include <projectexplorer/project.h>
-#include <projectexplorer/kitinformation.h>
#include <projectexplorer/target.h>
-#include <projectexplorer/toolchain.h>
#include <utils/hostosinfo.h>
#include <utils/qtcprocess.h>
@@ -53,41 +50,16 @@ LibraryDetailsController::LibraryDetailsController(
m_proFile(proFile),
m_libraryDetailsWidget(libraryDetails)
{
+ m_creatorPlatform = CreatorLinux;
switch (Utils::HostOsInfo::hostOs()) {
case Utils::OsTypeMac:
m_creatorPlatform = CreatorMac;
- break;
- case Utils::OsTypeLinux:
- m_creatorPlatform = CreatorLinux;
- break;
case Utils::OsTypeWindows:
m_creatorPlatform = CreatorWindows;
- break;
default:
break;
}
- if (!Utils::HostOsInfo::isLinuxHost()) {
- // project for which we are going to insert the snippet
- const Project *project = SessionManager::projectForFile(Utils::FileName::fromString(proFile));
- if (project && project->activeTarget()) {
- // if its tool chain is maemo behave the same as we would be on linux
- ProjectExplorer::ToolChain *tc = ToolChainKitInformation::toolChain(project->activeTarget()->kit(), ToolChain::Language::Cxx);
- if (tc) {
- switch (tc->targetAbi().os()) {
- case Abi::WindowsOS:
- m_creatorPlatform = CreatorWindows;
- break;
- case Abi::DarwinOS:
- m_creatorPlatform = CreatorMac;
- break;
- default:
- m_creatorPlatform = CreatorLinux;
- break;
- }
- }
- }
- }
setPlatformsVisible(true);
setLinkageGroupVisible(true);
setMacLibraryGroupVisible(true);
diff --git a/src/plugins/qmakeprojectmanager/librarydetailscontroller.h b/src/plugins/qmakeprojectmanager/librarydetailscontroller.h
index 15a8d20b6c..d6c2d47654 100644
--- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.h
+++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.h
@@ -42,10 +42,11 @@ public:
QObject *parent = 0);
virtual bool isComplete() const = 0;
virtual QString snippet() const = 0;
+
signals:
void completeChanged();
-protected:
+protected:
enum CreatorPlatform {
CreatorLinux,
CreatorMac,