QWidget *VBoxSettingsToolBarSelector::addItem (const QString &aBigIcon, const QString &aBigIconDisabled, const QString &aSmallIcon, const QString &aSmallIconDisabled, int aId, const QString &aLink, UISettingsPage* aPage /* = NULL */, int aParentId /* = -1 */) { QIcon icon (aBigIcon); if (!aBigIconDisabled.isEmpty()) icon.addFile (aBigIconDisabled, QSize(), QIcon::Disabled); QWidget *result = NULL; SelectorActionItem *item = new SelectorActionItem (icon, "", aId, aLink, aPage, aParentId, this); mItemList.append (item); if (aParentId == -1 && aPage != NULL) { mActionGroup->addAction (item->action()); mTbSelector->addAction (item->action()); aPage->setContentsMargins (0, 0, 0, 0); aPage->layout()->setContentsMargins(0, 0, 0, 0); result = aPage; } else if (aParentId == -1 && aPage == NULL) { mActionGroup->addAction (item->action()); mTbSelector->addAction (item->action()); QITabWidget *tabWidget= new QITabWidget(); tabWidget->setContentsMargins (0, 0, 0, 0); // connect (tabWidget, SIGNAL (currentChanged (int)), // this, SLOT (settingsGroupChanged (int))); item->setTabWidget (tabWidget); result = tabWidget; } else { SelectorActionItem *parent = findActionItem (aParentId); if (parent) { QTabWidget *tabWidget = parent->tabWidget(); aPage->setContentsMargins (9, 5, 9, 9); aPage->layout()->setContentsMargins(0, 0, 0, 0); QIcon icon1 (aSmallIcon); if (!aSmallIconDisabled.isEmpty()) icon1.addFile (aSmallIconDisabled, QSize(), QIcon::Disabled); if (tabWidget) tabWidget->addTab (aPage, icon1, ""); } } return result; }
QWidget *VBoxSettingsToolBarSelector::addItem (const QString &strBigIcon, const QString & /* strMediumIcon */, const QString &strSmallIcon, int aId, const QString &aLink, UISettingsPage* aPage /* = NULL */, int aParentId /* = -1 */) { QIcon icon = UIIconPool::iconSet(strBigIcon); QWidget *result = NULL; SelectorActionItem *item = new SelectorActionItem (icon, "", aId, aLink, aPage, aParentId, this); mItemList.append (item); if (aParentId == -1 && aPage != NULL) { mActionGroup->addAction (item->action()); mTbSelector->addAction (item->action()); aPage->setContentsMargins (0, 0, 0, 0); aPage->layout()->setContentsMargins(0, 0, 0, 0); result = aPage; } else if (aParentId == -1 && aPage == NULL) { mActionGroup->addAction (item->action()); mTbSelector->addAction (item->action()); QITabWidget *tabWidget= new QITabWidget(); tabWidget->setIconSize(QSize(16, 16)); tabWidget->setContentsMargins (0, 0, 0, 0); // connect (tabWidget, SIGNAL (currentChanged (int)), // this, SLOT (settingsGroupChanged (int))); item->setTabWidget (tabWidget); result = tabWidget; } else { SelectorActionItem *parent = findActionItem (aParentId); if (parent) { QTabWidget *tabWidget = parent->tabWidget(); aPage->setContentsMargins (9, 5, 9, 9); aPage->layout()->setContentsMargins(0, 0, 0, 0); QIcon icon1 = UIIconPool::iconSet(strSmallIcon); if (tabWidget) tabWidget->addTab (aPage, icon1, ""); } } return result; }
void VBoxSettingsToolBarSelector::setVisibleById (int aId, bool aShow) { SelectorActionItem *item = findActionItem (aId); if (item) { item->action()->setVisible (aShow); if (item->parentId() > -1 && item->page()) { SelectorActionItem *parent = findActionItem (item->parentId()); if (parent && parent->tabWidget()) { if (aShow && parent->tabWidget()->indexOf (item->page()) == -1) parent->tabWidget()->addTab (item->page(), item->text()); else if (!aShow && parent->tabWidget()->indexOf (item->page()) > -1) parent->tabWidget()->removeTab ( parent->tabWidget()->indexOf (item->page())); } } } }
void VBoxSettingsToolBarSelector::selectById (int aId) { if (SelectorActionItem *item = findActionItem (aId)) { if (item->parentId() != -1) { SelectorActionItem *parent = findActionItem (item->parentId()); if (parent && parent->tabWidget()) { parent->action()->trigger(); parent->tabWidget()->setCurrentIndex ( parent->tabWidget()->indexOf (item->page())); } } else item->action()->trigger(); } }