fix: 修改任务/基建列表顺序后未开始任务会在程序重启后失效

fix #10094
This commit is contained in:
uye
2024-11-04 20:58:34 +08:00
parent 0b0e007d05
commit 75e14c8379
5 changed files with 14 additions and 8 deletions

View File

@@ -604,7 +604,7 @@ namespace MaaWpfGui.Services.RemoteControl
await Execute.OnUIThreadAsync(async () =>
{
// 虽然更改时已经保存过了,不过保险起见还是在点击开始之后再保存一次任务及基建列表
// 虽然更改时已经保存过了,不过保险起见还是在点击开始之后再保存一次(任务及基建列表)
Instances.TaskQueueViewModel.TaskItemSelectionChanged();
Instances.SettingsViewModel.InfrastOrderSelectionChanged();

View File

@@ -16,6 +16,7 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
@@ -204,7 +205,8 @@ namespace MaaWpfGui.ViewModels.UI
ConfigurationHelper.SetFacilityOrder(newVm.OriginalName, i.ToString());
}
InfrastItemViewModels = new ObservableCollection<DragItemViewModel>(tempOrderList);
InfrastItemViewModels = new ObservableCollection<DragItemViewModel>(tempOrderList!);
InfrastItemViewModels.CollectionChanged += InfrastOrderSelectionChanged;
_dormThresholdLabel = LocalizationHelper.GetString("DormThreshold") + ": " + _dormThreshold + "%";
}
@@ -1626,8 +1628,11 @@ namespace MaaWpfGui.ViewModels.UI
/// <summary>
/// 实时更新基建换班顺序
/// </summary>
public void InfrastOrderSelectionChanged()
/// <param name="sender">ignored object</param>
/// <param name="e">ignored NotifyCollectionChangedEventArgs</param>
public void InfrastOrderSelectionChanged(object? sender = null, NotifyCollectionChangedEventArgs? e = null)
{
_ = (sender, e);
int index = 0;
foreach (var item in InfrastItemViewModels)
{

View File

@@ -14,6 +14,7 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Diagnostics;
using System.IO;
using System.Linq;
@@ -71,10 +72,11 @@ namespace MaaWpfGui.ViewModels.UI
/// <summary>
/// 实时更新任务顺序
/// </summary>
// UI 绑定的方法
// ReSharper disable once MemberCanBePrivate.Global
public void TaskItemSelectionChanged()
/// <param name="sender">ignored object</param>
/// <param name="e">ignored NotifyCollectionChangedEventArgs</param>
public void TaskItemSelectionChanged(object sender = null, NotifyCollectionChangedEventArgs e = null)
{
_ = (sender, e);
Execute.OnUIThread(() =>
{
int index = 0;
@@ -641,6 +643,7 @@ namespace MaaWpfGui.ViewModels.UI
}
TaskItemViewModels = new ObservableCollection<DragItemViewModel>(tempOrderList);
TaskItemViewModels.CollectionChanged += TaskItemSelectionChanged;
InitDrops();
NeedToUpdateDatePrompt();

View File

@@ -52,7 +52,6 @@
dd:DragDrop.IsDragSource="{Binding Idle}"
dd:DragDrop.IsDropTarget="{Binding Idle}"
BorderThickness="0"
DragDrop.Drop="{s:Action TaskItemSelectionChanged}"
ItemContainerStyle="{StaticResource CustomListBoxItemStyle}"
ItemsSource="{Binding TaskItemViewModels}"
ToolTip="{DynamicResource LabelSequenceTip}">

View File

@@ -115,7 +115,6 @@
dd:DragDrop.IsDragSource="True"
dd:DragDrop.IsDropTarget="True"
ItemsSource="{Binding Path=InfrastItemViewModels}"
SelectionChanged="{s:Action InfrastOrderSelectionChanged}"
ToolTip="{DynamicResource LabelSequenceTip}">
<ListBox.ItemTemplate>
<DataTemplate>