Settings cleanup/scaling

This commit is contained in:
quadbyte 2025-08-12 17:20:14 -04:00
parent f469e7f6cd
commit c00e1f7fb3
5 changed files with 56 additions and 98 deletions

View file

@ -14,8 +14,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
padding: 16 padding: Style.marginMedium * scaling
rightPadding: 12
clip: true clip: true
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
ScrollBar.vertical.policy: ScrollBar.AsNeeded ScrollBar.vertical.policy: ScrollBar.AsNeeded
@ -30,29 +29,22 @@ ColumnLayout {
} }
ColumnLayout { ColumnLayout {
spacing: 4 spacing: Style.marginMedium * scaling
Layout.fillWidth: true Layout.fillWidth: true
NText { NText {
text: "Bar Settings" text: "Components"
font.pointSize: 18 font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold font.weight: Style.fontWeightBold
color: Colors.textPrimary color: Colors.textPrimary
Layout.bottomMargin: 8 Layout.bottomMargin: Style.marginSmall * scaling
} }
// Elements section // Elements section
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText {
text: "Elements"
font.pointSize: 13
font.weight: Style.fontWeightBold
color: Colors.textPrimary
}
NToggle { NToggle {
label: "Show Active Window" label: "Show Active Window"

View file

@ -14,8 +14,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
padding: 16 padding: Style.marginMedium * scaling
rightPadding: 12
clip: true clip: true
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
ScrollBar.vertical.policy: ScrollBar.AsNeeded ScrollBar.vertical.policy: ScrollBar.AsNeeded
@ -30,38 +29,31 @@ ColumnLayout {
} }
ColumnLayout { ColumnLayout {
spacing: 4 spacing: Style.marginTiny * scaling
Layout.fillWidth: true Layout.fillWidth: true
NText { NText {
text: "General Settings" text: "General Settings"
font.pointSize: 18 font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold font.weight: Style.fontWeightBold
color: Colors.textPrimary color: Colors.textPrimary
Layout.bottomMargin: 8 Layout.bottomMargin: Style.marginSmall * scaling
} }
// Profile section // Profile section
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText {
text: "Profile"
font.pointSize: 13
font.weight: Style.fontWeightBold
color: Colors.textPrimary
}
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 16 spacing: Style.marginLarge * scaling
// Avatar preview // Avatar preview
NImageRounded { NImageRounded {
width: 64 width: 64 * scaling
height: 64 height: 64 * scaling
imagePath: Settings.data.general.avatarImage imagePath: Settings.data.general.avatarImage
fallbackIcon: "person" fallbackIcon: "person"
borderColor: Colors.accentPrimary borderColor: Colors.accentPrimary
@ -69,16 +61,16 @@ ColumnLayout {
} }
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
spacing: 4 spacing: Style.marginTiny * scaling
NText { NText {
text: "Profile Image" text: "Profile Picture"
color: Colors.textPrimary color: Colors.textPrimary
font.weight: Style.fontWeightBold font.weight: Style.fontWeightBold
} }
NText { NText {
text: "Your profile picture displayed in various places throughout the shell" text: "Your profile picture displayed in various places throughout the shell"
color: Colors.textSecondary color: Colors.textSecondary
font.pointSize: 12 font.pointSize: Style.fontSizeSmall * scaling
} }
NTextInput { NTextInput {
text: Settings.data.general.avatarImage text: Settings.data.general.avatarImage
@ -95,20 +87,20 @@ ColumnLayout {
NDivider { NDivider {
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 26 Layout.topMargin: Style.marginLarge * 2 * scaling
Layout.bottomMargin: 18 Layout.bottomMargin: Style.marginLarge * scaling
} }
ColumnLayout { ColumnLayout {
spacing: 4 spacing: Style.marginMedium * scaling
Layout.fillWidth: true Layout.fillWidth: true
NText { NText {
text: "User Interface" text: "User Interface"
font.pointSize: 18 font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold font.weight: Style.fontWeightBold
color: Colors.textPrimary color: Colors.textPrimary
Layout.bottomMargin: 8 Layout.bottomMargin: Style.marginSmall * scaling
} }
NToggle { NToggle {
@ -120,15 +112,6 @@ ColumnLayout {
} }
} }
NToggle {
label: "Show Dock"
description: "Display a dock at the bottom of the screen for quick access to applications"
value: Settings.data.general.showDock
onToggled: function (v) {
Settings.data.general.showDock = v
}
}
NToggle { NToggle {
label: "Dim Desktop" label: "Dim Desktop"
description: "Dim the desktop when panels or menus are open" description: "Dim the desktop when panels or menus are open"

View file

@ -14,8 +14,7 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
padding: 16 padding: Style.marginMedium * scaling
rightPadding: 12
clip: true clip: true
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
ScrollBar.vertical.policy: ScrollBar.AsNeeded ScrollBar.vertical.policy: ScrollBar.AsNeeded
@ -30,22 +29,22 @@ ColumnLayout {
} }
ColumnLayout { ColumnLayout {
spacing: 4 spacing: Style.marginTiny * scaling
Layout.fillWidth: true Layout.fillWidth: true
NText { NText {
text: "Screen Recording" text: "Screen Recording"
font.pointSize: 18 font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold font.weight: Style.fontWeightBold
color: Colors.textPrimary color: Colors.textPrimary
Layout.bottomMargin: 8 Layout.bottomMargin: Style.marginSmall * scaling
} }
// Output Directory // Output Directory
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText { NText {
text: "Output Directory" text: "Output Directory"
@ -73,8 +72,8 @@ ColumnLayout {
NDivider { NDivider {
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 26 Layout.topMargin: Style.marginLarge * 2 * scaling
Layout.bottomMargin: 18 Layout.bottomMargin: Style.marginLarge * scaling
} }
// Video Settings // Video Settings
@ -84,17 +83,17 @@ ColumnLayout {
NText { NText {
text: "Video Settings" text: "Video Settings"
font.pointSize: 18 font.pointSize: Style.fontSizeXL * scaling
font.weight: Style.fontWeightBold font.weight: Style.fontWeightBold
color: Colors.textPrimary color: Colors.textPrimary
Layout.bottomMargin: 8 Layout.bottomMargin: Style.marginSmall * scaling
} }
// Frame Rate // Frame Rate
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText { NText {
text: "Frame Rate" text: "Frame Rate"
@ -111,36 +110,21 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
} }
RowLayout { NComboBox {
Layout.fillWidth: true optionsKeys: ["30", "60", "120", "240"]
optionsLabels: ["30 FPS", "60 FPS", "120 FPS", "240 FPS"]
NText { currentKey: Settings.data.screenRecorder.frameRate
text: Settings.data.screenRecorder.frameRate + " FPS" onSelected: function (key) {
font.pointSize: 13 Settings.data.screenRecorder.frameRate = key
color: Colors.textPrimary
} }
Item {
Layout.fillWidth: true
}
}
NSlider {
Layout.fillWidth: true
from: 24
to: 144
stepSize: 1
value: Settings.data.screenRecorder.frameRate
onPressedChanged: Settings.data.screenRecorder.frameRate = Math.round(value)
cutoutColor: Colors.backgroundPrimary
} }
} }
// Video Quality // Video Quality
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText { NText {
text: "Video Quality" text: "Video Quality"
@ -171,7 +155,7 @@ ColumnLayout {
ColumnLayout { ColumnLayout {
spacing: 8 spacing: 8
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText { NText {
text: "Video Codec" text: "Video Codec"
@ -200,9 +184,9 @@ ColumnLayout {
// Color Range // Color Range
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText { NText {
text: "Color Range" text: "Color Range"
@ -232,13 +216,13 @@ ColumnLayout {
NDivider { NDivider {
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 26 Layout.topMargin: Style.marginLarge * 2 * scaling
Layout.bottomMargin: 18 Layout.bottomMargin: Style.marginLarge * scaling
} }
// Audio Settings // Audio Settings
ColumnLayout { ColumnLayout {
spacing: 4 spacing: Style.spacingTiny * scaling
Layout.fillWidth: true Layout.fillWidth: true
NText { NText {
@ -246,14 +230,14 @@ ColumnLayout {
font.pointSize: 18 font.pointSize: 18
font.weight: Style.fontWeightBold font.weight: Style.fontWeightBold
color: Colors.textPrimary color: Colors.textPrimary
Layout.bottomMargin: 8 Layout.bottomMargin: Style.marginSmall * scaling
} }
// Audio Source // Audio Source
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText { NText {
text: "Audio Source" text: "Audio Source"
@ -282,9 +266,9 @@ ColumnLayout {
// Audio Codec // Audio Codec
ColumnLayout { ColumnLayout {
spacing: 8 spacing: Style.marginSmall * scaling
Layout.fillWidth: true Layout.fillWidth: true
Layout.topMargin: 8 Layout.topMargin: Style.marginSmall * scaling
NText { NText {
text: "Audio Codec" text: "Audio Codec"

View file

@ -82,7 +82,6 @@ Singleton {
property string avatarImage: defaultAvatar property string avatarImage: defaultAvatar
property bool dimDesktop: true property bool dimDesktop: true
property bool showScreenCorners: false property bool showScreenCorners: false
property bool showDock: false
} }
// location // location

View file

@ -17,8 +17,8 @@ Item {
signal editingFinished signal editingFinished
// Sizing // Sizing
implicitHeight: Style.baseWidgetSize * 1.25 * scaling
implicitWidth: 320 * scaling implicitWidth: 320 * scaling
implicitHeight: Style.baseWidgetSize * 1.25 * scaling
// Container // Container
Rectangle { Rectangle {