diff --git a/src/gui/qt/gamelobbydialog.ui b/src/gui/qt/gamelobbydialog.ui index 45f5432c..8fcf07c2 100644 --- a/src/gui/qt/gamelobbydialog.ui +++ b/src/gui/qt/gamelobbydialog.ui @@ -708,7 +708,11 @@ 0 - + + + true + + diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp index e4e34716..aa5987c9 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.cpp @@ -32,7 +32,7 @@ using namespace std; gameLobbyDialogImpl::gameLobbyDialogImpl(startWindowImpl *parent, ConfigFile *c) - : QDialog(parent), myW(NULL), myStartWindow(parent), myConfig(c), currentGameName(""), myPlayerId(0), isGameAdministrator(false), inGame(false), guestMode(false), blinkingButtonAnimationState(true), myChat(NULL), keyUpCounter(0), infoMsgToShowId(0), currentInvitationGameId(0), inviteDialogIsCurrentlyShown(false), autoStartTimerCounter(0) +: QDialog(parent), myW(NULL), myStartWindow(parent), myConfig(c), currentGameName(""), myPlayerId(0), isGameAdministrator(false), inGame(false), guestMode(false), blinkingButtonAnimationState(true), myChat(NULL), keyUpCounter(0), infoMsgToShowId(0), currentInvitationGameId(0), inviteDialogIsCurrentlyShown(false), autoStartTimerCounter(0), lastNickListFilterState(0) { #ifdef __APPLE__ @@ -1495,12 +1495,22 @@ void gameLobbyDialogImpl::changeGameListFilter(int index) void gameLobbyDialogImpl::changeNickListFilter(int state) { + if(lastNickListFilterState == 0) { + myNickListSortFilterProxyModel->setLastFilterStateCountry(false); + myNickListSortFilterProxyModel->setLastFilterStateAlpha(true); + } + else if(lastNickListFilterState == 1) { + myNickListSortFilterProxyModel->setLastFilterStateCountry(true); + myNickListSortFilterProxyModel->setLastFilterStateAlpha(false); + } + myNickListSortFilterProxyModel->setFilterState(state); myNickListModel->sort(0, Qt::DescendingOrder); myNickListSortFilterProxyModel->setFilterRegExp(QString()); myNickListSortFilterProxyModel->setFilterKeyColumn(0); + lastNickListFilterState = state; writeDialogSettings(2); } diff --git a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h index e385b64e..f78c325f 100644 --- a/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h +++ b/src/gui/qt/gamelobbydialog/gamelobbydialogimpl.h @@ -198,6 +198,7 @@ private: QLabel *autoStartTimerOverlay; int autoStartTimerCounter; + int lastNickListFilterState; protected: bool eventFilter(QObject *obj, QEvent *event); diff --git a/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.cpp b/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.cpp index c465630f..0d68e09d 100644 --- a/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.cpp +++ b/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.cpp @@ -63,7 +63,14 @@ bool MyNickListSortFilterProxyModel::lessThan(const QModelIndex &left, const QMo } break; case 2: { - return QSortFilterProxyModel::lessThan(left, right); + if(lastFilterStateCountry) { + QString leftCountryAndName(sourceModel()->data(left, 33).toString().toUpper()+sourceModel()->data(left, Qt::DisplayRole).toString().toLower()); + QString rightCountryAndName(sourceModel()->data(right, 33).toString().toUpper()+sourceModel()->data(right, Qt::DisplayRole).toString().toLower()); + return leftCountryAndName < rightCountryAndName; + } + else if(lastFilterStateAlpha) { + return QSortFilterProxyModel::lessThan(left, right); + } } break; } diff --git a/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.h b/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.h index ae1812f1..3184d6e7 100644 --- a/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.h +++ b/src/gui/qt/gamelobbydialog/mynicklistsortfilterproxymodel.h @@ -28,6 +28,8 @@ public: MyNickListSortFilterProxyModel(QObject *parent = 0); void setFilterState(int state); + void setLastFilterStateCountry( bool country ) { lastFilterStateCountry = country;} + void setLastFilterStateAlpha( bool alpha ) { lastFilterStateAlpha = alpha;} protected: bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; @@ -36,7 +38,8 @@ protected: private: int filterState; - + bool lastFilterStateCountry; + bool lastFilterStateAlpha; }; diff --git a/src/gui/qt/gametable.ui b/src/gui/qt/gametable.ui index 6fac1a19..557211b5 100644 --- a/src/gui/qt/gametable.ui +++ b/src/gui/qt/gametable.ui @@ -299,7 +299,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -312,7 +312,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -325,7 +325,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -338,7 +338,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -602,7 +602,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -615,7 +615,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -628,7 +628,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -641,7 +641,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -654,7 +654,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -915,7 +915,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -928,7 +928,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -941,7 +941,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -954,7 +954,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -967,7 +967,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1205,7 +1205,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1218,7 +1218,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1231,7 +1231,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1244,7 +1244,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1257,7 +1257,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1495,7 +1495,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1508,7 +1508,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1521,7 +1521,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1534,7 +1534,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1547,7 +1547,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1805,7 +1805,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1818,7 +1818,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1831,7 +1831,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1844,7 +1844,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -1857,7 +1857,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2108,7 +2108,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2121,7 +2121,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2134,7 +2134,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2147,7 +2147,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2160,7 +2160,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2873,7 +2873,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2886,7 +2886,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2899,7 +2899,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2912,7 +2912,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -2925,7 +2925,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3176,7 +3176,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3189,7 +3189,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3202,7 +3202,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3215,7 +3215,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3228,7 +3228,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3466,7 +3466,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3479,7 +3479,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3492,7 +3492,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3505,7 +3505,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3518,7 +3518,7 @@ p, li { white-space: pre-wrap; } - <a>&#9734;</a> + <a>&#9734;</a> @@ -3635,6 +3635,9 @@ p, li { white-space: pre-wrap; } Qt::ScrollBarAlwaysOff + + true + diff --git a/src/gui/qt/gametable/myavatarlabel.cpp b/src/gui/qt/gametable/myavatarlabel.cpp index 6dc6b13c..7793a7ec 100644 --- a/src/gui/qt/gametable/myavatarlabel.cpp +++ b/src/gui/qt/gametable/myavatarlabel.cpp @@ -42,7 +42,6 @@ MyAvatarLabel::MyAvatarLabel(QGroupBox* parent) action_ReportBadAvatar = new QAction(QIcon(":/gfx/emblem-important.png"), tr("Report inappropriate avatar"), myContextMenu); myContextMenu->addAction(action_ReportBadAvatar); - connect( action_VoteForKick, SIGNAL ( triggered() ), this, SLOT ( sendTriggerVoteOnKickSignal() ) ); connect( action_IgnorePlayer, SIGNAL ( triggered() ), this, SLOT ( putPlayerOnIgnoreList() ) ); connect( action_ReportBadAvatar, SIGNAL ( triggered() ), this, SLOT ( reportBadAvatar() ) );