Files
better-genshin-impact/Build/MicaSetup/Natives/Shell/Dialogs/ShellObjectWatcher/ShellObjectNotificationEventArgs.cs

41 lines
1.2 KiB
C#

using System;
namespace MicaSetup.Shell.Dialogs;
public class ShellObjectNotificationEventArgs : EventArgs
{
public ShellObjectChangeTypes ChangeType { get; private set; }
public bool FromSystemInterrupt { get; private set; }
internal ShellObjectNotificationEventArgs(ChangeNotifyLock notifyLock)
{
ChangeType = notifyLock.ChangeType;
FromSystemInterrupt = notifyLock.FromSystemInterrupt;
}
}
public class ShellObjectChangedEventArgs : ShellObjectNotificationEventArgs
{
public string Path { get; private set; }
internal ShellObjectChangedEventArgs(ChangeNotifyLock notifyLock)
: base(notifyLock) => Path = notifyLock.ItemName;
}
public class ShellObjectRenamedEventArgs : ShellObjectChangedEventArgs
{
public string NewPath { get; private set; }
internal ShellObjectRenamedEventArgs(ChangeNotifyLock notifyLock)
: base(notifyLock) => NewPath = notifyLock.ItemName2;
}
public class SystemImageUpdatedEventArgs : ShellObjectNotificationEventArgs
{
public int ImageIndex { get; private set; }
internal SystemImageUpdatedEventArgs(ChangeNotifyLock notifyLock)
: base(notifyLock) => ImageIndex = notifyLock.ImageIndex;
}