Commit 02937fdc authored by Jarek Kobus's avatar Jarek Kobus Committed by Jarek Kobus

Make lib path chooser case-insensitive on Windows

Clear the old maemo stuff.

Task-number: QTCREATORBUG-16057
Change-Id: Ib349683e979a202c2244d6cdeec18a20517be4f6
Reviewed-by: Tobias Hunger's avatarTobias Hunger <tobias.hunger@qt.io>
parent b4ca0434
......@@ -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"));
......
......@@ -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);
......
......@@ -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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment