mirror of
https://github.com/ckaczor/FeedCenter.git
synced 2026-02-16 10:58:31 -05:00
Make feed read on error dialog async and preserve selection
This commit is contained in:
@@ -105,18 +105,27 @@ namespace FeedCenter
|
|||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleRefreshCurrentButtonClick(object sender, RoutedEventArgs e)
|
private async void HandleRefreshCurrentButtonClick(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
|
IsEnabled = false;
|
||||||
Mouse.OverrideCursor = Cursors.Wait;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
|
||||||
var feed = (Feed) FeedDataGrid.SelectedItem;
|
var feed = (Feed) FeedDataGrid.SelectedItem;
|
||||||
feed.Read(_database, true);
|
await feed.ReadAsync(_database, true);
|
||||||
|
|
||||||
|
var selectedIndex = FeedDataGrid.SelectedIndex;
|
||||||
|
|
||||||
_collectionViewSource.View.Refresh();
|
_collectionViewSource.View.Refresh();
|
||||||
|
|
||||||
|
if (selectedIndex >= FeedDataGrid.Items.Count)
|
||||||
|
FeedDataGrid.SelectedIndex = FeedDataGrid.Items.Count - 1;
|
||||||
|
else
|
||||||
|
FeedDataGrid.SelectedIndex = selectedIndex;
|
||||||
|
|
||||||
SetFeedButtonStates();
|
SetFeedButtonStates();
|
||||||
|
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
|
IsEnabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using System.Linq;
|
|||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace FeedCenter
|
namespace FeedCenter
|
||||||
{
|
{
|
||||||
@@ -93,6 +94,11 @@ namespace FeedCenter
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<FeedReadResult> ReadAsync(FeedCenterEntities database, bool forceRead = false)
|
||||||
|
{
|
||||||
|
return await Task.Run(() => Read(database, forceRead));
|
||||||
|
}
|
||||||
|
|
||||||
private Tuple<FeedReadResult, string> RetrieveFeed()
|
private Tuple<FeedReadResult, string> RetrieveFeed()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -320,7 +326,7 @@ namespace FeedCenter
|
|||||||
var lastReadResult = LastReadResult;
|
var lastReadResult = LastReadResult;
|
||||||
|
|
||||||
// Build the name of the resource using the enum name and the value
|
// Build the name of the resource using the enum name and the value
|
||||||
var resourceName = $"{typeof (FeedReadResult).Name}_{lastReadResult}";
|
var resourceName = $"{typeof(FeedReadResult).Name}_{lastReadResult}";
|
||||||
|
|
||||||
// Try to get the value from the resources
|
// Try to get the value from the resources
|
||||||
var resourceValue = Properties.Resources.ResourceManager.GetString(resourceName);
|
var resourceValue = Properties.Resources.ResourceManager.GetString(resourceName);
|
||||||
|
|||||||
Reference in New Issue
Block a user