Refactored settings window...

This commit is contained in:
Filippo Scognamiglio 2013-12-22 23:08:16 +01:00
parent 5f01eff563
commit 73a5c791ec
3 changed files with 65 additions and 91 deletions

View File

@ -22,4 +22,5 @@ OTHER_FILES += \
$$PWD/qml/cool-old-term/ShaderSettings.qml \
$$PWD/qml/images/frame.png \
qml/cool-old-term/SettingsWindow.qml \
qml/cool-old-term/MyColorDialog.qml
qml/cool-old-term/MyColorDialog.qml \
qml/cool-old-term/SettingComponent.qml

View File

@ -0,0 +1,50 @@
import QtQuick 2.0
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
RowLayout {
property string name
property double value
property double prev_value: 0.0
property double min_value: 0.0
property double max_value: 1.0
id: setting_component
anchors.left: parent.left
anchors.right: parent.right
spacing: 10
CheckBox{
id: check
implicitWidth: 150
text: name
onCheckedChanged:{
if(checked) value = prev_value;
else {
prev_value = value;
value = 0;
}
}
Component.onCompleted: checked = (value !== 0);
}
Slider{
id: slider
stepSize: 0.01
minimumValue: min_value
maximumValue: max_value
onValueChanged: setting_component.value = value;
Layout.fillWidth: true
Component.onCompleted: slider.value = setting_component.value
}
TextField{
id: textfield
text: value.toFixed(2)
implicitWidth: 50
enabled: false
Component.onCompleted: text = value.toFixed(2)
}
}

View File

@ -57,103 +57,26 @@ ApplicationWindow {
}
}
GridLayout{
columns: 4
CheckBox{
id: noisecheck
onCheckedChanged:
if(checked) shadersettings.noise_strength = noiseslider.value;
else shadersettings.noise_strength = 0;
Component.onCompleted: checked = shadersettings.noise_strength !== 0;
}
Text{
text: qsTr("Noise")
}
Slider{
id: noiseslider
stepSize: 0.01
minimumValue: 0.0
maximumValue: 1.0
onValueChanged: shadersettings.noise_strength = value;
Component.onCompleted: value = shadersettings.noise_strength;
}
TextArea{
text: noiseslider.value.toFixed(2);
enabled: false
}
ColumnLayout{
anchors.left: parent.left
anchors.right: parent.right
CheckBox{
id: glowcheck
onCheckedChanged:
if(checked) shadersettings.glowing_line_strength = glowslider.value;
else shadersettings.glowing_line_strength = 0;
Component.onCompleted: checked = shadersettings.glowing_line_strength !== 0;
SettingComponent{
name: "Noise"
onValueChanged: shadersettings.noise_strength = value
Component.onCompleted: value = shadersettings.noise_strength
}
Text{
text: qsTr("Glow")
}
Slider{
id: glowslider
stepSize: 0.01
minimumValue: 0.0
maximumValue: 1.0
SettingComponent{
name: "Glow"
onValueChanged: shadersettings.glowing_line_strength = value;
Component.onCompleted: value = shadersettings.glowing_line_strength;
Component.onCompleted: value = shadersettings.glowing_line_strength
}
TextArea{
text: glowslider.value.toFixed(2);
enabled: false
}
CheckBox{
id: ambientcheck
onCheckedChanged:
if(checked) shadersettings.ambient_light = ambientslider.value;
else shadersettings.ambient_light = 0;
Component.onCompleted: checked = shadersettings.ambient_light !== 0;
}
Text{
text: qsTr("Ambient light")
}
Slider{
id: ambientslider
stepSize: 0.01
minimumValue: 0.1
maximumValue: 0.5
SettingComponent{
name: "Ambient light"
onValueChanged: shadersettings.ambient_light = value;
Component.onCompleted: value = shadersettings.ambient_light;
Component.onCompleted: value = shadersettings.ambient_light
}
TextArea{
text: ambientslider.value.toFixed(2);
enabled: false
}
// CheckBox{
// id: distortioncheck
// onCheckedChanged:
// if(checked) shadersettings.screen_distortion = distortionslider.value;
// else shadersettings.screen_distortion = 0;
// Component.onCompleted: checked = shadersettings.screen_distortion !== 0;
// }
// Text{
// text: qsTr("Distortion")
// }
// Slider{
// id: distortionslider
// stepSize: 0.01
// minimumValue: 0.0
// maximumValue: 1.0
// onValueChanged: shadersettings.screen_distortion = value;
// Component.onCompleted: value = shadersettings.screen_distortion;
// }
// TextArea{
// text: distortionslider.value.toFixed(2);
// enabled: false
// }
}
}
}
}