mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
0.7.6
加入删除页面二次确认
This commit is contained in:
@@ -959,6 +959,10 @@
|
||||
"study.interrupt_density.unavailable": "--",
|
||||
"desktop.add_page": "Add page",
|
||||
"desktop.delete_page": "Delete page",
|
||||
"desktop.delete_page_confirm.title": "Confirm Delete Page",
|
||||
"desktop.delete_page_confirm.message": "Are you sure you want to delete the current page?\n\nThis will remove all components on this page and cannot be undone.",
|
||||
"desktop.delete_page_confirm.primary": "Delete",
|
||||
"desktop.delete_page_confirm.close": "Cancel",
|
||||
"placement.fill": "Fill",
|
||||
"placement.fit": "Fit",
|
||||
"placement.stretch": "Stretch",
|
||||
|
||||
@@ -953,6 +953,10 @@
|
||||
"study.interrupt_density.unavailable": "--",
|
||||
"desktop.add_page": "新增页面",
|
||||
"desktop.delete_page": "删除页面",
|
||||
"desktop.delete_page_confirm.title": "确认删除页面",
|
||||
"desktop.delete_page_confirm.message": "确定要删除当前页面吗?\n\n此操作将删除当前页面上的所有组件,且无法撤销。",
|
||||
"desktop.delete_page_confirm.primary": "删除",
|
||||
"desktop.delete_page_confirm.close": "取消",
|
||||
"placement.fill": "填充",
|
||||
"placement.fit": "适应",
|
||||
"placement.stretch": "拉伸",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Controls.Shapes;
|
||||
@@ -10,6 +11,7 @@ using Avalonia.Layout;
|
||||
using Avalonia.Media;
|
||||
using Avalonia.Threading;
|
||||
using Avalonia.VisualTree;
|
||||
using FluentAvalonia.UI.Controls;
|
||||
using FluentIcons.Avalonia;
|
||||
using FluentIcons.Common;
|
||||
using LanMountainDesktop.ComponentSystem;
|
||||
@@ -22,6 +24,8 @@ using LanMountainDesktop.Settings.Core;
|
||||
using LanMountainDesktop.Theme;
|
||||
using LanMountainDesktop.Views.Components;
|
||||
using PathShape = Avalonia.Controls.Shapes.Path;
|
||||
using Symbol = FluentIcons.Common.Symbol;
|
||||
using SymbolIcon = FluentIcons.Avalonia.SymbolIcon;
|
||||
|
||||
namespace LanMountainDesktop.Views;
|
||||
|
||||
@@ -826,7 +830,7 @@ public partial class MainWindow
|
||||
AddDesktopPage();
|
||||
break;
|
||||
case "desktop.delete_page":
|
||||
DeleteCurrentDesktopPage();
|
||||
ConfirmAndDeleteCurrentDesktopPage();
|
||||
break;
|
||||
case "component.delete":
|
||||
DeleteSelectedComponent();
|
||||
@@ -840,6 +844,29 @@ public partial class MainWindow
|
||||
}
|
||||
}
|
||||
|
||||
private async void ConfirmAndDeleteCurrentDesktopPage()
|
||||
{
|
||||
if (_desktopPageCount <= MinDesktopPageCount)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var dialog = new ContentDialog
|
||||
{
|
||||
Title = L("desktop.delete_page_confirm.title", "确认删除页面"),
|
||||
Content = L("desktop.delete_page_confirm.message", "确定要删除当前页面吗?\n\n此操作将删除当前页面上的所有组件,且无法撤销。"),
|
||||
PrimaryButtonText = L("desktop.delete_page_confirm.close", "取消"),
|
||||
SecondaryButtonText = L("desktop.delete_page_confirm.primary", "删除"),
|
||||
DefaultButton = ContentDialogButton.Primary
|
||||
};
|
||||
|
||||
var result = await dialog.ShowAsync(this);
|
||||
if (result == ContentDialogResult.Secondary)
|
||||
{
|
||||
DeleteCurrentDesktopPage();
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteSelectedComponent()
|
||||
{
|
||||
if (_selectedDesktopComponentHost is null || _selectedDesktopComponentHost.Tag is not string placementId)
|
||||
|
||||
Reference in New Issue
Block a user