From fdfd57a1875a9699934e826f40de83c9489e66f7 Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Sat, 28 Dec 2013 02:42:24 +0100 Subject: [PATCH] Font scaling now works. (Yes, there are still problems with on the fly font changing) --- qml/cool-old-term/SettingsWindow.qml | 8 +++++++- qml/cool-old-term/ShaderSettings.qml | 13 ++++++++++--- qml/cool-old-term/TerminalWindow.qml | 3 +-- qml/cool-old-term/main.qml | 5 +++++ 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/qml/cool-old-term/SettingsWindow.qml b/qml/cool-old-term/SettingsWindow.qml index 3bee26c..789c22b 100644 --- a/qml/cool-old-term/SettingsWindow.qml +++ b/qml/cool-old-term/SettingsWindow.qml @@ -49,8 +49,14 @@ ApplicationWindow { onCurrentIndexChanged: shadersettings.font_index = currentIndex } Text{text: qsTr("Font scaling:")} - ComboBox{ + SpinBox{ Layout.fillWidth: true + decimals: 1 + stepSize: 0.1 + minimumValue: 0.5 + maximumValue: 1.5 + onValueChanged: shadersettings.font_scaling = value; + Component.onCompleted: value = shadersettings.font_scaling; } Item{Layout.fillHeight: true} ColorButton{ diff --git a/qml/cool-old-term/ShaderSettings.qml b/qml/cool-old-term/ShaderSettings.qml index d0087cc..3dbd403 100644 --- a/qml/cool-old-term/ShaderSettings.qml +++ b/qml/cool-old-term/ShaderSettings.qml @@ -17,12 +17,16 @@ Item{ property int frames_index: 1 property var frames_list: framelist + property real font_scaling: 1.0 property var font: currentfont - property alias fontSize: currentfont.pixelSize + property real fontSize: currentfont.pixelSize * font_scaling property int font_index: 2 property var fonts_list: fontlist - onFont_indexChanged: { + onFont_indexChanged: handleFontChanged(); + onFont_scalingChanged: handleFontChanged(); + + function handleFontChanged(){ terminalwindowloader.source = ""; currentfont.source = fontlist.get(font_index).source; currentfont.pixelSize = fontlist.get(font_index).pixelSize; @@ -85,7 +89,9 @@ Item{ scanlines = settings.scanlines ? settings.scanlines : scanlines; frames_index = settings.frames_index ? settings.frames_index : frames_index; + font_index = settings.font_index ? settings.font_index : font_index; + font_scaling = settings.font_scaling ? settings.font_scaling: font_scaling; } function storeToDb(){ @@ -99,7 +105,8 @@ Item{ glowing_line_strength: glowing_line_strength, scanlines: scanlines, frames_index: frames_index, - font_index: font_index + font_index: font_index, + font_scaling: font_scaling } storage.setSetting("CURRENT_SETTINGS", JSON.stringify(settings)); diff --git a/qml/cool-old-term/TerminalWindow.qml b/qml/cool-old-term/TerminalWindow.qml index af45e08..d95fd7b 100644 --- a/qml/cool-old-term/TerminalWindow.qml +++ b/qml/cool-old-term/TerminalWindow.qml @@ -22,8 +22,7 @@ ApplicationWindow{ MenuItem { text: qsTr("Settings") onTriggered: { - var component = Qt.createComponent("SettingsWindow.qml"); - component.createObject(terminalWindow); + settingswindow.show(); } } } diff --git a/qml/cool-old-term/main.qml b/qml/cool-old-term/main.qml index a35297b..ce33c34 100644 --- a/qml/cool-old-term/main.qml +++ b/qml/cool-old-term/main.qml @@ -36,4 +36,9 @@ Item{ Loader{ id: terminalwindowloader } + + SettingsWindow{ + id: settingswindow + visible: false + } }