Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline

This commit is contained in:
hjk
2009-01-13 15:57:43 +01:00
74 changed files with 541 additions and 435 deletions

View File

@@ -117,6 +117,9 @@ CatchClauseAST *AST::asCatchClause()
ClassSpecifierAST *AST::asClassSpecifier() ClassSpecifierAST *AST::asClassSpecifier()
{ return dynamic_cast<ClassSpecifierAST *>(this); } { return dynamic_cast<ClassSpecifierAST *>(this); }
CompoundLiteralAST *AST::asCompoundLiteral()
{ return dynamic_cast<CompoundLiteralAST *>(this); }
CompoundStatementAST *AST::asCompoundStatement() CompoundStatementAST *AST::asCompoundStatement()
{ return dynamic_cast<CompoundStatementAST *>(this); } { return dynamic_cast<CompoundStatementAST *>(this); }
@@ -774,6 +777,42 @@ unsigned BoolLiteralAST::lastToken() const
return token + 1; return token + 1;
} }
CompoundLiteralAST *CompoundLiteralAST::clone(MemoryPool *pool) const
{
CompoundLiteralAST *ast = new (pool) CompoundLiteralAST;
ast->lparen_token = lparen_token;
if (type_id)
ast->type_id = type_id->clone(pool);
ast->rparen_token = rparen_token;
if (initializer)
ast->initializer = initializer->clone(pool);
return ast;
}
void CompoundLiteralAST::accept0(ASTVisitor *visitor)
{
if (visitor->visit(this)) {
accept(type_id, visitor);
accept(initializer, visitor);
}
}
unsigned CompoundLiteralAST::firstToken() const
{
return lparen_token;
}
unsigned CompoundLiteralAST::lastToken() const
{
if (initializer)
return initializer->lastToken();
else if (rparen_token)
return rparen_token + 1;
else if (type_id)
return type_id->lastToken();
return lparen_token + 1;
}
BreakStatementAST *BreakStatementAST::clone(MemoryPool *pool) const BreakStatementAST *BreakStatementAST::clone(MemoryPool *pool) const
{ {
BreakStatementAST *ast = new (pool) BreakStatementAST; BreakStatementAST *ast = new (pool) BreakStatementAST;

View File

@@ -94,6 +94,7 @@ public:
CastExpressionAST *asCastExpression(); CastExpressionAST *asCastExpression();
CatchClauseAST *asCatchClause(); CatchClauseAST *asCatchClause();
ClassSpecifierAST *asClassSpecifier(); ClassSpecifierAST *asClassSpecifier();
CompoundLiteralAST *asCompoundLiteral();
CompoundStatementAST *asCompoundStatement(); CompoundStatementAST *asCompoundStatement();
ConditionAST *asCondition(); ConditionAST *asCondition();
ConditionalExpressionAST *asConditionalExpression(); ConditionalExpressionAST *asConditionalExpression();
@@ -429,6 +430,24 @@ protected:
virtual void accept0(ASTVisitor *visitor); virtual void accept0(ASTVisitor *visitor);
}; };
class CPLUSPLUS_EXPORT CompoundLiteralAST: public ExpressionAST
{
public:
unsigned lparen_token;
ExpressionAST *type_id;
unsigned rparen_token;
ExpressionAST *initializer;
public:
virtual unsigned firstToken() const;
virtual unsigned lastToken() const;
virtual CompoundLiteralAST *clone(MemoryPool *pool) const;
protected:
virtual void accept0(ASTVisitor *visitor);
};
class CPLUSPLUS_EXPORT QtMethodAST: public ExpressionAST class CPLUSPLUS_EXPORT QtMethodAST: public ExpressionAST
{ {
public: public:

View File

@@ -104,6 +104,7 @@ public:
virtual bool visit(CastExpressionAST *) { return true; } virtual bool visit(CastExpressionAST *) { return true; }
virtual bool visit(CatchClauseAST *) { return true; } virtual bool visit(CatchClauseAST *) { return true; }
virtual bool visit(ClassSpecifierAST *) { return true; } virtual bool visit(ClassSpecifierAST *) { return true; }
virtual bool visit(CompoundLiteralAST *) { return true; }
virtual bool visit(CompoundStatementAST *) { return true; } virtual bool visit(CompoundStatementAST *) { return true; }
virtual bool visit(ConditionAST *) { return true; } virtual bool visit(ConditionAST *) { return true; }
virtual bool visit(ConditionalExpressionAST *) { return true; } virtual bool visit(ConditionalExpressionAST *) { return true; }

View File

@@ -77,6 +77,7 @@ class CaseStatementAST;
class CastExpressionAST; class CastExpressionAST;
class CatchClauseAST; class CatchClauseAST;
class ClassSpecifierAST; class ClassSpecifierAST;
class CompoundLiteralAST;
class CompoundStatementAST; class CompoundStatementAST;
class ConditionAST; class ConditionAST;
class ConditionalExpressionAST; class ConditionalExpressionAST;

View File

@@ -333,6 +333,13 @@ bool CheckExpression::visit(QtMethodAST *ast)
return false; return false;
} }
bool CheckExpression::visit(CompoundLiteralAST *ast)
{
/*FullySpecifiedType exprTy = */ semantic()->check(ast->type_id, _scope);
/*FullySpecifiedType initTy = */ semantic()->check(ast->initializer, _scope);
return false;
}
bool CheckExpression::visit(CallAST *ast) bool CheckExpression::visit(CallAST *ast)
{ {
for (ExpressionListAST *it = ast->expression_list; it; it = it->next) { for (ExpressionListAST *it = ast->expression_list; it; it = it->next) {

View File

@@ -98,6 +98,7 @@ protected:
virtual bool visit(TypeIdAST *ast); virtual bool visit(TypeIdAST *ast);
virtual bool visit(UnaryExpressionAST *ast); virtual bool visit(UnaryExpressionAST *ast);
virtual bool visit(QtMethodAST *ast); virtual bool visit(QtMethodAST *ast);
virtual bool visit(CompoundLiteralAST *ast);
//names //names
virtual bool visit(QualifiedNameAST *ast); virtual bool visit(QualifiedNameAST *ast);

View File

@@ -1621,8 +1621,7 @@ bool Parser::parseInitializerClause(ExpressionAST *&node)
ArrayInitializerAST *ast = new (_pool) ArrayInitializerAST; ArrayInitializerAST *ast = new (_pool) ArrayInitializerAST;
ast->lbrace_token = consumeToken(); ast->lbrace_token = consumeToken();
parseInitializerList(ast->expression_list); parseInitializerList(ast->expression_list);
if (LA() == T_RBRACE) match(T_RBRACE, &ast->rbrace_token);
ast->rbrace_token = consumeToken();
node = ast; node = ast;
return true; return true;
} }
@@ -2702,8 +2701,30 @@ bool Parser::parseCorePostfixExpression(ExpressionAST *&node)
return true; return true;
} }
} }
blockErrors(blocked);
rewind(start); rewind(start);
// look for compound literals
if (LA() == T_LPAREN) {
unsigned lparen_token = consumeToken();
ExpressionAST *type_id = 0;
if (parseTypeId(type_id) && LA() == T_RPAREN) {
unsigned rparen_token = consumeToken();
if (LA() == T_LBRACE) {
blockErrors(blocked);
CompoundLiteralAST *ast = new (_pool) CompoundLiteralAST;
ast->lparen_token = lparen_token;
ast->type_id = type_id;
ast->rparen_token = rparen_token;
parseInitializerClause(ast->initializer);
node = ast;
return true;
}
}
rewind(start);
}
blockErrors(blocked);
return parsePrimaryExpression(node); return parsePrimaryExpression(node);
} }
} }
@@ -3552,6 +3573,9 @@ bool Parser::parseObjClassInstanceVariables()
bool Parser::parseObjCInterfaceMemberDeclaration() bool Parser::parseObjCInterfaceMemberDeclaration()
{ {
switch (LA()) { switch (LA()) {
case T_AT_END:
return false;
case T_AT_REQUIRED: case T_AT_REQUIRED:
case T_AT_OPTIONAL: case T_AT_OPTIONAL:
consumeToken(); consumeToken();
@@ -3570,9 +3594,20 @@ bool Parser::parseObjCInterfaceMemberDeclaration()
case T_MINUS: case T_MINUS:
return parseObjCMethodPrototype(); return parseObjCMethodPrototype();
default: case T_ENUM:
return false; case T_CLASS:
case T_STRUCT:
case T_UNION: {
DeclarationAST *declaration = 0;
return parseSimpleDeclaration(declaration, /*accept struct declarators */ true);
} }
default: {
DeclarationAST *declaration = 0;
return parseSimpleDeclaration(declaration, /*accept struct declarators */ true);
} // default
} // switch
} }
// objc-instance-variable-declaration ::= objc-visibility-specifier // objc-instance-variable-declaration ::= objc-visibility-specifier
@@ -3589,7 +3624,7 @@ bool Parser::parseObjCInstanceVariableDeclaration(DeclarationAST *&node)
return true; return true;
default: default:
return parseBlockDeclaration(node); return parseSimpleDeclaration(node, true);
} }
} }
@@ -3612,7 +3647,7 @@ bool Parser::parseObjCPropertyDeclaration(DeclarationAST *&, SpecifierAST *)
} }
DeclarationAST *simple_declaration = 0; DeclarationAST *simple_declaration = 0;
parseSimpleDeclaration(simple_declaration, /*accept-struct-declarators = */ false); parseSimpleDeclaration(simple_declaration, /*accept-struct-declarators = */ true);
return true; return true;
} }
@@ -3736,6 +3771,19 @@ bool Parser::parseObjCKeywordDeclaration()
bool Parser::parseObjCTypeQualifiers() bool Parser::parseObjCTypeQualifiers()
{ {
if (LA() != T_IDENTIFIER)
return false;
Identifier *id = tok().identifier;
if (! strcmp("in", id->chars()) ||
! strcmp("out", id->chars()) ||
! strcmp("inout", id->chars()) ||
! strcmp("bycopy", id->chars()) ||
! strcmp("byref", id->chars()) ||
! strcmp("oneway", id->chars())) {
consumeToken();
return true;
}
return false; return false;
} }

View File

@@ -1281,3 +1281,13 @@ bool PrettyPrinter::visit(QtMethodAST *ast)
out << ')'; out << ')';
return false; return false;
} }
bool PrettyPrinter::visit(CompoundLiteralAST *ast)
{
out << '(';
accept(ast->type_id);
out << ')';
out << ' ';
accept(ast->initializer);
return false;
}

View File

@@ -66,6 +66,7 @@ protected:
virtual bool visit(CastExpressionAST *ast); virtual bool visit(CastExpressionAST *ast);
virtual bool visit(CatchClauseAST *ast); virtual bool visit(CatchClauseAST *ast);
virtual bool visit(ClassSpecifierAST *ast); virtual bool visit(ClassSpecifierAST *ast);
virtual bool visit(CompoundLiteralAST *ast);
virtual bool visit(CompoundStatementAST *ast); virtual bool visit(CompoundStatementAST *ast);
virtual bool visit(ConditionAST *ast); virtual bool visit(ConditionAST *ast);
virtual bool visit(ConditionalExpressionAST *ast); virtual bool visit(ConditionalExpressionAST *ast);

View File

@@ -46,7 +46,7 @@
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <texteditor/texteditorsettings.h> #include <texteditor/texteditorsettings.h>
#include <texteditor/fontsettings.h> #include <texteditor/fontsettings.h>

View File

