MultiToggleButton minor updates
- updating localization - adding AllowEmptySelection property - updating test project
This commit is contained in:
@@ -11,14 +11,20 @@ namespace TelegramBotBase.Controls.Inline
|
||||
{
|
||||
public class MultiToggleButton : ControlBase
|
||||
{
|
||||
/// <summary>
|
||||
/// This contains the selected icon.
|
||||
/// </summary>
|
||||
public String SelectedIcon { get; set; } = Localizations.Default.Language["MultiToggleButton_SelectedIcon"];
|
||||
|
||||
//public String UncheckedIcon { get; set; } = Localizations.Default.Language["ToggleButton_OffIcon"];
|
||||
/// <summary>
|
||||
/// This will appear on the ConfirmAction message (if not empty)
|
||||
/// </summary>
|
||||
public String ChangedString { get; set; } = Localizations.Default.Language["MultiToggleButton_Changed"];
|
||||
|
||||
public String CheckedIcon { get; set; } = "✅";
|
||||
|
||||
public String ChangedString { get; set; } = Localizations.Default.Language["ToggleButton_Changed"];
|
||||
|
||||
public String Title { get; set; } = Localizations.Default.Language["ToggleButton_Title"];
|
||||
/// <summary>
|
||||
/// This holds the title of the control.
|
||||
/// </summary>
|
||||
public String Title { get; set; } = Localizations.Default.Language["MultiToggleButton_Title"];
|
||||
|
||||
public int? MessageId { get; set; }
|
||||
|
||||
@@ -28,8 +34,16 @@ namespace TelegramBotBase.Controls.Inline
|
||||
|
||||
private readonly EventHandlerList Events = new EventHandlerList();
|
||||
|
||||
/// <summary>
|
||||
/// This will hold all options available.
|
||||
/// </summary>
|
||||
public List<ButtonBase> Options { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// This will set if an empty selection (null) is allowed.
|
||||
/// </summary>
|
||||
public bool AllowEmptySelection { get; set; } = true;
|
||||
|
||||
|
||||
public MultiToggleButton()
|
||||
{
|
||||
@@ -79,7 +93,7 @@ namespace TelegramBotBase.Controls.Inline
|
||||
this.SelectedOption = this.Options[index];
|
||||
OnToggled(new EventArgs());
|
||||
}
|
||||
else
|
||||
else if(this.AllowEmptySelection)
|
||||
{
|
||||
this.SelectedOption = null;
|
||||
OnToggled(new EventArgs());
|
||||
@@ -114,7 +128,7 @@ namespace TelegramBotBase.Controls.Inline
|
||||
var index = this.Options.IndexOf(o);
|
||||
if (o == this.SelectedOption)
|
||||
{
|
||||
lst.Add(new ButtonBase(CheckedIcon + " " + o.Text, "check$" + index));
|
||||
lst.Add(new ButtonBase(SelectedIcon + " " + o.Text, "check$" + index));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,10 @@ namespace TelegramBotBase.Localizations
|
||||
Values["ToggleButton_OnIcon"] = "⚫";
|
||||
Values["ToggleButton_OffIcon"] = "⚪";
|
||||
Values["ToggleButton_Title"] = "Toggle";
|
||||
Values["ToggleButton_Changed"] = "Choosen";
|
||||
Values["MultiToggleButton_SelectedIcon"] = "✅";
|
||||
Values["MultiToggleButton_Title"] = "Multi-Toggle";
|
||||
Values["MultiToggleButton_Changed"] = "Choosen";
|
||||
Values["PromptDialog_Back"] = "Back";
|
||||
Values["ToggleButton_Changed"] = "Setting changed";
|
||||
}
|
||||
|
||||
@@ -36,6 +36,10 @@ namespace TelegramBotBase.Localizations
|
||||
Values["ToggleButton_OnIcon"] = "⚫";
|
||||
Values["ToggleButton_OffIcon"] = "⚪";
|
||||
Values["ToggleButton_Title"] = "Schalter";
|
||||
Values["ToggleButton_Changed"] = "Ausgewählt";
|
||||
Values["MultiToggleButton_SelectedIcon"] = "✅";
|
||||
Values["MultiToggleButton_Title"] = "Mehrfach-Schalter";
|
||||
Values["MultiToggleButton_Changed"] = "Ausgewählt";
|
||||
Values["PromptDialog_Back"] = "Zurück";
|
||||
Values["ToggleButton_Changed"] = "Einstellung geändert";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user