Revision: 14990 http://sourceforge.net/p/skim-app/code/14990 Author: hofman Date: 2025-03-19 17:18:01 +0000 (Wed, 19 Mar 2025) Log Message: ----------- Set toolbarStyle before setting up toolbar. Otherwise small mode may be forgotten for compact toolbars.
Modified Paths: -------------- trunk/SKMainToolbarController.m trunk/SKMainWindowController.m Modified: trunk/SKMainToolbarController.m =================================================================== --- trunk/SKMainToolbarController.m 2025-03-19 15:07:41 UTC (rev 14989) +++ trunk/SKMainToolbarController.m 2025-03-19 17:18:01 UTC (rev 14990) @@ -117,8 +117,6 @@ #define SKDocumentToolbarPrintItemIdentifier @"SKDocumentToolbarPrintItemIdentifier" #define SKDocumentToolbarCustomizeItemIdentifier @"SKDocumentToolbarCustomizeItemIdentifier" -#define SKToolbarPlacementKey @"SKToolbarPlacement" - static NSString *noteToolImageNames[] = {@"ToolbarTextNoteMenu", @"ToolbarAnchoredNoteMenu", @"ToolbarCircleNoteMenu", @"ToolbarSquareNoteMenu", @"ToolbarHighlightNoteMenu", @"ToolbarUnderlineNoteMenu", @"ToolbarStrikeOutNoteMenu", @"ToolbarLineNoteMenu", @"ToolbarInkNoteMenu"}; static NSString *addNoteToolImageNames[] = {@"ToolbarAddTextNoteMenu", @"ToolbarAddAnchoredNoteMenu", @"ToolbarAddCircleNoteMenu", @"ToolbarAddSquareNoteMenu", @"ToolbarAddHighlightNoteMenu", @"ToolbarAddUnderlineNoteMenu", @"ToolbarAddStrikeOutNoteMenu", @"ToolbarAddLineNoteMenu", @"ToolbarAddInkNoteMenu"}; @@ -168,10 +166,12 @@ [self view]; // Create a new toolbar instance, and attach it to our document window - NSToolbar *toolbar; - if (([[NSUserDefaults standardUserDefaults] integerForKey:SKToolbarPlacementKey] & 1)) - toolbar = [[NSToolbar alloc] initWithIdentifier:SKDocumentToolbarIdentifier]; - else + NSToolbar *toolbar = nil; + if (@available(macOS 11.0, *)) { + if ([[mainController window] toolbarStyle] == NSWindowToolbarStyleUnifiedCompact) + toolbar = [[NSToolbar alloc] initWithIdentifier:SKDocumentToolbarIdentifier]; + } + if (toolbar == nil) toolbar = [[SKToolbar alloc] initWithIdentifier:SKDocumentToolbarIdentifier]; // Set up toolbar properties: Allow customization, give a default display mode, and remember state in user defaults Modified: trunk/SKMainWindowController.m =================================================================== --- trunk/SKMainWindowController.m 2025-03-19 15:07:41 UTC (rev 14989) +++ trunk/SKMainWindowController.m 2025-03-19 17:18:01 UTC (rev 14990) @@ -324,11 +324,6 @@ pdfView = [[SKPDFView alloc] initWithFrame:[pdfContentView bounds]]; [pdfView setTranslatesAutoresizingMaskIntoConstraints:NO]; - // Set up the tool bar - toolbarController = [[SKMainToolbarController alloc] init]; - [toolbarController setMainController:self]; - [toolbarController setupToolbar]; - // Set up the window enum { SKTBCompact = 1<<0, SKTBBesideTitle = 1<<1, SKTBReplacingTitle = 1<<2}; @@ -335,8 +330,15 @@ // hidden pref for toolbar position relative to title, 0-7 // SKTBBesideTitle | SKTBReplacingTitle = tab bar replacing title NSInteger placement = [[NSUserDefaults standardUserDefaults] integerForKey:SKToolbarPlacementKey]; + if (@available(macOS 11.0, *)) + [window setToolbarStyle:placement <= SKTBCompact ? NSWindowToolbarStyleExpanded : (placement & SKTBCompact) ? NSWindowToolbarStyleUnifiedCompact : NSWindowToolbarStyleUnified]; + + // Set up the tool bar + toolbarController = [[SKMainToolbarController alloc] init]; + [toolbarController setMainController:self]; + [toolbarController setupToolbar]; + if (@available(macOS 11.0, *)) { - [window setToolbarStyle:placement <= SKTBCompact ? NSWindowToolbarStyleExpanded : (placement & SKTBCompact) ? NSWindowToolbarStyleUnifiedCompact : NSWindowToolbarStyleUnified]; if (placement == SKTBCompact) [[window toolbar] setDisplayMode:NSToolbarDisplayModeIconOnly]; } else if ((placement & SKTBCompact)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit