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>☆</a>
+ <a>☆</a>
@@ -312,7 +312,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -325,7 +325,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -338,7 +338,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -602,7 +602,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -615,7 +615,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -628,7 +628,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -641,7 +641,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -654,7 +654,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -915,7 +915,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -928,7 +928,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -941,7 +941,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -954,7 +954,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -967,7 +967,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1205,7 +1205,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1218,7 +1218,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1231,7 +1231,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1244,7 +1244,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1257,7 +1257,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1495,7 +1495,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1508,7 +1508,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1521,7 +1521,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1534,7 +1534,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1547,7 +1547,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1805,7 +1805,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1818,7 +1818,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1831,7 +1831,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1844,7 +1844,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -1857,7 +1857,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2108,7 +2108,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2121,7 +2121,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2134,7 +2134,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2147,7 +2147,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2160,7 +2160,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2873,7 +2873,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2886,7 +2886,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2899,7 +2899,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2912,7 +2912,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -2925,7 +2925,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3176,7 +3176,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3189,7 +3189,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3202,7 +3202,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3215,7 +3215,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3228,7 +3228,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3466,7 +3466,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3479,7 +3479,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3492,7 +3492,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3505,7 +3505,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</a>
@@ -3518,7 +3518,7 @@ p, li { white-space: pre-wrap; }
- <a>☆</a>
+ <a>☆</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() ) );