diff --git a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp index 402b3e7ecb9..aa0806705b6 100644 --- a/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp +++ b/src/plugins/qmakeprojectmanager/addlibrarywizard.cpp @@ -28,18 +28,18 @@ #include "librarydetailscontroller.h" #include +#include #include #include #include #include -#include +#include 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 ff110d48f5e..3fe5583f8b6 100644 --- a/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp +++ b/src/plugins/qmakeprojectmanager/librarydetailscontroller.cpp @@ -31,10 +31,7 @@ #include #include -#include -#include #include -#include #include #include @@ -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 15a8d20b6cf..d6c2d47654d 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,