diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp index 4cce3a656ca5f3df7186380bee96fb1ef6bb63a4..ed771668b3312f9ee3831ebe3ec5845f152b875b 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp +++ b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp @@ -187,6 +187,18 @@ void ActionContainerPrivate::appendGroup(const Id &groupId) m_groups.append(Group(groupId)); } +void ActionContainerPrivate::insertGroup(const Id &before, const Id &groupId) +{ + QList<Group>::iterator it = m_groups.begin(); + while (it != m_groups.end()) { + if (it->id == before) { + m_groups.insert(it, Group(groupId)); + break; + } + ++it; + } +} + QList<Group>::const_iterator ActionContainerPrivate::findGroup(const Id &groupId) const { QList<Group>::const_iterator it = m_groups.constBegin(); diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.h b/src/plugins/coreplugin/actionmanager/actioncontainer.h index c05e53dde713c1bb83b4b7796580eae7236b8360..6335d5a8422201ff8a1368f8ea27e119de7b15fe 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer.h +++ b/src/plugins/coreplugin/actionmanager/actioncontainer.h @@ -68,6 +68,7 @@ public: virtual QAction *insertLocation(const Id &group) const = 0; virtual void appendGroup(const Id &group) = 0; + virtual void insertGroup(const Id &before, const Id &group) = 0; virtual void addAction(Command *action, const Id &group = Id()) = 0; virtual void addMenu(ActionContainer *menu, const Id &group = Id()) = 0; virtual void addMenu(ActionContainer *before, ActionContainer *menu, const Id &group = Id()) = 0; diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer_p.h b/src/plugins/coreplugin/actionmanager/actioncontainer_p.h index 2b6edf43ec717c6d0dba31a8a7e88146d8b729a5..1046e324643567ae4b52a5f235d1c398ead0124d 100644 --- a/src/plugins/coreplugin/actionmanager/actioncontainer_p.h +++ b/src/plugins/coreplugin/actionmanager/actioncontainer_p.h @@ -61,6 +61,7 @@ public: QAction *insertLocation(const Id &groupId) const; void appendGroup(const Id &id); + void insertGroup(const Id &before, const Id &groupId); void addAction(Command *action, const Id &group = Id()); void addMenu(ActionContainer *menu, const Id &group = Id()); void addMenu(ActionContainer *before, ActionContainer *menu, const Id &group = Id());