diff --git a/qml/cool-old-term/SettingsWindow.qml b/qml/cool-old-term/SettingsWindow.qml index 738b1f8..7308395 100644 --- a/qml/cool-old-term/SettingsWindow.qml +++ b/qml/cool-old-term/SettingsWindow.qml @@ -23,6 +23,18 @@ ApplicationWindow { ColumnLayout{ anchors.fill: parent + RowLayout{ + Label{ + text: "Frame texture" + } + ComboBox{ + width: 300 + model: shadersettings.frames_list + currentIndex: shadersettings.frames_index + onCurrentIndexChanged: shadersettings.frames_index = currentIndex + } + } + RowLayout{ ColumnLayout{ Text{text: qsTr("Font color")} @@ -77,6 +89,11 @@ ApplicationWindow { onValueChanged: shadersettings.screen_flickering = value; Component.onCompleted: _value = shadersettings.screen_flickering; } + CheckBox{ + text: "Scanlines" + checked: shadersettings.scanlines + onCheckedChanged: shadersettings.scanlines = checked; + } } } } diff --git a/qml/cool-old-term/ShaderSettings.qml b/qml/cool-old-term/ShaderSettings.qml index 44e36ea..ada3a47 100644 --- a/qml/cool-old-term/ShaderSettings.qml +++ b/qml/cool-old-term/ShaderSettings.qml @@ -10,7 +10,15 @@ Item{ property real noise_strength: 0.1 property real screen_distortion: 0.15 property real glowing_line_strength: 0.4 - //property real faulty_screen_prob: 1.0 property bool scanlines: true + + + property string frame_source: frames_list.get(frames_index).source + property int frames_index: 1 + property ListModel frames_list: ListModel{ + ListElement{text: "No frame"; source: "./frames/NoFrame.qml"} + ListElement{text: "Simple white frame"; source: "./frames/WhiteSimpleFrame.qml"} + ListElement{text: "Rough black frame"; source: "./frames/BlackRoughFrame.qml"} + } } diff --git a/qml/cool-old-term/main.qml b/qml/cool-old-term/main.qml index 06b9c54..14acab0 100644 --- a/qml/cool-old-term/main.qml +++ b/qml/cool-old-term/main.qml @@ -224,7 +224,7 @@ ApplicationWindow{ id: frame anchors.fill: parent z: 2.1 - source: "./frames/WhiteSimpleFrame.qml" + source: shadersettings.frame_source } TerminalScreen {