use Core::Id for IMode::id and IMode::type

Change-Id: Ic7ce5b883e054c6eeba078327042e99e1c556345
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
This commit is contained in:
hjk
2012-05-07 18:28:03 +02:00
committed by Eike Ziller
parent 2d612a252b
commit cad2966498
31 changed files with 88 additions and 83 deletions

View File

@@ -92,7 +92,7 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage)
if (success) {
m_editMode = new EditMode;
addObject(m_editMode);
m_mainWindow->modeManager()->activateMode(m_editMode->id());
ModeManager::activateMode(m_editMode->id());
m_designMode = new DesignMode;
}
return success;

View File

@@ -130,8 +130,8 @@ DesignMode::DesignMode()
setDisplayName(tr("Design"));
setIcon(QIcon(QLatin1String(":/fancyactionbar/images/mode_Design.png")));
setPriority(Constants::P_MODE_DESIGN);
setId(QLatin1String(Constants::MODE_DESIGN));
setType(QLatin1String(Constants::MODE_DESIGN_TYPE));
setId(Constants::MODE_DESIGN);
setType(Constants::MODE_DESIGN_TYPE);
ExtensionSystem::PluginManager::instance()->addObject(d->m_coreListener);
@@ -237,7 +237,7 @@ void DesignMode::currentEditorChanged(Core::IEditor *editor)
if (!mimeEditorAvailable) {
setActiveContext(Context());
if (ModeManager::currentMode() == this)
ModeManager::activateMode(QLatin1String(Core::Constants::MODE_EDIT));
ModeManager::activateMode(Core::Constants::MODE_EDIT);
setEnabled(false);
d->m_currentEditor = QWeakPointer<Core::IEditor>();
emit actionsUpdated(d->m_currentEditor.data());

View File

@@ -60,8 +60,8 @@ EditMode::EditMode() :
setDisplayName(tr("Edit"));
setIcon(QIcon(QLatin1String(":/fancyactionbar/images/mode_Edit.png")));
setPriority(Constants::P_MODE_EDIT);
setId(QLatin1String(Constants::MODE_EDIT));
setType(QLatin1String(Constants::MODE_EDIT_TYPE));
setId(Constants::MODE_EDIT);
setType(Constants::MODE_EDIT_TYPE);
m_rightSplitWidgetLayout->setSpacing(0);
m_rightSplitWidgetLayout->setMargin(0);

View File

@@ -1374,13 +1374,13 @@ QStringList EditorManager::getOpenFileNames() const
/// forcePrefered = false, only switch if it is not visible
void EditorManager::switchToPreferedMode()
{
QString preferedMode;
Id preferedMode;
// Figure out preferred mode for editor
if (d->m_currentEditor)
preferedMode = d->m_currentEditor->preferredModeType();
if (preferedMode.isEmpty())
preferedMode = QLatin1String(Constants::MODE_EDIT_TYPE);
if (!preferedMode.isValid())
preferedMode = Id(Constants::MODE_EDIT_TYPE);
ModeManager::activateModeType(preferedMode);
}

View File

@@ -72,7 +72,7 @@ public:
virtual QWidget *toolBar() = 0;
virtual QString preferredModeType() const { return QString(); }
virtual Id preferredModeType() const { return Id(); }
signals:
void changed();

View File

@@ -51,10 +51,10 @@ public:
QByteArray name() const;
QString toString() const;
bool isValid() const { return m_id; }
bool operator==(const Id &id) const { return m_id == id.m_id; }
bool operator!=(const Id &id) const { return m_id != id.m_id; }
bool operator<(const Id &id) const { return m_id < id.m_id; }
bool operator>(const Id &id) const { return m_id > id.m_id; }
bool operator==(Id id) const { return m_id == id.m_id; }
bool operator!=(Id id) const { return m_id != id.m_id; }
bool operator<(Id id) const { return m_id < id.m_id; }
bool operator>(Id id) const { return m_id > id.m_id; }
int uniqueIdentifier() const { return m_id; }
static Id fromUniqueIdentifier(int uid) { return Id(uid, uid); }

View File

@@ -34,6 +34,7 @@
#define IMODE_H
#include "icontext.h"
#include "id.h"
#include <QIcon>
@@ -50,16 +51,16 @@ public:
QString displayName() const { return m_displayName; }
QIcon icon() const { return m_icon; }
int priority() const { return m_priority; }
QString id() const { return m_id; }
QString type() const { return m_type; }
Id id() const { return m_id; }
Id type() const { return m_type; }
bool isEnabled() const;
void setEnabled(bool enabled);
void setDisplayName(const QString &displayName) { m_displayName = displayName; }
void setIcon(const QIcon &icon) { m_icon = icon; }
void setPriority(int priority) { m_priority = priority; }
void setId(const QString &id) { m_id = id; }
void setType(const QString &type) { m_type = type; }
void setId(Id id) { m_id = id; }
void setType(Id type) { m_type = type; }
signals:
void enabledStateChanged(bool enabled);
@@ -68,8 +69,8 @@ private:
QString m_displayName;
QIcon m_icon;
int m_priority;
QString m_id;
QString m_type;
Id m_id;
Id m_type;
bool m_isEnabled;
};

View File

