mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
Ensure tab get focus if the container can't get focus.
This commit is contained in:
@@ -142,7 +142,7 @@ public class TabView : View
|
||||
|
||||
if (old != _selectedTab)
|
||||
{
|
||||
if (_selectedTabHasFocus || !_containerView.CanFocus)
|
||||
if (TabCanSetFocus ())
|
||||
{
|
||||
SelectedTab?.SetFocus ();
|
||||
}
|
||||
@@ -153,6 +153,11 @@ public class TabView : View
|
||||
}
|
||||
}
|
||||
|
||||
private bool TabCanSetFocus ()
|
||||
{
|
||||
return IsInitialized && SelectedTab is { } && (_selectedTabHasFocus || !_containerView.CanFocus);
|
||||
}
|
||||
|
||||
private void ContainerViewCanFocus (object sender, EventArgs eventArgs)
|
||||
{
|
||||
_containerView.CanFocus = _containerView.Subviews.Count (v => v.CanFocus) > 0;
|
||||
@@ -509,7 +514,7 @@ public class TabView : View
|
||||
i += tabTextWidth + 1;
|
||||
}
|
||||
|
||||
if (_selectedTabHasFocus)
|
||||
if (TabCanSetFocus ())
|
||||
{
|
||||
SelectedTab?.SetFocus ();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user