mirror of
https://github.com/cyanfish/naps2.git
synced 2024-10-26 09:01:36 +03:00
WinForms: Fix command text changes propagation
This commit is contained in:
parent
fbb4f31963
commit
5eab26dcad
@ -206,8 +206,13 @@ public class WinFormsDesktopForm : DesktopForm
|
|||||||
|
|
||||||
private wf.ToolStripItem ApplyCommand(wf.ToolStripItem item, Command command)
|
private wf.ToolStripItem ApplyCommand(wf.ToolStripItem item, Command command)
|
||||||
{
|
{
|
||||||
|
void SetItemText() => item.Text = item is wf.ToolStripMenuItem ? command.MenuText : command.ToolBarText;
|
||||||
item.Image = command.Image.ToSD();
|
item.Image = command.Image.ToSD();
|
||||||
item.Text = item is wf.ToolStripMenuItem ? command.MenuText : command.ToolBarText;
|
SetItemText();
|
||||||
|
if (command is ActionCommand actionCommand)
|
||||||
|
{
|
||||||
|
actionCommand.TextChanged += (_, _) => SetItemText();
|
||||||
|
}
|
||||||
if (item is wf.ToolStripMenuItem menuItem)
|
if (item is wf.ToolStripMenuItem menuItem)
|
||||||
{
|
{
|
||||||
menuItem.ShortcutKeys = command.Shortcut.ToSWF();
|
menuItem.ShortcutKeys = command.Shortcut.ToSWF();
|
||||||
|
@ -23,6 +23,9 @@ public class ActionCommand : Command
|
|||||||
{
|
{
|
||||||
ToolBarText = value;
|
ToolBarText = value;
|
||||||
MenuText = value;
|
MenuText = value;
|
||||||
|
TextChanged?.Invoke(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public event EventHandler? TextChanged;
|
||||||
}
|
}
|
@ -424,16 +424,15 @@ public abstract class DesktopForm : EtoFormBase
|
|||||||
Commands.ReorderMenu.Enabled =
|
Commands.ReorderMenu.Enabled =
|
||||||
Commands.EmailPdf.Enabled = Commands.Print.Enabled = ImageList.Images.Any();
|
Commands.EmailPdf.Enabled = Commands.Print.Enabled = ImageList.Images.Any();
|
||||||
|
|
||||||
// TODO: Changing the text on the command doesn't actually propagate to the widget
|
|
||||||
// "All" dropdown items
|
// "All" dropdown items
|
||||||
Commands.SaveAllPdf.MenuText = Commands.SaveAllImages.MenuText = Commands.EmailAll.MenuText =
|
Commands.SaveAllPdf.Text = Commands.SaveAllImages.Text = Commands.EmailAll.Text =
|
||||||
Commands.ReverseAll.MenuText = string.Format(MiscResources.AllCount, ImageList.Images.Count);
|
Commands.ReverseAll.Text = string.Format(MiscResources.AllCount, ImageList.Images.Count);
|
||||||
Commands.SaveAllPdf.Enabled = Commands.SaveAllImages.Enabled = Commands.EmailAll.Enabled =
|
Commands.SaveAllPdf.Enabled = Commands.SaveAllImages.Enabled = Commands.EmailAll.Enabled =
|
||||||
Commands.ReverseAll.Enabled = ImageList.Images.Any();
|
Commands.ReverseAll.Enabled = ImageList.Images.Any();
|
||||||
|
|
||||||
// "Selected" dropdown items
|
// "Selected" dropdown items
|
||||||
Commands.SaveSelectedPdf.MenuText = Commands.SaveSelectedImages.MenuText = Commands.EmailSelected.MenuText =
|
Commands.SaveSelectedPdf.Text = Commands.SaveSelectedImages.Text = Commands.EmailSelected.Text =
|
||||||
Commands.ReverseSelected.MenuText = string.Format(MiscResources.SelectedCount, ImageList.Selection.Count);
|
Commands.ReverseSelected.Text = string.Format(MiscResources.SelectedCount, ImageList.Selection.Count);
|
||||||
Commands.SaveSelectedPdf.Enabled = Commands.SaveSelectedImages.Enabled = Commands.EmailSelected.Enabled =
|
Commands.SaveSelectedPdf.Enabled = Commands.SaveSelectedImages.Enabled = Commands.EmailSelected.Enabled =
|
||||||
Commands.ReverseSelected.Enabled = ImageList.Selection.Any();
|
Commands.ReverseSelected.Enabled = ImageList.Selection.Any();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user