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();
}
Exemple #3
0
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();
    }
}