mirror of
https://github.com/QuasarApp/Hanoi-Towers.git
synced 2025-04-28 10:44:32 +00:00
fix sorting of the world list
This commit is contained in:
parent
e580340444
commit
0a004cd770
@ -45,6 +45,7 @@ Item {
|
||||
|
||||
start(-1);
|
||||
}
|
||||
|
||||
function load () {
|
||||
|
||||
stateData.load();
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <worldupdate.h>
|
||||
#include "dataconverter.h"
|
||||
#include "localuser.h"
|
||||
#include "recordsproxymodel.h"
|
||||
|
||||
#define DEFAULT_USER_ID "DefaultUser"
|
||||
#define DEFAULT_USER_NAME "User"
|
||||
@ -44,6 +45,12 @@ BackEnd::BackEnd(QQmlApplicationEngine *engine):
|
||||
|
||||
_recordsTable = new RecordListModel(this);
|
||||
_world = new RecordListModel(this);
|
||||
_worldProxy = new RecordsProxyModel(this);
|
||||
|
||||
_worldProxy->setSourceModel(_world);
|
||||
_worldProxy->setDynamicSortFilter(true);
|
||||
_worldProxy->setSortRole(RecordListModel::RecordListModelRoles::Record);
|
||||
_worldProxy->sort(0, Qt::SortOrder::DescendingOrder);
|
||||
|
||||
_imageProvider = new HanoiImageProvider(_client->getUsersCache());
|
||||
_dataConverter = new DataConverter;
|
||||
@ -169,7 +176,7 @@ QObject *BackEnd::selectedUser() {
|
||||
return &_selectedUser;
|
||||
}
|
||||
|
||||
void BackEnd::handleChangeName(const QString & name) {
|
||||
void BackEnd::handleChangeName(const QString &) {
|
||||
emit profileChanged();
|
||||
}
|
||||
|
||||
@ -357,7 +364,7 @@ QObject* BackEnd::profileList() {
|
||||
}
|
||||
|
||||
QObject *BackEnd::worldList() {
|
||||
return _world;
|
||||
return _worldProxy;
|
||||
}
|
||||
|
||||
bool BackEnd::createProfile(const QString& userId, const QString &userName) {
|
||||
|
@ -32,6 +32,7 @@ class QQmlApplicationEngine;
|
||||
class RecordListModel;
|
||||
class HanoiImageProvider;
|
||||
class DataConverter;
|
||||
class RecordsProxyModel;
|
||||
|
||||
class BackEnd: public QObject
|
||||
{
|
||||
@ -211,6 +212,7 @@ private:
|
||||
|
||||
RecordListModel * _recordsTable = nullptr;
|
||||
RecordListModel * _world = nullptr;
|
||||
RecordsProxyModel * _worldProxy = nullptr;
|
||||
|
||||
LocalUser _profile;
|
||||
LocalUser _bestUser;
|
||||
|
@ -366,37 +366,37 @@
|
||||
<context>
|
||||
<name>MainMenu</name>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="52"/>
|
||||
<location filename="../menu/MainMenu.qml" line="53"/>
|
||||
<source>continue</source>
|
||||
<translation>Continue</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="66"/>
|
||||
<location filename="../menu/MainMenu.qml" line="67"/>
|
||||
<source>start</source>
|
||||
<translation>Start</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="77"/>
|
||||
<location filename="../menu/MainMenu.qml" line="78"/>
|
||||
<source>HanoiTowers World</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="90"/>
|
||||
<location filename="../menu/MainMenu.qml" line="91"/>
|
||||
<source>About</source>
|
||||
<translation>About</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="101"/>
|
||||
<location filename="../menu/MainMenu.qml" line="102"/>
|
||||
<source>Config</source>
|
||||
<translation>Config</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="113"/>
|
||||
<location filename="../menu/MainMenu.qml" line="114"/>
|
||||
<source>Users</source>
|
||||
<translation>Users</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="124"/>
|
||||
<location filename="../menu/MainMenu.qml" line="125"/>
|
||||
<source>exit</source>
|
||||
<translation>Exit</translation>
|
||||
</message>
|
||||
|
@ -401,37 +401,37 @@
|
||||
<translation type="vanished">ハノイタワーズ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="52"/>
|
||||
<location filename="../menu/MainMenu.qml" line="53"/>
|
||||
<source>continue</source>
|
||||
<translation>続行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="66"/>
|
||||
<location filename="../menu/MainMenu.qml" line="67"/>
|
||||
<source>start</source>
|
||||
<translation>スタート</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="77"/>
|
||||
<location filename="../menu/MainMenu.qml" line="78"/>
|
||||
<source>HanoiTowers World</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="90"/>
|
||||
<location filename="../menu/MainMenu.qml" line="91"/>
|
||||
<source>About</source>
|
||||
<translation>約</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="101"/>
|
||||
<location filename="../menu/MainMenu.qml" line="102"/>
|
||||
<source>Config</source>
|
||||
<translation>設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="113"/>
|
||||
<location filename="../menu/MainMenu.qml" line="114"/>
|
||||
<source>Users</source>
|
||||
<translation>利用者</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="124"/>
|
||||
<location filename="../menu/MainMenu.qml" line="125"/>
|
||||
<source>exit</source>
|
||||
<translation>出口</translation>
|
||||
</message>
|
||||
|
@ -397,37 +397,37 @@
|
||||
<translation type="vanished">Ханойские Башни</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="52"/>
|
||||
<location filename="../menu/MainMenu.qml" line="53"/>
|
||||
<source>continue</source>
|
||||
<translation>Продолжить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="66"/>
|
||||
<location filename="../menu/MainMenu.qml" line="67"/>
|
||||
<source>start</source>
|
||||
<translation>Начать</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="77"/>
|
||||
<location filename="../menu/MainMenu.qml" line="78"/>
|
||||
<source>HanoiTowers World</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="90"/>
|
||||
<location filename="../menu/MainMenu.qml" line="91"/>
|
||||
<source>About</source>
|
||||
<translation>Об авторах</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="101"/>
|
||||
<location filename="../menu/MainMenu.qml" line="102"/>
|
||||
<source>Config</source>
|
||||
<translation>Настройки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="113"/>
|
||||
<location filename="../menu/MainMenu.qml" line="114"/>
|
||||
<source>Users</source>
|
||||
<translation>Пользователи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="124"/>
|
||||
<location filename="../menu/MainMenu.qml" line="125"/>
|
||||
<source>exit</source>
|
||||
<translation>Выход</translation>
|
||||
</message>
|
||||
|
@ -398,37 +398,37 @@ Bu seviye için minimum adımlar: %2</translation>
|
||||
<translation type="vanished">Hanoi Kuleleri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="52"/>
|
||||
<location filename="../menu/MainMenu.qml" line="53"/>
|
||||
<source>continue</source>
|
||||
<translation>devam et</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="66"/>
|
||||
<location filename="../menu/MainMenu.qml" line="67"/>
|
||||
<source>start</source>
|
||||
<translation>başlamak</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="77"/>
|
||||
<location filename="../menu/MainMenu.qml" line="78"/>
|
||||
<source>HanoiTowers World</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="90"/>
|
||||
<location filename="../menu/MainMenu.qml" line="91"/>
|
||||
<source>About</source>
|
||||
<translation>hakkında</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="101"/>
|
||||
<location filename="../menu/MainMenu.qml" line="102"/>
|
||||
<source>Config</source>
|
||||
<translation>ayarlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="113"/>
|
||||
<location filename="../menu/MainMenu.qml" line="114"/>
|
||||
<source>Users</source>
|
||||
<translation>Kullanıcılar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="124"/>
|
||||
<location filename="../menu/MainMenu.qml" line="125"/>
|
||||
<source>exit</source>
|
||||
<translation>çıkış</translation>
|
||||
</message>
|
||||
|
@ -398,37 +398,37 @@
|
||||
<translation type="vanished">Ханої вежі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="52"/>
|
||||
<location filename="../menu/MainMenu.qml" line="53"/>
|
||||
<source>continue</source>
|
||||
<translation>Продовжувати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="66"/>
|
||||
<location filename="../menu/MainMenu.qml" line="67"/>
|
||||
<source>start</source>
|
||||
<translation>Почати</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="77"/>
|
||||
<location filename="../menu/MainMenu.qml" line="78"/>
|
||||
<source>HanoiTowers World</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="90"/>
|
||||
<location filename="../menu/MainMenu.qml" line="91"/>
|
||||
<source>About</source>
|
||||
<translation>Про автора</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="101"/>
|
||||
<location filename="../menu/MainMenu.qml" line="102"/>
|
||||
<source>Config</source>
|
||||
<translation>Конфігурація</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="113"/>
|
||||
<location filename="../menu/MainMenu.qml" line="114"/>
|
||||
<source>Users</source>
|
||||
<translation>Користувачі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../menu/MainMenu.qml" line="124"/>
|
||||
<location filename="../menu/MainMenu.qml" line="125"/>
|
||||
<source>exit</source>
|
||||
<translation>Вихід</translation>
|
||||
</message>
|
||||
|
@ -9,20 +9,42 @@ Item {
|
||||
id: gridLayout
|
||||
|
||||
rows: 2
|
||||
columns: 1
|
||||
columns: 3
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
Text {
|
||||
text: "BEST IMG"
|
||||
anchors.fill: parent
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
|
||||
UserView {
|
||||
userModel: (backEnd)? backEnd.bestUser: null
|
||||
editable: false;
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
Text {
|
||||
text: "BEST IMG"
|
||||
anchors.fill: parent
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
UsersTable {
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
model: (backEnd)? backEnd.worldList: null
|
||||
state: "World"
|
||||
Layout.columnSpan: 3
|
||||
|
||||
onUserSelected: {
|
||||
privateRoot.showUser(userId);
|
||||
|
14
HanoiTowers/client/recordsproxymodel.cpp
Normal file
14
HanoiTowers/client/recordsproxymodel.cpp
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2021 QuasarApp.
|
||||
* Distributed under the lgplv3 software license, see the accompanying
|
||||
* Everyone is permitted to copy and distribute verbatim copies
|
||||
* of this license document, but changing it is not allowed.
|
||||
*/
|
||||
|
||||
|
||||
#include "recordsproxymodel.h"
|
||||
|
||||
RecordsProxyModel::RecordsProxyModel(QObject *parent):
|
||||
QSortFilterProxyModel(parent) {
|
||||
|
||||
}
|
20
HanoiTowers/client/recordsproxymodel.h
Normal file
20
HanoiTowers/client/recordsproxymodel.h
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2021 QuasarApp.
|
||||
* Distributed under the lgplv3 software license, see the accompanying
|
||||
* Everyone is permitted to copy and distribute verbatim copies
|
||||
* of this license document, but changing it is not allowed.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef RECORDSPROXYMODEL_H
|
||||
#define RECORDSPROXYMODEL_H
|
||||
|
||||
#include <QSortFilterProxyModel>
|
||||
|
||||
class RecordsProxyModel : public QSortFilterProxyModel
|
||||
{
|
||||
public:
|
||||
explicit RecordsProxyModel(QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
#endif // RECORDSPROXYMODEL_H
|
Loading…
x
Reference in New Issue
Block a user