mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
Merge pull request #1432 from bokicoder/main
Add a button to copy settings
This commit is contained in:
@@ -899,6 +899,7 @@
|
||||
"title": "Dock"
|
||||
},
|
||||
"general": {
|
||||
"copy-settings": "Copy settings",
|
||||
"fonts-default-description": "Main font used throughout the interface.",
|
||||
"fonts-default-label": "Default font",
|
||||
"fonts-default-placeholder": "Select default font...",
|
||||
@@ -933,7 +934,8 @@
|
||||
"screen-corners-show-corners-label": "Show screen corners",
|
||||
"screen-corners-solid-black-description": "Use solid black instead of the bar background color.",
|
||||
"screen-corners-solid-black-label": "Solid black corners",
|
||||
"screen-corners-title": "Screen corners"
|
||||
"screen-corners-title": "Screen corners",
|
||||
"settings-copied": "Settings copied to clipboard"
|
||||
},
|
||||
"hooks": {
|
||||
"info-command-info-description": "• Commands are executed via shell (sh -lc)<br>• Commands run in background (detached)<br>• Test buttons execute with current values",
|
||||
|
||||
@@ -899,6 +899,7 @@
|
||||
"title": "停靠栏"
|
||||
},
|
||||
"general": {
|
||||
"copy-settings": "复制设置",
|
||||
"fonts-default-description": "整个界面使用的主要字体。",
|
||||
"fonts-default-label": "默认字体",
|
||||
"fonts-default-placeholder": "选择默认字体...",
|
||||
@@ -933,7 +934,8 @@
|
||||
"screen-corners-show-corners-label": "显示屏幕圆角",
|
||||
"screen-corners-solid-black-description": "使用实心黑色而非状态栏背景色。",
|
||||
"screen-corners-solid-black-label": "实心黑色边角",
|
||||
"screen-corners-title": "屏幕边角"
|
||||
"screen-corners-title": "屏幕边角",
|
||||
"settings-copied": "设置已复制到剪贴板"
|
||||
},
|
||||
"hooks": {
|
||||
"info-command-info-description": "• 命令通过 shell 执行(sh -lc)<br>• 命令在后台运行(分离)<br>• 测试按钮使用当前值执行",
|
||||
|
||||
@@ -6,6 +6,7 @@ import qs.Commons
|
||||
import qs.Services.System
|
||||
import qs.Services.UI
|
||||
import qs.Widgets
|
||||
import "../../../../Helpers/QtObj2JS.js" as QtObj2JS
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
@@ -172,24 +173,41 @@ ColumnLayout {
|
||||
Layout.bottomMargin: Style.marginM
|
||||
}
|
||||
|
||||
NButton {
|
||||
icon: "wand"
|
||||
text: I18n.tr("panels.general.launch-setup-wizard")
|
||||
outlined: true
|
||||
onClicked: {
|
||||
var targetScreen = PanelService.openedPanel ? PanelService.openedPanel.screen : (Quickshell.screens.length > 0 ? Quickshell.screens[0] : null);
|
||||
if (!targetScreen) {
|
||||
return;
|
||||
RowLayout {
|
||||
spacing: Style.marginL
|
||||
Layout.fillWidth: true
|
||||
|
||||
NButton {
|
||||
icon: "wand"
|
||||
text: I18n.tr("panels.general.launch-setup-wizard")
|
||||
outlined: true
|
||||
onClicked: {
|
||||
var targetScreen = PanelService.openedPanel ? PanelService.openedPanel.screen : (Quickshell.screens.length > 0 ? Quickshell.screens[0] : null);
|
||||
if (!targetScreen) {
|
||||
return;
|
||||
}
|
||||
var setupPanel = PanelService.getPanel("setupWizardPanel", targetScreen);
|
||||
if (setupPanel) {
|
||||
setupPanel.open();
|
||||
} else {
|
||||
Qt.callLater(() => {
|
||||
var sp = PanelService.getPanel("setupWizardPanel", targetScreen);
|
||||
if (sp)
|
||||
sp.open();
|
||||
});
|
||||
}
|
||||
}
|
||||
var setupPanel = PanelService.getPanel("setupWizardPanel", targetScreen);
|
||||
if (setupPanel) {
|
||||
setupPanel.open();
|
||||
} else {
|
||||
Qt.callLater(() => {
|
||||
var sp = PanelService.getPanel("setupWizardPanel", targetScreen);
|
||||
if (sp)
|
||||
sp.open();
|
||||
});
|
||||
}
|
||||
|
||||
NButton {
|
||||
icon: "json"
|
||||
text: I18n.tr("panels.general.copy-settings")
|
||||
outlined: true
|
||||
onClicked: {
|
||||
var plainData = QtObj2JS.qtObjectToPlainObject(Settings.data);
|
||||
var json = JSON.stringify(plainData, null, 2);
|
||||
Quickshell.execDetached(["wl-copy", json]);
|
||||
ToastService.showNotice(I18n.tr("panels.general.settings-copied"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user