void DeployConfiguration::ctor() { Utils::MacroExpander *expander = macroExpander(); expander->setDisplayName(tr("Deploy Settings")); expander->setAccumulating(true); expander->registerSubProvider([this]() -> Utils::MacroExpander * { BuildConfiguration *bc = target()->activeBuildConfiguration(); return bc ? bc->macroExpander() : target()->macroExpander(); }); }
void QtSupportPlugin::extensionsInitialized() { Utils::MacroExpander *expander = Utils::globalMacroExpander(); expander->registerVariable(kHostBins, tr("Full path to the host bin directory of the current project's Qt version."), []() { return qmakeProperty("QT_HOST_BINS"); }); expander->registerVariable(kInstallBins, tr("Full path to the target bin directory of the current project's Qt version.<br>" "You probably want %1 instead.").arg(QString::fromLatin1(kHostBins)), []() { return qmakeProperty("QT_INSTALL_BINS"); }); }
BuildConfiguration::BuildConfiguration(Target *target, Core::Id id) : ProjectConfiguration(target, id) { Utils::MacroExpander *expander = macroExpander(); expander->setDisplayName(tr("Build Settings")); expander->setAccumulating(true); expander->registerSubProvider([target] { return target->macroExpander(); }); expander->registerVariable("buildDir", tr("Build directory"), [this] { return buildDirectory().toUserOutput(); }); expander->registerVariable(Constants::VAR_CURRENTBUILD_NAME, tr("Name of current build"), [this] { return displayName(); }, false); expander->registerPrefix(Constants::VAR_CURRENTBUILD_ENV, tr("Variables in the current build environment"), [this](const QString &var) { return environment().value(var); }); updateCacheAndEmitEnvironmentChanged(); connect(target, &Target::kitChanged, this, &BuildConfiguration::updateCacheAndEmitEnvironmentChanged); connect(this, &BuildConfiguration::environmentChanged, this, &BuildConfiguration::emitBuildDirectoryChanged); // Many macroexpanders are based on the current project, so they may change the environment: connect(ProjectTree::instance(), &ProjectTree::currentProjectChanged, this, &BuildConfiguration::updateCacheAndEmitEnvironmentChanged); }
bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage) { Theme::initialPalette(); // Initialize palette before setting it qsrand(QDateTime::currentDateTime().toTime_t()); parseArguments(arguments); const bool success = m_mainWindow->init(errorMessage); if (success) { m_editMode = new EditMode; addObject(m_editMode); ModeManager::activateMode(m_editMode->id()); m_designMode = new DesignMode; InfoBar::initializeGloballySuppressed(); } // Make sure we respect the process's umask when creating new files Utils::SaveFile::initializeUmask(); m_findPlugin->initialize(arguments, errorMessage); m_locator->initialize(this, arguments, errorMessage); Utils::MacroExpander *expander = Utils::globalMacroExpander(); expander->registerVariable("CurrentDate:ISO", tr("The current date (ISO)."), []() { return QDate::currentDate().toString(Qt::ISODate); }); expander->registerVariable("CurrentTime:ISO", tr("The current time (ISO)."), []() { return QTime::currentTime().toString(Qt::ISODate); }); expander->registerVariable("CurrentDate:RFC", tr("The current date (RFC2822)."), []() { return QDate::currentDate().toString(Qt::RFC2822Date); }); expander->registerVariable("CurrentTime:RFC", tr("The current time (RFC2822)."), []() { return QTime::currentTime().toString(Qt::RFC2822Date); }); expander->registerVariable("CurrentDate:Locale", tr("The current date (Locale)."), []() { return QDate::currentDate().toString(Qt::DefaultLocaleShortDate); }); expander->registerVariable("CurrentTime:Locale", tr("The current time (Locale)."), []() { return QTime::currentTime().toString(Qt::DefaultLocaleShortDate); }); expander->registerPrefix("CurrentDate:", tr("The current date (QDate formatstring)."), [](const QString &fmt) { return QDate::currentDate().toString(fmt); }); expander->registerPrefix("CurrentTime:", tr("The current time (QTime formatstring)."), [](const QString &fmt) { return QTime::currentTime().toString(fmt); }); return success; }