mirror of
				https://github.com/Swordfish90/cool-retro-term.git
				synced 2025-11-04 00:52:11 +00:00 
			
		
		
		
	Misc fixes in settings dialog.
This commit is contained in:
		@@ -19,6 +19,7 @@
 | 
				
			|||||||
*******************************************************************************/
 | 
					*******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import QtQuick 2.2
 | 
					import QtQuick 2.2
 | 
				
			||||||
 | 
					import QtQuick.Controls 1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "utils.js" as Utils
 | 
					import "utils.js" as Utils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -455,4 +456,11 @@ QtObject{
 | 
				
			|||||||
        storeCustomProfiles();
 | 
					        storeCustomProfiles();
 | 
				
			||||||
        //storage.dropSettings(); //DROPS THE SETTINGS!.. REMEMBER TO DISABLE ONCE ENABLED!!
 | 
					        //storage.dropSettings(); //DROPS THE SETTINGS!.. REMEMBER TO DISABLE ONCE ENABLED!!
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // VARS ///////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    property Label _sampleLabel: Label {
 | 
				
			||||||
 | 
					        text: "100%"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    property real labelWidth: _sampleLabel.width
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,8 @@ import QtQuick 2.2
 | 
				
			|||||||
import QtQuick.Controls 1.1
 | 
					import QtQuick.Controls 1.1
 | 
				
			||||||
import QtQuick.Layouts 1.1
 | 
					import QtQuick.Layouts 1.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "Components"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RowLayout {
 | 
					RowLayout {
 | 
				
			||||||
    property alias name: check.text
 | 
					    property alias name: check.text
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -35,7 +37,6 @@ RowLayout {
 | 
				
			|||||||
    id: setting_component
 | 
					    id: setting_component
 | 
				
			||||||
    anchors.left: parent.left
 | 
					    anchors.left: parent.left
 | 
				
			||||||
    anchors.right: parent.right
 | 
					    anchors.right: parent.right
 | 
				
			||||||
    spacing: 25
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    onValueChanged: {
 | 
					    onValueChanged: {
 | 
				
			||||||
        check.checked = !(value == 0);
 | 
					        check.checked = !(value == 0);
 | 
				
			||||||
@@ -45,7 +46,7 @@ RowLayout {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    CheckBox{
 | 
					    CheckBox{
 | 
				
			||||||
        id: check
 | 
					        id: check
 | 
				
			||||||
        implicitWidth: 150
 | 
					        implicitWidth: 160
 | 
				
			||||||
        onClicked: {
 | 
					        onClicked: {
 | 
				
			||||||
            if(!checked){
 | 
					            if(!checked){
 | 
				
			||||||
                checked = false;
 | 
					                checked = false;
 | 
				
			||||||
@@ -66,16 +67,8 @@ RowLayout {
 | 
				
			|||||||
            newValue(value);
 | 
					            newValue(value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    Text{
 | 
					    SizedLabel {
 | 
				
			||||||
        id: textfield
 | 
					        anchors { top: parent.top; bottom: parent.bottom }
 | 
				
			||||||
        property string unformattedText: Math.round(((value - min_value) / (max_value - min_value)) * 100)
 | 
					        text: Math.round(((value - min_value) / (max_value - min_value)) * 100) + "%"
 | 
				
			||||||
        text: formatNumber(unformattedText)
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    function formatNumber(num) {
 | 
					 | 
				
			||||||
        var n = "" + num;
 | 
					 | 
				
			||||||
        while (n.length < 3) {
 | 
					 | 
				
			||||||
            n = " " + n;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        return n + "%";
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										35
									
								
								app/qml/Components/SizedLabel.qml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								app/qml/Components/SizedLabel.qml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					/*******************************************************************************
 | 
				
			||||||
 | 
					* Copyright (c) 2013 "Filippo Scognamiglio"
 | 
				
			||||||
 | 
					* https://github.com/Swordfish90/cool-retro-term
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* This file is part of cool-retro-term.
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* cool-retro-term is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					* it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					* the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					* (at your option) any later version.
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					* but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					* GNU General Public License for more details.
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					* You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					* along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import QtQuick 2.0
 | 
				
			||||||
 | 
					import QtQuick.Controls 1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// This component is simply a label with a predifined size.
 | 
				
			||||||
 | 
					// Used to improve alignment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Item {
 | 
				
			||||||
 | 
					    property alias text: textfield.text
 | 
				
			||||||
 | 
					    width: appSettings.labelWidth
 | 
				
			||||||
 | 
					    Label{
 | 
				
			||||||
 | 
					        id: textfield
 | 
				
			||||||
 | 
					        anchors { right: parent.right; verticalCenter: parent.verticalCenter }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -88,6 +88,7 @@ Tab{
 | 
				
			|||||||
                    Item {
 | 
					                    Item {
 | 
				
			||||||
                        // Spacing
 | 
					                        // Spacing
 | 
				
			||||||
                        Layout.fillHeight: true
 | 
					                        Layout.fillHeight: true
 | 
				
			||||||
 | 
					                        visible: false
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    Button{
 | 
					                    Button{
 | 
				
			||||||
                        Layout.fillWidth: true
 | 
					                        Layout.fillWidth: true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,8 @@ import QtQuick 2.2
 | 
				
			|||||||
import QtQuick.Controls 1.1
 | 
					import QtQuick.Controls 1.1
 | 
				
			||||||
import QtQuick.Layouts 1.1
 | 
					import QtQuick.Layouts 1.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "Components"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Tab{
 | 
					Tab{
 | 
				
			||||||
    ColumnLayout{
 | 
					    ColumnLayout{
 | 
				
			||||||
        anchors.fill: parent
 | 
					        anchors.fill: parent
 | 
				
			||||||
@@ -47,10 +49,10 @@ Tab{
 | 
				
			|||||||
                    maximumValue: 60
 | 
					                    maximumValue: 60
 | 
				
			||||||
                    minimumValue: 1
 | 
					                    minimumValue: 1
 | 
				
			||||||
                    enabled: appSettings.fps !== 0
 | 
					                    enabled: appSettings.fps !== 0
 | 
				
			||||||
                    value: appSettings.fps !== 0 ? appSettings.fps : 60
 | 
					                    value: appSettings.fps !== 0 ? appSettings.fps : 24
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{text: slider.value}
 | 
					                SizedLabel { text: slider.value }
 | 
				
			||||||
                Text{text: qsTr("Texture Quality")}
 | 
					                Label{text: qsTr("Texture Quality")}
 | 
				
			||||||
                Slider{
 | 
					                Slider{
 | 
				
			||||||
                    Layout.fillWidth: true
 | 
					                    Layout.fillWidth: true
 | 
				
			||||||
                    id: txtslider
 | 
					                    id: txtslider
 | 
				
			||||||
@@ -63,7 +65,7 @@ Tab{
 | 
				
			|||||||
                        enabled = true;
 | 
					                        enabled = true;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{text: Math.round(txtslider.value * 100) + "%"}
 | 
					                SizedLabel{text: Math.round(txtslider.value * 100) + "%"}
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        GroupBox{
 | 
					        GroupBox{
 | 
				
			||||||
@@ -74,8 +76,7 @@ Tab{
 | 
				
			|||||||
            GridLayout{
 | 
					            GridLayout{
 | 
				
			||||||
                id: bloomQualityContainer
 | 
					                id: bloomQualityContainer
 | 
				
			||||||
                anchors.fill: parent
 | 
					                anchors.fill: parent
 | 
				
			||||||
 | 
					                Label{text: qsTr("Bloom Quality")}
 | 
				
			||||||
                Text{text: qsTr("Bloom Quality")}
 | 
					 | 
				
			||||||
                Slider{
 | 
					                Slider{
 | 
				
			||||||
                    Layout.fillWidth: true
 | 
					                    Layout.fillWidth: true
 | 
				
			||||||
                    id: bloomSlider
 | 
					                    id: bloomSlider
 | 
				
			||||||
@@ -88,7 +89,7 @@ Tab{
 | 
				
			|||||||
                        enabled = true;
 | 
					                        enabled = true;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{text: Math.round(bloomSlider.value * 100) + "%"}
 | 
					                SizedLabel{text: Math.round(bloomSlider.value * 100) + "%"}
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        GroupBox{
 | 
					        GroupBox{
 | 
				
			||||||
@@ -100,7 +101,7 @@ Tab{
 | 
				
			|||||||
                id: blurQualityContainer
 | 
					                id: blurQualityContainer
 | 
				
			||||||
                anchors.fill: parent
 | 
					                anchors.fill: parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                Text{text: qsTr("BurnIn Quality")}
 | 
					                Label{text: qsTr("BurnIn Quality")}
 | 
				
			||||||
                Slider{
 | 
					                Slider{
 | 
				
			||||||
                    Layout.fillWidth: true
 | 
					                    Layout.fillWidth: true
 | 
				
			||||||
                    id: burnInSlider
 | 
					                    id: burnInSlider
 | 
				
			||||||
@@ -113,7 +114,7 @@ Tab{
 | 
				
			|||||||
                        enabled = true;
 | 
					                        enabled = true;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{text: Math.round(burnInSlider.value * 100) + "%"}
 | 
					                SizedLabel{text: Math.round(burnInSlider.value * 100) + "%"}
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        GroupBox{
 | 
					        GroupBox{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,17 +46,17 @@ Tab{
 | 
				
			|||||||
            GridLayout{
 | 
					            GridLayout{
 | 
				
			||||||
                anchors.fill: parent
 | 
					                anchors.fill: parent
 | 
				
			||||||
                columns: 2
 | 
					                columns: 2
 | 
				
			||||||
                Text{ text: qsTr("Brightness") }
 | 
					                Label{ text: qsTr("Brightness") }
 | 
				
			||||||
                SimpleSlider{
 | 
					                SimpleSlider{
 | 
				
			||||||
                    onValueChanged: appSettings.brightness = value
 | 
					                    onValueChanged: appSettings.brightness = value
 | 
				
			||||||
                    value: appSettings.brightness
 | 
					                    value: appSettings.brightness
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{ text: qsTr("Contrast") }
 | 
					                Label{ text: qsTr("Contrast") }
 | 
				
			||||||
                SimpleSlider{
 | 
					                SimpleSlider{
 | 
				
			||||||
                    onValueChanged: appSettings.contrast = value
 | 
					                    onValueChanged: appSettings.contrast = value
 | 
				
			||||||
                    value: appSettings.contrast
 | 
					                    value: appSettings.contrast
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{ text: qsTr("Opacity") }
 | 
					                Label{ text: qsTr("Opacity") }
 | 
				
			||||||
                SimpleSlider{
 | 
					                SimpleSlider{
 | 
				
			||||||
                    onValueChanged: appSettings.windowOpacity = value
 | 
					                    onValueChanged: appSettings.windowOpacity = value
 | 
				
			||||||
                    value: appSettings.windowOpacity
 | 
					                    value: appSettings.windowOpacity
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,8 @@ import QtQuick 2.2
 | 
				
			|||||||
import QtQuick.Controls 1.1
 | 
					import QtQuick.Controls 1.1
 | 
				
			||||||
import QtQuick.Layouts 1.1
 | 
					import QtQuick.Layouts 1.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "Components"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Tab{
 | 
					Tab{
 | 
				
			||||||
    ColumnLayout{
 | 
					    ColumnLayout{
 | 
				
			||||||
        anchors.fill: parent
 | 
					        anchors.fill: parent
 | 
				
			||||||
@@ -32,7 +34,7 @@ Tab{
 | 
				
			|||||||
            GridLayout{
 | 
					            GridLayout{
 | 
				
			||||||
                anchors.fill: parent
 | 
					                anchors.fill: parent
 | 
				
			||||||
                columns: 2
 | 
					                columns: 2
 | 
				
			||||||
                Text{ text: qsTr("Name") }
 | 
					                Label{ text: qsTr("Name") }
 | 
				
			||||||
                ComboBox{
 | 
					                ComboBox{
 | 
				
			||||||
                    id: fontChanger
 | 
					                    id: fontChanger
 | 
				
			||||||
                    Layout.fillWidth: true
 | 
					                    Layout.fillWidth: true
 | 
				
			||||||
@@ -54,7 +56,7 @@ Tab{
 | 
				
			|||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    Component.onCompleted: updateIndex();
 | 
					                    Component.onCompleted: updateIndex();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{ text: qsTr("Scaling") }
 | 
					                Label{ text: qsTr("Scaling") }
 | 
				
			||||||
                RowLayout{
 | 
					                RowLayout{
 | 
				
			||||||
                    Layout.fillWidth: true
 | 
					                    Layout.fillWidth: true
 | 
				
			||||||
                    Slider{
 | 
					                    Slider{
 | 
				
			||||||
@@ -74,11 +76,11 @@ Tab{
 | 
				
			|||||||
                            onFontScalingChanged: fontScalingChanger.value = appSettings.fontScaling;
 | 
					                            onFontScalingChanged: fontScalingChanger.value = appSettings.fontScaling;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    Text{
 | 
					                    SizedLabel{
 | 
				
			||||||
                        text: Math.round(fontScalingChanger.value * 100) + "%"
 | 
					                        text: Math.round(fontScalingChanger.value * 100) + "%"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                Text{ text: qsTr("Font Width") }
 | 
					                Label{ text: qsTr("Font Width") }
 | 
				
			||||||
                RowLayout{
 | 
					                RowLayout{
 | 
				
			||||||
                    Layout.fillWidth: true
 | 
					                    Layout.fillWidth: true
 | 
				
			||||||
                    Slider{
 | 
					                    Slider{
 | 
				
			||||||
@@ -93,7 +95,7 @@ Tab{
 | 
				
			|||||||
                            maximumValue = 1.5;
 | 
					                            maximumValue = 1.5;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    Text{
 | 
					                    SizedLabel{
 | 
				
			||||||
                        text: Math.round(widthChanger.value * 100) + "%"
 | 
					                        text: Math.round(widthChanger.value * 100) + "%"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,8 @@ import QtQuick 2.2
 | 
				
			|||||||
import QtQuick.Controls 1.1
 | 
					import QtQuick.Controls 1.1
 | 
				
			||||||
import QtQuick.Layouts 1.1
 | 
					import QtQuick.Layouts 1.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "Components"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RowLayout {
 | 
					RowLayout {
 | 
				
			||||||
    property alias value: slider.value
 | 
					    property alias value: slider.value
 | 
				
			||||||
    property alias stepSize: slider.stepSize
 | 
					    property alias stepSize: slider.stepSize
 | 
				
			||||||
@@ -36,15 +38,7 @@ RowLayout {
 | 
				
			|||||||
        stepSize: parent.stepSize
 | 
					        stepSize: parent.stepSize
 | 
				
			||||||
        Layout.fillWidth: true
 | 
					        Layout.fillWidth: true
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    Text{
 | 
					    SizedLabel{
 | 
				
			||||||
        id: textfield
 | 
					        text: Math.round(value * maxMultiplier) + "%"
 | 
				
			||||||
        text: formatNumber(Math.round(value * maxMultiplier))
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    function formatNumber(num) {
 | 
					 | 
				
			||||||
        var n = "" + num;
 | 
					 | 
				
			||||||
        while (n.length < 3) {
 | 
					 | 
				
			||||||
            n = " " + n;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        return n + "%";
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,5 +51,6 @@
 | 
				
			|||||||
        <file>fonts/modern-inconsolata/Inconsolata.otf</file>
 | 
					        <file>fonts/modern-inconsolata/Inconsolata.otf</file>
 | 
				
			||||||
        <file>SettingsScreenTab.qml</file>
 | 
					        <file>SettingsScreenTab.qml</file>
 | 
				
			||||||
        <file>fonts/modern-fixedsys-excelsior/FSEX301-L2.ttf</file>
 | 
					        <file>fonts/modern-fixedsys-excelsior/FSEX301-L2.ttf</file>
 | 
				
			||||||
 | 
					        <file>Components/SizedLabel.qml</file>
 | 
				
			||||||
    </qresource>
 | 
					    </qresource>
 | 
				
			||||||
</RCC>
 | 
					</RCC>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user