From f121bf643234a80eec922bc29560e33e79a94690 Mon Sep 17 00:00:00 2001 From: Damiano Galassi Date: Sat, 7 Jun 2025 09:26:10 +0200 Subject: [PATCH] MacGui: add a menu item to toggle the queue sidebar --- macosx/Base.lproj/MainMenu.xib | 6 ++++++ macosx/HBQueueController.m | 32 +++++++++++++++++++------------- macosx/HBQueueToolbarDelegate.m | 18 ++++++++++-------- 3 files changed, 35 insertions(+), 21 deletions(-) diff --git a/macosx/Base.lproj/MainMenu.xib b/macosx/Base.lproj/MainMenu.xib index ee6634c2b..0cc9f7ec1 100644 --- a/macosx/Base.lproj/MainMenu.xib +++ b/macosx/Base.lproj/MainMenu.xib @@ -339,6 +339,12 @@ + + + + + + diff --git a/macosx/HBQueueController.m b/macosx/HBQueueController.m index 658b9d07a..afe365224 100644 --- a/macosx/HBQueueController.m +++ b/macosx/HBQueueController.m @@ -226,8 +226,7 @@ return self.queue.canEncode; } } - - if (action == @selector(togglePauseResume:)) + else if (action == @selector(togglePauseResume:)) { if (self.queue.canPause) { @@ -237,21 +236,30 @@ { menuItem.title = NSLocalizedString(@"Resume Encoding", @"Queue -> pause/resume men"); } - return self.queue.canPause || self.queue.canResume; } - - if (action == @selector(removeAll:) || action == @selector(resetAll:)) + else if (action == @selector(toggleDetails:)) + { + NSSplitViewItem *detailsItem = self.splitViewController.splitViewItems[1]; + if (detailsItem.isCollapsed) + { + menuItem.title = NSLocalizedString(@"Show Sidebar", @"Queue -> sidebar menu"); + } + else + { + menuItem.title = NSLocalizedString(@"Hide Sidebar", @"Queue -> sidebar menu"); + } + return YES; + } + else if (action == @selector(removeAll:) || action == @selector(resetAll:)) { return self.queue.items.count > 0; } - - if (action == @selector(resetFailed:)) + else if (action == @selector(resetFailed:)) { return self.queue.failedItemsCount > 0; } - - if (action == @selector(removeCompleted:)) + else if (action == @selector(removeCompleted:)) { return self.queue.completedItemsCount > 0; } @@ -265,13 +273,11 @@ { return self.queue.isEncoding || self.queue.canEncode; } - - if (action == @selector(togglePauseResume:)) + else if (action == @selector(togglePauseResume:)) { return self.queue.canPause || self.queue.canResume; } - - if (action == @selector(toggleDetails:) || + else if (action == @selector(toggleDetails:) || action == @selector(toggleQuickLook:)) { return YES; diff --git a/macosx/HBQueueToolbarDelegate.m b/macosx/HBQueueToolbarDelegate.m index a65deeaf7..47764cdd7 100644 --- a/macosx/HBQueueToolbarDelegate.m +++ b/macosx/HBQueueToolbarDelegate.m @@ -192,14 +192,16 @@ } else if ([itemIdentifier isEqualToString:TOOLBAR_DETAILS]) { - return [NSToolbarItem HB_toolbarItemWithIdentifier:itemIdentifier - label:NSLocalizedString(@"Details", @"Queue Window Details Toolbar Item") - paletteLabel:NSLocalizedString(@"Details", @"Queue Window Details Toolbar Item") - symbolName:@"sidebar.right" - image:@"details" - style:HBToolbarItemStyleBordered | HBToolbarItemStyleButton - target:self.target - action:@selector(toggleDetails:)]; + NSToolbarItem *item = [NSToolbarItem HB_toolbarItemWithIdentifier:itemIdentifier + label:NSLocalizedString(@"Details", @"Queue Window Details Toolbar Item") + paletteLabel:NSLocalizedString(@"Details", @"Queue Window Details Toolbar Item") + symbolName:@"sidebar.right" + image:@"details" + style:HBToolbarItemStyleBordered | HBToolbarItemStyleButton + target:self.target + action:@selector(toggleDetails:)]; + item.toolTip = NSLocalizedString(@"Toggle details sidebar", @"Queue Window Details Toolbar Item"); + return item; } else if ([itemIdentifier isEqualToString:TOOLBAR_QUICKLOOK]) {