You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.5 KiB
50 lines
1.5 KiB
using DiscordChatExporter.Gui.ViewModels.Framework;
|
|
|
|
namespace DiscordChatExporter.Gui.ViewModels.Dialogs;
|
|
|
|
public class MessageBoxViewModel : DialogScreen
|
|
{
|
|
public string? Title { get; set; }
|
|
|
|
public string? Message { get; set; }
|
|
|
|
public bool IsOkButtonVisible { get; set; } = true;
|
|
|
|
public string? OkButtonText { get; set; }
|
|
|
|
public bool IsCancelButtonVisible { get; set; }
|
|
|
|
public string? CancelButtonText { get; set; }
|
|
|
|
public int ButtonsCount => (IsOkButtonVisible ? 1 : 0) + (IsCancelButtonVisible ? 1 : 0);
|
|
}
|
|
|
|
public static class MessageBoxViewModelExtensions
|
|
{
|
|
public static MessageBoxViewModel CreateMessageBoxViewModel(
|
|
this IViewModelFactory factory,
|
|
string title,
|
|
string message,
|
|
string? okButtonText,
|
|
string? cancelButtonText
|
|
)
|
|
{
|
|
var viewModel = factory.CreateMessageBoxViewModel();
|
|
|
|
viewModel.Title = title;
|
|
viewModel.Message = message;
|
|
viewModel.IsOkButtonVisible = !string.IsNullOrWhiteSpace(okButtonText);
|
|
viewModel.OkButtonText = okButtonText;
|
|
viewModel.IsCancelButtonVisible = !string.IsNullOrWhiteSpace(cancelButtonText);
|
|
viewModel.CancelButtonText = cancelButtonText;
|
|
|
|
return viewModel;
|
|
}
|
|
|
|
public static MessageBoxViewModel CreateMessageBoxViewModel(
|
|
this IViewModelFactory factory,
|
|
string title,
|
|
string message
|
|
) => factory.CreateMessageBoxViewModel(title, message, "CLOSE", null);
|
|
}
|