diff --git a/Qwilight/Qwilight.csproj b/Qwilight/Qwilight.csproj index c0dae51..a012f16 100644 --- a/Qwilight/Qwilight.csproj +++ b/Qwilight/Qwilight.csproj @@ -22,10 +22,6 @@ app.manifest true - - - - $(DefineConstants);X64 diff --git a/Qwilight/System/BaseUI/BaseUI.cs b/Qwilight/System/BaseUI/BaseUI.cs index 6b83e71..bba64dc 100644 --- a/Qwilight/System/BaseUI/BaseUI.cs +++ b/Qwilight/System/BaseUI/BaseUI.cs @@ -2174,7 +2174,7 @@ mainViewModel.IsUILoading = true; if (isParallel) { - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Info, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpeningUIFileContents); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Info, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpeningUIFileContents, true, null, null, NotifySystem.UIID); Task.Run(() => { try @@ -2184,17 +2184,17 @@ LoadUIImpl(src, target); } OnLoaded(); - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.OK, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpenedUIFileContents); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.OK, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpenedUIFileContents, true, null, null, NotifySystem.UIID); } catch (YamlException e) { FaultText = string.Format(LanguageSystem.Instance.YAMLCompileFault, e.Message); - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText, true, null, null, NotifySystem.UIID); } catch (Exception e) { FaultText = string.Format(LanguageSystem.Instance.UIFaultText, e.Message); - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText, true, null, null, NotifySystem.UIID); } finally { diff --git a/Qwilight/System/NotifySystem.cs b/Qwilight/System/NotifySystem.cs index 189b2ea..96fedef 100644 --- a/Qwilight/System/NotifySystem.cs +++ b/Qwilight/System/NotifySystem.cs @@ -7,6 +7,7 @@ { public const int ModeComponentID = 0; public const int SetFavoritesID = 1; + public const int UIID = 2; public enum NotifyVariety { @@ -20,7 +21,7 @@ public static readonly NotifySystem Instance = new(); - int _toNotifyID = 1; + int _toNotifyID = 2; public void NotifyPending() => UIHandler.Instance.HandleParallel(() => { @@ -76,7 +77,7 @@ break; } } - ViewModels.Instance.NotifyXamlValue.PutNotify(new() + ViewModels.Instance.NotifyXamlValue.NewNotify(new() { Variety = toNotifyVariety, Paint = toNotifyVariety switch @@ -103,6 +104,7 @@ } return false; } + void Save(NotifyVariety toNotifyVariety, string toNotify, bool isNew) { var toNotifyCollection = ViewModels.Instance.NotifyValue.NotifyItemCollection; diff --git a/Qwilight/System/UI/UI.cs b/Qwilight/System/UI/UI.cs index 8c59a7f..8056ca1 100644 --- a/Qwilight/System/UI/UI.cs +++ b/Qwilight/System/UI/UI.cs @@ -2224,7 +2224,7 @@ mainViewModel.IsUILoading = true; if (isParallel) { - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Info, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpeningUIFileContents); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Info, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpeningUIFileContents, true, null, null, NotifySystem.UIID); Task.Run(() => { try @@ -2234,22 +2234,22 @@ LoadUIImpl(src, target); } OnLoaded(); - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.OK, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpenedUIFileContents); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.OK, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.OpenedUIFileContents, true, null, null, NotifySystem.UIID); } catch (YamlException e) { FaultText = string.Format(LanguageSystem.Instance.YAMLCompileFault, e.Message); - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText, true, null, null, NotifySystem.UIID); } catch (InterpreterException e) { FaultText = string.Format(LanguageSystem.Instance.LSCompileFault, e.Message); - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText, true, null, null, NotifySystem.UIID); } catch (Exception e) { FaultText = string.Format(LanguageSystem.Instance.UIFaultText, e.Message); - NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText); + NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Warning, NotifySystem.NotifyConfigure.Default, FaultText, true, null, null, NotifySystem.UIID); } finally { diff --git a/Qwilight/ViewModel/ConfigureViewModel.cs b/Qwilight/ViewModel/ConfigureViewModel.cs index 9ec7278..df45fd8 100644 --- a/Qwilight/ViewModel/ConfigureViewModel.cs +++ b/Qwilight/ViewModel/ConfigureViewModel.cs @@ -333,8 +333,10 @@ void OnEnterAutoComputeUIConfigure() { var mainViewModel = ViewModels.Instance.MainValue; - if (mainViewModel.AutoComputer?.IsHandling == true) + var autoComputer = mainViewModel.AutoComputer; + if (autoComputer?.IsHandling == true) { + autoComputer.Unpause(); mainViewModel.EnterAutoComputingMode(); NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.Info, NotifySystem.NotifyConfigure.Default, LanguageSystem.Instance.EnterAutoComputeUIConfigure); } diff --git a/Qwilight/ViewModel/ModifyDefaultEntryViewModel.cs b/Qwilight/ViewModel/ModifyDefaultEntryViewModel.cs index 98d89ed..921d1ab 100644 --- a/Qwilight/ViewModel/ModifyDefaultEntryViewModel.cs +++ b/Qwilight/ViewModel/ModifyDefaultEntryViewModel.cs @@ -104,7 +104,8 @@ Data = MESSAGEBOX_STYLE.MB_YESNO | MESSAGEBOX_STYLE.MB_ICONQUESTION | MESSAGEBOX_STYLE.MB_DEFBUTTON1 }) == MESSAGEBOX_RESULT.IDYES) { - i = DefaultEntryItemCollection.IndexOf(DefaultEntryItemValue); + var defaultEntryItem = DefaultEntryItemValue; + i = DefaultEntryItemCollection.IndexOf(defaultEntryItem); DefaultEntryItemCollection.RemoveAt(i); if (i < DefaultEntryItemCollection.Count) { @@ -114,6 +115,11 @@ { Target = DefaultEntryItemValue }); + if (Configure.Instance.LastDefaultEntryItem == defaultEntryItem) + { + Configure.Instance.LastDefaultEntryItem = null; + ViewModels.Instance.MainValue.SetDefaultEntryItems(); + } } break; } diff --git a/Qwilight/ViewModel/NotifyXamlViewModel.cs b/Qwilight/ViewModel/NotifyXamlViewModel.cs index bbe4c95..8550e84 100644 --- a/Qwilight/ViewModel/NotifyXamlViewModel.cs +++ b/Qwilight/ViewModel/NotifyXamlViewModel.cs @@ -26,7 +26,7 @@ } } - public void PutNotify(NotifyXamlItem toNotifyXamlItem) + public void NewNotify(NotifyXamlItem toNotifyXamlItem) { var targetNotifyXamlItem = NotifyXamlItemUICollection.SingleOrDefault(targetNotifyXamlItem => targetNotifyXamlItem.ID == toNotifyXamlItem.ID); if (targetNotifyXamlItem != null) diff --git a/Qwilight/ViewModel/WwwLevelViewModel.cs b/Qwilight/ViewModel/WwwLevelViewModel.cs index d60a9f3..2526e0d 100644 --- a/Qwilight/ViewModel/WwwLevelViewModel.cs +++ b/Qwilight/ViewModel/WwwLevelViewModel.cs @@ -744,7 +744,7 @@ set { - if (SetProperty(ref _wwwLevelAvatar, value, nameof(WwwLevelAvatarValue)) && value.HasValue) + if (SetProperty(ref _wwwLevelAvatar, value, nameof(WwwLevelAvatarValue))) { _lastWwwLevelAvatar = value; _lastLevelName = null; @@ -752,7 +752,7 @@ _ = Awaitable(); async Task Awaitable() { - var avatarID = value.Value.AvatarWwwValue.AvatarID; + var avatarID = value?.AvatarWwwValue?.AvatarID ?? string.Empty; IsLevelNamesLoading = true; var levelNames = await TwilightSystem.Instance.GetWwwParallel($"{QwilightComponent.QwilightAPI}/level?avatarID={WebUtility.UrlEncode(avatarID)}"); if (levelNames != null && (WwwLevelAvatarValue?.AvatarWwwValue?.AvatarID ?? string.Empty) == avatarID)