@@ -42,7 +42,7 @@
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <QtCore/qplugin.h> #include <QtCore/qplugin.h>
#include <QtCore/QDebug> #include <QtCore/QDebug>
@@ -68,7 +68,7 @@ void BookmarksPlugin::extensionsInitialized()
bool BookmarksPlugin::initialize(const QStringList & /*arguments*/, QString *) bool BookmarksPlugin::initialize(const QStringList & /*arguments*/, QString *)
{ {
m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>(); m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>();
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
QList<int> context = QList<int>() << m_core->uniqueIDManager()-> QList<int> context = QList<int>() << m_core->uniqueIDManager()->
uniqueIdentifier(Constants::BOOKMARKS_CONTEXT); uniqueIdentifier(Constants::BOOKMARKS_CONTEXT);

View File

@@ -32,6 +32,8 @@
***************************************************************************/ ***************************************************************************/
#include "actioncontainer.h" #include "actioncontainer.h"
#include "actionmanager_p.h"
#include "command.h" #include "command.h"
#include "coreimpl.h" #include "coreimpl.h"
@@ -181,7 +183,7 @@ void ActionContainer::appendGroup(const QString &group, bool global)
int gid = idmanager->uniqueIdentifier(group); int gid = idmanager->uniqueIdentifier(group);
m_groups << gid; m_groups << gid;
if (global) if (global)
ActionManager::instance()->registerGlobalGroup(gid, m_id); ActionManagerPrivate::instance()->registerGlobalGroup(gid, m_id);
} }
/*! /*!
@@ -220,7 +222,7 @@ void ActionContainer::addAction(ICommand *action, const QString &group)
if (!canAddAction(action)) if (!canAddAction(action))
return; return;
ActionManager *am = ActionManager::instance(); ActionManagerPrivate *am = ActionManagerPrivate::instance();
Action *a = static_cast<Action *>(action); Action *a = static_cast<Action *>(action);
if (a->stateFlags() & Command::CS_PreLocation) { if (a->stateFlags() & Command::CS_PreLocation) {
QList<CommandLocation> locs = a->locations(); QList<CommandLocation> locs = a->locations();
@@ -251,7 +253,7 @@ void ActionContainer::addMenu(IActionContainer *menu, const QString &group)
if (!canAddMenu(menu)) if (!canAddMenu(menu))
return; return;
ActionManager *am = ActionManager::instance(); ActionManagerPrivate *am = ActionManagerPrivate::instance();
MenuActionContainer *mc = static_cast<MenuActionContainer *>(menu); MenuActionContainer *mc = static_cast<MenuActionContainer *>(menu);
if (mc->hasState(ActionContainer::CS_PreLocation)) { if (mc->hasState(ActionContainer::CS_PreLocation)) {
CommandLocation loc = mc->location(); CommandLocation loc = mc->location();
@@ -396,7 +398,7 @@ void ActionContainer::addMenu(IActionContainer *menu, int pos, bool setpos)
*/ */
QAction *ActionContainer::beforeAction(int pos, int *prevKey) const QAction *ActionContainer::beforeAction(int pos, int *prevKey) const
{ {
ActionManager *am = ActionManager::instance(); ActionManagerPrivate *am = ActionManagerPrivate::instance();
int baId = -1; int baId = -1;

View File

@@ -34,7 +34,7 @@
#ifndef ACTIONCONTAINER_H #ifndef ACTIONCONTAINER_H
#define ACTIONCONTAINER_H #define ACTIONCONTAINER_H
#include "actionmanager.h" #include "actionmanager_p.h"
#include <coreplugin/actionmanager/iactioncontainer.h> #include <coreplugin/actionmanager/iactioncontainer.h>
#include <coreplugin/actionmanager/icommand.h> #include <coreplugin/actionmanager/icommand.h>

View File

@@ -31,7 +31,7 @@
** **
***************************************************************************/ ***************************************************************************/
#include "actionmanager.h" #include "actionmanager_p.h"
#include "mainwindow.h" #include "mainwindow.h"
#include "actioncontainer.h" #include "actioncontainer.h"
#include "command.h" #include "command.h"
@@ -52,15 +52,15 @@ namespace {
} }
/*! /*!
\class Core::ActionManagerInterface \class Core::ActionManager
\mainclass \mainclass
\ingroup qwb \ingroup qwb
\inheaderfile actionmanagerinterface.h \inheaderfile actionmanager.h
\brief All actions should be registered in the ActionManager, since this enables the user to \brief All actions should be registered in the ActionManager, since this enables the user to
e.g. change their shortcuts at a central place. e.g. change their shortcuts at a central place.
The ActionManagerInterface is the central bookkeeper of actions and their shortcuts and layout. The ActionManager is the central bookkeeper of actions and their shortcuts and layout.
You get the only implementation of this class from the core interface (ICore::actionManager()). You get the only implementation of this class from the core interface (ICore::actionManager()).
The main reasons for the need of this class is to provide a central place where the user The main reasons for the need of this class is to provide a central place where the user
@@ -94,59 +94,59 @@ namespace {
*/ */
/*! /*!
\fn virtual IActionContainer *ActionManagerInterface::createMenu(const QString &id) = 0 \fn virtual IActionContainer *ActionManager::createMenu(const QString &id) = 0
... ...
*/ */
/*! /*!
\fn virtual IActionContainer *ActionManagerInterface::createMenuBar(const QString &id) = 0 \fn virtual IActionContainer *ActionManager::createMenuBar(const QString &id) = 0
... ...
*/ */
/*! /*!
\fn virtual ICommand *ActionManagerInterface::registerAction(QAction *action, const QString &id, const QList<int> &context) = 0 \fn virtual ICommand *ActionManager::registerAction(QAction *action, const QString &id, const QList<int> &context) = 0
... ...
*/ */
/*! /*!
\fn virtual ICommand *ActionManagerInterface::registerShortcut(QShortcut *shortcut, const QString &id, const QList<int> &context) = 0 \fn virtual ICommand *ActionManager::registerShortcut(QShortcut *shortcut, const QString &id, const QList<int> &context) = 0
... ...
*/ */
/*! /*!
\fn virtual ICommand *ActionManagerInterface::registerAction(QAction *action, const QString &id) = 0 \fn virtual ICommand *ActionManager::registerAction(QAction *action, const QString &id) = 0
... ...
*/ */
/*! /*!
\fn virtual void ActionManagerInterface::addAction(ICommand *action, const QString &globalGroup) = 0 \fn virtual void ActionManager::addAction(ICommand *action, const QString &globalGroup) = 0
... ...
*/ */
/*! /*!
\fn virtual void ActionManagerInterface::addMenu(IActionContainer *menu, const QString &globalGroup) = 0 \fn virtual void ActionManager::addMenu(IActionContainer *menu, const QString &globalGroup) = 0
... ...
*/ */
/*! /*!
\fn virtual ICommand *ActionManagerInterface::command(const QString &id) const = 0 \fn virtual ICommand *ActionManager::command(const QString &id) const = 0
... ...
*/ */
/*! /*!
\fn virtual IActionContainer *ActionManagerInterface::actionContainer(const QString &id) const = 0 \fn virtual IActionContainer *ActionManager::actionContainer(const QString &id) const = 0
... ...
*/ */
/*! /*!
\fn virtual ActionManagerInterface::~ActionManagerInterface() \fn virtual ActionManager::~ActionManager()
... ...
*/ */
using namespace Core; using namespace Core;
using namespace Core::Internal; using namespace Core::Internal;
ActionManager* ActionManager::m_instance = 0; ActionManagerPrivate* ActionManagerPrivate::m_instance = 0;
/*! /*!
\class ActionManager \class ActionManager
@@ -159,8 +159,8 @@ ActionManager* ActionManager::m_instance = 0;
/*! /*!
... ...
*/ */
ActionManager::ActionManager(MainWindow *mainWnd, UniqueIDManager *uidmgr) : ActionManagerPrivate::ActionManagerPrivate(MainWindow *mainWnd, UniqueIDManager *uidmgr) :
ActionManagerInterface(mainWnd), ActionManager(mainWnd),
m_mainWnd(mainWnd) m_mainWnd(mainWnd)
{ {
m_defaultGroups << uidmgr->uniqueIdentifier(Constants::G_DEFAULT_ONE); m_defaultGroups << uidmgr->uniqueIdentifier(Constants::G_DEFAULT_ONE);
@@ -173,7 +173,7 @@ ActionManager::ActionManager(MainWindow *mainWnd, UniqueIDManager *uidmgr) :
/*! /*!
... ...
*/ */
ActionManager::~ActionManager() ActionManagerPrivate::~ActionManagerPrivate()
{ {
qDeleteAll(m_idCmdMap.values()); qDeleteAll(m_idCmdMap.values());
qDeleteAll(m_idContainerMap.values()); qDeleteAll(m_idContainerMap.values());
@@ -182,7 +182,7 @@ ActionManager::~ActionManager()
/*! /*!
... ...
*/ */
ActionManager* ActionManager::instance() ActionManagerPrivate* ActionManagerPrivate::instance()
{ {
return m_instance; return m_instance;
} }
@@ -190,7 +190,7 @@ ActionManager* ActionManager::instance()
/*! /*!
... ...
*/ */
QList<int> ActionManager::defaultGroups() const QList<int> ActionManagerPrivate::defaultGroups() const
{ {
return m_defaultGroups; return m_defaultGroups;
} }
@@ -198,7 +198,7 @@ QList<int> ActionManager::defaultGroups() const
/*! /*!
... ...
*/ */
QList<Command *> ActionManager::commands() const QList<Command *> ActionManagerPrivate::commands() const
{ {
return m_idCmdMap.values(); return m_idCmdMap.values();
} }
@@ -206,7 +206,7 @@ QList<Command *> ActionManager::commands() const
/*! /*!
... ...
*/ */
QList<ActionContainer *> ActionManager::containers() const QList<ActionContainer *> ActionManagerPrivate::containers() const
{ {
return m_idContainerMap.values(); return m_idContainerMap.values();
} }
@@ -214,7 +214,7 @@ QList<ActionContainer *> ActionManager::containers() const
/*! /*!
... ...
*/ */
void ActionManager::registerGlobalGroup(int groupId, int containerId) void ActionManagerPrivate::registerGlobalGroup(int groupId, int containerId)
{ {
if (m_globalgroups.contains(groupId)) { if (m_globalgroups.contains(groupId)) {
qWarning() << "registerGlobalGroup: Global group " qWarning() << "registerGlobalGroup: Global group "
@@ -228,7 +228,7 @@ void ActionManager::registerGlobalGroup(int groupId, int containerId)
/*! /*!
... ...
*/ */
bool ActionManager::hasContext(int context) const bool ActionManagerPrivate::hasContext(int context) const
{ {
return m_context.contains(context); return m_context.contains(context);
} }
@@ -236,7 +236,7 @@ bool ActionManager::hasContext(int context) const
/*! /*!
... ...
*/ */
void ActionManager::setContext(const QList<int> &context) void ActionManagerPrivate::setContext(const QList<int> &context)
{ {
// here are possibilities for speed optimization if necessary: // here are possibilities for speed optimization if necessary:
// let commands (de-)register themselves for contexts // let commands (de-)register themselves for contexts
@@ -254,7 +254,7 @@ void ActionManager::setContext(const QList<int> &context)
/*! /*!
\internal \internal
*/ */
bool ActionManager::hasContext(QList<int> context) const bool ActionManagerPrivate::hasContext(QList<int> context) const
{ {
for (int i=0; i<m_context.count(); ++i) { for (int i=0; i<m_context.count(); ++i) {
if (context.contains(m_context.at(i))) if (context.contains(m_context.at(i)))
@@ -266,7 +266,7 @@ bool ActionManager::hasContext(QList<int> context) const
/*! /*!
... ...
*/ */
IActionContainer *ActionManager::createMenu(const QString &id) IActionContainer *ActionManagerPrivate::createMenu(const QString &id)
{ {
const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id); const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id);
const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid); const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid);
@@ -287,7 +287,7 @@ IActionContainer *ActionManager::createMenu(const QString &id)
/*! /*!
... ...
*/ */
IActionContainer *ActionManager::createMenuBar(const QString &id) IActionContainer *ActionManagerPrivate::createMenuBar(const QString &id)
{ {
const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id); const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id);
const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid); const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid);
@@ -308,7 +308,7 @@ IActionContainer *ActionManager::createMenuBar(const QString &id)
/*! /*!
... ...
*/ */
ICommand *ActionManager::registerAction(QAction *action, const QString &id, const QList<int> &context) ICommand *ActionManagerPrivate::registerAction(QAction *action, const QString &id, const QList<int> &context)
{ {
OverrideableAction *a = 0; OverrideableAction *a = 0;
ICommand *c = registerOverridableAction(action, id, false); ICommand *c = registerOverridableAction(action, id, false);
@@ -321,7 +321,7 @@ ICommand *ActionManager::registerAction(QAction *action, const QString &id, cons
/*! /*!
... ...
*/ */
ICommand *ActionManager::registerAction(QAction *action, const QString &id) ICommand *ActionManagerPrivate::registerAction(QAction *action, const QString &id)
{ {
return registerOverridableAction(action, id, true); return registerOverridableAction(action, id, true);
} }
@@ -329,7 +329,7 @@ ICommand *ActionManager::registerAction(QAction *action, const QString &id)
/*! /*!
\internal \internal
*/ */
ICommand *ActionManager::registerOverridableAction(QAction *action, const QString &id, bool checkUnique) ICommand *ActionManagerPrivate::registerOverridableAction(QAction *action, const QString &id, bool checkUnique)
{ {
OverrideableAction *a = 0; OverrideableAction *a = 0;
const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id); const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id);
@@ -378,7 +378,7 @@ ICommand *ActionManager::registerOverridableAction(QAction *action, const QStrin
/*! /*!
... ...
*/ */
ICommand *ActionManager::registerShortcut(QShortcut *shortcut, const QString &id, const QList<int> &context) ICommand *ActionManagerPrivate::registerShortcut(QShortcut *shortcut, const QString &id, const QList<int> &context)
{ {
Shortcut *sc = 0; Shortcut *sc = 0;
int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id); int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id);
@@ -416,9 +416,9 @@ ICommand *ActionManager::registerShortcut(QShortcut *shortcut, const QString &id
} }
/*! /*!
\fn void ActionManager::addAction(Core::ICommand *action, const QString &globalGroup) \fn void ActionManagerPrivate::addAction(Core::ICommand *action, const QString &globalGroup)
*/ */
void ActionManager::addAction(ICommand *action, const QString &globalGroup) void ActionManagerPrivate::addAction(ICommand *action, const QString &globalGroup)
{ {
const int gid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(globalGroup); const int gid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(globalGroup);
if (!m_globalgroups.contains(gid)) { if (!m_globalgroups.contains(gid)) {
@@ -435,10 +435,10 @@ void ActionManager::addAction(ICommand *action, const QString &globalGroup)
} }
/*! /*!
\fn void ActionManager::addMenu(Core::IActionContainer *menu, const QString &globalGroup) \fn void ActionManagerPrivate::addMenu(Core::IActionContainer *menu, const QString &globalGroup)
*/ */
void ActionManager::addMenu(IActionContainer *menu, const QString &globalGroup) void ActionManagerPrivate::addMenu(IActionContainer *menu, const QString &globalGroup)
{ {
const int gid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(globalGroup); const int gid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(globalGroup);
if (!m_globalgroups.contains(gid)) { if (!m_globalgroups.contains(gid)) {
@@ -457,13 +457,13 @@ void ActionManager::addMenu(IActionContainer *menu, const QString &globalGroup)
/*! /*!
... ...
*/ */
ICommand *ActionManager::command(const QString &id) const ICommand *ActionManagerPrivate::command(const QString &id) const
{ {
const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id); const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id);
const IdCmdMap::const_iterator it = m_idCmdMap.constFind(uid); const IdCmdMap::const_iterator it = m_idCmdMap.constFind(uid);
if (it == m_idCmdMap.constEnd()) { if (it == m_idCmdMap.constEnd()) {
if (warnAboutFindFailures) if (warnAboutFindFailures)
qWarning() << "ActionManager::command(): failed to find :" << id << '/' << uid; qWarning() << "ActionManagerPrivate::command(): failed to find :" << id << '/' << uid;
return 0; return 0;
} }
return it.value(); return it.value();
@@ -472,13 +472,13 @@ ICommand *ActionManager::command(const QString &id) const
/*! /*!
... ...
*/ */
IActionContainer *ActionManager::actionContainer(const QString &id) const IActionContainer *ActionManagerPrivate::actionContainer(const QString &id) const
{ {
const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id); const int uid = m_mainWnd->uniqueIDManager()->uniqueIdentifier(id);
const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid); const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid);
if ( it == m_idContainerMap.constEnd()) { if ( it == m_idContainerMap.constEnd()) {
if (warnAboutFindFailures) if (warnAboutFindFailures)
qWarning() << "ActionManager::actionContainer(): failed to find :" << id << '/' << uid; qWarning() << "ActionManagerPrivate::actionContainer(): failed to find :" << id << '/' << uid;
return 0; return 0;
} }
return it.value(); return it.value();
@@ -487,12 +487,12 @@ IActionContainer *ActionManager::actionContainer(const QString &id) const
/*! /*!
... ...
*/ */
ICommand *ActionManager::command(int uid) const ICommand *ActionManagerPrivate::command(int uid) const
{ {
const IdCmdMap::const_iterator it = m_idCmdMap.constFind(uid); const IdCmdMap::const_iterator it = m_idCmdMap.constFind(uid);
if (it == m_idCmdMap.constEnd()) { if (it == m_idCmdMap.constEnd()) {
if (warnAboutFindFailures) if (warnAboutFindFailures)
qWarning() << "ActionManager::command(): failed to find :" << m_mainWnd->uniqueIDManager()->stringForUniqueIdentifier(uid) << '/' << uid; qWarning() << "ActionManagerPrivate::command(): failed to find :" << m_mainWnd->uniqueIDManager()->stringForUniqueIdentifier(uid) << '/' << uid;
return 0; return 0;
} }
return it.value(); return it.value();
@@ -501,12 +501,12 @@ ICommand *ActionManager::command(int uid) const
/*! /*!
... ...
*/ */
IActionContainer *ActionManager::actionContainer(int uid) const IActionContainer *ActionManagerPrivate::actionContainer(int uid) const
{ {
const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid); const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid);
if (it == m_idContainerMap.constEnd()) { if (it == m_idContainerMap.constEnd()) {
if (warnAboutFindFailures) if (warnAboutFindFailures)
qWarning() << "ActionManager::actionContainer(): failed to find :" << m_mainWnd->uniqueIDManager()->stringForUniqueIdentifier(uid) << uid; qWarning() << "ActionManagerPrivate::actionContainer(): failed to find :" << m_mainWnd->uniqueIDManager()->stringForUniqueIdentifier(uid) << uid;
return 0; return 0;
} }
return it.value(); return it.value();
@@ -519,7 +519,7 @@ static const char *sequenceKey = "Keysequence";
/*! /*!
\internal \internal
*/ */
void ActionManager::initialize() void ActionManagerPrivate::initialize()
{ {
QSettings *settings = m_mainWnd->settings(); QSettings *settings = m_mainWnd->settings();
const int shortcuts = settings->beginReadArray(QLatin1String(settingsGroup)); const int shortcuts = settings->beginReadArray(QLatin1String(settingsGroup));
@@ -539,7 +539,7 @@ void ActionManager::initialize()
/*! /*!
... ...
*/ */
void ActionManager::saveSettings(QSettings *settings) void ActionManagerPrivate::saveSettings(QSettings *settings)
{ {
settings->beginWriteArray(QLatin1String(settingsGroup)); settings->beginWriteArray(QLatin1String(settingsGroup));
int count = 0; int count = 0;

View File

@@ -34,97 +34,44 @@
#ifndef ACTIONMANAGER_H #ifndef ACTIONMANAGER_H
#define ACTIONMANAGER_H #define ACTIONMANAGER_H
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include "coreplugin/core_global.h"
#include <QtCore/QMap> #include <coreplugin/actionmanager/iactioncontainer.h>
#include <QtCore/QHash> #include <coreplugin/actionmanager/icommand.h>
#include <QtCore/QMultiHash>
#include <QtCore/QObject>
#include <QtCore/QList>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QSettings; class QAction;
class QShortcut;
class QString;
QT_END_NAMESPACE QT_END_NAMESPACE
struct CommandLocation
{
int m_container;
int m_position;
};
namespace Core { namespace Core {
class UniqueIDManager; class CORE_EXPORT ActionManager : public QObject
namespace Internal {
class ActionContainer;
class MainWindow;
class Command;
class ActionManager : public Core::ActionManagerInterface
{ {
Q_OBJECT Q_OBJECT
public: public:
ActionManager(MainWindow *mainWnd, UniqueIDManager *uidmgr); ActionManager(QObject *parent = 0) : QObject(parent) {}
~ActionManager(); virtual ~ActionManager() {}
void setContext(const QList<int> &context); virtual IActionContainer *createMenu(const QString &id) = 0;
static ActionManager* instance(); virtual IActionContainer *createMenuBar(const QString &id) = 0;
void saveSettings(QSettings *settings); virtual ICommand *registerAction(QAction *action, const QString &id, const QList<int> &context) = 0;
QList<int> defaultGroups() const; virtual ICommand *registerShortcut(QShortcut *shortcut, const QString &id, const QList<int> &context) = 0;
QList<Command *> commands() const; virtual ICommand *registerAction(QAction *action, const QString &id) = 0;
QList<ActionContainer *> containers() const;
bool hasContext(int context) const; virtual void addAction(ICommand *action, const QString &globalGroup) = 0;
virtual void addMenu(IActionContainer *menu, const QString &globalGroup) = 0;
ICommand *command(int uid) const; virtual ICommand *command(const QString &id) const = 0;
IActionContainer *actionContainer(int uid) const; virtual IActionContainer *actionContainer(const QString &id) const = 0;
void registerGlobalGroup(int groupId, int containerId);
void initialize();
//ActionManager Interface
IActionContainer *createMenu(const QString &id);
IActionContainer *createMenuBar(const QString &id);
ICommand *registerAction(QAction *action, const QString &id,
const QList<int> &context);
ICommand *registerAction(QAction *action, const QString &id);
ICommand *registerShortcut(QShortcut *shortcut, const QString &id,
const QList<int> &context);
void addAction(Core::ICommand *action, const QString &globalGroup);
void addMenu(Core::IActionContainer *menu, const QString &globalGroup);
Core::ICommand *command(const QString &id) const;
Core::IActionContainer *actionContainer(const QString &id) const;
private:
bool hasContext(QList<int> context) const;
ICommand *registerOverridableAction(QAction *action, const QString &id,
bool checkUnique);
static ActionManager* m_instance;
QList<int> m_defaultGroups;
typedef QHash<int, Command *> IdCmdMap;
IdCmdMap m_idCmdMap;
typedef QHash<int, ActionContainer *> IdContainerMap;
IdContainerMap m_idContainerMap;
typedef QMap<int, int> GlobalGroupMap;
GlobalGroupMap m_globalgroups;
QList<int> m_context;
MainWindow *m_mainWnd;
}; };
} // namespace Internal
} // namespace Core } // namespace Core
#endif // ACTIONMANAGER_H #endif // ACTIONMANAGER_H

View File

@@ -0,0 +1,130 @@
/***************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Qt Software Information (qt-info@nokia.com)
**
**
** Non-Open Source Usage
**
** Licensees may use this file in accordance with the Qt Beta Version
** License Agreement, Agreement version 2.2 provided with the Software or,
** alternatively, in accordance with the terms contained in a written
** agreement between you and Nokia.
**
** GNU General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the packaging
** of this file. Please review the following information to ensure GNU
** General Public Licensing requirements will be met:
**
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
** http://www.gnu.org/copyleft/gpl.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt GPL Exception
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
**
***************************************************************************/
#ifndef ACTIONMANAGERPRIVATE_H
#define ACTIONMANAGERPRIVATE_H
#include <coreplugin/actionmanager/actionmanager.h>
#include <QtCore/QMap>
#include <QtCore/QHash>
#include <QtCore/QMultiHash>
QT_BEGIN_NAMESPACE
class QSettings;
QT_END_NAMESPACE
struct CommandLocation
{
int m_container;
int m_position;
};
namespace Core {
class UniqueIDManager;
namespace Internal {
class ActionContainer;
class MainWindow;
class Command;
class ActionManagerPrivate : public Core::ActionManager
{
Q_OBJECT
public:
ActionManagerPrivate(MainWindow *mainWnd, UniqueIDManager *uidmgr);
~ActionManagerPrivate();
void setContext(const QList<int> &context);
static ActionManagerPrivate* instance();
void saveSettings(QSettings *settings);
QList<int> defaultGroups() const;
QList<Command *> commands() const;
QList<ActionContainer *> containers() const;
bool hasContext(int context) const;
ICommand *command(int uid) const;
IActionContainer *actionContainer(int uid) const;
void registerGlobalGroup(int groupId, int containerId);
void initialize();
//ActionManager Interface
IActionContainer *createMenu(const QString &id);
IActionContainer *createMenuBar(const QString &id);
ICommand *registerAction(QAction *action, const QString &id,
const QList<int> &context);
ICommand *registerAction(QAction *action, const QString &id);
ICommand *registerShortcut(QShortcut *shortcut, const QString &id,
const QList<int> &context);
void addAction(Core::ICommand *action, const QString &globalGroup);
void addMenu(Core::IActionContainer *menu, const QString &globalGroup);
Core::ICommand *command(const QString &id) const;
Core::IActionContainer *actionContainer(const QString &id) const;
private:
bool hasContext(QList<int> context) const;
ICommand *registerOverridableAction(QAction *action, const QString &id,
bool checkUnique);
static ActionManagerPrivate* m_instance;
QList<int> m_defaultGroups;
typedef QHash<int, Command *> IdCmdMap;
IdCmdMap m_idCmdMap;
typedef QHash<int, ActionContainer *> IdContainerMap;
IdContainerMap m_idContainerMap;
typedef QMap<int, int> GlobalGroupMap;
GlobalGroupMap m_globalgroups;
QList<int> m_context;
MainWindow *m_mainWnd;
};
} // namespace Internal
} // namespace Core
#endif // ACTIONMANAGERPRIVATE_H

View File

@@ -1,77 +0,0 @@
/***************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Qt Software Information (qt-info@nokia.com)
**
**
** Non-Open Source Usage
**
** Licensees may use this file in accordance with the Qt Beta Version
** License Agreement, Agreement version 2.2 provided with the Software or,
** alternatively, in accordance with the terms contained in a written
** agreement between you and Nokia.
**
** GNU General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the packaging
** of this file. Please review the following information to ensure GNU
** General Public Licensing requirements will be met:
**
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
** http://www.gnu.org/copyleft/gpl.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt GPL Exception
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
**
***************************************************************************/
#ifndef ACTIONMANAGERINTERFACE_H
#define ACTIONMANAGERINTERFACE_H
#include "coreplugin/core_global.h"
#include <coreplugin/actionmanager/iactioncontainer.h>
#include <coreplugin/actionmanager/icommand.h>
#include <QtCore/QObject>
#include <QtCore/QList>
QT_BEGIN_NAMESPACE
class QAction;
class QShortcut;
class QString;
QT_END_NAMESPACE
namespace Core {
class CORE_EXPORT ActionManagerInterface : public QObject
{
Q_OBJECT
public:
ActionManagerInterface(QObject *parent = 0) : QObject(parent) {}
virtual ~ActionManagerInterface() {}
virtual IActionContainer *createMenu(const QString &id) = 0;
virtual IActionContainer *createMenuBar(const QString &id) = 0;
virtual ICommand *registerAction(QAction *action, const QString &id, const QList<int> &context) = 0;
virtual ICommand *registerShortcut(QShortcut *shortcut, const QString &id, const QList<int> &context) = 0;
virtual ICommand *registerAction(QAction *action, const QString &id) = 0;
virtual void addAction(ICommand *action, const QString &globalGroup) = 0;
virtual void addMenu(IActionContainer *menu, const QString &globalGroup) = 0;
virtual ICommand *command(const QString &id) const = 0;
virtual IActionContainer *actionContainer(const QString &id) const = 0;
};
} // namespace Core
#endif // ACTIONMANAGERINTERFACE_H

View File

@@ -35,7 +35,7 @@
#define COMMAND_H #define COMMAND_H
#include "icommand.h" #include "icommand.h"
#include "actionmanager.h" #include "actionmanager_p.h"
#include <QtCore/QList> #include <QtCore/QList>
#include <QtCore/QMultiMap> #include <QtCore/QMultiMap>

View File

@@ -64,7 +64,7 @@ void CoreImpl::showOptionsDialog(const QString &group, const QString &page)
m_mainwindow->showOptionsDialog(group, page); m_mainwindow->showOptionsDialog(group, page);
} }
ActionManagerInterface *CoreImpl::actionManager() const ActionManager *CoreImpl::actionManager() const
{ {
return m_mainwindow->actionManager(); return m_mainwindow->actionManager();
} }
@@ -94,7 +94,7 @@ EditorManager *CoreImpl::editorManager() const
return m_mainwindow->editorManager(); return m_mainwindow->editorManager();
} }
ProgressManagerInterface *CoreImpl::progressManager() const ProgressManager *CoreImpl::progressManager() const
{ {
return m_mainwindow->progressManager(); return m_mainwindow->progressManager();
} }

View File

@@ -56,13 +56,13 @@ public:
void showOptionsDialog(const QString &group = QString(), void showOptionsDialog(const QString &group = QString(),
const QString &page = QString()); const QString &page = QString());
ActionManagerInterface *actionManager() const; ActionManager *actionManager() const;
FileManager *fileManager() const ; FileManager *fileManager() const ;
UniqueIDManager *uniqueIDManager() const; UniqueIDManager *uniqueIDManager() const;
MessageManager *messageManager() const; MessageManager *messageManager() const;
ExtensionSystem::PluginManager *pluginManager() const; ExtensionSystem::PluginManager *pluginManager() const;
EditorManager *editorManager() const; EditorManager *editorManager() const;
ProgressManagerInterface *progressManager() const; ProgressManager *progressManager() const;
ScriptManagerInterface *scriptManager() const; ScriptManagerInterface *scriptManager() const;
VariableManager *variableManager() const; VariableManager *variableManager() const;
VCSManager *vcsManager() const; VCSManager *vcsManager() const;

View File

@@ -99,9 +99,9 @@ HEADERS += mainwindow.h \
editormanager/ieditor.h \ editormanager/ieditor.h \
editormanager/ieditorfactory.h \ editormanager/ieditorfactory.h \
actionmanager/iactioncontainer.h \ actionmanager/iactioncontainer.h \
actionmanager/actionmanagerinterface.h \
actionmanager/icommand.h \
actionmanager/actionmanager.h \ actionmanager/actionmanager.h \
actionmanager/icommand.h \
actionmanager/actionmanager_p.h \
actionmanager/command.h \ actionmanager/command.h \
actionmanager/actioncontainer.h \ actionmanager/actioncontainer.h \
actionmanager/commandsfile.h \ actionmanager/commandsfile.h \
@@ -112,11 +112,11 @@ HEADERS += mainwindow.h \
dialogs/openwithdialog.h \ dialogs/openwithdialog.h \
dialogs/iwizard.h \ dialogs/iwizard.h \
dialogs/ioptionspage.h \ dialogs/ioptionspage.h \
progressmanager/progressmanager.h \ progressmanager/progressmanager_p.h \
progressmanager/progressview.h \ progressmanager/progressview.h \
progressmanager/progresspie.h \ progressmanager/progresspie.h \
progressmanager/futureprogress.h \ progressmanager/futureprogress.h \
progressmanager/progressmanagerinterface.h \ progressmanager/progressmanager.h \
icontext.h \ icontext.h \
icore.h \ icore.h \
ifile.h \ ifile.h \

View File

@@ -33,7 +33,7 @@
#include "shortcutsettings.h" #include "shortcutsettings.h"
#include "ui_shortcutsettings.h" #include "ui_shortcutsettings.h"
#include "actionmanager.h" #include "actionmanager_p.h"
#include "command.h" #include "command.h"
#include "coreconstants.h" #include "coreconstants.h"
#include "coreimpl.h" #include "coreimpl.h"
@@ -281,7 +281,7 @@ void ShortcutSettings::initialize()
{ {
QMap<QString, QTreeWidgetItem *> categories; QMap<QString, QTreeWidgetItem *> categories;
m_am = ActionManager::instance(); m_am = ActionManagerPrivate::instance();
UniqueIDManager *uidm = UniqueIDManager *uidm =
CoreImpl::instance()->uniqueIDManager(); CoreImpl::instance()->uniqueIDManager();

View File

@@ -51,7 +51,7 @@ class ICommand;
namespace Internal { namespace Internal {
class ActionManager; class ActionManagerPrivate;
class Command; class Command;
class MainWindow; class MainWindow;
@@ -101,7 +101,7 @@ private:
int translateModifiers(Qt::KeyboardModifiers state, const QString &text); int translateModifiers(Qt::KeyboardModifiers state, const QString &text);
QList<ShortcutItem *> m_scitems; QList<ShortcutItem *> m_scitems;
ActionManager *m_am; ActionManagerPrivate *m_am;
int m_key[4], m_keyNum; int m_key[4], m_keyNum;
Ui_ShortcutSettings *m_page; Ui_ShortcutSettings *m_page;
}; };

View File

@@ -48,7 +48,7 @@
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/ieditorfactory.h> #include <coreplugin/editormanager/ieditorfactory.h>
#include <coreplugin/baseview.h> #include <coreplugin/baseview.h>
#include <coreplugin/imode.h> #include <coreplugin/imode.h>
@@ -207,7 +207,7 @@ EditorManager::EditorManager(ICore *core, QWidget *parent) :
const QList<int> editManagerContext = const QList<int> editManagerContext =
QList<int>() << m_d->m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER); QList<int>() << m_d->m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER);
ActionManagerInterface *am = m_d->m_core->actionManager(); ActionManager *am = m_d->m_core->actionManager();
IActionContainer *mfile = am->actionContainer(Constants::M_FILE); IActionContainer *mfile = am->actionContainer(Constants::M_FILE);
//Revert to saved //Revert to saved

View File

@@ -41,7 +41,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -72,7 +72,7 @@ void EditorSplitter::registerActions()
const QList<int> editorManagerContext = const QList<int> editorManagerContext =
QList<int>() << m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER); QList<int>() << m_core->uniqueIDManager()->uniqueIdentifier(Constants::C_EDITORMANAGER);
ActionManagerInterface *am = m_core->actionManager(); ActionManager *am = m_core->actionManager();
IActionContainer *mwindow = am->actionContainer(Constants::M_WINDOW); IActionContainer *mwindow = am->actionContainer(Constants::M_WINDOW);
ICommand *cmd; ICommand *cmd;

View File

@@ -51,7 +51,7 @@
*/ */
/*! /*!
\fn ActionManagerInterface *ICore::actionManager() const \fn ActionManager *ICore::actionManager() const
\brief Returns the application's action manager. \brief Returns the application's action manager.
The action manager is responsible for registration of menus and The action manager is responsible for registration of menus and
@@ -98,7 +98,7 @@
*/ */
/*! /*!
\fn ProgressManagerInterface *ICore::progressManager() const \fn ProgressManager *ICore::progressManager() const
\brief Returns the application's progress manager. \brief Returns the application's progress manager.
Use the progress manager to register a concurrent task to Use the progress manager to register a concurrent task to

View File

@@ -50,14 +50,14 @@ QT_END_NAMESPACE
namespace Core { namespace Core {
// forward declarations // forward declarations
class ActionManagerInterface; class ActionManager;
class IFile; class IFile;
class FileManager; class FileManager;
class MessageManager; class MessageManager;
class IEditor; class IEditor;
class UniqueIDManager; class UniqueIDManager;
class EditorManager; class EditorManager;
class ProgressManagerInterface; class ProgressManager;
class ScriptManagerInterface; class ScriptManagerInterface;
class VariableManager; class VariableManager;
class IContext; class IContext;
@@ -81,13 +81,13 @@ public:
virtual void showOptionsDialog(const QString &group = QString(), virtual void showOptionsDialog(const QString &group = QString(),
const QString &page = QString()) = 0; const QString &page = QString()) = 0;
virtual ActionManagerInterface *actionManager() const = 0; virtual ActionManager *actionManager() const = 0;
virtual FileManager *fileManager() const = 0; virtual FileManager *fileManager() const = 0;
virtual UniqueIDManager *uniqueIDManager() const = 0; virtual UniqueIDManager *uniqueIDManager() const = 0;
virtual MessageManager *messageManager() const = 0; virtual MessageManager *messageManager() const = 0;
virtual ExtensionSystem::PluginManager *pluginManager() const = 0; virtual ExtensionSystem::PluginManager *pluginManager() const = 0;
virtual EditorManager *editorManager() const = 0; virtual EditorManager *editorManager() const = 0;
virtual ProgressManagerInterface *progressManager() const = 0; virtual ProgressManager *progressManager() const = 0;
virtual ScriptManagerInterface *scriptManager() const = 0; virtual ScriptManagerInterface *scriptManager() const = 0;
virtual VariableManager *variableManager() const = 0; virtual VariableManager *variableManager() const = 0;
virtual VCSManager *vcsManager() const = 0; virtual VCSManager *vcsManager() const = 0;

View File

@@ -33,7 +33,7 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "actioncontainer.h" #include "actioncontainer.h"
#include "actionmanager.h" #include "actionmanager_p.h"
#include "basemode.h" #include "basemode.h"
#include "coreimpl.h" #include "coreimpl.h"
#include "coreconstants.h" #include "coreconstants.h"
@@ -49,7 +49,7 @@
#include "newdialog.h" #include "newdialog.h"
#include "outputpane.h" #include "outputpane.h"
#include "plugindialog.h" #include "plugindialog.h"
#include "progressmanager.h" #include "progressmanager_p.h"
#include "progressview.h" #include "progressview.h"
#include "shortcutsettings.h" #include "shortcutsettings.h"
#include "vcsmanager.h" #include "vcsmanager.h"
@@ -115,10 +115,10 @@ MainWindow::MainWindow() :
m_additionalContexts(m_globalContext), m_additionalContexts(m_globalContext),
m_settings(new QSettings(QSettings::IniFormat, QSettings::UserScope, QLatin1String("Nokia"), QLatin1String("QtCreator"), this)), m_settings(new QSettings(QSettings::IniFormat, QSettings::UserScope, QLatin1String("Nokia"), QLatin1String("QtCreator"), this)),
m_printer(0), m_printer(0),
m_actionManager(new ActionManager(this, m_uniqueIDManager)), m_actionManager(new ActionManagerPrivate(this, m_uniqueIDManager)),
m_editorManager(0), m_editorManager(0),
m_fileManager(new FileManager(m_coreImpl, this)), m_fileManager(new FileManager(m_coreImpl, this)),
m_progressManager(new ProgressManager()), m_progressManager(new ProgressManagerPrivate()),
m_scriptManager(new ScriptManager(this, m_coreImpl)), m_scriptManager(new ScriptManager(this, m_coreImpl)),
m_variableManager(new VariableManager(this)), m_variableManager(new VariableManager(this)),
m_vcsManager(new VCSManager()), m_vcsManager(new VCSManager()),
@@ -362,9 +362,9 @@ QStatusBar *MainWindow::statusBar() const
void MainWindow::registerDefaultContainers() void MainWindow::registerDefaultContainers()
{ {
ActionManager *am = m_actionManager; ActionManagerPrivate *am = m_actionManager;
IActionContainer *menubar = m_actionManager->createMenuBar(Constants::MENU_BAR); IActionContainer *menubar = am->createMenuBar(Constants::MENU_BAR);
#ifndef Q_WS_MAC // System menu bar on Mac #ifndef Q_WS_MAC // System menu bar on Mac
setMenuBar(menubar->menuBar()); setMenuBar(menubar->menuBar());
@@ -427,7 +427,7 @@ void MainWindow::registerDefaultContainers()
ac->appendGroup(Constants::G_HELP_ABOUT, true); ac->appendGroup(Constants::G_HELP_ABOUT, true);
} }
static ICommand *createSeparator(ActionManager *am, QObject *parent, static ICommand *createSeparator(ActionManagerPrivate *am, QObject *parent,
const QString &name, const QString &name,
const QList<int> &context) const QList<int> &context)
{ {
@@ -439,7 +439,7 @@ static ICommand *createSeparator(ActionManager *am, QObject *parent,
void MainWindow::registerDefaultActions() void MainWindow::registerDefaultActions()
{ {
ActionManager *am = m_actionManager; ActionManagerPrivate *am = m_actionManager;
IActionContainer *mfile = am->actionContainer(Constants::M_FILE); IActionContainer *mfile = am->actionContainer(Constants::M_FILE);
IActionContainer *medit = am->actionContainer(Constants::M_EDIT); IActionContainer *medit = am->actionContainer(Constants::M_EDIT);
IActionContainer *mtools = am->actionContainer(Constants::M_TOOLS); IActionContainer *mtools = am->actionContainer(Constants::M_TOOLS);
@@ -815,7 +815,7 @@ void MainWindow::openFileWith()
} }
} }
ActionManagerInterface *MainWindow::actionManager() const ActionManager *MainWindow::actionManager() const
{ {
return m_actionManager; return m_actionManager;
} }
@@ -845,7 +845,7 @@ EditorManager *MainWindow::editorManager() const
return m_editorManager; return m_editorManager;
} }
ProgressManagerInterface *MainWindow::progressManager() const ProgressManager *MainWindow::progressManager() const
{ {
return m_progressManager; return m_progressManager;
} }

View File

@@ -55,7 +55,7 @@ class PluginManager;
namespace Core { namespace Core {
class ActionManagerInterface; class ActionManager;
class BaseMode; class BaseMode;
class BaseView; class BaseView;
class EditorManager; class EditorManager;
@@ -64,7 +64,7 @@ class IContext;
class MessageManager; class MessageManager;
class MimeDatabase; class MimeDatabase;
class ModeManager; class ModeManager;
class ProgressManagerInterface; class ProgressManager;
class RightPaneWidget; class RightPaneWidget;
class ScriptManagerInterface; class ScriptManagerInterface;
class UniqueIDManager; class UniqueIDManager;
@@ -74,13 +74,13 @@ class ViewManagerInterface;
namespace Internal { namespace Internal {
class ActionManager; class ActionManagerPrivate;
class CoreImpl; class CoreImpl;
class FancyTabWidget; class FancyTabWidget;
class GeneralSettings; class GeneralSettings;
class NavigationWidget; class NavigationWidget;
class OutputPane; class OutputPane;
class ProgressManager; class ProgressManagerPrivate;
class ShortcutSettings; class ShortcutSettings;
class ViewManager; class ViewManager;
class VersionDialog; class VersionDialog;
@@ -105,13 +105,13 @@ public:
//ICore //ICore
inline ExtensionSystem::PluginManager *pluginManager() { return m_pluginManager; } inline ExtensionSystem::PluginManager *pluginManager() { return m_pluginManager; }
Core::ActionManagerInterface *actionManager() const; Core::ActionManager *actionManager() const;
Core::FileManager *fileManager() const; Core::FileManager *fileManager() const;
Core::UniqueIDManager *uniqueIDManager() const; Core::UniqueIDManager *uniqueIDManager() const;
Core::MessageManager *messageManager() const; Core::MessageManager *messageManager() const;
ExtensionSystem::PluginManager *pluginManager() const; ExtensionSystem::PluginManager *pluginManager() const;
Core::EditorManager *editorManager() const; Core::EditorManager *editorManager() const;
Core::ProgressManagerInterface *progressManager() const; Core::ProgressManager *progressManager() const;
Core::ScriptManagerInterface *scriptManager() const; Core::ScriptManagerInterface *scriptManager() const;
Core::VariableManager *variableManager() const; Core::VariableManager *variableManager() const;
Core::ModeManager *modeManager() const; Core::ModeManager *modeManager() const;
@@ -176,11 +176,11 @@ private:
QList<int> m_additionalContexts; QList<int> m_additionalContexts;
QSettings *m_settings; QSettings *m_settings;
mutable QPrinter *m_printer; mutable QPrinter *m_printer;
ActionManager *m_actionManager; ActionManagerPrivate *m_actionManager;
EditorManager *m_editorManager; EditorManager *m_editorManager;
FileManager *m_fileManager; FileManager *m_fileManager;
MessageManager *m_messageManager; MessageManager *m_messageManager;
ProgressManager *m_progressManager; ProgressManagerPrivate *m_progressManager;
ScriptManagerInterface *m_scriptManager; ScriptManagerInterface *m_scriptManager;
VariableManager *m_variableManager; VariableManager *m_variableManager;
VCSManager *m_vcsManager; VCSManager *m_vcsManager;

View File

@@ -39,7 +39,7 @@
#include <aggregation/aggregate.h> #include <aggregation/aggregate.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/icommand.h> #include <coreplugin/actionmanager/icommand.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/coreimpl.h> #include <coreplugin/coreimpl.h>
@@ -140,7 +140,7 @@ void ModeManager::objectAdded(QObject *obj)
m_modeStack->insertTab(index, mode->widget(), mode->icon(), mode->name()); m_modeStack->insertTab(index, mode->widget(), mode->icon(), mode->name());
// Register mode shortcut // Register mode shortcut
ActionManagerInterface *am = m_mainWindow->actionManager(); ActionManager *am = m_mainWindow->actionManager();
const QString shortcutId = QLatin1String("QtCreator.Mode.") + mode->uniqueModeName(); const QString shortcutId = QLatin1String("QtCreator.Mode.") + mode->uniqueModeName();
QShortcut *shortcut = new QShortcut(m_mainWindow); QShortcut *shortcut = new QShortcut(m_mainWindow);
shortcut->setWhatsThis(tr("Switch to %1 mode").arg(mode->name())); shortcut->setWhatsThis(tr("Switch to %1 mode").arg(mode->name()));

View File

@@ -38,7 +38,7 @@
#include <coreplugin/inavigationwidgetfactory.h> #include <coreplugin/inavigationwidgetfactory.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <extensionsystem/ExtensionSystemInterfaces> #include <extensionsystem/ExtensionSystemInterfaces>
#include <QtGui/QAction> #include <QtGui/QAction>
@@ -316,7 +316,7 @@ void NavigationWidget::objectAdded(QObject * obj)
return; return;
Core::ICore *core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>(); Core::ICore *core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>();
Core::ActionManagerInterface *am = core->actionManager(); Core::ActionManager *am = core->actionManager();
QList<int> navicontext = QList<int>() << core->uniqueIDManager()-> QList<int> navicontext = QList<int>() << core->uniqueIDManager()->
uniqueIdentifier(Core::Constants::C_NAVIGATION_PANE); uniqueIdentifier(Core::Constants::C_NAVIGATION_PANE);

View File

@@ -37,7 +37,7 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "modemanager.h" #include "modemanager.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/iactioncontainer.h> #include <coreplugin/actionmanager/iactioncontainer.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/editorgroup.h> #include <coreplugin/editormanager/editorgroup.h>
@@ -210,7 +210,7 @@ void OutputPane::init(ICore *core, ExtensionSystem::PluginManager *pm)
m_pluginManager = pm; m_pluginManager = pm;
m_core = core; m_core = core;
ActionManagerInterface *am = m_core->actionManager(); ActionManager *am = m_core->actionManager();
IActionContainer *mwindow = am->actionContainer(Constants::M_WINDOW); IActionContainer *mwindow = am->actionContainer(Constants::M_WINDOW);
// Window->Output Panes // Window->Output Panes

View File

@@ -31,7 +31,7 @@
** **
***************************************************************************/ ***************************************************************************/
#include "progressmanager.h" #include "progressmanager_p.h"
#include "progressview.h" #include "progressview.h"
#include "coreimpl.h" #include "coreimpl.h"
#include "baseview.h" #include "baseview.h"
@@ -44,23 +44,23 @@
using namespace Core; using namespace Core;
using namespace Core::Internal; using namespace Core::Internal;
ProgressManager::ProgressManager(QObject *parent) ProgressManagerPrivate::ProgressManagerPrivate(QObject *parent)
: ProgressManagerInterface(parent) : ProgressManager(parent)
{ {
m_progressView = new ProgressView; m_progressView = new ProgressView;
ICore *core = CoreImpl::instance(); ICore *core = CoreImpl::instance();
connect(core, SIGNAL(coreAboutToClose()), this, SLOT(cancelAllRunningTasks())); connect(core, SIGNAL(coreAboutToClose()), this, SLOT(cancelAllRunningTasks()));
} }
ProgressManager::~ProgressManager() ProgressManagerPrivate::~ProgressManagerPrivate()
{ {
} }
void ProgressManager::init() void ProgressManagerPrivate::init()
{ {
} }
void ProgressManager::cancelTasks(const QString &type) void ProgressManagerPrivate::cancelTasks(const QString &type)
{ {
QMap<QFutureWatcher<void> *, QString>::iterator task = m_runningTasks.begin(); QMap<QFutureWatcher<void> *, QString>::iterator task = m_runningTasks.begin();
while (task != m_runningTasks.end()) { while (task != m_runningTasks.end()) {
@@ -75,7 +75,7 @@ void ProgressManager::cancelTasks(const QString &type)
} }
} }
void ProgressManager::cancelAllRunningTasks() void ProgressManagerPrivate::cancelAllRunningTasks()
{ {
QMap<QFutureWatcher<void> *, QString>::const_iterator task = m_runningTasks.constBegin(); QMap<QFutureWatcher<void> *, QString>::const_iterator task = m_runningTasks.constBegin();
while (task != m_runningTasks.constEnd()) { while (task != m_runningTasks.constEnd()) {
@@ -87,7 +87,7 @@ void ProgressManager::cancelAllRunningTasks()
m_runningTasks.clear(); m_runningTasks.clear();
} }
FutureProgress *ProgressManager::addTask(const QFuture<void> &future, const QString &title, const QString &type, PersistentType persistency) FutureProgress *ProgressManagerPrivate::addTask(const QFuture<void> &future, const QString &title, const QString &type, PersistentType persistency)
{ {
QFutureWatcher<void> *watcher = new QFutureWatcher<void>(); QFutureWatcher<void> *watcher = new QFutureWatcher<void>();
m_runningTasks.insert(watcher, type); m_runningTasks.insert(watcher, type);
@@ -96,12 +96,12 @@ FutureProgress *ProgressManager::addTask(const QFuture<void> &future, const QStr
return m_progressView->addTask(future, title, type, persistency); return m_progressView->addTask(future, title, type, persistency);
} }
QWidget *ProgressManager::progressView() QWidget *ProgressManagerPrivate::progressView()
{ {
return m_progressView; return m_progressView;
} }
void ProgressManager::taskFinished() void ProgressManagerPrivate::taskFinished()
{ {
QObject *taskObject = sender(); QObject *taskObject = sender();
QTC_ASSERT(taskObject, return); QTC_ASSERT(taskObject, return);

View File

@@ -34,41 +34,30 @@
#ifndef PROGRESSMANAGER_H #ifndef PROGRESSMANAGER_H
#define PROGRESSMANAGER_H #define PROGRESSMANAGER_H
#include "progressmanagerinterface.h" #include <coreplugin/core_global.h>
#include <coreplugin/progressmanager/futureprogress.h>
#include <QtCore/QPointer> #include <QtCore/QObject>
#include <QtCore/QList> #include <QtCore/QFuture>
#include <QtCore/QFutureWatcher> #include <QtGui/QIcon>
namespace Core { namespace Core {
namespace Internal {
class ProgressView; class CORE_EXPORT ProgressManager : public QObject
class ProgressManager : public Core::ProgressManagerInterface
{ {
Q_OBJECT Q_OBJECT
public: public:
ProgressManager(QObject *parent = 0); enum PersistentType { CloseOnSuccess, KeepOnFinish };
~ProgressManager();
void init();
FutureProgress *addTask(const QFuture<void> &future, const QString &title, const QString &type, PersistentType persistency); ProgressManager(QObject *parent = 0) : QObject(parent) {}
virtual ~ProgressManager() {}
QWidget *progressView(); virtual FutureProgress *addTask(const QFuture<void> &future, const QString &title, const QString &type, PersistentType persistency = KeepOnFinish) = 0;
public slots: public slots:
void cancelTasks(const QString &type); virtual void cancelTasks(const QString &type) = 0;
private slots:
void taskFinished();
void cancelAllRunningTasks();
private:
QPointer<ProgressView> m_progressView;
QMap<QFutureWatcher<void> *, QString> m_runningTasks;
}; };
} // namespace Internal
} // namespace Core } // namespace Core
#endif // PROGRESSMANAGER_H #endif //PROGRESSMANAGER_H

View File

@@ -31,33 +31,44 @@
** **
***************************************************************************/ ***************************************************************************/
#ifndef PROGRESSMANAGERINTERFACE_H #ifndef PROGRESSMANAGER_P_H
#define PROGRESSMANAGERINTERFACE_H #define PROGRESSMANAGER_P_H
#include <coreplugin/core_global.h> #include "progressmanager.h"
#include <coreplugin/progressmanager/futureprogress.h>
#include <QtCore/QObject> #include <QtCore/QPointer>
#include <QtCore/QFuture> #include <QtCore/QList>
#include <QtGui/QIcon> #include <QtCore/QFutureWatcher>
namespace Core { namespace Core {
namespace Internal {
class CORE_EXPORT ProgressManagerInterface : public QObject class ProgressView;
class ProgressManagerPrivate : public Core::ProgressManager
{ {
Q_OBJECT Q_OBJECT
public: public:
enum PersistentType { CloseOnSuccess, KeepOnFinish }; ProgressManagerPrivate(QObject *parent = 0);
~ProgressManagerPrivate();
void init();
ProgressManagerInterface(QObject *parent = 0) : QObject(parent) {} FutureProgress *addTask(const QFuture<void> &future, const QString &title, const QString &type, PersistentType persistency);
virtual ~ProgressManagerInterface() {}
virtual FutureProgress *addTask(const QFuture<void> &future, const QString &title, const QString &type, PersistentType persistency = KeepOnFinish) = 0; QWidget *progressView();
public slots: public slots:
virtual void cancelTasks(const QString &type) = 0; void cancelTasks(const QString &type);
private slots:
void taskFinished();
void cancelAllRunningTasks();
private:
QPointer<ProgressView> m_progressView;
QMap<QFutureWatcher<void> *, QString> m_runningTasks;
}; };
} // namespace Internal
} // namespace Core } // namespace Core
#endif //PROGRESSMANAGERINTERFACE_H #endif // PROGRESSMANAGER_P_H

View File

@@ -62,7 +62,7 @@ ProgressView::~ProgressView()
FutureProgress *ProgressView::addTask(const QFuture<void> &future, FutureProgress *ProgressView::addTask(const QFuture<void> &future,
const QString &title, const QString &title,
const QString &type, const QString &type,
ProgressManagerInterface::PersistentType persistency) ProgressManager::PersistentType persistency)
{ {
removeOldTasks(type); removeOldTasks(type);
if (m_taskList.size() == 3) if (m_taskList.size() == 3)
@@ -73,7 +73,7 @@ FutureProgress *ProgressView::addTask(const QFuture<void> &future,
m_layout->insertWidget(0, progress); m_layout->insertWidget(0, progress);
m_taskList.append(progress); m_taskList.append(progress);
m_type.insert(progress, type); m_type.insert(progress, type);
m_keep.insert(progress, (persistency == ProgressManagerInterface::KeepOnFinish)); m_keep.insert(progress, (persistency == ProgressManager::KeepOnFinish));
connect(progress, SIGNAL(finished()), this, SLOT(slotFinished())); connect(progress, SIGNAL(finished()), this, SLOT(slotFinished()));
return progress; return progress;
} }

View File

@@ -34,7 +34,7 @@
#ifndef PROGRESSVIEW_H #ifndef PROGRESSVIEW_H
#define PROGRESSVIEW_H #define PROGRESSVIEW_H
#include "progressmanagerinterface.h" #include "progressmanager.h"
#include <QtCore/QFuture> #include <QtCore/QFuture>
#include <QtGui/QWidget> #include <QtGui/QWidget>
@@ -59,7 +59,7 @@ public:
FutureProgress *addTask(const QFuture<void> &future, FutureProgress *addTask(const QFuture<void> &future,
const QString &title, const QString &title,
const QString &type, const QString &type,
ProgressManagerInterface::PersistentType persistency); ProgressManager::PersistentType persistency);
private slots: private slots:
void slotFinished(); void slotFinished();

View File

@@ -35,7 +35,7 @@
#include "imode.h" #include "imode.h"
#include "modemanager.h" #include "modemanager.h"
#include "actionmanager/actionmanagerinterface.h" #include "actionmanager/actionmanager.h"
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QtCore/QEvent> #include <QtCore/QEvent>

View File

@@ -38,7 +38,7 @@
#include "uniqueidmanager.h" #include "uniqueidmanager.h"
#include "iview.h" #include "iview.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/icommand.h> #include <coreplugin/actionmanager/icommand.h>
#include <extensionsystem/ExtensionSystemInterfaces> #include <extensionsystem/ExtensionSystemInterfaces>
#include <aggregation/aggregate.h> #include <aggregation/aggregate.h>

View File

@@ -43,7 +43,7 @@
#include <coreplugin/filemanager.h> #include <coreplugin/filemanager.h>
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <texteditor/itexteditor.h> #include <texteditor/itexteditor.h>
#include <coreplugin/messageoutputwindow.h> #include <coreplugin/messageoutputwindow.h>
@@ -95,7 +95,7 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *error_m
addObject(m_settingsPage); addObject(m_settingsPage);
//register actions //register actions
Core::ActionManagerInterface *actionManager = gCoreInstance->actionManager(); Core::ActionManager *actionManager = gCoreInstance->actionManager();
Core::IActionContainer *toolsContainer = Core::IActionContainer *toolsContainer =
actionManager->actionContainer(Core::Constants::M_TOOLS); actionManager->actionContainer(Core::Constants::M_TOOLS);

View File

@@ -55,7 +55,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>

View File

@@ -44,7 +44,7 @@
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/fileiconprovider.h> #include <coreplugin/fileiconprovider.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/icommand.h> #include <coreplugin/actionmanager/icommand.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <texteditor/completionsupport.h> #include <texteditor/completionsupport.h>
@@ -194,7 +194,7 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess
QList<int> context; QList<int> context;
context << m_core->uniqueIDManager()->uniqueIdentifier(CppEditor::Constants::C_CPPEDITOR); context << m_core->uniqueIDManager()->uniqueIdentifier(CppEditor::Constants::C_CPPEDITOR);
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
am->createMenu(CppEditor::Constants::M_CONTEXT); am->createMenu(CppEditor::Constants::M_CONTEXT);
Core::ICommand *cmd; Core::ICommand *cmd;

View File

@@ -606,7 +606,7 @@ QFuture<void> CppModelManager::refreshSourceFiles(const QStringList &sourceFiles
if (sourceFiles.count() > 1) { if (sourceFiles.count() > 1) {
m_core->progressManager()->addTask(result, tr("Indexing"), m_core->progressManager()->addTask(result, tr("Indexing"),
CppTools::Constants::TASK_INDEX, CppTools::Constants::TASK_INDEX,
Core::ProgressManagerInterface::CloseOnSuccess); Core::ProgressManager::CloseOnSuccess);
} }
return result; return result;
} }

View File

@@ -45,7 +45,7 @@
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <cppeditor/cppeditorconstants.h> #include <cppeditor/cppeditorconstants.h>
@@ -81,7 +81,7 @@ CppToolsPlugin::~CppToolsPlugin()
bool CppToolsPlugin::initialize(const QStringList & /*arguments*/, QString *) bool CppToolsPlugin::initialize(const QStringList & /*arguments*/, QString *)
{ {
m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>(); m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>();
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
// Objects // Objects
m_modelManager = new CppModelManager(this); m_modelManager = new CppModelManager(this);

View File

@@ -40,7 +40,7 @@
#include "gdbengine.h" #include "gdbengine.h"
#include "mode.h" #include "mode.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
@@ -227,7 +227,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *error_mes
ICore *core = m_pm->getObject<Core::ICore>(); ICore *core = m_pm->getObject<Core::ICore>();
QTC_ASSERT(core, return false); QTC_ASSERT(core, return false);
Core::ActionManagerInterface *actionManager = core->actionManager(); Core::ActionManager *actionManager = core->actionManager();
QTC_ASSERT(actionManager, return false); QTC_ASSERT(actionManager, return false);
Core::UniqueIDManager *uidm = core->uniqueIDManager(); Core::UniqueIDManager *uidm = core->uniqueIDManager();

View File

@@ -40,7 +40,7 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/minisplitter.h> #include <coreplugin/minisplitter.h>
#include <coreplugin/findplaceholder.h> #include <coreplugin/findplaceholder.h>
@@ -151,7 +151,7 @@ QToolBar *DebugMode::createToolBar()
IDebuggerManagerAccessForDebugMode *managerAccess = IDebuggerManagerAccessForDebugMode *managerAccess =
m_manager->debugModeInterface(); m_manager->debugModeInterface();
Core::ActionManagerInterface *am = Core::ActionManager *am =
ExtensionSystem::PluginManager::instance() ExtensionSystem::PluginManager::instance()
->getObject<Core::ICore>()->actionManager(); ->getObject<Core::ICore>()->actionManager();
QToolBar *debugToolBar = new QToolBar; QToolBar *debugToolBar = new QToolBar;

View File

@@ -41,7 +41,7 @@
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -99,7 +99,7 @@ static inline QIcon designerIcon(const QString &iconName)
// Create an action to activate a designer tool // Create an action to activate a designer tool
static inline QAction *createEditModeAction(QActionGroup *ag, static inline QAction *createEditModeAction(QActionGroup *ag,
const QList<int> &context, const QList<int> &context,
Core::ActionManagerInterface *am, Core::ActionManager *am,
Core::IActionContainer *medit, Core::IActionContainer *medit,
const QString &actionName, const QString &actionName,
const QString &name, const QString &name,
@@ -124,7 +124,7 @@ static inline QAction *createEditModeAction(QActionGroup *ag,
// Create a menu separato // Create a menu separato
static inline QAction * createSeparator(QObject *parent, static inline QAction * createSeparator(QObject *parent,
Core::ActionManagerInterface *am, Core::ActionManager *am,
const QList<int> &context, const QList<int> &context,
Core::IActionContainer *container, Core::IActionContainer *container,
const QString &name = QString(), const QString &name = QString(),
@@ -139,7 +139,7 @@ static inline QAction * createSeparator(QObject *parent,
// Create a tool action // Create a tool action
static inline void addToolAction(QAction *a, static inline void addToolAction(QAction *a,
Core::ActionManagerInterface *am, Core::ActionManager *am,
const QList<int> &context, const QList<int> &context,
const QString &name, const QString &name,
Core::IActionContainer *c1, Core::IActionContainer *c1,
@@ -305,7 +305,7 @@ void FormEditorW::deleteInstance()
void FormEditorW::setupActions() void FormEditorW::setupActions()
{ {
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
Core::ICommand *command; Core::ICommand *command;
//menus //menus
@@ -443,7 +443,7 @@ QToolBar *FormEditorW::createEditorToolBar() const
{ {
QToolBar *rc = new QToolBar; QToolBar *rc = new QToolBar;
rc->addSeparator(); rc->addSeparator();
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
const QStringList::const_iterator cend = m_toolActionIds.constEnd(); const QStringList::const_iterator cend = m_toolActionIds.constEnd();
for (QStringList::const_iterator it = m_toolActionIds.constBegin(); it != cend; ++it) { for (QStringList::const_iterator it = m_toolActionIds.constBegin(); it != cend; ++it) {
Core::ICommand *cmd = am->command(*it); Core::ICommand *cmd = am->command(*it);
@@ -457,7 +457,7 @@ QToolBar *FormEditorW::createEditorToolBar() const
return rc; return rc;
} }
Core::IActionContainer *FormEditorW::createPreviewStyleMenu(Core::ActionManagerInterface *am, Core::IActionContainer *FormEditorW::createPreviewStyleMenu(Core::ActionManager *am,
QActionGroup *actionGroup) QActionGroup *actionGroup)
{ {
const QString menuId = QLatin1String(M_FORMEDITOR_PREVIEW); const QString menuId = QLatin1String(M_FORMEDITOR_PREVIEW);

View File

@@ -65,7 +65,7 @@ namespace qdesigner_internal {
QT_END_NAMESPACE QT_END_NAMESPACE
namespace Core { namespace Core {
class ActionManagerInterface; class ActionManager;
class IActionContainer; class IActionContainer;
class ICore; class ICore;
class IEditor; class IEditor;
@@ -142,7 +142,7 @@ private:
typedef QList<FormWindowEditor *> EditorList; typedef QList<FormWindowEditor *> EditorList;
void setupActions(); void setupActions();
Core::IActionContainer *createPreviewStyleMenu(Core::ActionManagerInterface *am, Core::IActionContainer *createPreviewStyleMenu(Core::ActionManager *am,
QActionGroup *actionGroup); QActionGroup *actionGroup);
void critical(const QString &errorMessage); void critical(const QString &errorMessage);

View File

@@ -36,7 +36,7 @@
#include "fakevimconstants.h" #include "fakevimconstants.h"
#include "fakevimhandler.h" #include "fakevimhandler.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
@@ -116,7 +116,7 @@ bool FakeVimPlugin::initialize(const QStringList &arguments, QString *error_mess
m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>(); m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>();
QTC_ASSERT(m_core, return false); QTC_ASSERT(m_core, return false);
Core::ActionManagerInterface *actionManager = m_core->actionManager(); Core::ActionManager *actionManager = m_core->actionManager();
QTC_ASSERT(actionManager, return false); QTC_ASSERT(actionManager, return false);
QList<int> globalcontext; QList<int> globalcontext;

View File

@@ -38,7 +38,7 @@
#include "findtoolwindow.h" #include "findtoolwindow.h"
#include "searchresultwindow.h" #include "searchresultwindow.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/iactioncontainer.h> #include <coreplugin/actionmanager/iactioncontainer.h>
#include <coreplugin/actionmanager/icommand.h> #include <coreplugin/actionmanager/icommand.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
@@ -126,7 +126,7 @@ void FindPlugin::openFindFilter()
void FindPlugin::setupMenu() void FindPlugin::setupMenu()
{ {
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
Core::IActionContainer *medit = am->actionContainer(Core::Constants::M_EDIT); Core::IActionContainer *medit = am->actionContainer(Core::Constants::M_EDIT);
Core::IActionContainer *mfind = am->createMenu(Constants::M_FIND); Core::IActionContainer *mfind = am->createMenu(Constants::M_FIND);
medit->addMenu(mfind, Core::Constants::G_EDIT_FIND); medit->addMenu(mfind, Core::Constants::G_EDIT_FIND);
@@ -149,7 +149,7 @@ void FindPlugin::setupMenu()
void FindPlugin::setupFilterMenuItems() void FindPlugin::setupFilterMenuItems()
{ {
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
QList<IFindFilter*> findInterfaces = QList<IFindFilter*> findInterfaces =
ExtensionSystem::PluginManager::instance()->getObjects<IFindFilter>(); ExtensionSystem::PluginManager::instance()->getObjects<IFindFilter>();
Core::ICommand *cmd; Core::ICommand *cmd;

View File

@@ -37,7 +37,7 @@
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/findplaceholder.h> #include <coreplugin/findplaceholder.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/iactioncontainer.h> #include <coreplugin/actionmanager/iactioncontainer.h>
#include <coreplugin/actionmanager/icommand.h> #include <coreplugin/actionmanager/icommand.h>
@@ -138,7 +138,7 @@ FindToolBar::FindToolBar(FindPlugin *plugin, CurrentDocumentFind *currentDocumen
QList<int> globalcontext; QList<int> globalcontext;
globalcontext << Core::Constants::C_GLOBAL_ID; globalcontext << Core::Constants::C_GLOBAL_ID;
Core::ActionManagerInterface *am = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>()->actionManager(); Core::ActionManager *am = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>()->actionManager();
Core::IActionContainer *mfind = am->actionContainer(Constants::M_FIND); Core::IActionContainer *mfind = am->actionContainer(Constants::M_FIND);
Core::ICommand *cmd; Core::ICommand *cmd;

View File

@@ -38,12 +38,12 @@
#include "gitplugin.h" #include "gitplugin.h"
#include "gitsubmiteditor.h" #include "gitsubmiteditor.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <coreplugin/progressmanager/progressmanagerinterface.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <texteditor/itexteditor.h> #include <texteditor/itexteditor.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -999,7 +999,7 @@ void GitCommand::execute(const QStringList &arguments,
Core::ICore *core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>(); Core::ICore *core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>();
core->progressManager()->addTask(task, taskName core->progressManager()->addTask(task, taskName
, QLatin1String("Git.action") , QLatin1String("Git.action")
, Core::ProgressManagerInterface::CloseOnSuccess); , Core::ProgressManager::CloseOnSuccess);
} }
void GitCommand::run(const QStringList &arguments, void GitCommand::run(const QStringList &arguments,

View File

@@ -47,7 +47,7 @@
#include <coreplugin/filemanager.h> #include <coreplugin/filemanager.h>
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -210,14 +210,10 @@ GitPlugin *GitPlugin::instance()
static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = { static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = {
Git::Constants::SUBMIT_MIMETYPE, Git::Constants::SUBMIT_MIMETYPE,
Git::Constants::GITSUBMITEDITOR_KIND, Git::Constants::GITSUBMITEDITOR_KIND,
Git::Constants::C_GITSUBMITEDITOR, Git::Constants::C_GITSUBMITEDITOR
Core::Constants::UNDO,
Core::Constants::REDO,
Git::Constants::SUBMIT_CURRENT,
Git::Constants::DIFF_SELECTED
}; };
static Core::ICommand *createSeparator(Core::ActionManagerInterface *am, static Core::ICommand *createSeparator(Core::ActionManager *am,
const QList<int> &context, const QList<int> &context,
const QString &id, const QString &id,
QObject *parent) QObject *parent)
@@ -267,7 +263,7 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *error_message)
addObject(m_versionControl); addObject(m_versionControl);
//register actions //register actions
Core::ActionManagerInterface *actionManager = m_core->actionManager(); Core::ActionManager *actionManager = m_core->actionManager();
Core::IActionContainer *toolsContainer = Core::IActionContainer *toolsContainer =
actionManager->actionContainer(Core::Constants::M_TOOLS); actionManager->actionContainer(Core::Constants::M_TOOLS);
@@ -640,10 +636,7 @@ Core::IEditor *GitPlugin::openSubmitEditor(const QString &fileName, const Commit
QTC_ASSERT(submitEditor, return 0); QTC_ASSERT(submitEditor, return 0);
// The actions are for some reason enabled by the context switching // The actions are for some reason enabled by the context switching
// mechanism. Disable them correctly. // mechanism. Disable them correctly.
m_submitCurrentAction->setEnabled(!cd.stagedFiles.empty()); submitEditor->registerActions(m_undoAction, m_redoAction, m_submitCurrentAction, m_diffSelectedFilesAction);
m_diffSelectedFilesAction->setEnabled(false);
m_undoAction->setEnabled(false);
m_redoAction->setEnabled(false);
submitEditor->setCommitData(cd); submitEditor->setCommitData(cd);
connect(submitEditor, SIGNAL(diffStaged(QStringList)), this, SLOT(submitEditorDiffStaged(QStringList))); connect(submitEditor, SIGNAL(diffStaged(QStringList)), this, SLOT(submitEditorDiffStaged(QStringList)));
connect(submitEditor, SIGNAL(diffUnstaged(QStringList)), this, SLOT(submitEditorDiffUnstaged(QStringList))); connect(submitEditor, SIGNAL(diffUnstaged(QStringList)), this, SLOT(submitEditorDiffUnstaged(QStringList)));

View File

@@ -91,7 +91,7 @@ bool HelloWorldPlugin::initialize(const QStringList &arguments, QString *error_m
connect(helloWorldAction, SIGNAL(triggered()), SLOT(sayHelloWorld())); connect(helloWorldAction, SIGNAL(triggered()), SLOT(sayHelloWorld()));
// Register the action with the action manager // Register the action with the action manager
Core::ActionManagerInterface *actionManager = core->actionManager(); Core::ActionManager *actionManager = core->actionManager();
Core::ICommand *command = Core::ICommand *command =
actionManager->registerAction( actionManager->registerAction(
helloWorldAction, "HelloWorld.HelloWorldAction", context); helloWorldAction, "HelloWorld.HelloWorldAction", context);

View File

@@ -49,7 +49,7 @@
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/minisplitter.h> #include <coreplugin/minisplitter.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <coreplugin/rightpane.h> #include <coreplugin/rightpane.h>
@@ -165,7 +165,7 @@ bool HelpPlugin::initialize(const QStringList & /*arguments*/, QString *)
connect(m_bookmarkWidget, SIGNAL(addBookmark()), connect(m_bookmarkWidget, SIGNAL(addBookmark()),
this, SLOT(addBookmark())); this, SLOT(addBookmark()));
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
Core::ICommand *cmd; Core::ICommand *cmd;
// Add Home, Previous and Next actions (used in the toolbar) // Add Home, Previous and Next actions (used in the toolbar)
@@ -607,7 +607,7 @@ void HelpPlugin::activateSearch()
QToolBar *HelpPlugin::createToolBar() QToolBar *HelpPlugin::createToolBar()
{ {
QToolBar *toolWidget = new QToolBar; QToolBar *toolWidget = new QToolBar;
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
toolWidget->addAction(am->command(QLatin1String("Help.Home"))->action()); toolWidget->addAction(am->command(QLatin1String("Help.Home"))->action());
toolWidget->addAction(am->command(QLatin1String("Help.Previous"))->action()); toolWidget->addAction(am->command(QLatin1String("Help.Previous"))->action());
toolWidget->addAction(am->command(QLatin1String("Help.Next"))->action()); toolWidget->addAction(am->command(QLatin1String("Help.Next"))->action());

View File

@@ -43,7 +43,7 @@
#include "perforceversioncontrol.h" #include "perforceversioncontrol.h"
#include "settingspage.h" #include "settingspage.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/filemanager.h> #include <coreplugin/filemanager.h>
@@ -179,11 +179,7 @@ PerforcePlugin::PerforcePlugin() :
static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = { static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = {
Perforce::Constants::SUBMIT_MIMETYPE, Perforce::Constants::SUBMIT_MIMETYPE,
Perforce::Constants::PERFORCESUBMITEDITOR_KIND, Perforce::Constants::PERFORCESUBMITEDITOR_KIND,
Perforce::Constants::C_PERFORCESUBMITEDITOR, Perforce::Constants::C_PERFORCESUBMITEDITOR
Core::Constants::UNDO,
Core::Constants::REDO,
Perforce::Constants::SUBMIT_CURRENT,
Perforce::Constants::DIFF_SELECTED
}; };
bool PerforcePlugin::initialize(const QStringList & /*arguments*/, QString *errorMessage) bool PerforcePlugin::initialize(const QStringList & /*arguments*/, QString *errorMessage)
@@ -229,7 +225,7 @@ bool PerforcePlugin::initialize(const QStringList & /*arguments*/, QString *erro
//register actions //register actions
Core::ActionManagerInterface *am = m_coreInstance->actionManager(); Core::ActionManager *am = m_coreInstance->actionManager();
Core::IActionContainer *mtools = Core::IActionContainer *mtools =
am->actionContainer(Core::Constants::M_TOOLS); am->actionContainer(Core::Constants::M_TOOLS);
@@ -558,12 +554,8 @@ Core::IEditor *PerforcePlugin::openPerforceSubmitEditor(const QString &fileName,
PerforceSubmitEditor *submitEditor = dynamic_cast<PerforceSubmitEditor*>(editor); PerforceSubmitEditor *submitEditor = dynamic_cast<PerforceSubmitEditor*>(editor);
QTC_ASSERT(submitEditor, return 0); QTC_ASSERT(submitEditor, return 0);
submitEditor->restrictToProjectFiles(depotFileNames); submitEditor->restrictToProjectFiles(depotFileNames);
submitEditor->registerActions(m_undoAction, m_redoAction, m_submitCurrentLogAction, m_diffSelectedFiles);
connect(submitEditor, SIGNAL(diffSelectedFiles(QStringList)), this, SLOT(slotDiff(QStringList))); connect(submitEditor, SIGNAL(diffSelectedFiles(QStringList)), this, SLOT(slotDiff(QStringList)));
// The actions are for some reason enabled by the context switching
// mechanism. Disable them correctly.
m_diffSelectedFiles->setEnabled(false);
m_undoAction->setEnabled(false);
m_redoAction->setEnabled(false);
return editor; return editor;
} }

View File

@@ -40,7 +40,7 @@
#include "projectexplorer.h" #include "projectexplorer.h"
#include "taskwindow.h" #include "taskwindow.h"
#include <coreplugin/progressmanager/progressmanagerinterface.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/progressmanager/futureprogress.h> #include <coreplugin/progressmanager/futureprogress.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -178,7 +178,7 @@ void BuildManager::startBuildQueue()
{ {
if (!m_running) { if (!m_running) {
// Progress Reporting // Progress Reporting
Core::ProgressManagerInterface *progressManager = Core::ProgressManager *progressManager =
ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>()->progressManager(); ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>()->progressManager();
m_progressFutureInterface = new QFutureInterface<void>; m_progressFutureInterface = new QFutureInterface<void>;
m_progressWatcher.setFuture(m_progressFutureInterface->future()); m_progressWatcher.setFuture(m_progressFutureInterface->future());

View File

@@ -35,7 +35,7 @@
#include "projectexplorerconstants.h" #include "projectexplorerconstants.h"
#include "runconfiguration.h" #include "runconfiguration.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <find/basetextfind.h> #include <find/basetextfind.h>
@@ -78,7 +78,7 @@ OutputPane::OutputPane(Core::ICore *core)
this, SLOT(reRunRunControl())); this, SLOT(reRunRunControl()));
// Stop // Stop
Core::ActionManagerInterface *am = core->actionManager(); Core::ActionManager *am = core->actionManager();
QList<int> globalcontext; QList<int> globalcontext;
globalcontext.append(Core::Constants::C_GLOBAL_ID); globalcontext.append(Core::Constants::C_GLOBAL_ID);

View File

@@ -66,7 +66,7 @@
#include <coreplugin/filemanager.h> #include <coreplugin/filemanager.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/editormanager/ieditorfactory.h> #include <coreplugin/editormanager/ieditorfactory.h>
@@ -155,7 +155,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList & /*arguments*/, QStrin
{ {
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
m_core = pm->getObject<Core::ICore>(); m_core = pm->getObject<Core::ICore>();
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
addObject(this); addObject(this);

View File

@@ -45,7 +45,7 @@
#include <coreplugin/filemanager.h> #include <coreplugin/filemanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/progressmanager/progressmanagerinterface.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/modemanager.h> #include <coreplugin/modemanager.h>
#include <texteditor/itexteditor.h> #include <texteditor/itexteditor.h>
@@ -161,7 +161,7 @@ bool SessionFile::load(const QString &fileName)
m_core->progressManager()->addTask(future.future(), tr("Session"), m_core->progressManager()->addTask(future.future(), tr("Session"),
QLatin1String("ProjectExplorer.SessionFile.Load"), QLatin1String("ProjectExplorer.SessionFile.Load"),
Core::ProgressManagerInterface::CloseOnSuccess); Core::ProgressManager::CloseOnSuccess);
const QStringList &keys = reader.restoreValue(QLatin1String("valueKeys")).toStringList(); const QStringList &keys = reader.restoreValue(QLatin1String("valueKeys")).toStringList();
foreach (const QString &key, keys) { foreach (const QString &key, keys) {

View File

@@ -52,7 +52,7 @@ bool QHelpProjectManager::init(ExtensionSystem::PluginManager *pm, QString *erro
{ {
m_pm = pm; m_pm = pm;
m_core = m_pm->interface<QWorkbench::ICore>(); m_core = m_pm->interface<QWorkbench::ICore>();
QWorkbench::ActionManagerInterface *am = m_core->actionManager(); QWorkbench::ActionManager *am = m_core->actionManager();
m_projectContext = m_core->uniqueIDManager()-> m_projectContext = m_core->uniqueIDManager()->
uniqueIdentifier(QLatin1String("QHelpProject")); uniqueIdentifier(QLatin1String("QHelpProject"));

View File

@@ -52,7 +52,7 @@
#include <projectexplorer/projectnodes.h> #include <projectexplorer/projectnodes.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <texteditor/texteditoractionhandler.h> #include <texteditor/texteditoractionhandler.h>
#include <QtCore/qplugin.h> #include <QtCore/qplugin.h>
@@ -82,7 +82,7 @@ Qt4ProjectManagerPlugin::~Qt4ProjectManagerPlugin()
delete m_qt4ProjectManager; delete m_qt4ProjectManager;
} }
/* /*
static Core::ICommand *createSeparator(Core::ActionManagerInterface *am, static Core::ICommand *createSeparator(Core::ActionManager *am,
QObject *parent, QObject *parent,
const QString &name, const QString &name,
const QList<int> &context) const QList<int> &context)
@@ -100,7 +100,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList & /*arguments*/, QStr
m_projectExplorer = m_core->pluginManager()->getObject<ProjectExplorer::ProjectExplorerPlugin>(); m_projectExplorer = m_core->pluginManager()->getObject<ProjectExplorer::ProjectExplorerPlugin>();
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
//create and register objects //create and register objects
m_qt4ProjectManager = new Qt4Manager(this, m_core); m_qt4ProjectManager = new Qt4Manager(this, m_core);

View File

@@ -39,7 +39,7 @@
#include <indenter.h> #include <indenter.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <texteditor/basetextdocument.h> #include <texteditor/basetextdocument.h>
#include <texteditor/fontsettings.h> #include <texteditor/fontsettings.h>
#include <texteditor/textblockiterator.h> #include <texteditor/textblockiterator.h>

View File

@@ -35,7 +35,7 @@
#include "qtscripteditorconstants.h" #include "qtscripteditorconstants.h"
#include "qtscripteditor.h" #include "qtscripteditor.h"
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/scriptmanager/scriptmanagerinterface.h> #include <coreplugin/scriptmanager/scriptmanagerinterface.h>
#include <QtGui/QAction> #include <QtGui/QAction>

View File

@@ -42,7 +42,7 @@
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <texteditor/fontsettings.h> #include <texteditor/fontsettings.h>
#include <texteditor/storagesettings.h> #include <texteditor/storagesettings.h>
#include <texteditor/texteditorconstants.h> #include <texteditor/texteditorconstants.h>
@@ -131,7 +131,7 @@ void QtScriptEditorPlugin::initializeEditor(QtScriptEditor::Internal::ScriptEdit
void QtScriptEditorPlugin::registerActions(Core::ICore *core) void QtScriptEditorPlugin::registerActions(Core::ICore *core)
{ {
Core::ActionManagerInterface *am = core->actionManager(); Core::ActionManager *am = core->actionManager();
Core::IActionContainer *mcontext = am->createMenu(QtScriptEditor::Constants::M_CONTEXT); Core::IActionContainer *mcontext = am->createMenu(QtScriptEditor::Constants::M_CONTEXT);
QAction *action = new QAction(this); QAction *action = new QAction(this);

View File

@@ -48,7 +48,7 @@
#include <coreplugin/baseview.h> #include <coreplugin/baseview.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/progressmanager/progressmanagerinterface.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <qtconcurrent/QtConcurrentTools> #include <qtconcurrent/QtConcurrentTools>
@@ -246,7 +246,7 @@ void QuickOpenPlugin::refresh(QList<IQuickOpenFilter*> filters)
filters = m_filter; filters = m_filter;
QFuture<void> task = QtConcurrent::run(&IQuickOpenFilter::refresh, filters); QFuture<void> task = QtConcurrent::run(&IQuickOpenFilter::refresh, filters);
Core::FutureProgress *progress = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>() Core::FutureProgress *progress = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>()
->progressManager()->addTask(task, tr("Indexing"), Constants::TASK_INDEX, Core::ProgressManagerInterface::CloseOnSuccess); ->progressManager()->addTask(task, tr("Indexing"), Constants::TASK_INDEX, Core::ProgressManager::CloseOnSuccess);
connect(progress, SIGNAL(finished()), this, SLOT(saveSettings())); connect(progress, SIGNAL(finished()), this, SLOT(saveSettings()));
} }

View File

@@ -42,7 +42,7 @@
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -88,7 +88,7 @@ bool ResourceEditorPlugin::initialize(const QStringList & /*arguments*/, QString
error_message->clear(); error_message->clear();
// Register undo and redo // Register undo and redo
Core::ActionManagerInterface * const actionManager = m_core->actionManager(); Core::ActionManager * const actionManager = m_core->actionManager();
int const pluginId = m_core->uniqueIDManager()->uniqueIdentifier( int const pluginId = m_core->uniqueIDManager()->uniqueIdentifier(
Constants::C_RESOURCEEDITOR); Constants::C_RESOURCEEDITOR);
QList<int> const idList = QList<int>() << pluginId; QList<int> const idList = QList<int>() << pluginId;

View File

@@ -72,7 +72,7 @@ void SnippetsPlugin::extensionsInitialized()
bool SnippetsPlugin::initialize(const QStringList & /*arguments*/, QString *) bool SnippetsPlugin::initialize(const QStringList & /*arguments*/, QString *)
{ {
m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>(); m_core = ExtensionSystem::PluginManager::instance()->getObject<Core::ICore>();
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
QList<int> context; QList<int> context;
context << m_core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); context << m_core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);

View File

@@ -53,7 +53,7 @@
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <projectexplorer/ProjectExplorerInterfaces> #include <projectexplorer/ProjectExplorerInterfaces>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -245,11 +245,7 @@ void SubversionPlugin::cleanChangeTmpFile()
static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = { static const VCSBase::VCSBaseSubmitEditorParameters submitParameters = {
Subversion::Constants::SUBVERSION_SUBMIT_MIMETYPE, Subversion::Constants::SUBVERSION_SUBMIT_MIMETYPE,
Subversion::Constants::SUBVERSIONCOMMITEDITOR_KIND, Subversion::Constants::SUBVERSIONCOMMITEDITOR_KIND,
Subversion::Constants::SUBVERSIONCOMMITEDITOR, Subversion::Constants::SUBVERSIONCOMMITEDITOR
Core::Constants::UNDO,
Core::Constants::REDO,
Subversion::Constants::SUBMIT_CURRENT,
Subversion::Constants::DIFF_SELECTED
}; };
bool SubversionPlugin::initialize(const QStringList & /*arguments*/, QString *errorMessage) bool SubversionPlugin::initialize(const QStringList & /*arguments*/, QString *errorMessage)
@@ -293,7 +289,7 @@ bool SubversionPlugin::initialize(const QStringList & /*arguments*/, QString *er
addObject(m_subversionOutputWindow); addObject(m_subversionOutputWindow);
//register actions //register actions
Core::ActionManagerInterface *ami = m_coreInstance->actionManager(); Core::ActionManager *ami = m_coreInstance->actionManager();
Core::IActionContainer *toolsContainer = ami->actionContainer(M_TOOLS); Core::IActionContainer *toolsContainer = ami->actionContainer(M_TOOLS);
Core::IActionContainer *subversionMenu = Core::IActionContainer *subversionMenu =
@@ -529,11 +525,7 @@ SubversionSubmitEditor *SubversionPlugin::openSubversionSubmitEditor(const QStri
Core::IEditor *editor = m_coreInstance->editorManager()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_KIND)); Core::IEditor *editor = m_coreInstance->editorManager()->openEditor(fileName, QLatin1String(Constants::SUBVERSIONCOMMITEDITOR_KIND));
SubversionSubmitEditor *submitEditor = qobject_cast<SubversionSubmitEditor*>(editor); SubversionSubmitEditor *submitEditor = qobject_cast<SubversionSubmitEditor*>(editor);
QTC_ASSERT(submitEditor, /**/); QTC_ASSERT(submitEditor, /**/);
// The actions are for some reason enabled by the context switching submitEditor->registerActions(m_submitUndoAction, m_submitRedoAction, m_submitCurrentLogAction, m_submitDiffAction);
// mechanism. Disable them correctly.
m_submitDiffAction->setEnabled(false);
m_submitUndoAction->setEnabled(false);
m_submitRedoAction->setEnabled(false);
connect(submitEditor, SIGNAL(diffSelectedFiles(QStringList)), this, SLOT(diffFiles(QStringList))); connect(submitEditor, SIGNAL(diffSelectedFiles(QStringList)), this, SLOT(diffFiles(QStringList)));
return submitEditor; return submitEditor;

View File

@@ -34,7 +34,7 @@
#include "basefilefind.h" #include "basefilefind.h"
#include <coreplugin/stylehelper.h> #include <coreplugin/stylehelper.h>
#include <coreplugin/progressmanager/progressmanagerinterface.h> #include <coreplugin/progressmanager/progressmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <find/textfindconstants.h> #include <find/textfindconstants.h>
#include <texteditor/itexteditor.h> #include <texteditor/itexteditor.h>

View File

@@ -40,7 +40,7 @@
#include <quickopen/quickopenmanager.h> #include <quickopen/quickopenmanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -111,7 +111,7 @@ void TextEditorActionHandler::createActions()
m_gotoAction = registerNewAction(QLatin1String(Core::Constants::GOTO), this, SLOT(gotoAction())); m_gotoAction = registerNewAction(QLatin1String(Core::Constants::GOTO), this, SLOT(gotoAction()));
m_printAction = registerNewAction(QLatin1String(Core::Constants::PRINT), this, SLOT(printAction())); m_printAction = registerNewAction(QLatin1String(Core::Constants::PRINT), this, SLOT(printAction()));
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
Core::IActionContainer *medit = am->actionContainer(Core::Constants::M_EDIT); Core::IActionContainer *medit = am->actionContainer(Core::Constants::M_EDIT);
Core::IActionContainer *advancedMenu = am->actionContainer(Core::Constants::M_EDIT_ADVANCED); Core::IActionContainer *advancedMenu = am->actionContainer(Core::Constants::M_EDIT_ADVANCED);

View File

@@ -46,7 +46,7 @@
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/mimedatabase.h> #include <coreplugin/mimedatabase.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/icommand.h> #include <coreplugin/actionmanager/icommand.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <texteditor/texteditoractionhandler.h> #include <texteditor/texteditoractionhandler.h>
@@ -120,7 +120,7 @@ bool TextEditorPlugin::initialize(const QStringList & /*arguments*/, QString *er
int contextId = m_core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); int contextId = m_core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR);
QList<int> context = QList<int>() << contextId; QList<int> context = QList<int>() << contextId;
Core::ActionManagerInterface *am = m_core->actionManager(); Core::ActionManager *am = m_core->actionManager();
// Add shortcut for invoking automatic completion // Add shortcut for invoking automatic completion
QShortcut *completionShortcut = new QShortcut(m_core->mainWindow()); QShortcut *completionShortcut = new QShortcut(m_core->mainWindow());

View File

@@ -37,7 +37,7 @@
#include <coreplugin/ifile.h> #include <coreplugin/ifile.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanagerinterface.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <utils/submiteditorwidget.h> #include <utils/submiteditorwidget.h>
#include <find/basetextfind.h> #include <find/basetextfind.h>
@@ -57,17 +57,6 @@
enum { debug = 0 }; enum { debug = 0 };
enum { wantToolBar = 0 }; enum { wantToolBar = 0 };
static inline QAction *actionFromId(const Core::ICore *core, const char *id)
{
QAction *rc = 0;
if (id)
if (const Core::ICommand *cmd = core->actionManager()->command(id))
rc = cmd->action();
if (debug)
qDebug() << Q_FUNC_INFO << id << rc;
return rc;
}
namespace VCSBase { namespace VCSBase {
struct VCSBaseSubmitEditorPrivate { struct VCSBaseSubmitEditorPrivate {
@@ -83,10 +72,8 @@ struct VCSBaseSubmitEditorPrivate {
VCSBase::Internal::SubmitEditorFile *m_file; VCSBase::Internal::SubmitEditorFile *m_file;
QList<int> m_contexts; QList<int> m_contexts;
QPointer<QAction> m_undoAction;
QPointer<QAction> m_redoAction;
QPointer<QAction> m_submitAction;
QPointer<QAction> m_diffAction; QPointer<QAction> m_diffAction;
QPointer<QAction> m_submitAction;
}; };
VCSBaseSubmitEditorPrivate::VCSBaseSubmitEditorPrivate(const VCSBaseSubmitEditorParameters *parameters, VCSBaseSubmitEditorPrivate::VCSBaseSubmitEditorPrivate(const VCSBaseSubmitEditorParameters *parameters,
@@ -96,11 +83,7 @@ VCSBaseSubmitEditorPrivate::VCSBaseSubmitEditorPrivate(const VCSBaseSubmitEditor
m_widget(editorWidget), m_widget(editorWidget),
m_toolWidget(0), m_toolWidget(0),
m_parameters(parameters), m_parameters(parameters),
m_file(new VCSBase::Internal::SubmitEditorFile(QLatin1String(m_parameters->mimeType), q)), m_file(new VCSBase::Internal::SubmitEditorFile(QLatin1String(m_parameters->mimeType), q))
m_undoAction(actionFromId(m_core, m_parameters->undoActionId)),
m_redoAction(actionFromId(m_core, m_parameters->redoActionId)),
m_submitAction(actionFromId(m_core, m_parameters->submitActionId)),
m_diffAction(actionFromId(m_core, m_parameters->diffActionId))
{ {
m_contexts << m_core->uniqueIDManager()->uniqueIdentifier(m_parameters->context); m_contexts << m_core->uniqueIDManager()->uniqueIdentifier(m_parameters->context);
} }
@@ -113,7 +96,6 @@ VCSBaseSubmitEditor::VCSBaseSubmitEditor(const VCSBaseSubmitEditorParameters *pa
// We are always clean to prevent the editor manager from asking to save. // We are always clean to prevent the editor manager from asking to save.
connect(m_d->m_file, SIGNAL(saveMe(QString)), this, SLOT(save(QString))); connect(m_d->m_file, SIGNAL(saveMe(QString)), this, SLOT(save(QString)));
m_d->m_widget->registerActions(m_d->m_undoAction, m_d->m_redoAction, m_d->m_submitAction, m_d->m_diffAction);
connect(m_d->m_widget, SIGNAL(diffSelected(QStringList)), this, SLOT(slotDiffSelectedVCSFiles(QStringList))); connect(m_d->m_widget, SIGNAL(diffSelected(QStringList)), this, SLOT(slotDiffSelectedVCSFiles(QStringList)));
connect(m_d->m_widget->descriptionEdit(), SIGNAL(textChanged()), this, SLOT(slotDescriptionChanged())); connect(m_d->m_widget->descriptionEdit(), SIGNAL(textChanged()), this, SLOT(slotDescriptionChanged()));
@@ -129,6 +111,20 @@ VCSBaseSubmitEditor::~VCSBaseSubmitEditor()
delete m_d; delete m_d;
} }
void VCSBaseSubmitEditor::registerActions(QAction *editorUndoAction, QAction *editorRedoAction,
QAction *submitAction, QAction *diffAction)\
{
m_d->m_widget->registerActions(editorUndoAction, editorRedoAction, submitAction, diffAction);
m_d->m_diffAction = diffAction;
m_d->m_submitAction = submitAction;
}
void VCSBaseSubmitEditor::unregisterActions(QAction *editorUndoAction, QAction *editorRedoAction,
QAction *submitAction, QAction *diffAction)
{
m_d->m_widget->unregisterActions(editorUndoAction, editorRedoAction, submitAction, diffAction);
m_d->m_diffAction = m_d->m_submitAction = 0;
}
int VCSBaseSubmitEditor::fileNameColumn() const int VCSBaseSubmitEditor::fileNameColumn() const
{ {
return m_d->m_widget->fileNameColumn(); return m_d->m_widget->fileNameColumn();

View File

@@ -44,6 +44,7 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QIcon; class QIcon;
class QAbstractItemModel; class QAbstractItemModel;
class QAction;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace Core { namespace Core {
@@ -61,10 +62,6 @@ struct VCSBASE_EXPORT VCSBaseSubmitEditorParameters {
const char *mimeType; const char *mimeType;
const char *kind; const char *kind;
const char *context; const char *context;
const char *undoActionId;
const char *redoActionId;
const char *submitActionId;
const char *diffActionId;
}; };
/* Base class for a submit editor based on the Core::Utils::SubmitEditorWidget /* Base class for a submit editor based on the Core::Utils::SubmitEditorWidget
@@ -86,7 +83,8 @@ struct VCSBASE_EXPORT VCSBaseSubmitEditorParameters {
* signal and then asking the IFile interface of the editor to save the file * signal and then asking the IFile interface of the editor to save the file
* within a IFileManager::blockFileChange() section * within a IFileManager::blockFileChange() section
* and to launch the submit process. In addition, the action registered * and to launch the submit process. In addition, the action registered
* for submit should be connected to a slot triggering the close of the * for submit sho src/libs/utils/submiteditorwidget.h
uld be connected to a slot triggering the close of the
* current editor in the editor manager. */ * current editor in the editor manager. */
class VCSBASE_EXPORT VCSBaseSubmitEditor : public Core::IEditor class VCSBASE_EXPORT VCSBaseSubmitEditor : public Core::IEditor
@@ -102,6 +100,12 @@ protected:
Core::Utils::SubmitEditorWidget *editorWidget); Core::Utils::SubmitEditorWidget *editorWidget);
public: public:
// Register the actions with the submit editor widget.
void registerActions(QAction *editorUndoAction, QAction *editorRedoAction,
QAction *submitAction = 0, QAction *diffAction = 0);
void unregisterActions(QAction *editorUndoAction, QAction *editorRedoAction,
QAction *submitAction = 0, QAction *diffAction = 0);
virtual ~VCSBaseSubmitEditor(); virtual ~VCSBaseSubmitEditor();
int fileNameColumn() const; int fileNameColumn() const;