void VcsPlugin::updateVariable(const QByteArray &variable) { static ProjectExplorer::Project *cachedProject = 0; static Core::IVersionControl *cachedVc = 0; static QString cachedTopLevel; ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::currentProject(); if (cachedProject != project) { cachedVc = Core::VcsManager::findVersionControlForDirectory(project->projectDirectory().toString(), &cachedTopLevel); cachedProject = project; } if (variable == Constants::VAR_VCS_NAME) { if (cachedVc) Core::VariableManager::insert(variable, cachedVc->displayName()); else Core::VariableManager::remove(variable); } else if (variable == Constants::VAR_VCS_TOPIC) { if (cachedVc) Core::VariableManager::insert(variable, cachedVc->vcsTopic(cachedTopLevel)); else Core::VariableManager::remove(variable); } }
QStringList VeraTool::m_getOpenedProjectFiles() const { ProjectExplorer::Project *project = ProjectExplorer::ProjectTree::currentProject(); QStringList sourceFiles = project->files(ProjectExplorer::Project::FilesMode::SourceFiles); QRegExp rx(".\\.(h|hh|hxx|h\\+\\+|hpp|hp|H|cxx|cc|C|cpp|c\\+\\+|cp|inl|qdoc|tcc|tpp|t\\+\\+|txx)$"); return sourceFiles.filter(rx); }
static QString qmakeProperty(const char *propertyName) { ProjectExplorer::Project *project = ProjectExplorer::ProjectTree::currentProject(); if (!project || !project->activeTarget()) return QString(); const BaseQtVersion *qtVersion = QtKitInformation::qtVersion(project->activeTarget()->kit()); if (!qtVersion) return QString(); return qtVersion->qmakeProperty(propertyName); }
void CallgrindToolPrivate::handleFilterProjectCosts() { ProjectExplorer::Project *pro = ProjectExplorer::ProjectExplorerPlugin::currentProject(); QTC_ASSERT(pro, return); if (m_filterProjectCosts->isChecked()) { const QString projectDir = pro->projectDirectory(); m_proxyModel->setFilterBaseDir(projectDir); } else { m_proxyModel->setFilterBaseDir(QString()); } }
void DocumentManager::findPathToIsoProFile(bool *iconResourceFileAlreadyExists, QString *resourceFilePath, QString *resourceFileProPath, const QString &isoIconsQrcFile) { Utils::FileName qmlFileName = QmlDesignerPlugin::instance()->currentDesignDocument()->fileName(); ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile(qmlFileName); ProjectExplorer::Node *node = ProjectExplorer::SessionManager::nodeForFile(qmlFileName)->parentFolderNode(); ProjectExplorer::Node *iconQrcFileNode = nullptr; while (node && !iconQrcFileNode) { qCDebug(documentManagerLog) << "Checking" << node->displayName() << "(" << node << node->nodeType() << ")"; if (node->nodeType() == ProjectExplorer::VirtualFolderNodeType && node->displayName() == "Resources") { ProjectExplorer::VirtualFolderNode *virtualFolderNode = dynamic_cast<ProjectExplorer::VirtualFolderNode*>(node); for (int subFolderIndex = 0; subFolderIndex < virtualFolderNode->subFolderNodes().size() && !iconQrcFileNode; ++subFolderIndex) { ProjectExplorer::FolderNode *subFolderNode = virtualFolderNode->subFolderNodes().at(subFolderIndex); qCDebug(documentManagerLog) << "Checking if" << subFolderNode->displayName() << "(" << subFolderNode << subFolderNode->nodeType() << ") is" << isoIconsQrcFile; if (subFolderNode->nodeType() == ProjectExplorer::FolderNodeType && subFolderNode->displayName() == isoIconsQrcFile) { qCDebug(documentManagerLog) << "Found" << isoIconsQrcFile << "in" << virtualFolderNode->filePath(); iconQrcFileNode = subFolderNode; *resourceFileProPath = iconQrcFileNode->projectNode()->filePath().toString(); } } } if (!iconQrcFileNode) { qCDebug(documentManagerLog) << "Didn't find" << isoIconsQrcFile << "in" << node->displayName() << "; checking parent"; node = node->parentFolderNode(); } } if (!iconQrcFileNode) { // The QRC file that we want doesn't exist or is not listed under RESOURCES in the .pro. *resourceFilePath = project->projectDirectory().toString() + "/" + isoIconsQrcFile; // We assume that the .pro containing the QML file is an acceptable place to add the .qrc file. ProjectExplorer::ProjectNode *projectNode = ProjectExplorer::SessionManager::nodeForFile(qmlFileName)->projectNode(); *resourceFileProPath = projectNode->filePath().toString(); } else { // We found the QRC file that we want. QString projectDirectory = ProjectExplorer::SessionManager::projectForNode(iconQrcFileNode)->projectDirectory().toString(); *resourceFilePath = projectDirectory + "/" + isoIconsQrcFile; } *iconResourceFileAlreadyExists = iconQrcFileNode != 0; }
void ResourceHandler::updateResources() { ensureInitialized(); const QString fileName = m_form->fileName(); QTC_ASSERT(!fileName.isEmpty(), return) if (Designer::Constants::Internal::debug) qDebug() << "ResourceHandler::updateResources()" << fileName; ProjectExplorer::ProjectExplorerPlugin *pe = ProjectExplorer::ProjectExplorerPlugin::instance(); // filename could change in the meantime. ProjectExplorer::Project *project = pe->session()->projectForFile(fileName); // Does the file belong to a project? if (project) { // Collect project resource files. ProjectNode *root = project->rootProjectNode(); QrcFilesVisitor qrcVisitor; root->accept(&qrcVisitor); const QStringList projectQrcFiles = qrcVisitor.qrcFiles(); #if QT_VERSION >= 0x050000 m_form->activateResourceFilePaths(projectQrcFiles); m_form->setResourceFileSaveMode(QDesignerFormWindowInterface::SaveOnlyUsedResourceFiles); #else m_form->resourceSet()->activateQrcPaths(projectQrcFiles); m_form->setSaveResourcesBehaviour(qdesigner_internal::FormWindowBase::SaveOnlyUsedQrcFiles); #endif if (Designer::Constants::Internal::debug) qDebug() << "ResourceHandler::updateResources()" << fileName << " associated with project" << project->rootProjectNode()->path() << " using project qrc files" << projectQrcFiles.size(); } else { // Use resource file originally used in form #if QT_VERSION >= 0x050000 m_form->activateResourceFilePaths(m_originalUiQrcPaths); m_form->setResourceFileSaveMode(QDesignerFormWindowInterface::SaveAllResourceFiles); #else m_form->resourceSet()->activateQrcPaths(m_originalUiQrcPaths); m_form->setSaveResourcesBehaviour(qdesigner_internal::FormWindowBase::SaveAll); #endif if (Designer::Constants::Internal::debug) qDebug() << "ResourceHandler::updateResources()" << fileName << " not associated with project, using loaded qrc files."; } }
void QtSupportPlugin::updateVariable(const QByteArray &variable) { if (variable != kHostBins && variable != kInstallBins) return; ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::currentProject(); if (!project || !project->activeTarget()) { VariableManager::remove(variable); return; } const BaseQtVersion *qtVersion = QtKitInformation::qtVersion(project->activeTarget()->kit()); if (!qtVersion) { VariableManager::remove(variable); return; } QString value = qtVersion->qmakeProperty(variable == kHostBins ? "QT_HOST_BINS" : "QT_INSTALL_BINS"); VariableManager::insert(variable, value); }
CPlusPlus::Overview CppCodeStyleSettings::currentProjectCodeStyleOverview() { ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::currentProject(); if (! project) return currentGlobalCodeStyleOverview(); ProjectExplorer::EditorConfiguration *editorConfiguration = project->editorConfiguration(); QTC_ASSERT(editorConfiguration, return currentGlobalCodeStyleOverview()); TextEditor::ICodeStylePreferences *codeStylePreferences = editorConfiguration->codeStyle(Constants::CPP_SETTINGS_ID); QTC_ASSERT(codeStylePreferences, return currentGlobalCodeStyleOverview()); CppCodeStylePreferences *cppCodeStylePreferences = dynamic_cast<CppCodeStylePreferences *>(codeStylePreferences); QTC_ASSERT(cppCodeStylePreferences, return currentGlobalCodeStyleOverview()); CppCodeStyleSettings settings = cppCodeStylePreferences->currentCodeStyleSettings(); CPlusPlus::Overview overview; configureOverviewWithCodeStyleSettings(overview, settings); return overview; }
bool AndroidDeployQtStep::init() { if (AndroidManager::checkForQt51Files(project()->projectDirectory())) emit addOutput(tr("Found old android folder in source directory. Qt 5.2 does not use that folder by default."), ErrorOutput); m_targetArch = AndroidManager::targetArch(target()); m_deviceAPILevel = AndroidManager::minimumSDK(target()); AndroidDeviceInfo info = AndroidConfigurations::instance().showDeviceDialog(project(), m_deviceAPILevel, m_targetArch); if (info.serialNumber.isEmpty()) // aborted return false; if (info.type == AndroidDeviceInfo::Emulator) { m_avdName = info.serialNumber; m_serialNumber.clear(); m_deviceAPILevel = info.sdk; } else { m_avdName.clear(); m_serialNumber = info.serialNumber; } Qt4ProjectManager::Qt4BuildConfiguration *bc = static_cast<Qt4ProjectManager::Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); if (m_signPackage) { // check keystore and certificate passwords while (!AndroidManager::checkKeystorePassword(m_keystorePath.toString(), m_keystorePasswd)) { if (!keystorePassword()) return false; // user canceled } while (!AndroidManager::checkCertificatePassword(m_keystorePath.toString(), m_keystorePasswd, m_certificateAlias, m_certificatePasswd)) { if (!certificatePassword()) return false; // user canceled } if ((bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild)) emit addOutput(tr("Warning: Signing a debug package."), BuildStep::ErrorMessageOutput); } QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!version) return false; ProjectExplorer::Project *project = target()->project(); JavaParser *parser = new JavaParser; parser->setProjectFileList(project->files(ProjectExplorer::Project::AllFiles)); setOutputParser(parser); QString command = version->qmakeProperty("QT_HOST_BINS"); if (!command.endsWith(QLatin1Char('/'))) command += QLatin1Char('/'); command += QLatin1String("androiddeployqt"); if (Utils::HostOsInfo::isWindowsHost()) command += QLatin1String(".exe"); QString deploymentMethod; if (m_deployAction == MinistroDeployment) deploymentMethod = QLatin1String("ministro"); else if (m_deployAction == DebugDeployment) deploymentMethod = QLatin1String("debug"); else if (m_deployAction == BundleLibrariesDeployment) deploymentMethod = QLatin1String("bundled"); QString outputDir = bc->buildDirectory().appendPath(QLatin1String("android")).toString(); QStringList arguments; arguments << QLatin1String("--input") << m_inputFile << QLatin1String("--output") << outputDir << QLatin1String("--deployment") << deploymentMethod << QLatin1String("--install") << QLatin1String("--ant") << AndroidConfigurations::instance().antToolPath().toString() << QLatin1String("--android-platform") << m_buildTargetSdk << QLatin1String("--jdk") << AndroidConfigurations::instance().openJDKPath().toString(); if (m_verbose) arguments << QLatin1String("--verbose"); if (m_avdName.isEmpty()) arguments << QLatin1String("--device") << info.serialNumber; if (m_signPackage) { arguments << QLatin1String("--sign") << m_keystorePath.toString() << m_certificateAlias << QLatin1String("--storepass") << m_keystorePasswd; if (!m_certificatePasswd.isEmpty()) arguments << QLatin1String("--keypass") << m_certificatePasswd; } ProjectExplorer::ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); pp->setWorkingDirectory(bc->buildDirectory().toString()); Utils::Environment env = bc->environment(); // Force output to english for the parsers. Do this here and not in the toolchain's // addToEnvironment() to not screw up the users run environment. env.set(QLatin1String("LC_ALL"), QLatin1String("C")); pp->setEnvironment(env); pp->setCommand(command); pp->setArguments(Utils::QtcProcess::joinArgs(arguments)); pp->resolveAll(); m_openPackageLocationForRun = m_openPackageLocation; m_apkPath = AndroidManager::apkPath(target(), m_signPackage ? AndroidManager::ReleaseBuildSigned : AndroidManager::DebugBuild).toString(); m_buildDirectory = bc->buildDirectory().toString(); bool result = AbstractProcessStep::init(); if (!result) return false; AndroidConfigurations::instance().startAVDAsync(m_avdName); return true; }