Beginnings of settings page (#2)

* Make Moonlight icon the window icon for all windows

* Add dummy settings

* Add slider

* FIx comments
This commit is contained in:
Michelle Bergeron 2018-07-08 10:19:08 -07:00 committed by GitHub
parent 7bc139c50d
commit 8ebb594089
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 99 additions and 3 deletions

View file

@ -1,8 +1,100 @@
import QtQuick 2.9
Rectangle {
import QtQuick.Controls 2.2
Page {
id: settingsPage
color: "#333333"
objectName: "Settings"
// TODO - add settings
Column {
id: column
x: 10
y: 10
width: settingsPage.width
height: 400
GroupBox {
// TODO save the settings
id: streamingSettingsGroupBox
width: (parent.width - 20)
padding: 12
title: qsTr("Basic Settings")
Column {
id: column1
anchors.fill: parent
spacing: 5
Label {
width: parent.width
id: resFPStitle
text: qsTr("Resolution and FPS target")
font.pointSize: 12
wrapMode: Text.Wrap
}
Label {
width: parent.width
id: resFPSdesc
text: qsTr("Setting values too high for your device may cause lag or crashing")
font.pointSize: 9
wrapMode: Text.Wrap
}
ComboBox {
id: resolutionComboBox
currentIndex : 4
model: ListModel {
id: resolutionListModel
// TODO have values associated with the text.
ListElement { text: "360p 30 FPS" }
ListElement { text: "360p 60 FPS" }
ListElement { text: "720p 30 FPS" }
ListElement { text: "720p 60 FPS" }
ListElement { text: "1080p 30 FPS" }
ListElement { text: "1080p 60 FPS" }
ListElement { text: "4K 30 FPS" }
ListElement { text: "4K 60 FPS" }
}
onCurrentIndexChanged: console.debug(resolutionListModel.get(currentIndex).text + " selected resolution")
}
Label {
width: parent.width
id: bitrateTitle
text: qsTr("Video bitrate target")
font.pointSize: 12
wrapMode: Text.Wrap
}
Label {
width: parent.width
id: bitrateDesc
text: qsTr("Lower bitrate to reduce stuttering. Raise bitrate to increase image quality.")
font.pointSize: 9
wrapMode: Text.Wrap
}
Slider {
id: slider
wheelEnabled: true
// TODO value should be loaded as the current value.
value: 500
stepSize: 500
from : 500
to: 10000
snapMode: "SnapOnRelease"
width: Math.min(bitrateDesc.implicitWidth, parent.width)
// TODO store the value
// TODO display the current value to the user
onValueChanged:
{
console.debug(slider.value + " Slider moved")
}
}
}
}
}
// TODO add more settings
}

View file

@ -1,5 +1,6 @@
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QIcon>
// Don't let SDL hook our main function, since Qt is already
// doing the same thing. This needs to be before any headers
@ -29,6 +30,9 @@ int main(int argc, char *argv[])
QGuiApplication app(argc, argv);
// FIXME this icon is low-resolution and appears a little fuzzy.
app.setWindowIcon(QIcon(":/res/icon128.png"));
// Register our C++ types for QML
qmlRegisterType<ComputerModel>("ComputerModel", 1, 0, "ComputerModel");
qmlRegisterType<AppModel>("AppModel", 1, 0, "AppModel");