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