fix: scroll back to top when query changed.
This commit is contained in:
		| @@ -269,13 +269,8 @@ namespace Pixiview.Illust | ||||
|                 { | ||||
|                     ToggleFilterPanel(false); | ||||
|                 } | ||||
|                 // release | ||||
|                 ReleaseCollection(); | ||||
|                 previousEnabled = false; | ||||
|                 dateEnabled = false; | ||||
|                 nextEnabled = false; | ||||
|                 queryDate = date; | ||||
|                 StartLoad(true); | ||||
|                 PrepareLoad(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @@ -299,13 +294,8 @@ namespace Pixiview.Illust | ||||
|                 // first load or loading | ||||
|                 return; | ||||
|             } | ||||
|             // release | ||||
|             ReleaseCollection(); | ||||
|             previousEnabled = false; | ||||
|             dateEnabled = false; | ||||
|             nextEnabled = false; | ||||
|             queryDate = e.NewDate.ToString("yyyyMMdd"); | ||||
|             StartLoad(true); | ||||
|             PrepareLoad(); | ||||
|         } | ||||
|  | ||||
|         private void TapGestureRecognizer_Tapped(object sender, EventArgs e) | ||||
| @@ -351,29 +341,34 @@ namespace Pixiview.Illust | ||||
|             var query = QueryKey; | ||||
|             ToggleFilterPanel(false); | ||||
|  | ||||
|             bool refresh = false; | ||||
|             lock (sync) | ||||
|             { | ||||
|                 if (IsLoading) | ||||
|                 { | ||||
|                     return; | ||||
|                 } | ||||
|                 //if (lastQueryKey != query) | ||||
|                 { | ||||
|                     // release | ||||
|                     ReleaseCollection(); | ||||
|                     // query changed. | ||||
|                     lastQueryKey = query; | ||||
|                     refresh = true; | ||||
|                     App.DebugPrint($"query changed: {query}"); | ||||
|                 } | ||||
|             } | ||||
|             if (refresh) | ||||
|             //if (lastQueryKey != query) | ||||
|             { | ||||
|                 StartLoad(true); | ||||
|                 // query changed. | ||||
|                 lastQueryKey = query; | ||||
|                 App.DebugPrint($"query changed: {query}"); | ||||
|                 PrepareLoad(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private async void PrepareLoad() | ||||
|         { | ||||
|             await scrollView.ScrollToAsync(0, -topOffset, true); | ||||
|             // release | ||||
|             ReleaseCollection(); | ||||
|             previousEnabled = false; | ||||
|             dateEnabled = false; | ||||
|             nextEnabled = false; | ||||
|             ToolbarCommand.ChangeCanExecute(); | ||||
|             StartLoad(true); | ||||
|         } | ||||
|  | ||||
|         private void ReleaseCollection() | ||||
|         { | ||||
|             var collection = IllustCollection; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user