static bool validateLibraryPath(const Utils::FileName &filePath, const Utils::PathChooser *pathChooser, QString *errorMessage) { Q_UNUSED(errorMessage); if (!filePath.exists()) return false; 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; } return false; }
void QmakeProjectManagerPluginPrivate::enableBuildFileMenus(const Utils::FileName &file) { bool visible = false; bool enabled = false; if (Node *node = ProjectTree::nodeForFile(file)) { if (Project *project = SessionManager::projectForFile(file)) { if (const FileNode *fileNode = node->asFileNode()) { const FileType type = fileNode->fileType(); visible = qobject_cast<QmakeProject *>(project) && dynamic_cast<QmakePriFileNode *>(node->parentProjectNode()) && (type == FileType::Source || type == FileType::Header); enabled = !BuildManager::isBuilding(project); m_buildFileAction->setParameter(file.fileName()); } } } m_buildFileAction->setVisible(visible); m_buildFileAction->setEnabled(enabled); m_buildFileContextMenu->setEnabled(visible && enabled); }