QTfrontend/model/playerslistmodel.cpp
changeset 7727 bd252cacabe8
parent 7725 4ad05a478c6c
child 7728 664738870325
equal deleted inserted replaced
7726:1137406bce12 7727:bd252cacabe8
     1 #include <QModelIndexList>
     1 #include <QModelIndexList>
     2 #include <QModelIndex>
     2 #include <QModelIndex>
     3 #include <QPainter>
     3 #include <QPainter>
       
     4 #include <QDebug>
     4 
     5 
     5 #include "playerslistmodel.h"
     6 #include "playerslistmodel.h"
     6 
     7 
     7 PlayersListModel::PlayersListModel(QObject *parent) :
     8 PlayersListModel::PlayersListModel(QObject *parent) :
     8     QAbstractListModel(parent)
     9     QAbstractListModel(parent)
    20 }
    21 }
    21 
    22 
    22 
    23 
    23 QVariant PlayersListModel::data(const QModelIndex &index, int role) const
    24 QVariant PlayersListModel::data(const QModelIndex &index, int role) const
    24 {
    25 {
    25     if(!index.isValid())
    26     if(!index.isValid() || index.row() < 0 || index.row() >= rowCount() || index.column() != 0)
    26         return QVariant(QVariant::Invalid);
    27         return QVariant(QVariant::Invalid);
    27 
    28 
    28     return m_data.at(index.row()).value(role);
    29     return m_data.at(index.row()).value(role);
    29 }
    30 }
    30 
    31 
    90 }
    91 }
    91 
    92 
    92 
    93 
    93 void PlayersListModel::removePlayer(const QString & nickname)
    94 void PlayersListModel::removePlayer(const QString & nickname)
    94 {
    95 {
    95     QModelIndexList mil = match(index(0, 0), Qt::DisplayRole, nickname);
    96     QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname);
    96 
    97 
    97     if(mil.size())
    98     if(mil.size())
    98         removeRow(mil[0].row());
    99         removeRow(mil[0].row());
    99 }
   100 }
   100 
   101 
   103 {
   104 {
   104     QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname);
   105     QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname);
   105 
   106 
   106     if(mil.size())
   107     if(mil.size())
   107     {
   108     {
   108         setData(mil[0], flagType, isSet);
   109         setData(mil[0], isSet, flagType);
   109         updateIcon(mil[0]);
   110         updateIcon(mil[0]);
   110     }
   111     }
   111 }
   112 }
   112 
   113 
   113 
   114 
   130             iconNum |= 1 << i;
   131             iconNum |= 1 << i;
   131 
   132 
   132     if(m_icons().contains(iconNum))
   133     if(m_icons().contains(iconNum))
   133     {
   134     {
   134         setData(index, m_icons().value(iconNum), Qt::DecorationRole);
   135         setData(index, m_icons().value(iconNum), Qt::DecorationRole);
   135         qDebug("cached");
       
   136     }
   136     }
   137     else
   137     else
   138     {
   138     {
   139         QPixmap result(24, 16);
   139         QPixmap result(24, 16);
   140         result.fill(Qt::transparent);
   140         result.fill(Qt::transparent);