From 127332d6c8cdf81f91088af3b4f8abb2772da383 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Thu, 4 Jan 2024 12:30:10 +0100 Subject: [PATCH] add SettingsManager.RegisterProvider() --- Pilz.Configuration/Pilz.Configuration.vbproj | 2 +- Pilz.Configuration/SettingsManager.vb | 24 ++++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Pilz.Configuration/Pilz.Configuration.vbproj b/Pilz.Configuration/Pilz.Configuration.vbproj index 4455408..61a76d9 100644 --- a/Pilz.Configuration/Pilz.Configuration.vbproj +++ b/Pilz.Configuration/Pilz.Configuration.vbproj @@ -25,7 +25,7 @@ True - 3.0.2 + 3.0.3 diff --git a/Pilz.Configuration/SettingsManager.vb b/Pilz.Configuration/SettingsManager.vb index 0893235..946bb95 100644 --- a/Pilz.Configuration/SettingsManager.vb +++ b/Pilz.Configuration/SettingsManager.vb @@ -48,16 +48,6 @@ Public Class SettingsManager End Set End Property - Private Sub AddAutoSaveHandler() - AddHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit - addedHandler = True - End Sub - - Private Sub RemoveAutoSaveHandler() - RemoveHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit - addedHandler = False - End Sub - Public Sub New() RaiseEvent InitializingManager(Me, EventArgs.Empty) End Sub @@ -68,6 +58,20 @@ Public Class SettingsManager Me.AutoSaveOnExit = autoSaveOnExit End Sub + Public Sub RegisterProvider(provider As ISettingsProvider) + settingsProvider.Add(provider) + End Sub + + Private Sub AddAutoSaveHandler() + AddHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit + addedHandler = True + End Sub + + Private Sub RemoveAutoSaveHandler() + RemoveHandler AppDomain.CurrentDomain.ProcessExit, AddressOf AutoSaveSettingsOnExit + addedHandler = False + End Sub + Private Sub AutoSaveSettingsOnExit(sender As Object, e As EventArgs) RaiseEvent AutoSavingSettings(Me, New EventArgs) Save()