Fix toolbar button handling

This commit is contained in:
2023-04-26 22:14:49 -04:00
parent 7638d9c2c7
commit ac7c20e6bf
3 changed files with 9 additions and 4 deletions

View File

@@ -93,6 +93,7 @@ public partial class MainWindow
// Update the display
DisplayCategory();
DisplayFeed();
UpdateToolbarButtonState();
Settings.Default.LastCategoryID = _currentCategory?.Id.ToString() ?? string.Empty;
}

View File

@@ -16,12 +16,16 @@ public partial class MainWindow
{
case MouseButton.XButton1:
if (PreviousToolbarButton.IsEnabled)
PreviousFeed();
break;
case MouseButton.XButton2:
if (NextToolbarButton.IsEnabled)
NextFeed();
break;
}
}

View File

@@ -188,7 +188,7 @@ public partial class MainWindow : IDisposable
private void UpdateToolbarButtonState()
{
// Cache the feed count to save (a little) time
var feedCount = _feedList?.Count() ?? 0;
var feedCount = Settings.Default.DisplayEmptyFeeds ? _feedList.Count() : _feedList.Count(x => x.Items.Any(y => !y.BeenRead));
// Set button states
PreviousToolbarButton.IsEnabled = feedCount > 1;
@@ -198,7 +198,7 @@ public partial class MainWindow : IDisposable
OpenAllToolbarButton.IsEnabled = feedCount > 0;
MarkReadToolbarButton.IsEnabled = feedCount > 0;
FeedLabel.Visibility = feedCount == 0 ? Visibility.Hidden : Visibility.Visible;
FeedButton.Visibility = feedCount > 1 ? Visibility.Hidden : Visibility.Visible;
FeedButton.Visibility = feedCount == 0 ? Visibility.Hidden : Visibility.Visible;
CategoryGrid.Visibility = _database.Categories.Count > 1 ? Visibility.Visible : Visibility.Collapsed;
}