MultiToggleButton minor updates

- updating localization
- adding AllowEmptySelection property
- updating test project
This commit is contained in:
FlorianDahn
2021-03-01 01:48:17 +01:00
parent 6a556af070
commit 5b67f334ff
4 changed files with 39 additions and 10 deletions
@@ -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;
}
+4
View File
@@ -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";