Skip to content

Commit 8d07764

Browse files
committed
Improvements to how new desktop icons are looked for
1 parent 9f7e793 commit 8d07764

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

src/UniGetUI/AppOperationHelper.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using UniGetUI.Core.Tools;
88
using UniGetUI.Interface;
99
using UniGetUI.Interface.Telemetry;
10+
using UniGetUI.PackageEngine.Enums;
1011
using UniGetUI.PackageEngine.Interfaces;
1112
using UniGetUI.PackageEngine.Managers.CargoManager;
1213
using UniGetUI.PackageEngine.Managers.PowerShellManager;
@@ -21,6 +22,13 @@ public partial class MainApp
2122
{
2223
public static class Operations
2324
{
25+
public static bool AreThereRunningOperations()
26+
{
27+
return _operationList.Any() &&
28+
_operationList.Where(x => x.Operation.Status is OperationStatus.Running or OperationStatus.InQueue)
29+
.Any();
30+
}
31+
2432
public static ObservableCollection<OperationControl> _operationList = new();
2533

2634
public static void Add(AbstractOperation op)

src/UniGetUI/Controls/OperationWidgets/OperationControl.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ private void OnOperationFailed(object? sender, EventArgs e)
136136
ShowErrorToast();
137137
}
138138

139-
private void OnOperationFinished(object? sender, EventArgs e)
139+
private async void OnOperationFinished(object? sender, EventArgs e)
140140
{
141141
// Remove progress notification (if any)
142142
AppNotificationManager.Default.RemoveByTagAsync(Operation.Metadata.Identifier + "progress");
@@ -159,6 +159,14 @@ private void OnOperationFinished(object? sender, EventArgs e)
159159
rawOutput.Add("");
160160
rawOutput.Add("");
161161
rawOutput.Add("");
162+
163+
// Handle newly created shortcuts
164+
if(Settings.Get("AskToDeleteNewDesktopShortcuts")
165+
&& !MainApp.Operations.AreThereRunningOperations()
166+
&& DesktopShortcutsDatabase.GetUnknownShortcuts().Any())
167+
{
168+
_ = DialogHelper.HandleNewDesktopShortcuts();
169+
}
162170
}
163171

164172
private async void LoadIcon()
@@ -324,13 +332,6 @@ public void Close()
324332

325333
MainApp.Operations._operationList.Remove(this);
326334
while(AbstractOperation.OperationQueue.Remove(Operation));
327-
328-
if (MainApp.Operations._operationList.Count == 0
329-
&& DesktopShortcutsDatabase.GetUnknownShortcuts().Any()
330-
&& Settings.Get("AskToDeleteNewDesktopShortcuts"))
331-
{
332-
_ = DialogHelper.HandleNewDesktopShortcuts();
333-
}
334335
}
335336

336337
private string _buttonText;

src/UniGetUI/MainWindow.xaml.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,7 @@ public async void HandleClosingEvent(AppWindow sender, AppWindowClosingEventArgs
210210
}
211211
else
212212
{
213-
if (MainApp.Operations._operationList.Any()
214-
&& MainApp.Operations._operationList.Where(x => x.Operation.Status is OperationStatus.Running or OperationStatus.InQueue).Any())
213+
if (MainApp.Operations.AreThereRunningOperations())
215214
{
216215
args.Cancel = true;
217216
ContentDialog d = new()

0 commit comments

Comments
 (0)