fix: scroll back to top when query changed.

This commit is contained in:
Tsanie Lily 2020-05-15 13:06:10 +08:00
parent 0085d21156
commit 2da73d5f51

View File

@ -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;