/*! Creates a new menu bar with the given \a id. Returns a new ActionContainer that you can use to get the QMenuBar instance or to add menus to the menu bar. The ActionManager owns the returned ActionContainer. */ ActionContainer *ActionManager::createMenuBar(Id id) { const ActionManagerPrivate::IdContainerMap::const_iterator it = d->m_idContainerMap.constFind(id); if (it != d->m_idContainerMap.constEnd()) return it.value(); QMenuBar *mb = new QMenuBar; // No parent (System menu bar on Mac OS X) mb->setObjectName(id.toString()); MenuBarActionContainer *mbc = new MenuBarActionContainer(id); mbc->setMenuBar(mb); d->m_idContainerMap.insert(id, mbc); connect(mbc, SIGNAL(destroyed()), d, SLOT(containerDestroyed())); return mbc; }
ActionContainer *ActionManagerPrivate::createMenuBar(const QString &id) { const int uid = UniqueIDManager::instance()->uniqueIdentifier(id); const IdContainerMap::const_iterator it = m_idContainerMap.constFind(uid); if (it != m_idContainerMap.constEnd()) { return it.value(); } QMenuBar *mb = new QMenuBar; // No parent (System menu bar on Mac OS X) mb->setObjectName(id); MenuBarActionContainer *mbc = new MenuBarActionContainer(uid); mbc->setMenuBar(mb); m_idContainerMap.insert(uid, mbc); return mbc; }