diff --git a/Application/MainWindow/CategoryList.cs b/Application/MainWindow/CategoryList.cs index f62cb49..881243d 100644 --- a/Application/MainWindow/CategoryList.cs +++ b/Application/MainWindow/CategoryList.cs @@ -93,6 +93,7 @@ public partial class MainWindow // Update the display DisplayCategory(); DisplayFeed(); + UpdateToolbarButtonState(); Settings.Default.LastCategoryID = _currentCategory?.Id.ToString() ?? string.Empty; } diff --git a/Application/MainWindow/FeedList.cs b/Application/MainWindow/FeedList.cs index f2db96d..3fc9551 100644 --- a/Application/MainWindow/FeedList.cs +++ b/Application/MainWindow/FeedList.cs @@ -16,12 +16,16 @@ public partial class MainWindow { case MouseButton.XButton1: - PreviousFeed(); + if (PreviousToolbarButton.IsEnabled) + PreviousFeed(); + break; case MouseButton.XButton2: - NextFeed(); + if (NextToolbarButton.IsEnabled) + NextFeed(); + break; } } diff --git a/Application/MainWindow/MainWindow.xaml.cs b/Application/MainWindow/MainWindow.xaml.cs index 0ec56d0..250f4a6 100644 --- a/Application/MainWindow/MainWindow.xaml.cs +++ b/Application/MainWindow/MainWindow.xaml.cs @@ -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; }