82 |
82 |
83 return true; |
83 return true; |
84 } |
84 } |
85 |
85 |
86 |
86 |
87 void PlayersListModel::addPlayer(const QString & nickname) |
87 void PlayersListModel::addPlayer(const QString & nickname, bool notify) |
88 { |
88 { |
89 insertRow(rowCount()); |
89 insertRow(rowCount()); |
90 |
90 |
91 QModelIndex mi = index(rowCount() - 1); |
91 QModelIndex mi = index(rowCount() - 1); |
92 setData(mi, nickname); |
92 setData(mi, nickname); |
93 |
93 |
94 checkFriendIgnore(mi); |
94 checkFriendIgnore(mi); |
95 } |
95 |
96 |
96 emit nickAddedLobby(nickname, notify); |
97 |
97 } |
98 void PlayersListModel::removePlayer(const QString & nickname) |
98 |
99 { |
99 |
|
100 void PlayersListModel::removePlayer(const QString & nickname, const QString &msg) |
|
101 { |
|
102 if(msg.isEmpty()) |
|
103 emit nickRemovedLobby(nickname); |
|
104 else |
|
105 emit nickRemovedLobby(nickname, msg); |
|
106 |
100 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
107 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
101 |
108 |
102 if(mil.size()) |
109 if(mil.size()) |
103 removeRow(mil[0].row()); |
110 removeRow(mil[0].row()); |
104 } |
111 } |
105 |
112 |
106 |
113 |
107 void PlayersListModel::playerJoinedRoom(const QString & nickname) |
114 void PlayersListModel::playerJoinedRoom(const QString & nickname, bool notify) |
108 { |
115 { |
109 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
116 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
110 |
117 |
111 if(mil.size()) |
118 if(mil.size()) |
112 { |
119 { |
113 setData(mil[0], true, RoomFilterRole); |
120 setData(mil[0], true, RoomFilterRole); |
114 updateIcon(mil[0]); |
121 updateIcon(mil[0]); |
115 updateSortData(mil[0]); |
122 updateSortData(mil[0]); |
116 } |
123 } |
|
124 |
|
125 emit nickAdded(nickname, notify); |
117 } |
126 } |
118 |
127 |
119 |
128 |
120 void PlayersListModel::playerLeftRoom(const QString & nickname) |
129 void PlayersListModel::playerLeftRoom(const QString & nickname) |
121 { |
130 { |
|
131 emit nickRemoved(nickname); |
|
132 |
122 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
133 QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); |
123 |
134 |
124 if(mil.size()) |
135 if(mil.size()) |
125 { |
136 { |
126 setData(mil[0], false, RoomFilterRole); |
137 setData(mil[0], false, RoomFilterRole); |