Make variable manager static.

This makes it follow our preferred singleton pattern.

Change-Id: I230e5ac5ef7f156da7123f7efe3a49bcb6a20669
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
Eike Ziller
2013-03-11 11:52:05 +01:00
committed by hjk
parent 3d7163c628
commit e7cb32d621
15 changed files with 70 additions and 76 deletions

View File

@@ -610,5 +610,5 @@ void ExternalToolConfig::addCategory()
void ExternalToolConfig::updateEffectiveArguments()
{
ui->arguments->setToolTip(Utils::QtcProcess::expandMacros(ui->arguments->text(),
Core::VariableManager::instance()->macroExpander()));
Core::VariableManager::macroExpander()));
}

View File

@@ -465,13 +465,12 @@ void EditorManager::init()
d->m_openEditorsFactory = new OpenEditorsViewFactory();
ExtensionSystem::PluginManager::addObject(d->m_openEditorsFactory);
VariableManager *vm = VariableManager::instance();
vm->registerFileVariables(kCurrentDocumentPrefix, tr("Current document"));
vm->registerVariable(kCurrentDocumentXPos,
VariableManager::registerFileVariables(kCurrentDocumentPrefix, tr("Current document"));
VariableManager::registerVariable(kCurrentDocumentXPos,
tr("X-coordinate of the current editor's upper left corner, relative to screen."));
vm->registerVariable(kCurrentDocumentYPos,
VariableManager::registerVariable(kCurrentDocumentYPos,
tr("Y-coordinate of the current editor's upper left corner, relative to screen."));
connect(vm, SIGNAL(variableUpdateRequested(QByteArray)),
connect(VariableManager::instance(), SIGNAL(variableUpdateRequested(QByteArray)),
this, SLOT(updateVariable(QByteArray)));
}
@@ -2293,21 +2292,21 @@ void EditorManager::updateVariable(const QByteArray &variable)
if (curEditor) {
QString fileName = curEditor->document()->fileName();
if (!fileName.isEmpty())
value = VariableManager::instance()->fileVariableValue(variable, kCurrentDocumentPrefix,
value = VariableManager::fileVariableValue(variable, kCurrentDocumentPrefix,
fileName);
}
VariableManager::instance()->insert(variable, value);
VariableManager::insert(variable, value);
} else if (variable == kCurrentDocumentXPos) {
QString value;
IEditor *curEditor = currentEditor();
if (curEditor)
value = QString::number(curEditor->widget()->mapToGlobal(QPoint(0,0)).x());
VariableManager::instance()->insert(variable, value);
VariableManager::insert(variable, value);
} else if (variable == kCurrentDocumentYPos) {
QString value;
IEditor *curEditor = currentEditor();
if (curEditor)
value = QString::number(curEditor->widget()->mapToGlobal(QPoint(0,0)).y());
VariableManager::instance()->insert(variable, value);
VariableManager::insert(variable, value);
}
}

View File

@@ -556,7 +556,7 @@ bool ExternalToolRunner::resolve()
QStringList expandedExecutables; /* for error message */
foreach (const QString &executable, m_tool->executables()) {
QString expanded = Utils::expandMacros(executable,
Core::VariableManager::instance()->macroExpander());
Core::VariableManager::macroExpander());
expandedExecutables << expanded;
m_resolvedExecutable =
Utils::Environment::systemEnvironment().searchInPath(expanded);
@@ -577,15 +577,15 @@ bool ExternalToolRunner::resolve()
}
{ // arguments
m_resolvedArguments = Utils::QtcProcess::expandMacros(m_tool->arguments(),
Core::VariableManager::instance()->macroExpander());
Core::VariableManager::macroExpander());
}
{ // input
m_resolvedInput = Utils::expandMacros(m_tool->input(),
Core::VariableManager::instance()->macroExpander());
Core::VariableManager::macroExpander());
}
{ // working directory
m_resolvedWorkingDirectory = Utils::expandMacros(m_tool->workingDirectory(),
Core::VariableManager::instance()->macroExpander());
Core::VariableManager::macroExpander());
}
return true;
}

View File

