mirror of
https://github.com/chylex/Discord-History-Tracker.git
synced 2025-04-12 23:07:13 +03:00
50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
using System;
|
|
|
|
namespace DHT.Desktop.Dialogs {
|
|
public static class DialogResult {
|
|
public enum All {
|
|
Ok, Yes, No, Cancel
|
|
}
|
|
|
|
public enum OkCancel {
|
|
Closed, Ok, Cancel
|
|
}
|
|
|
|
public enum YesNo {
|
|
Closed, Yes, No
|
|
}
|
|
|
|
public enum YesNoCancel {
|
|
Closed, Yes, No, Cancel
|
|
}
|
|
|
|
public static OkCancel ToOkCancel(this All? result) {
|
|
return result switch {
|
|
null => OkCancel.Closed,
|
|
All.Ok => OkCancel.Ok,
|
|
All.Cancel => OkCancel.Cancel,
|
|
_ => throw new ArgumentException("Cannot convert dialog result " + result + " to ok/cancel.")
|
|
};
|
|
}
|
|
|
|
public static YesNo ToYesNo(this All? result) {
|
|
return result switch {
|
|
null => YesNo.Closed,
|
|
All.Yes => YesNo.Yes,
|
|
All.No => YesNo.No,
|
|
_ => throw new ArgumentException("Cannot convert dialog result " + result + " to yes/no.")
|
|
};
|
|
}
|
|
|
|
public static YesNoCancel ToYesNoCancel(this All? result) {
|
|
return result switch {
|
|
null => YesNoCancel.Closed,
|
|
All.Yes => YesNoCancel.Yes,
|
|
All.No => YesNoCancel.No,
|
|
All.Cancel => YesNoCancel.Cancel,
|
|
_ => throw new ArgumentException("Cannot convert dialog result " + result + " to yes/no/cancel.")
|
|
};
|
|
}
|
|
}
|
|
}
|