void ActivityManager::sortActivities() { QGraphicsLinearLayout *layout = static_cast<QGraphicsLinearLayout *>(static_cast<QGraphicsWidget *>(extender()->item("Activities")->widget())->layout()); // remove all activities from the layout while (layout->count()) layout->removeAt(0); // insert all activities to a map QMap<QString, ActivityWidget *> activities; foreach (ActivityWidget *activity, m_activities.values()) activities.insertMulti(activity->name(), activity); // add activities into the layout at ascending order of their names foreach (ActivityWidget *activity, activities.values()) layout->addItem(activity); }
void TabsView::updateScrollBarVisibility() { QGraphicsLinearLayout *lo = static_cast<QGraphicsLinearLayout*>( layout() ); if( m_scrollBar->maximum() == 0 ) { if( lo->count() > 2 && lo->itemAt( 1 ) == m_scrollBar ) { lo->removeAt( 1 ); m_scrollBar->hide(); } } else if( lo->count() == 2 ) { lo->insertItem( 1, m_scrollBar ); m_scrollBar->show(); } }