settings: make right-clicking config file button copy path (#2112)

This commit is contained in:
end-4
2025-10-28 22:48:08 +01:00
parent 44da20ed4a
commit 97b3f7ec55
3 changed files with 63 additions and 9 deletions
@@ -7,6 +7,7 @@ Rectangle {
id: root
property alias materialIcon: icon.text
property alias text: noticeText.text
default property alias data: buttonRow.data
radius: Appearance.rounding.normal
color: Appearance.colors.colPrimaryContainer
@@ -28,13 +29,23 @@ Rectangle {
color: Appearance.colors.colOnPrimaryContainer
}
StyledText {
id: noticeText
ColumnLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignVCenter
text: "Notice message"
color: Appearance.colors.colOnPrimaryContainer
wrapMode: Text.WordWrap
spacing: 4
StyledText {
id: noticeText
Layout.fillWidth: true
text: "Notice message"
color: Appearance.colors.colOnPrimaryContainer
wrapMode: Text.WordWrap
}
RowLayout {
id: buttonRow
visible: children.length > 0
Layout.fillWidth: true
}
}
}
}
@@ -332,5 +332,33 @@ ContentPage {
NoticeBox {
Layout.fillWidth: true
text: Translation.tr('Not all options are available in this app. You should also check the config file by hitting the "Config file" button on the topleft corner or opening %1 manually.').arg(Directories.shellConfigPath)
Item {
Layout.fillWidth: true
}
RippleButtonWithIcon {
id: copyPathButton
property bool justCopied: false
Layout.fillWidth: false
buttonRadius: Appearance.rounding.small
materialIcon: justCopied ? "check" : "content_copy"
mainText: justCopied ? Translation.tr("Path copied") : Translation.tr("Copy path")
onClicked: {
copyPathButton.justCopied = true
Quickshell.clipboardText = FileUtils.trimFileProtocol(`${Directories.config}/illogical-impulse/config.json`);
revertTextTimer.restart();
}
colBackground: ColorUtils.transparentize(Appearance.colors.colPrimaryContainer)
colBackgroundHover: Appearance.colors.colPrimaryContainerHover
colRipple: Appearance.colors.colPrimaryContainerActive
Timer {
id: revertTextTimer
interval: 1500
onTriggered: {
copyPathButton.justCopied = false
}
}
}
}
}