diff --git a/src/qml/GlobalSettings.qml b/src/qml/GlobalSettings.qml index 83bb9f9..3c47950 100644 --- a/src/qml/GlobalSettings.qml +++ b/src/qml/GlobalSettings.qml @@ -26,6 +26,6 @@ Settings { property int fontPointSize: 10 property bool blinkingCursor: true - property real opacity: 0.8 - property bool blur: true + property real opacity: 1.0 + property bool blur: false } diff --git a/src/qml/SettingsDialog.qml b/src/qml/SettingsDialog.qml new file mode 100644 index 0000000..7447088 --- /dev/null +++ b/src/qml/SettingsDialog.qml @@ -0,0 +1,102 @@ +import QtQuick 2.12 +import QtQuick.Layouts 1.12 +import QtQuick.Window 2.12 +import QtQuick.Controls 2.12 +import FishUI 1.0 as FishUI + +FishUI.Window { + id: control + + width: 400 + height: 400 + + maximumHeight: 400 + maximumWidth: 400 + minimumWidth: 400 + minimumHeight: 400 + + visible: false + + ColumnLayout { + id: _mainLayout + anchors.fill: parent + anchors.leftMargin: FishUI.Units.largeSpacing + anchors.rightMargin: FishUI.Units.largeSpacing + spacing: FishUI.Units.largeSpacing + + Item { + Layout.fillWidth: true + Layout.preferredHeight: 45 + + Rectangle { + anchors.fill: parent + color: FishUI.Theme.secondBackgroundColor + radius: FishUI.Theme.smallRadius + } + + RowLayout { + anchors.fill: parent + anchors.leftMargin: FishUI.Units.largeSpacing + anchors.rightMargin: FishUI.Units.largeSpacing + + Label { + text: qsTr("Transparency") + } + + Item { + width: FishUI.Units.largeSpacing + } + + Slider { + id: transparencySlider + Layout.fillHeight: true + Layout.fillWidth: true + from: 0.1 + to: 1.0 + stepSize: 0.05 + + Component.onCompleted: { + transparencySlider.value = settings.opacity + } + + onValueChanged: settings.opacity = transparencySlider.value + } + } + } + + Item { + Layout.fillWidth: true + Layout.preferredHeight: 45 + + Rectangle { + anchors.fill: parent + color: FishUI.Theme.secondBackgroundColor + radius: FishUI.Theme.smallRadius + } + + RowLayout { + anchors.fill: parent + anchors.leftMargin: FishUI.Units.largeSpacing + anchors.rightMargin: FishUI.Units.smallSpacing + + Label { + text: qsTr("Window Blur") + } + + Item { + Layout.fillWidth: true + } + + Switch { + Layout.fillHeight: true + checked: settings.blur + onCheckedChanged: settings.blur = checked + } + } + } + + Item { + Layout.fillHeight: true + } + } +} diff --git a/src/qml/Terminal.qml b/src/qml/Terminal.qml index 6ad20e6..b677234 100644 --- a/src/qml/Terminal.qml +++ b/src/qml/Terminal.qml @@ -208,6 +208,14 @@ Page { text: qsTr("Open File Manager") onTriggered: Process.openFileManager(_session.currentDir) } + + MenuItem { + text: qsTr("Open Settings") + onTriggered: { + settingsDialog.show() + settingsDialog.raise() + } + } } ScrollBar { diff --git a/src/qml/main.qml b/src/qml/main.qml index 13e938c..982aa88 100644 --- a/src/qml/main.qml +++ b/src/qml/main.qml @@ -50,6 +50,10 @@ FishUI.Window { onOkBtnClicked: Qt.quit() } + SettingsDialog { + id: settingsDialog + } + FishUI.WindowBlur { view: root geometry: Qt.rect(root.x, root.y, root.width, root.height) diff --git a/src/resources.qrc b/src/resources.qrc index f67c951..6e280ed 100644 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -9,5 +9,6 @@ images/dark/close.svg qml/ImageButton.qml qml/ExitPromptDialog.qml + qml/SettingsDialog.qml