@@ -96,7 +96,7 @@ public:
static EditorManager *editorManager();
static ProgressManager *progressManager();
static ScriptManager *scriptManager();
static VariableManager *variableManager();
static QT_DEPRECATED VariableManager *variableManager(); // Use VariableManager::... directly.
static VcsManager *vcsManager();
static QT_DEPRECATED ModeManager *modeManager(); // Use ModeManager::... directly.
static MimeDatabase *mimeDatabase();

View File

@@ -58,8 +58,7 @@ VariableChooser::VariableChooser(QWidget *parent) :
setFocusPolicy(Qt::StrongFocus);
setFocusProxy(ui->variableList);
VariableManager *vm = VariableManager::instance();
foreach (const QByteArray &variable, vm->variables())
foreach (const QByteArray &variable, VariableManager::variables())
ui->variableList->addItem(QString::fromLatin1(variable));
connect(ui->variableList, SIGNAL(currentTextChanged(QString)),
@@ -82,7 +81,7 @@ void VariableChooser::updateDescription(const QString &variable)
if (variable.isNull())
ui->variableDescription->setText(m_defaultDescription);
else
ui->variableDescription->setText(VariableManager::instance()->variableDescription(variable.toUtf8()));
ui->variableDescription->setText(VariableManager::variableDescription(variable.toUtf8()));
}
void VariableChooser::updateCurrentEditor(QWidget *old, QWidget *widget)

View File

@@ -53,7 +53,7 @@ public:
virtual bool resolveMacro(const QString &name, QString *ret)
{
bool found;
*ret = Core::VariableManager::instance()->value(name.toUtf8(), &found);
*ret = Core::VariableManager::value(name.toUtf8(), &found);
return found;
}
};
@@ -77,9 +77,12 @@ public:
*/
static VariableManager *variableManagerInstance = 0;
static VariableManagerPrivate *d;
VariableManager::VariableManager() : d(new VariableManagerPrivate)
VariableManager::VariableManager()
{
d = new VariableManagerPrivate;
variableManagerInstance = this;
}
@@ -101,7 +104,7 @@ bool VariableManager::remove(const QByteArray &variable)
QString VariableManager::value(const QByteArray &variable, bool *found)
{
emit variableUpdateRequested(variable);
variableManagerInstance->variableUpdateRequested(variable);
if (found)
*found = d->m_map.contains(variable);
return d->m_map.value(variable);
@@ -158,12 +161,12 @@ QString VariableManager::fileVariableValue(const QByteArray &variable, const QBy
return QString();
}
QList<QByteArray> VariableManager::variables() const
QList<QByteArray> VariableManager::variables()
{
return d->m_descriptions.keys();
}
QString VariableManager::variableDescription(const QByteArray &variable) const
QString VariableManager::variableDescription(const QByteArray &variable)
{
return d->m_descriptions.value(variable);
}

View File

@@ -54,30 +54,27 @@ public:
static VariableManager *instance();
void insert(const QByteArray &variable, const QString &value);
bool remove(const QByteArray &variable);
QString value(const QByteArray &variable, bool *found = 0);
Utils::AbstractMacroExpander *macroExpander();
static void insert(const QByteArray &variable, const QString &value);
static bool remove(const QByteArray &variable);
static QString value(const QByteArray &variable, bool *found = 0);
static Utils::AbstractMacroExpander *macroExpander();
void registerVariable(const QByteArray &variable,
static void registerVariable(const QByteArray &variable,
const QString &description);
void registerFileVariables(const QByteArray &prefix,
static void registerFileVariables(const QByteArray &prefix,
const QString &heading);
bool isFileVariable(const QByteArray &variable, const QByteArray &prefix);
QString fileVariableValue(const QByteArray &variable, const QByteArray &prefix,
static bool isFileVariable(const QByteArray &variable, const QByteArray &prefix);
static QString fileVariableValue(const QByteArray &variable, const QByteArray &prefix,
const QString &fileName);
QString fileVariableValue(const QByteArray &variable, const QByteArray &prefix,
static QString fileVariableValue(const QByteArray &variable, const QByteArray &prefix,
const QFileInfo &fileInfo);
QList<QByteArray> variables() const;
QString variableDescription(const QByteArray &variable) const;
static QList<QByteArray> variables();
static QString variableDescription(const QByteArray &variable);
signals:
void variableUpdateRequested(const QByteArray &variable);
private:
VariableManagerPrivate *d;
};
} // namespace Core