diff --git a/Terminal.Gui/Views/TreeView.cs b/Terminal.Gui/Views/TreeView.cs
index 5067295fb..4f8692d74 100644
--- a/Terminal.Gui/Views/TreeView.cs
+++ b/Terminal.Gui/Views/TreeView.cs
@@ -219,19 +219,23 @@ namespace Terminal.Gui {
///
public AspectGetterDelegate AspectGetter { get; set; } = (o) => o.ToString () ?? "";
- CursorVisibility desiredCursorVisibility = CursorVisibility.Default;
+ CursorVisibility desiredCursorVisibility = CursorVisibility.Invisible;
///
- /// Get / Set the wished cursor when the tree is focused
+ /// Get / Set the wished cursor when the tree is focused.
+ /// Only applies when is true.
+ /// Defaults to
///
public CursorVisibility DesiredCursorVisibility {
- get => desiredCursorVisibility;
+ get {
+ return MultiSelect ? desiredCursorVisibility : CursorVisibility.Invisible;
+ }
set {
- if (desiredCursorVisibility != value && HasFocus) {
- Application.Driver.SetCursorVisibility (value);
- }
-
desiredCursorVisibility = value;
+
+ if (desiredCursorVisibility != value && HasFocus) {
+ Application.Driver.SetCursorVisibility (DesiredCursorVisibility);
+ }
}
}
diff --git a/UICatalog/Scenarios/TreeViewFileSystem.cs b/UICatalog/Scenarios/TreeViewFileSystem.cs
index 3414c2fe5..57fa181c7 100644
--- a/UICatalog/Scenarios/TreeViewFileSystem.cs
+++ b/UICatalog/Scenarios/TreeViewFileSystem.cs
@@ -26,6 +26,7 @@ namespace UICatalog.Scenarios {
private MenuItem miLeaveLastRow;
private MenuItem miCustomColors;
private MenuItem miCursor;
+ private MenuItem miMultiSelect;
private Terminal.Gui.Attribute green;
private Terminal.Gui.Attribute red;
@@ -55,7 +56,8 @@ namespace UICatalog.Scenarios {
miFullPaths = new MenuItem ("_FullPaths", "", () => SetFullName()){Checked = false, CheckType = MenuItemCheckStyle.Checked},
miLeaveLastRow = new MenuItem ("_LeaveLastRow", "", () => SetLeaveLastRow()){Checked = true, CheckType = MenuItemCheckStyle.Checked},
miCustomColors = new MenuItem ("C_ustomColors", "", () => SetCustomColors()){Checked = false, CheckType = MenuItemCheckStyle.Checked},
- miCursor = new MenuItem ("Curs_or", "", () => SetCursor()){Checked = true, CheckType = MenuItemCheckStyle.Checked},
+ miCursor = new MenuItem ("Curs_or (MultiSelect only)", "", () => SetCursor()){Checked = false, CheckType = MenuItemCheckStyle.Checked},
+ miMultiSelect = new MenuItem ("_MultiSelect", "", () => SetMultiSelect()){Checked = true, CheckType = MenuItemCheckStyle.Checked},
}),
});
Top.Add (menu);
@@ -276,6 +278,12 @@ namespace UICatalog.Scenarios {
miCursor.Checked = !miCursor.Checked;
treeViewFiles.DesiredCursorVisibility = miCursor.Checked ? CursorVisibility.Default : CursorVisibility.Invisible;
}
+ private void SetMultiSelect()
+ {
+ miMultiSelect.Checked = !miMultiSelect.Checked;
+ treeViewFiles.MultiSelect = miMultiSelect.Checked;
+ }
+
private void SetCustomColors()
{