mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-29 17:28:01 +01:00
Fixes #831. Ensures ListView's SelectedItemChanged event always been invoked on enter.
This commit is contained in:
@@ -516,7 +516,7 @@ namespace Terminal.Gui {
|
||||
/// <returns></returns>
|
||||
public virtual bool OnSelectedChanged ()
|
||||
{
|
||||
if (selected != lastSelectedItem) {
|
||||
if (selected != lastSelectedItem && source?.Count > 0) {
|
||||
var value = source.ToList () [selected];
|
||||
SelectedItemChanged?.Invoke (new ListViewItemEventArgs (selected, value));
|
||||
lastSelectedItem = selected;
|
||||
@@ -550,10 +550,10 @@ namespace Terminal.Gui {
|
||||
}
|
||||
|
||||
///<inheritdoc/>
|
||||
public override bool OnMouseEnter (MouseEvent mouseEvent)
|
||||
public override bool OnLeave (View view)
|
||||
{
|
||||
if (source?.Count > 0 && selected >= 0 && lastSelectedItem == -1) {
|
||||
lastSelectedItem = selected;
|
||||
if (lastSelectedItem > -1) {
|
||||
lastSelectedItem = -1;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -573,7 +573,7 @@ namespace Terminal.Gui {
|
||||
public override bool MouseEvent(MouseEvent me)
|
||||
{
|
||||
if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) &&
|
||||
me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp)
|
||||
me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp && !CanFocus)
|
||||
return false;
|
||||
|
||||
if (!HasFocus)
|
||||
|
||||
Reference in New Issue
Block a user