diff --git a/Pilz.Updating.Client.GUI/UpdateClientGUI.cs b/Pilz.Updating.Client.GUI/UpdateClientGUI.cs index 19e72de..b01759d 100644 --- a/Pilz.Updating.Client.GUI/UpdateClientGUI.cs +++ b/Pilz.Updating.Client.GUI/UpdateClientGUI.cs @@ -1,13 +1,16 @@ using Pilz.UI; using Pilz.UI.Telerik.Dialogs; using Pilz.Updating.Client.Gui.LangRes; -using Pilz.Updating.Client.GUI; using Telerik.WinControls; namespace Pilz.Updating.Client.Gui; public class UpdateClientGui { + // E v e n t s + + public event UpdateEndedEventHandler OnUpdateEnded; + // F i e l d s private Form parentForm; @@ -16,7 +19,7 @@ public class UpdateClientGui // P r o p e r t i e s - public bool UseHiddenSearch { get; set; } = false; + public bool UseHiddenSearch { get; set; } private static Image MyAppIcon => Icon.ExtractAssociatedIcon(IO.Extensions.GetExecutablePath()).ToBitmap(); @@ -42,9 +45,15 @@ public class UpdateClientGui } private void EndUpdating() + { + EndUpdating(false); + } + + private void EndUpdating(bool success) { curProgressDialog.AllowClose = true; curProgressDialog?.Invoke(curProgressDialog.Close); + OnUpdateEnded?.Invoke(this, new(success)); } // E v e n t s @@ -86,6 +95,8 @@ public class UpdateClientGui switch (e.Status) { case UpdateStatus.Done: + EndUpdating(true); + break; case UpdateStatus.Failed: case UpdateStatus.Canceled: EndUpdating(); diff --git a/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.Designer.cs b/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.Designer.cs index 8a22734..d912824 100644 --- a/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.Designer.cs +++ b/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.Designer.cs @@ -1,7 +1,7 @@ using Microsoft.VisualBasic.CompilerServices; using System.Diagnostics; -namespace Pilz.Updating.Client.GUI +namespace Pilz.Updating.Client.Gui { [DesignerGenerated()] internal partial class UpdatesAvailableDialog diff --git a/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.cs b/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.cs index 4d3139d..eea63bc 100644 --- a/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.cs +++ b/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.cs @@ -5,7 +5,7 @@ using Pilz.Updating.Client.Gui.LangRes; using Pilz.Updating.GUIBase; using Telerik.WinControls.UI; -namespace Pilz.Updating.Client.GUI; +namespace Pilz.Updating.Client.Gui; internal partial class UpdatesAvailableDialog : RadFlyoutBase { diff --git a/Pilz.Updating.Client.Gui/Delegates.cs b/Pilz.Updating.Client.Gui/Delegates.cs new file mode 100644 index 0000000..73503e8 --- /dev/null +++ b/Pilz.Updating.Client.Gui/Delegates.cs @@ -0,0 +1,3 @@ +namespace Pilz.Updating.Client.Gui; + +public delegate void UpdateEndedEventHandler(object sender, UpdateEndedEventArgs e); diff --git a/Pilz.Updating.Client.Gui/UpdateEndedEventArgs.cs b/Pilz.Updating.Client.Gui/UpdateEndedEventArgs.cs new file mode 100644 index 0000000..376b2e1 --- /dev/null +++ b/Pilz.Updating.Client.Gui/UpdateEndedEventArgs.cs @@ -0,0 +1,6 @@ +namespace Pilz.Updating.Client.Gui; + +public class UpdateEndedEventArgs(bool success) : EventArgs +{ + public bool Success { get; } = success; +} diff --git a/Pilz.Updating.Client.Gui/UpdateWindow.Designer.cs b/Pilz.Updating.Client.Gui/UpdateWindow.Designer.cs index 3a9f0e2..a7d675b 100644 --- a/Pilz.Updating.Client.Gui/UpdateWindow.Designer.cs +++ b/Pilz.Updating.Client.Gui/UpdateWindow.Designer.cs @@ -4,7 +4,7 @@ using System.Diagnostics; namespace Pilz.Updating.Client.Gui { [DesignerGenerated()] - public partial class UpdateWindow + internal partial class UpdateWindow { // Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. diff --git a/Pilz.Updating.Client.Gui/UpdateWindow.cs b/Pilz.Updating.Client.Gui/UpdateWindow.cs index e0ec455..62fed37 100644 --- a/Pilz.Updating.Client.Gui/UpdateWindow.cs +++ b/Pilz.Updating.Client.Gui/UpdateWindow.cs @@ -4,7 +4,7 @@ using Telerik.WinControls; namespace Pilz.Updating.Client.Gui; -public partial class UpdateWindow : Telerik.WinControls.UI.RadForm +internal partial class UpdateWindow : Telerik.WinControls.UI.RadForm { // P r o p e r t i e s