feat: hide leaderboard when no users
This commit is contained in:
@@ -79,20 +79,23 @@ Rectangle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
|
||||||
Layout.alignment: Qt.AlignHCenter
|
|
||||||
|
|
||||||
font.pixelSize: UIStyle.fontSizeL
|
|
||||||
color: UIStyle.titletextColor
|
|
||||||
|
|
||||||
text: "Leaderboard"
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
spacing: -1
|
spacing: -1
|
||||||
|
|
||||||
|
visible: leaderboard.hasRow
|
||||||
|
|
||||||
|
Label {
|
||||||
|
Layout.alignment: Qt.AlignHCenter
|
||||||
|
padding: 10
|
||||||
|
|
||||||
|
font.pixelSize: UIStyle.fontSizeL
|
||||||
|
color: UIStyle.titletextColor
|
||||||
|
|
||||||
|
text: "Leaderboard"
|
||||||
|
}
|
||||||
|
|
||||||
HorizontalHeaderView {
|
HorizontalHeaderView {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
syncView: tableView
|
syncView: tableView
|
||||||
|
|||||||
@@ -154,6 +154,8 @@ class GameService(QObject):
|
|||||||
|
|
||||||
@QmlElement
|
@QmlElement
|
||||||
class SqlLeaderboardModel(QSqlTableModel):
|
class SqlLeaderboardModel(QSqlTableModel):
|
||||||
|
selected = Signal()
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
@@ -164,6 +166,15 @@ class SqlLeaderboardModel(QSqlTableModel):
|
|||||||
|
|
||||||
self.select()
|
self.select()
|
||||||
|
|
||||||
|
def select(self, /):
|
||||||
|
result = super().select()
|
||||||
|
self.selected.emit()
|
||||||
|
return result
|
||||||
|
|
||||||
|
@Property(bool, notify=selected)
|
||||||
|
def hasRow(self):
|
||||||
|
return self.rowCount() > 0
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
|
|||||||
Reference in New Issue
Block a user