@@ -912,7 +912,7 @@ void MainWindow::openFiles(const QStringList &fileNames, ICore::OpenFilesFlags f
if (!document && (flags & ICore::StopOnLoadFail))
return;
if (document && (flags & ICore::SwitchMode))
ModeManager::activateMode(QLatin1String(Core::Constants::MODE_EDIT));
ModeManager::activateMode(Id(Core::Constants::MODE_EDIT));
} else {
QFlags<EditorManager::OpenEditorFlag> emFlags;
if (flags & ICore::SwitchMode)
@@ -969,7 +969,7 @@ void MainWindow::setFocusToEditor()
}
// switch to edit mode if necessary
ModeManager::activateMode(QLatin1String(Constants::MODE_EDIT));
ModeManager::activateMode(Id(Constants::MODE_EDIT));
}
void MainWindow::showNewItemDialog(const QString &title,

View File

@@ -85,13 +85,13 @@ struct ModeManagerPrivate
static ModeManagerPrivate *d;
static ModeManager *m_instance = 0;
static int indexOf(const QString &id)
static int indexOf(Id id)
{
for (int i = 0; i < d->m_modes.count(); ++i) {
if (d->m_modes.at(i)->id() == id)
return i;
}
qDebug() << "Warning, no such mode:" << id;
qDebug() << "Warning, no such mode:" << id.toString();
return -1;
}
@@ -109,7 +109,7 @@ ModeManager::ModeManager(Internal::MainWindow *mainWindow,
connect(d->m_modeStack, SIGNAL(currentAboutToShow(int)), SLOT(currentTabAboutToChange(int)));
connect(d->m_modeStack, SIGNAL(currentChanged(int)), SLOT(currentTabChanged(int)));
connect(d->m_signalMapper, SIGNAL(mapped(QString)), this, SLOT(slotActivateMode(QString)));
connect(d->m_signalMapper, SIGNAL(mapped(int)), this, SLOT(slotActivateMode(int)));
}
void ModeManager::init()
@@ -143,7 +143,7 @@ IMode *ModeManager::currentMode()
return d->m_modes.at(currentIndex);
}
IMode *ModeManager::mode(const QString &id)
IMode *ModeManager::mode(Id id)
{
const int index = indexOf(id);
if (index >= 0)
@@ -151,7 +151,7 @@ IMode *ModeManager::mode(const QString &id)
return 0;
}
void ModeManager::activateModeType(const QString &type)
void ModeManager::activateModeType(Id type)
{
if (currentMode() && currentMode()->type() == type)
return;
@@ -166,12 +166,12 @@ void ModeManager::activateModeType(const QString &type)
d->m_modeStack->setCurrentIndex(index);
}
void ModeManager::slotActivateMode(const QString &id)
void ModeManager::slotActivateMode(int id)
{
m_instance->activateMode(id);
m_instance->activateMode(Id::fromUniqueIdentifier(id));
}
void ModeManager::activateMode(const QString &id)
void ModeManager::activateMode(Id id)
{
const int index = indexOf(id);
if (index >= 0)
@@ -198,7 +198,7 @@ void ModeManager::objectAdded(QObject *obj)
// Register mode shortcut
ActionManager *am = d->m_mainWindow->actionManager();
const Id shortcutId(QLatin1String("QtCreator.Mode.") + mode->id());
const Id shortcutId(QLatin1String("QtCreator.Mode.") + mode->id().toString());
QShortcut *shortcut = new QShortcut(d->m_mainWindow);
shortcut->setWhatsThis(tr("Switch to <b>%1</b> mode").arg(mode->displayName()));
Command *cmd = am->registerShortcut(shortcut, shortcutId, Context(Constants::C_GLOBAL));
@@ -221,7 +221,7 @@ void ModeManager::objectAdded(QObject *obj)
currentCmd->setKeySequence(currentCmd->defaultKeySequence());
}
d->m_signalMapper->setMapping(shortcut, mode->id());
d->m_signalMapper->setMapping(shortcut, mode->id().uniqueIdentifier());
connect(shortcut, SIGNAL(activated()), d->m_signalMapper, SLOT(map()));
connect(mode, SIGNAL(enabledStateChanged(bool)),
this, SLOT(enabledStateChanged()));

View File

@@ -33,8 +33,9 @@
#ifndef MODEMANAGER_H
#define MODEMANAGER_H
#include <QObject>
#include <coreplugin/core_global.h>
#include <coreplugin/id.h>
#include <QObject>
QT_BEGIN_NAMESPACE
class QAction;
@@ -61,15 +62,15 @@ public:
static ModeManager *instance();
static IMode *currentMode();
static IMode *mode(const QString &id);
static IMode *mode(Id id);
static void addAction(QAction *action, int priority);
static void addProjectSelector(QAction *action);
static void addWidget(QWidget *widget);
static void activateModeType(const QString &type);
static void activateModeType(Id type);
static void setModeBarHidden(bool hidden);
static void activateMode(const QString &id);
static void activateMode(Id id);
static void setFocusToCurrentMode();
signals:
@@ -79,7 +80,7 @@ signals:
void currentModeChanged(Core::IMode *mode, Core::IMode *oldMode = 0);
private slots:
void slotActivateMode(const QString &id);
void slotActivateMode(int id);
void objectAdded(QObject *obj);
void aboutToRemoveObject(QObject *obj);
void currentTabAboutToChange(int index);

View File

@@ -450,7 +450,7 @@ void OutputPaneManager::showPage(int idx, bool focus)
if (!OutputPanePlaceHolder::getCurrent()) {
// In this mode we don't have a placeholder
// switch to the output mode and switch the page
ModeManager::activateMode(QLatin1String(Constants::MODE_EDIT));
ModeManager::activateMode(Id(Constants::MODE_EDIT));
}
if (OutputPanePlaceHolder::getCurrent()) {
// make the page visible