# HG changeset patch # User sheepluva # Date 1385818403 -3600 # Node ID e89ed65f62da923e2ac9e42c477470af1dffd0cc # Parent dfdde45181ec1907dc8db58fe88d3153a37d8cb2 small cleanup etc diff -r dfdde45181ec -r e89ed65f62da QTfrontend/model/playerslistmodel.cpp --- a/QTfrontend/model/playerslistmodel.cpp Sat Nov 30 14:05:22 2013 +0100 +++ b/QTfrontend/model/playerslistmodel.cpp Sat Nov 30 14:33:23 2013 +0100 @@ -84,6 +84,15 @@ return true; } +QModelIndex PlayersListModel::nicknameIndex(const QString & nickname) +{ + QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); + + if(mil.size() > 0) + return mil[0]; + else + return QModelIndex(); +} void PlayersListModel::addPlayer(const QString & nickname, bool notify) { @@ -105,22 +114,22 @@ else emit nickRemovedLobby(nickname, msg); - QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); + QModelIndex mi = nicknameIndex(nickname); - if(mil.size()) - removeRow(mil[0].row()); + if(mi.isValid()) + removeRow(mi.row()); } void PlayersListModel::playerJoinedRoom(const QString & nickname, bool notify) { - QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); + QModelIndex mi = nicknameIndex(nickname); - if(mil.size()) + if(mi.isValid()) { - setData(mil[0], true, RoomFilterRole); - updateIcon(mil[0]); - updateSortData(mil[0]); + setData(mi, true, RoomFilterRole); + updateIcon(mi); + updateSortData(mi); } emit nickAdded(nickname, notify); @@ -131,15 +140,15 @@ { emit nickRemoved(nickname); - QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); + QModelIndex mi = nicknameIndex(nickname); - if(mil.size()) + if(mi.isValid()) { - setData(mil[0], false, RoomFilterRole); - setData(mil[0], false, RoomAdmin); - setData(mil[0], false, Ready); - setData(mil[0], false, InGame); - updateIcon(mil[0]); + setData(mi, false, RoomFilterRole); + setData(mi, false, RoomAdmin); + setData(mi, false, Ready); + setData(mi, false, InGame); + updateIcon(mi); } } @@ -165,27 +174,27 @@ saveSet(m_ignoredSet, "ignore"); } - QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); + QModelIndex mi = nicknameIndex(nickname); - if(mil.size()) + if(mi.isValid()) { - setData(mil[0], isSet, flagType); + setData(mi, isSet, flagType); if(flagType == Friend || flagType == ServerAdmin || flagType == Ignore || flagType == RoomAdmin) - updateSortData(mil[0]); + updateSortData(mi); - updateIcon(mil[0]); + updateIcon(mi); } } bool PlayersListModel::isFlagSet(const QString & nickname, StateFlag flagType) { - QModelIndexList mil = match(index(0), Qt::DisplayRole, nickname, 1, Qt::MatchExactly); + QModelIndex mi = nicknameIndex(nickname); - if(mil.size()) - return mil[0].data(flagType).toBool(); + if(mi.isValid()) + return mi.data(flagType).toBool(); else if(flagType == Friend) return isFriend(nickname); else if(flagType == Ignore) diff -r dfdde45181ec -r e89ed65f62da QTfrontend/model/playerslistmodel.h --- a/QTfrontend/model/playerslistmodel.h Sat Nov 30 14:05:22 2013 +0100 +++ b/QTfrontend/model/playerslistmodel.h Sat Nov 30 14:33:23 2013 +0100 @@ -43,6 +43,8 @@ bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()); bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); + QModelIndex nicknameIndex(const QString & nickname); + public slots: void addPlayer(const QString & nickname, bool notify); void removePlayer(const QString & nickname, const QString & msg = QString());