4 Commits

Author SHA1 Message Date
relikd
831159904c chore: update changelog + bump version 2025-10-27 17:41:37 +01:00
relikd
cf3e9e4b4a feat: simplify options for show-only-unread 2025-10-27 17:36:07 +01:00
relikd
184e5c0882 fix: update menu with show-only-unread 2025-10-27 17:16:31 +01:00
relikd
575d1eaec8 fix: flipped "show only unread" (closes #21) 2025-10-27 16:21:31 +01:00
7 changed files with 19 additions and 14 deletions

View File

@@ -5,9 +5,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.1] 2025-10-27 ## [1.5.1] 2025-10-27
### Fixed
- *Status Bar Menu:* Simplified options for "Show only unread"
## [1.5.0] 2025-10-27
### Added ### Added
- Notifications - *UI:* Notifications
## [1.4.1] 2025-07-29 ## [1.4.1] 2025-07-29
@@ -215,6 +220,7 @@ and this project does adhere to [Semantic Versioning](https://semver.org/spec/v2
Initial release Initial release
[1.5.1]: https://github.com/relikd/baRSS/compare/v1.5.0...v1.5.1
[1.5.0]: https://github.com/relikd/baRSS/compare/v1.4.1...v1.5.0 [1.5.0]: https://github.com/relikd/baRSS/compare/v1.4.1...v1.5.0
[1.4.1]: https://github.com/relikd/baRSS/compare/v1.4.0...v1.4.1 [1.4.1]: https://github.com/relikd/baRSS/compare/v1.4.0...v1.4.1
[1.4.0]: https://github.com/relikd/baRSS/compare/v1.3.2...v1.4.0 [1.4.0]: https://github.com/relikd/baRSS/compare/v1.3.2...v1.4.0

View File

@@ -805,7 +805,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 16711; CURRENT_PROJECT_VERSION = 16720;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = UY657LKNHJ; DEVELOPMENT_TEAM = UY657LKNHJ;
@@ -823,7 +823,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14; MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 1.5.0; MARKETING_VERSION = 1.5.1;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx; SDKROOT = macosx;
@@ -866,7 +866,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO; CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 16711; CURRENT_PROJECT_VERSION = 16720;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = UY657LKNHJ; DEVELOPMENT_TEAM = UY657LKNHJ;
@@ -881,7 +881,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14; MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 1.5.0; MARKETING_VERSION = 1.5.1;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx; SDKROOT = macosx;
}; };

View File

@@ -20,7 +20,6 @@
/** default: @c YES */ static NSString* const Pref_globalOpenUnread = @"globalOpenUnread"; /** default: @c YES */ static NSString* const Pref_globalOpenUnread = @"globalOpenUnread";
/** default: @c YES */ static NSString* const Pref_globalMarkRead = @"globalMarkRead"; /** default: @c YES */ static NSString* const Pref_globalMarkRead = @"globalMarkRead";
/** default: @c YES */ static NSString* const Pref_globalMarkUnread = @"globalMarkUnread"; /** default: @c YES */ static NSString* const Pref_globalMarkUnread = @"globalMarkUnread";
/** default: @c NO */ static NSString* const Pref_globalUnreadOnly = @"globalUnreadOnly";
/** default: @c YES */ static NSString* const Pref_globalUnreadCount = @"globalUnreadCount"; /** default: @c YES */ static NSString* const Pref_globalUnreadCount = @"globalUnreadCount";
/** default: @c YES */ static NSString* const Pref_groupOpenUnread = @"groupOpenUnread"; /** default: @c YES */ static NSString* const Pref_groupOpenUnread = @"groupOpenUnread";
/** default: @c YES */ static NSString* const Pref_groupMarkRead = @"groupMarkRead"; /** default: @c YES */ static NSString* const Pref_groupMarkRead = @"groupMarkRead";

View File

