QTfrontend/model/playerslistmodel.cpp
changeset 8891 bf67b4d7d7b4
parent 7842 d1c0e4341165
child 9503 8f9b04138456
equal deleted inserted replaced
8889:74abe69d8569 8891:bf67b4d7d7b4
    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);