void QgsStyleV2GroupSelectionDialog::groupTreeSelectionChanged( const QItemSelection &selected, const QItemSelection &deselected ) { QModelIndex index; QModelIndexList selectedItems = selected.indexes(); QModelIndexList deselectedItems = deselected.indexes(); Q_FOREACH ( index, deselectedItems ) { if ( index.data( Qt::UserRole + 2 ).toString() == "groupsheader" ) { // Ignore: it's the group header } else if ( index.data( Qt::UserRole + 2 ).toString() == "all" ) { emit allDeselected( ); } else if ( index.data( Qt::UserRole + 2 ).toString() == "smartgroupsheader" ) { // Ignore: it's the smartgroups header } else if ( index.data( Qt::UserRole + 2 ).toString() == "smartgroup" ) { emit smartgroupDeselected( index.data( ).toString() ); } else if ( index.data( Qt::UserRole + 2 ).toString() == "group" ) { // It's a group emit groupDeselected( index.data( ).toString() ); } } Q_FOREACH ( index, selectedItems ) { if ( index.data( Qt::UserRole + 2 ).toString( ) == "groupsheader" ) { // Ignore: it's the group header } else if ( index.data( Qt::UserRole + 2 ).toString() == "all" ) { emit allSelected( ); } else if ( index.data( Qt::UserRole + 2 ).toString() == "smartgroupsheader" ) { // Ignore: it's the smartgroups header } else if ( index.data( Qt::UserRole + 2 ).toString() == "smartgroup" ) { emit smartgroupSelected( index.data( ).toString() ); } else if ( index.data( Qt::UserRole + 2 ).toString() == "group" ) { // It's a group emit groupSelected( index.data( ).toString() ); } } }
void CollectionSelectorModel::indexChanged(int index) { int id = 0; if (index >= 0) // QComboBox will send -1 if the current item is removed. id = _root->child(index, 0)->data(Qt::UserRole).toInt(); if (id > 0) { _collection = QPointer<Collection>(new Collection(_db, id)); emit collectionSelected(id); return; } if (_all) { emit allSelected(); return; } emit noneSelected(); }
void DixitGame::select(DixitGame::UniqueId uid, int card) { Player *pp = findPlayer(uid); if (pp == nullptr) return; if (pp->getActive()) return; if (pp->getSelected()) return; pp->setSelected(card); if (notYetSelected() > 0) setMessage(QString("还有%1位玩家未选择。").arg(notYetSelected())); else { setMessage(); emit allSelected(); } }