103 if(msg.isEmpty()) |
112 if(msg.isEmpty()) |
104 emit nickRemovedLobby(nickname); |
113 emit nickRemovedLobby(nickname); |
105 else |
114 else |
106 emit nickRemovedLobby(nickname, msg); |
115 emit nickRemovedLobby(nickname, msg); |
107 |
116 |
108 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
117 QModelIndex mi = nicknameIndex(nickname); |
109 |
118 |
110 if(mil.size()) |
119 if(mi.isValid()) |
111 removeRow(mil[0].row()); |
120 removeRow(mi.row()); |
112 } |
121 } |
113 |
122 |
114 |
123 |
115 void PlayersListModel::playerJoinedRoom(const QString & nickname, bool notify) |
124 void PlayersListModel::playerJoinedRoom(const QString & nickname, bool notify) |
116 { |
125 { |
117 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
126 QModelIndex mi = nicknameIndex(nickname); |
118 |
127 |
119 if(mil.size()) |
128 if(mi.isValid()) |
120 { |
129 { |
121 setData(mil[0], true, RoomFilterRole); |
130 setData(mi, true, RoomFilterRole); |
122 updateIcon(mil[0]); |
131 updateIcon(mi); |
123 updateSortData(mil[0]); |
132 updateSortData(mi); |
124 } |
133 } |
125 |
134 |
126 emit nickAdded(nickname, notify); |
135 emit nickAdded(nickname, notify); |
127 } |
136 } |
128 |
137 |
129 |
138 |
130 void PlayersListModel::playerLeftRoom(const QString & nickname) |
139 void PlayersListModel::playerLeftRoom(const QString & nickname) |
131 { |
140 { |
132 emit nickRemoved(nickname); |
141 emit nickRemoved(nickname); |
133 |
142 |
134 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
143 QModelIndex mi = nicknameIndex(nickname); |
135 |
144 |
136 if(mil.size()) |
145 if(mi.isValid()) |
137 { |
146 { |
138 setData(mil[0], false, RoomFilterRole); |
147 setData(mi, false, RoomFilterRole); |
139 setData(mil[0], false, RoomAdmin); |
148 setData(mi, false, RoomAdmin); |
140 setData(mil[0], false, Ready); |
149 setData(mi, false, Ready); |
141 setData(mil[0], false, InGame); |
150 setData(mi, false, InGame); |
142 updateIcon(mil[0]); |
151 updateIcon(mi); |
143 } |
152 } |
144 } |
153 } |
145 |
154 |
146 |
155 |
147 void PlayersListModel::setFlag(const QString &nickname, StateFlag flagType, bool isSet) |
156 void PlayersListModel::setFlag(const QString &nickname, StateFlag flagType, bool isSet) |
163 m_ignoredSet.remove(nickname.toLower()); |
172 m_ignoredSet.remove(nickname.toLower()); |
164 |
173 |
165 saveSet(m_ignoredSet, "ignore"); |
174 saveSet(m_ignoredSet, "ignore"); |
166 } |
175 } |
167 |
176 |
168 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
177 QModelIndex mi = nicknameIndex(nickname); |
169 |
178 |
170 if(mil.size()) |
179 if(mi.isValid()) |
171 { |
180 { |
172 setData(mil[0], isSet, flagType); |
181 setData(mi, isSet, flagType); |
173 |
182 |
174 if(flagType == Friend || flagType == ServerAdmin |
183 if(flagType == Friend || flagType == ServerAdmin |
175 || flagType == Ignore || flagType == RoomAdmin) |
184 || flagType == Ignore || flagType == RoomAdmin) |
176 updateSortData(mil[0]); |
185 updateSortData(mi); |
177 |
186 |
178 updateIcon(mil[0]); |
187 updateIcon(mi); |
179 } |
188 } |
180 } |
189 } |
181 |
190 |
182 |
191 |
183 bool PlayersListModel::isFlagSet(const QString & nickname, StateFlag flagType) |
192 bool PlayersListModel::isFlagSet(const QString & nickname, StateFlag flagType) |
184 { |
193 { |
185 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
194 QModelIndex mi = nicknameIndex(nickname); |
186 |
195 |
187 if(mil.size()) |
196 if(mi.isValid()) |
188 return mil[0].data(flagType).toBool(); |
197 return mi.data(flagType).toBool(); |
189 else if(flagType == Friend) |
198 else if(flagType == Friend) |
190 return isFriend(nickname); |
199 return isFriend(nickname); |
191 else if(flagType == Ignore) |
200 else if(flagType == Ignore) |
192 return isIgnored(nickname); |
201 return isIgnored(nickname); |
193 else |
202 else |