From 6d9c50f4746744a86a1ab31f564a798c39f05978 Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Fri, 27 Jun 2014 23:16:49 +0200 Subject: [PATCH] Frames cap is now optional. --- app/SettingsGeneralTab.qml | 15 ++++++++++----- app/ShaderManager.qml | 2 +- app/ShaderSettings.qml | 2 +- app/Terminal.qml | 3 ++- app/frames/utils/FrameShader.qml | 2 +- app/main.qml | 9 ++------- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/SettingsGeneralTab.qml b/app/SettingsGeneralTab.qml index fe40028..bf3f3cf 100644 --- a/app/SettingsGeneralTab.qml +++ b/app/SettingsGeneralTab.qml @@ -81,15 +81,20 @@ Tab{ anchors.fill: parent rows: 2 columns: 3 - Text{text: qsTr("Animation FPS")} + CheckBox{ + property int fps: checked ? slider.value : 0 + onFpsChanged: shadersettings.fps = fps + checked: shadersettings.fps !== 0 + text: qsTr("Limit FPS") + } Slider{ - Layout.fillWidth: true id: slider + Layout.fillWidth: true stepSize: 1 maximumValue: 60 - minimumValue: 0 - onValueChanged: shadersettings.fps = value; - value: shadersettings.fps + minimumValue: 1 + enabled: shadersettings.fps !== 0 + value: shadersettings.fps !== 0 ? shadersettings.fps : 60 } Text{text: slider.value} Text{text: qsTr("Texture quality")} diff --git a/app/ShaderManager.qml b/app/ShaderManager.qml index a61c4eb..3e94b17 100644 --- a/app/ShaderManager.qml +++ b/app/ShaderManager.qml @@ -51,7 +51,7 @@ ShaderEffect { property real brightness: shadersettings.brightness * 1.5 + 0.5 - property real time: timetimer.time + property real time: timeManager.time !== 0 ? timeManager.time : 1 property variant randomFunctionSource: randfuncsource blending: false diff --git a/app/ShaderSettings.qml b/app/ShaderSettings.qml index dc6b2fe..3facd53 100644 --- a/app/ShaderSettings.qml +++ b/app/ShaderSettings.qml @@ -33,7 +33,7 @@ Item{ property real window_scaling: 1.0 onWindow_scalingChanged: handleFontChanged(); - property real fps: 60 + property real fps: 0 function mix(c1, c2, alpha){ return Qt.rgba(c1.r * alpha + c2.r * (1-alpha), diff --git a/app/Terminal.qml b/app/Terminal.qml index 8e5d572..e07ff71 100644 --- a/app/Terminal.qml +++ b/app/Terminal.qml @@ -38,7 +38,8 @@ Item{ onHeightChanged: sizeChanged() //The blur effect has to take into account the framerate - property real fpsAttenuation: 60 / shadersettings.fps + property int fps: shadersettings.fps !== 0 ? shadersettings.fps : 60 + property real fpsAttenuation: 60 / fps property real mBlur: shadersettings.motion_blur property real motionBlurCoefficient: (_maxBlurCoefficient * mBlur + _minBlurCoefficient * (1 - mBlur)) property real _minBlurCoefficient: 0.75 diff --git a/app/frames/utils/FrameShader.qml b/app/frames/utils/FrameShader.qml index e009c81..9d04efe 100644 --- a/app/frames/utils/FrameShader.qml +++ b/app/frames/utils/FrameShader.qml @@ -7,7 +7,7 @@ ShaderEffect{ property real ambient_light: shadersettings.ambient_light property color font_color: shadersettings.font_color property color background_color: shadersettings.background_color - property real time: timetimer.time + property real time: timeManager.time property variant randomFunctionSource: randfuncsource property real brightness_flickering: shadersettings.brightness_flickering property real brightness: shadersettings.brightness * 1.5 + 0.5 diff --git a/app/main.qml b/app/main.qml index 8b6ed88..badaad8 100644 --- a/app/main.qml +++ b/app/main.qml @@ -127,13 +127,8 @@ ApplicationWindow{ hideSource: true wrapMode: ShaderEffectSource.Repeat } - Timer{ - id: timetimer - property real time: 0 - onTriggered: time += interval - interval: Math.round(1000 / shadersettings.fps) - running: true - repeat: true + TimeManager{ + id: timeManager } Terminal{ id: terminal