1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-05 21:15:38 -05:00

feat: Add Transparency override option to Notepad

This commit is contained in:
purian23
2025-09-21 00:49:23 -04:00
parent 0b2bf0b83d
commit 2e4770f4be
6 changed files with 73 additions and 5 deletions

View File

@@ -88,10 +88,20 @@ Singleton {
property string notepadFontFamily: ""
property real notepadFontSize: 14
property bool notepadShowLineNumbers: false
property real notepadTransparencyOverride: -1
property real notepadLastCustomTransparency: 0.7
onNotepadUseMonospaceChanged: saveSettings()
onNotepadFontFamilyChanged: saveSettings()
onNotepadFontSizeChanged: saveSettings()
onNotepadShowLineNumbersChanged: saveSettings()
onNotepadTransparencyOverrideChanged: {
if (notepadTransparencyOverride > 0) {
notepadLastCustomTransparency = notepadTransparencyOverride
}
saveSettings()
}
onNotepadLastCustomTransparencyChanged: saveSettings()
property bool gtkThemingEnabled: false
property bool qtThemingEnabled: false
property bool showDock: false
@@ -267,6 +277,8 @@ Singleton {
notepadFontFamily = settings.notepadFontFamily !== undefined ? settings.notepadFontFamily : ""
notepadFontSize = settings.notepadFontSize !== undefined ? settings.notepadFontSize : 14
notepadShowLineNumbers = settings.notepadShowLineNumbers !== undefined ? settings.notepadShowLineNumbers : false
notepadTransparencyOverride = settings.notepadTransparencyOverride !== undefined ? settings.notepadTransparencyOverride : -1
notepadLastCustomTransparency = settings.notepadLastCustomTransparency !== undefined ? settings.notepadLastCustomTransparency : 0.7
gtkThemingEnabled = settings.gtkThemingEnabled !== undefined ? settings.gtkThemingEnabled : false
qtThemingEnabled = settings.qtThemingEnabled !== undefined ? settings.qtThemingEnabled : false
showDock = settings.showDock !== undefined ? settings.showDock : false
@@ -374,6 +386,8 @@ Singleton {
"notepadFontFamily": notepadFontFamily,
"notepadFontSize": notepadFontSize,
"notepadShowLineNumbers": notepadShowLineNumbers,
"notepadTransparencyOverride": notepadTransparencyOverride,
"notepadLastCustomTransparency": notepadLastCustomTransparency,
"gtkThemingEnabled": gtkThemingEnabled,
"qtThemingEnabled": qtThemingEnabled,
"showDock": showDock,

View File

@@ -335,6 +335,8 @@ Singleton {
return Qt.rgba(surfaceContainer.r, surfaceContainer.g, surfaceContainer.b, panelTransparency)
}
property real notepadTransparency: SettingsData.notepadTransparencyOverride >= 0 ? SettingsData.notepadTransparencyOverride : popupTransparency
function widgetBackground() {
return Qt.rgba(surfaceContainer.r, surfaceContainer.g, surfaceContainer.b, widgetTransparency)
}

View File

@@ -85,7 +85,7 @@ Item {
width: 360
height: settingsColumn.implicitHeight + Theme.spacingXL * 2
radius: Theme.cornerRadius
color: Theme.popupBackground()
color: Qt.rgba(Theme.surfaceContainer.r, Theme.surfaceContainer.g, Theme.surfaceContainer.b, Theme.notepadTransparency)
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.08)
border.width: 1
z: 100
@@ -265,6 +265,53 @@ Item {
}
}
Rectangle {
width: parent.width
height: transparencySliderColumn.height + Theme.spacingS
color: "transparent"
Column {
id: transparencySliderColumn
width: parent.width
spacing: Theme.spacingS
DankToggle {
anchors.left: parent.left
anchors.leftMargin: -Theme.spacingM
width: parent.width + Theme.spacingM
text: "Custom Transparency"
description: "Override global transparency for Notepad"
checked: SettingsData.notepadTransparencyOverride >= 0
onToggled: checked => {
if (checked) {
SettingsData.notepadTransparencyOverride = SettingsData.notepadLastCustomTransparency
} else {
SettingsData.notepadTransparencyOverride = -1
}
}
}
DankSlider {
anchors.left: parent.left
anchors.leftMargin: -Theme.spacingM
width: parent.width + Theme.spacingM
height: 24
visible: SettingsData.notepadTransparencyOverride >= 0
value: Math.round((SettingsData.notepadTransparencyOverride >= 0 ? SettingsData.notepadTransparencyOverride : SettingsData.popupTransparency) * 100)
minimum: 0
maximum: 100
unit: ""
showValue: true
wheelEnabled: false
onSliderValueChanged: newValue => {
if (SettingsData.notepadTransparencyOverride >= 0) {
SettingsData.notepadTransparencyOverride = newValue / 100
}
}
}
}
}
StyledText {
width: parent.width
text: SettingsData.notepadUseMonospace ?

View File

@@ -88,7 +88,7 @@ Column {
StyledRect {
width: parent.width
height: parent.height - bottomControls.height - Theme.spacingM
color: Theme.surface
color: Qt.rgba(Theme.surface.r, Theme.surface.g, Theme.surface.b, Theme.notepadTransparency)
border.color: Theme.outlineMedium
border.width: 1
radius: Theme.cornerRadius
@@ -329,6 +329,7 @@ Column {
font.pixelSize: Theme.fontSizeSmall
color: Theme.surfaceTextMedium
visible: textArea.text.length > 0
opacity: 1.0
}
StyledText {
@@ -359,7 +360,7 @@ Column {
return Theme.success
}
}
opacity: textArea.text.length > 0 ? 1 : 0
opacity: textArea.text.length > 0 ? 1.0 : 0.0
}
}
}

View File

@@ -20,6 +20,7 @@ PanelWindow {
property Component content: null
property string title: ""
property alias container: contentContainer
property real customTransparency: -1
function show() {
visible = true
@@ -61,10 +62,12 @@ PanelWindow {
anchors.bottom: parent.bottom
anchors.right: parent.right
width: expandable && expandedWidth ? expandedWidthValue : slideoutWidth
color: Theme.surfaceContainer
color: Qt.rgba(Theme.surfaceContainer.r, Theme.surfaceContainer.g, Theme.surfaceContainer.b,
customTransparency >= 0 ? customTransparency : SettingsData.popupTransparency)
border.color: Theme.outlineMedium
border.width: 1
opacity: isVisible ? SettingsData.popupTransparency : 0
visible: isVisible
opacity: isVisible ? (customTransparency >= 0 ? customTransparency : SettingsData.popupTransparency) : 0
Behavior on opacity {
NumberAnimation {

View File

@@ -296,6 +296,7 @@ ShellRoot {
slideoutWidth: 480
expandable: true
expandedWidthValue: 960
customTransparency: SettingsData.notepadTransparencyOverride
content: Component {
Notepad {