@@ -20,7 +20,7 @@ void UserPrefsInit(void) {
Pref_feedUnreadIndicator Pref_feedUnreadIndicator
]); ]);
defaultsAppend(defs, @NO, @[ defaultsAppend(defs, @NO, @[
Pref_globalUnreadOnly, Pref_groupUnreadOnly, Pref_feedUnreadOnly, Pref_groupUnreadOnly, Pref_feedUnreadOnly,
Pref_groupUnreadIndicator, Pref_groupUnreadIndicator,
Pref_feedTruncateTitle, Pref_feedTruncateTitle,
Pref_feedLimitArticles Pref_feedLimitArticles

View File

@@ -28,9 +28,9 @@
[self entry:NSLocalizedString(@"Open all unread", nil) c1:Pref_globalOpenUnread c2:Pref_groupOpenUnread c3:Pref_feedOpenUnread]; [self entry:NSLocalizedString(@"Open all unread", nil) c1:Pref_globalOpenUnread c2:Pref_groupOpenUnread c3:Pref_feedOpenUnread];
[self entry:NSLocalizedString(@"Mark all read", nil) c1:Pref_globalMarkRead c2:Pref_groupMarkRead c3:Pref_feedMarkRead]; [self entry:NSLocalizedString(@"Mark all read", nil) c1:Pref_globalMarkRead c2:Pref_groupMarkRead c3:Pref_feedMarkRead];
[self entry:NSLocalizedString(@"Mark all unread", nil) c1:Pref_globalMarkUnread c2:Pref_groupMarkUnread c3:Pref_feedMarkUnread]; [self entry:NSLocalizedString(@"Mark all unread", nil) c1:Pref_globalMarkUnread c2:Pref_groupMarkUnread c3:Pref_feedMarkUnread];
[self entry:NSLocalizedString(@"Show only unread / hide read", nil) c1:Pref_globalUnreadOnly c2:Pref_groupUnreadOnly c3:Pref_feedUnreadOnly];
[self entry:NSLocalizedString(@"Number of unread articles", nil) c1:Pref_globalUnreadCount c2:Pref_groupUnreadCount c3:Pref_feedUnreadCount]; [self entry:NSLocalizedString(@"Number of unread articles", nil) c1:Pref_globalUnreadCount c2:Pref_groupUnreadCount c3:Pref_feedUnreadCount];
[self entry:NSLocalizedString(@"Indicator for unread articles", nil) c1:nil c2:Pref_groupUnreadIndicator c3:Pref_feedUnreadIndicator]; [self entry:NSLocalizedString(@"Indicator for unread articles", nil) c1:nil c2:Pref_groupUnreadIndicator c3:Pref_feedUnreadIndicator];
[self entry:NSLocalizedString(@"Show only unread / hide read", nil) c1:nil c2:Pref_groupUnreadOnly c3:Pref_feedUnreadOnly];
[[self entry:NSLocalizedString(@"Truncate article title", nil) c1:nil c2:nil c3:Pref_feedTruncateTitle] [[self entry:NSLocalizedString(@"Truncate article title", nil) c1:nil c2:nil c3:Pref_feedTruncateTitle]
tooltip:NSLocalizedString(@"Truncate article title after 60 characters", nil)]; tooltip:NSLocalizedString(@"Truncate article title after 60 characters", nil)];
[[self entry:NSLocalizedString(@"Limit number of articles", nil) c1:nil c2:nil c3:Pref_feedLimitArticles] [[self entry:NSLocalizedString(@"Limit number of articles", nil) c1:nil c2:nil c3:Pref_feedLimitArticles]

View File

@@ -132,12 +132,12 @@
if (item) { // nil on last loop (aka main menu, see below) if (item) { // nil on last loop (aka main menu, see below)
[item.submenu setHeaderHasUnread:uct]; [item.submenu setHeaderHasUnread:uct];
[item setTitleCount:uct.unread]; [item setTitleCount:uct.unread];
item.hidden = NO;
item = item.parentItem; item = item.parentItem;
} }
} }
// call on main menu // call on main menu
[self.statusItem.mainMenu setHeaderHasUnread:itms.firstObject]; [self.statusItem.mainMenu setHeaderHasUnread:itms.firstObject];
// TODO: need to re-create groups if user chose to hide already read articles
} }
} }

View File

@@ -57,10 +57,10 @@ typedef NS_ENUM(NSInteger, MenuItemTag) {
NSUInteger unread = unreadMap[[t substringFromIndex:2]].unread; NSUInteger unread = unreadMap[[t substringFromIndex:2]].unread;
// Check user preferences to show only unread entries // Check user preferences to show only unread entries
if (unread == 0 && if (unread == 0
((fg.type == FEED && UserPrefsBool(Pref_groupUnreadOnly)) || && (fg.type == FEED || fg.type == GROUP)
(fg.type == GROUP && UserPrefsBool(Pref_globalUnreadOnly)))) { && UserPrefsBool(Pref_groupUnreadOnly)) {
return nil; item.hidden = YES;
} }
item.submenu = [[NSMenu alloc] initWithTitle:t]; item.submenu = [[NSMenu alloc] initWithTitle:t];