Explorar o código

Maintain cursor visibility when applying saved collapse data

Brian Fiete %!s(int64=3) %!d(string=hai) anos
pai
achega
17dfc96a1f
Modificáronse 1 ficheiros con 11 adicións e 0 borrados
  1. 11 0
      IDE/src/ui/SourceEditWidgetContent.bf

+ 11 - 0
IDE/src/ui/SourceEditWidgetContent.bf

@@ -6071,6 +6071,8 @@ namespace IDE.ui
 						}
 					}
 
+					bool wasCursorVisible = IsCursorVisible();
+					bool hadCloses = false;
 					for (var collapseEntry in mOrderedCollapseEntries)
 					{
 						bool wantOpen = collapseEntry.DefaultOpen;
@@ -6078,7 +6080,16 @@ namespace IDE.ui
 							wantOpen = !wantOpen;
 
 						if (collapseEntry.mIsOpen != wantOpen)
+						{
+							if (!wantOpen)
+								hadCloses = true;
 							SetCollapseOpen(@collapseEntry.Index, wantOpen, true, true);
+						}
+					}
+					if ((wasCursorVisible) && (hadCloses))
+					{
+						UpdateCollapse(0.0f);
+						EnsureCursorVisible();
 					}
 
 					mCollapseAwaitingDB = false;