diff --git a/pokerth_game.pro b/pokerth_game.pro index 984971b5..8a171b3c 100644 --- a/pokerth_game.pro +++ b/pokerth_game.pro @@ -328,12 +328,12 @@ win32 { -lidn LIBS += -lcurl LIBS += -lz - LIBS += -lboost_thread-mgw45-mt-1_43 - LIBS += -lboost_filesystem-mgw45-mt-1_43 - LIBS += -lboost_regex-mgw45-mt-1_43 - LIBS += -lboost_system-mgw45-mt-1_43 - LIBS += -lboost_iostreams-mgw45-mt-1_43 - LIBS += -lboost_zlib-mgw45-mt-1_43 + LIBS += -lboost_thread-mgw45-mt-1_43 + LIBS += -lboost_filesystem-mgw45-mt-1_43 + LIBS += -lboost_regex-mgw45-mt-1_43 + LIBS += -lboost_system-mgw45-mt-1_43 + LIBS += -lboost_iostreams-mgw45-mt-1_43 + LIBS += -lboost_zlib-mgw45-mt-1_43 } LIBS += -lgdi32 \ -lcomdlg32 \ diff --git a/src/gui/qt/chattools/chattools.cpp b/src/gui/qt/chattools/chattools.cpp index 4a6fcd10..7f77678b 100644 --- a/src/gui/qt/chattools/chattools.cpp +++ b/src/gui/qt/chattools/chattools.cpp @@ -28,7 +28,7 @@ using namespace std; -ChatTools::ChatTools(QLineEdit* l, ConfigFile *c, ChatType ct, QTextBrowser *b, QTreeWidget *t, gameLobbyDialogImpl *lo) : nickAutoCompletitionCounter(0), myLineEdit(l), myNickTreeWidget(t), myNickStringList(NULL), myTextBrowser(b), myChatType(ct), myConfig(c), myNick(""), myLobby(lo) +ChatTools::ChatTools(QLineEdit* l, ConfigFile *c, ChatType ct, QTextBrowser *b, QStandardItemModel *m, gameLobbyDialogImpl *lo) : nickAutoCompletitionCounter(0), myLineEdit(l), myNickListModel(m), myNickStringList(NULL), myTextBrowser(b), myChatType(ct), myConfig(c), myNick(""), myLobby(lo) { myNick = QString::fromUtf8(myConfig->readConfigString("MyName").c_str()); ignoreList = myConfig->readConfigStringList("PlayerIgnoreList"); @@ -163,11 +163,13 @@ void ChatTools::nickAutoCompletition() { if(nickAutoCompletitionCounter == 0) { - if(myNickTreeWidget) { - QTreeWidgetItemIterator it(myNickTreeWidget); - while (*it) { - if ((*it)->text(0).startsWith(myChatStringList.last(), Qt::CaseInsensitive) && myChatStringList.last() != "") - matchStringList << (*it)->text(0); + if(myNickListModel) { + int it = 0; + while (myNickListModel->item(it)) { + QString text = myNickListModel->item(it, 0)->data(Qt::DisplayRole).toString(); + if(text.startsWith(myChatStringList.last(), Qt::CaseInsensitive) && myChatStringList.last() != "") { + matchStringList << text; + } ++it; } } diff --git a/src/gui/qt/chattools/chattools.h b/src/gui/qt/chattools/chattools.h index a4869aea..7573d6c2 100644 --- a/src/gui/qt/chattools/chattools.h +++ b/src/gui/qt/chattools/chattools.h @@ -37,7 +37,7 @@ class ChatTools : public QObject Q_OBJECT public: - ChatTools(QLineEdit*, ConfigFile*, ChatType, QTextBrowser *b = NULL, QTreeWidget *t = NULL, gameLobbyDialogImpl *lo = NULL); + ChatTools(QLineEdit*, ConfigFile*, ChatType, QTextBrowser *b = NULL, QStandardItemModel *m = NULL, gameLobbyDialogImpl *lo = NULL); ~ChatTools(); @@ -73,7 +73,7 @@ private: int nickAutoCompletitionCounter; QLineEdit *myLineEdit; - QTreeWidget *myNickTreeWidget; + QStandardItemModel *myNickListModel; QStringList myNickStringList; QTextBrowser *myTextBrowser; boost::shared_ptr mySession; diff --git a/src/gui/qt/gamelobbydialog.ui b/src/gui/qt/gamelobbydialog.ui index c486c99e..ffd439e2 100644 --- a/src/gui/qt/gamelobbydialog.ui +++ b/src/gui/qt/gamelobbydialog.ui @@ -25,29 +25,20 @@ Internet Game Lobby - - - 5 - - - 5 - - - 5 - - - 3 - + - 9 + 7 + 4 + + 5 - - + + - + 0 0 @@ -64,245 +55,8 @@ 16777215 - - Qt::CustomContextMenu - - - 5 - - - false - - - true - - - - Available Players - - - - - - - - 6 - - - 0 - - - - - Join &any game - - - - :/gfx/transform-rotate.png:/gfx/transform-rotate.png - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 181 - 20 - - - - - - - - &Create Game - - - - :/gfx/list_add.png:/gfx/list_add.png - - - - - - - &Join Game - - - - :/gfx/go-next-view.png:/gfx/go-next-view.png - - - - - - - - - - 400 - 0 - - - - - 16777215 - 230 - - - - Lobby-Chat - - - - 7 - - - 2 - - - 7 - - - 7 - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - 0 - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 20 - 20 - - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body> -<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> -<tr> -<td style="border: none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://online-ranking.pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">Click here to view the online rankings</span></a></p></td></tr></table></body></html> - - - true - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 20 - 20 - - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">http://www.pokerth.net</span></a></p></body></html> - - - true - - - - - - - - - - 400 - 0 - - - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::NoEditTriggers - - - false - - - 5 - - - false - - - true + + search for player ... @@ -421,7 +175,7 @@ p, li { white-space: pre-wrap; } 0 0 248 - 179 + 178 @@ -831,11 +585,267 @@ p, li { white-space: pre-wrap; } + + + + + 400 + 0 + + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + 5 + + + false + + + true + + + + + + + 6 + + + 0 + + + + + Join &any game + + + + :/gfx/transform-rotate.png:/gfx/transform-rotate.png + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 181 + 20 + + + + + + + + &Create Game + + + + :/gfx/list_add.png:/gfx/list_add.png + + + + + + + &Join Game + + + + :/gfx/go-next-view.png:/gfx/go-next-view.png + + + + + + + + + + 400 + 0 + + + + + 16777215 + 230 + + + + Lobby-Chat + + + + 7 + + + 2 + + + 7 + + + 7 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 20 + 20 + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body> +<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> +<tr> +<td style="border: none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://online-ranking.pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">Click here to view the online rankings</span></a></p></td></tr></table></body></html> + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 20 + 20 + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">http://www.pokerth.net</span></a></p></body></html> + + + true + + + + + + + + + + 0 + 0 + + + + + 165 + 0 + + + + + 165 + 16777215 + + + + Qt::CustomContextMenu + + + QAbstractItemView::NoEditTriggers + + + false + + + true + + + - treeWidget_NickList - comboBox_gameListFilter + treeView_NickList treeView_GameList pushButton_joinAnyGame pushButton_CreateGame diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index 733108ef..001cff90 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -1,3 +1,4 @@ + // // C++ Implementation: gamelobbydialogimpl // @@ -33,8 +34,6 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c) #endif setupUi(this); - myChat = new ChatTools(lineEdit_ChatInput, myConfig, INET_LOBBY_CHAT, textBrowser_ChatDisplay, treeWidget_NickList, this); - myAppDataPath = QString::fromUtf8(myConfig->readConfigString("AppDataDir").c_str()); //wait start game message @@ -76,15 +75,31 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c) headerList << tr("Game") << tr("Players") << tr("State") << tr("R") << tr("P"); myGameListModel->setHorizontalHeaderLabels(headerList); - treeView_GameList->setColumnWidth(0,220); + treeView_GameList->setColumnWidth(0,190); treeView_GameList->setColumnWidth(1,65); treeView_GameList->setColumnWidth(2,65); - treeView_GameList->setColumnWidth(3,30); - treeView_GameList->setColumnWidth(4,30); + treeView_GameList->setColumnWidth(3,40); + treeView_GameList->setColumnWidth(4,40); treeView_GameList->setStyleSheet("QTreeView {background-color: white; background-image: url(\""+myAppDataPath +"gfx/gui/misc/background_gamelist.png\"); background-attachment: fixed; background-position: top center ; background-repeat: no-repeat;}"); treeView_GameList->setAutoFillBackground(TRUE); + myNickListModel = new QStandardItemModel(this); + myNickListSortFilterProxyModel = new QSortFilterProxyModel(this); + myNickListSortFilterProxyModel->setSourceModel(myNickListModel); + myNickListSortFilterProxyModel->setDynamicSortFilter(TRUE); + myNickListSortFilterProxyModel->setSortCaseSensitivity(Qt::CaseInsensitive); + + treeView_NickList->setModel(myNickListSortFilterProxyModel); + myNickListSelectionModel = treeView_NickList->selectionModel(); + + QStringList headerList2; + headerList2 << tr("Available Players"); + myNickListModel->setHorizontalHeaderLabels(headerList2); + treeView_NickList->sortByColumn(0, Qt::AscendingOrder); + + myChat = new ChatTools(lineEdit_ChatInput, myConfig, INET_LOBBY_CHAT, textBrowser_ChatDisplay, myNickListModel, this); + nickListContextMenu = new QMenu(); nickListInviteAction = new QAction(QIcon(":/gfx/list_add_user.png"), tr("Invite player"), nickListContextMenu); nickListContextMenu->addAction(nickListInviteAction); @@ -111,10 +126,12 @@ gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c) connect( blinkingButtonAnimationTimer, SIGNAL(timeout()), this, SLOT( blinkingStartButtonAnimation() )); connect( showInfoMsgBoxTimer, SIGNAL(timeout()), this, SLOT( showInfoMsgBox() )); connect( comboBox_gameListFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changeGameListFilter(int))); - connect( treeWidget_NickList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT( showNickListContextMenu(QPoint) ) ); + connect( treeView_NickList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT( showNickListContextMenu(QPoint) ) ); connect( nickListInviteAction, SIGNAL(triggered()), this, SLOT( invitePlayerToCurrentGame() )); connect( nickListIgnorePlayerAction, SIGNAL(triggered()), this, SLOT( putPlayerOnIgnoreList() )); + connect( lineEdit_searchForPlayers, SIGNAL(textChanged(QString)),this, SLOT(searchForPlayerRegExpChanged())); + lineEdit_searchForPlayers->installEventFilter(this); lineEdit_ChatInput->installEventFilter(this); clearDialog(); @@ -315,17 +332,23 @@ void gameLobbyDialogImpl::refresh(int actionID) { myGameListSelectionModel->clear(); myGameListSelectionModel->clearSelection(); myGameListSortFilterProxyModel->clear(); - - treeWidget_NickList->clear(); + + myNickListModel->clear(); + myNickListSelectionModel->clear(); + myNickListSelectionModel->clearSelection();; QStringList headerList; headerList << tr("Game") << tr("Players") << tr("State") << tr("T") << tr("P"); myGameListModel->setHorizontalHeaderLabels(headerList); - treeView_GameList->setColumnWidth(0,220); + treeView_GameList->setColumnWidth(0,190); treeView_GameList->setColumnWidth(1,65); treeView_GameList->setColumnWidth(2,65); - treeView_GameList->setColumnWidth(3,30); - treeView_GameList->setColumnWidth(4,30); + treeView_GameList->setColumnWidth(3,40); + treeView_GameList->setColumnWidth(4,40); + + QStringList headerList2; + headerList2 << tr("Available Players"); + myNickListModel->setHorizontalHeaderLabels(headerList2); this->accept(); myW->show(); @@ -570,7 +593,7 @@ void gameLobbyDialogImpl::refreshGameStats() { void gameLobbyDialogImpl::refreshPlayerStats() { ServerStats stats = mySession->getClientStats(); - label_connectedPlayersCounter->setText(tr("connected players: %1").arg(treeWidget_NickList->topLevelItemCount())); + label_connectedPlayersCounter->setText(tr("connected players: %1").arg(myNickListModel->rowCount())); } void gameLobbyDialogImpl::gameAddPlayer(unsigned gameId, unsigned playerId) @@ -676,16 +699,24 @@ void gameLobbyDialogImpl::clearDialog() QStringList headerList; headerList << tr("Game") << tr("Players") << tr("State") << tr("T") << tr("P"); myGameListModel->setHorizontalHeaderLabels(headerList); - treeView_GameList->setColumnWidth(0,220); + treeView_GameList->setColumnWidth(0,190); treeView_GameList->setColumnWidth(1,65); treeView_GameList->setColumnWidth(2,65); - treeView_GameList->setColumnWidth(3,30); - treeView_GameList->setColumnWidth(4,30); + treeView_GameList->setColumnWidth(3,40); + treeView_GameList->setColumnWidth(4,40); pushButton_CreateGame->clearFocus(); lineEdit_ChatInput->setFocus(); myChat->clearChat(); - treeWidget_NickList->clear(); + + myNickListModel->clear(); + myNickListSelectionModel->clear(); + myNickListSelectionModel->clearSelection();; + QStringList headerList2; + headerList2 << tr("Available Players"); + myNickListModel->setHorizontalHeaderLabels(headerList2); + myNickListModel->sort(0, treeView_NickList->header()->sortIndicatorOrder()); + inGame = false; isGameAdministrator = false; myPlayerId = 0; @@ -830,22 +861,21 @@ void gameLobbyDialogImpl::updatePlayer(unsigned playerId, QString newPlayerName) //also rename player in nick-list QString oldNick; - QTreeWidgetItemIterator it1(treeWidget_NickList); - while (*it1) { - if ((*it1)->data(0, Qt::UserRole) == playerId) - { - oldNick = (*it1)->data(0, Qt::DisplayRole).toString(); - (*it1)->setData(0, Qt::DisplayRole, newPlayerName); + int it1 = 0; + while (myNickListModel->item(it1)) { + if (myNickListModel->item(it1, 0)->data(Qt::UserRole) == playerId) { + oldNick = myNickListModel->item(it1, 0)->text(); + myNickListModel->item(it1, 0)->setText(newPlayerName); PlayerInfo playerInfo(mySession->getClientPlayerInfo(playerId)); if(!playerInfo.isGuest) { - (*it1)->setIcon(0, QIcon(QString(":/cflags/cflags/%1.png").arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerId).countryCode.c_str()).toLower()))); + myNickListModel->item(it1, 0)->setIcon(QIcon(QString(":/cflags/cflags/%1.png").arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerId).countryCode.c_str()).toLower()))); } else { - (*it1)->setIcon(0, QIcon()); + myNickListModel->item(it1, 0)->setIcon(QIcon()); } - break; } + ++it1; } @@ -871,17 +901,15 @@ void gameLobbyDialogImpl::removePlayer(unsigned playerId, QString) { void gameLobbyDialogImpl::playerLeftLobby(unsigned playerId) { - QTreeWidgetItemIterator it(treeWidget_NickList); - while (*it) { - if ((*it)->data(0, Qt::UserRole) == playerId) - { - treeWidget_NickList->takeTopLevelItem(treeWidget_NickList->indexOfTopLevelItem(*it)); + int it1 = 0; + while (myNickListModel->item(it1)) { + if (myNickListModel->item(it1, 0)->data(Qt::UserRole) == playerId) { + myNickListModel->removeRow(it1);; break; } - ++it; + ++it1; } - treeWidget_NickList->sortItems(0, Qt::AscendingOrder); refreshPlayerStats(); } @@ -889,12 +917,12 @@ void gameLobbyDialogImpl::playerJoinedLobby(unsigned playerId, QString /*playerN { PlayerInfo playerInfo(mySession->getClientPlayerInfo(playerId)); - QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget_NickList, 0); - item->setData(0, Qt::DisplayRole, QString::fromUtf8(playerInfo.playerName.c_str())); - item->setData(0, Qt::UserRole, playerId); - item->setIcon(0, QIcon(QString(":/cflags/cflags/%1.png").arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerId).countryCode.c_str()).toLower()))); + QStandardItem *item = new QStandardItem; + item->setText(QString::fromUtf8(playerInfo.playerName.c_str())); + item->setData(playerId, Qt::UserRole); + item->setIcon(QIcon(QString(":/cflags/cflags/%1.png").arg(QString::fromUtf8(mySession->getClientPlayerInfo(playerId).countryCode.c_str()).toLower()))); + myNickListModel->appendRow(item); - treeWidget_NickList->sortItems(0, Qt::AscendingOrder); refreshPlayerStats(); } @@ -1115,12 +1143,17 @@ void gameLobbyDialogImpl::keyPressEvent ( QKeyEvent * event ) { bool gameLobbyDialogImpl::eventFilter(QObject *obj, QEvent *event) { QKeyEvent *keyEvent = static_cast(event); + QFocusEvent *focusEvent = static_cast(event); - if (obj == lineEdit_ChatInput && lineEdit_ChatInput->text() != "" && event->type() == QEvent::KeyPress && keyEvent->key() == Qt::Key_Tab) - { + if (obj == lineEdit_ChatInput && lineEdit_ChatInput->text() != "" && event->type() == QEvent::KeyPress && keyEvent->key() == Qt::Key_Tab) { myChat->nickAutoCompletition(); return true; - } else { + } + else if (obj == lineEdit_searchForPlayers && focusEvent->gotFocus() && lineEdit_searchForPlayers->text() == tr("search for player ...")) { + lineEdit_searchForPlayers->clear(); + return QDialog::eventFilter(obj, event); + } + else { // pass the event on to the parent class return QDialog::eventFilter(obj, event); } @@ -1368,11 +1401,10 @@ void gameLobbyDialogImpl::guestUserMode() void gameLobbyDialogImpl::showNickListContextMenu(QPoint p) { - if(treeWidget_NickList->topLevelItemCount() && !treeWidget_NickList->selectedItems().isEmpty()) { - + if(myNickListModel->rowCount() && myNickListSelectionModel->currentIndex().isValid()) { assert(mySession); - int playerUid = treeWidget_NickList->selectedItems().at(0)->data(0, Qt::UserRole).toUInt(); + int playerUid = myNickListSelectionModel->currentIndex().data(Qt::UserRole).toUInt(); if(inGame && mySession->getClientGameInfo(mySession->getClientCurrentGameId()).data.gameType == GAME_TYPE_INVITE_ONLY && playerUid != mySession->getClientUniquePlayerId() && !mySession->getClientPlayerInfo(playerUid).isGuest) { @@ -1407,14 +1439,14 @@ void gameLobbyDialogImpl::showNickListContextMenu(QPoint p) } nickListPlayerInGameInfo->setText(playerInGameInfoString); - nickListContextMenu->popup(treeWidget_NickList->mapToGlobal(p)); + nickListContextMenu->popup(treeView_NickList->mapToGlobal(p)); } } void gameLobbyDialogImpl::invitePlayerToCurrentGame() { - if(!treeWidget_NickList->selectedItems().isEmpty()) { - mySession->invitePlayerToCurrentGame(treeWidget_NickList->selectedItems().at(0)->data(0, Qt::UserRole).toUInt()); + if(myNickListSelectionModel->currentIndex().isValid()) { + mySession->invitePlayerToCurrentGame(myNickListSelectionModel->currentIndex().data(Qt::UserRole).toUInt()); } } @@ -1488,9 +1520,9 @@ bool gameLobbyDialogImpl::playerIsOnIgnoreList(unsigned playerId) { void gameLobbyDialogImpl::putPlayerOnIgnoreList() { - if(!treeWidget_NickList->selectedItems().isEmpty()) { + if(myNickListSelectionModel->currentIndex().isValid()) { - unsigned playerId = treeWidget_NickList->selectedItems().at(0)->data(0, Qt::UserRole).toUInt(); + unsigned playerId = myNickListSelectionModel->currentIndex().data(Qt::UserRole).toUInt(); if(!playerIsOnIgnoreList(playerId)) { @@ -1508,3 +1540,9 @@ void gameLobbyDialogImpl::putPlayerOnIgnoreList() { } } +void gameLobbyDialogImpl::searchForPlayerRegExpChanged() +{ + QRegExp regExp(lineEdit_searchForPlayers->text(), Qt::CaseInsensitive); + myNickListSortFilterProxyModel->setFilterRegExp(regExp); +} + diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h index 4f307172..6bd4844b 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h @@ -110,6 +110,7 @@ public slots: void chatInfoPlayerRejectedInvitation(unsigned gameId, unsigned playerIdWho, DenyGameInvitationReason reason); void putPlayerOnIgnoreList(); bool playerIsOnIgnoreList(unsigned playerid); + void searchForPlayerRegExpChanged(); private: @@ -148,6 +149,9 @@ private: int currentInvitationGameId; bool inviteDialogIsCurrentlyShown; + QStandardItemModel *myNickListModel; + QItemSelectionModel *myNickListSelectionModel; + QSortFilterProxyModel *myNickListSortFilterProxyModel; protected: bool eventFilter(QObject *obj, QEvent *event);