From 2547d9a7d91b2b9fb8c61c063cdd7fb2fb261099 Mon Sep 17 00:00:00 2001 From: Eike Ziller <eike.ziller@nokia.com> Date: Fri, 17 Feb 2012 08:55:17 +0100 Subject: [PATCH] Add ActionContainer::insertGroup Change-Id: I1a7047e0ccc074bb38661ecd34e2c0e64469d843 Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com> --- .../coreplugin/actionmanager/actioncontainer.cpp | 12 ++++++++++++ .../coreplugin/actionmanager/actioncontainer.h | 1 + .../coreplugin/actionmanager/actioncontainer_p.h | 1 + 3 files changed, 14 insertions(+) diff --git a/src/plugins/coreplugin/actionmanager/actioncontainer.cpp b/src/plugins/coreplugin/actionmanager/actioncontainer.cpp index 4cce3a656ca..ed771668b33 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 c05e53dde71..6335d5a8422 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 2b6edf43ec7..1046e324643 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()); -- GitLab