equal
deleted
inserted
replaced
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); |