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())); } } } }
QList<QWidget*> VBoxSettingsToolBarSelector::rootPages() const { QList<QWidget*> list; foreach (SelectorItem *item, mItemList) { SelectorActionItem *ai = static_cast<SelectorActionItem*> (item); if (ai->parentId() == -1 && ai->page()) list << ai->page(); else if (ai->tabWidget()) list << ai->tabWidget(); }
void VBoxSettingsToolBarSelector::settingsGroupChanged (int aIndex) { SelectorActionItem *item = findActionItemByTabWidget (qobject_cast<QTabWidget*> (sender()), aIndex); if (item) { if (item->page() && !item->tabWidget()) emit categoryChanged (item->id()); else { SelectorActionItem *child = static_cast<SelectorActionItem*> ( findItemByPage (static_cast<UISettingsPage*> (item->tabWidget()->currentWidget()))); if (child) emit categoryChanged (child->id()); } } }