1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 12:17:44 +00:00

MacPDF: Introduce MacPDFWindowController

I'd like to add a sidebar, and NSSplitViewItem apparently isn't
accessibly in .xib files without contortions. So I want to move
to creating the window in code, and this is a step towards that.

No behavior change.
This commit is contained in:
Nico Weber 2023-10-02 19:45:38 -04:00 committed by Andreas Kling
parent d6dff83397
commit 67f6baead0
4 changed files with 45 additions and 2 deletions

View file

@ -19,6 +19,7 @@ add_executable(MacPDF MACOSX_BUNDLE
AppDelegate.mm AppDelegate.mm
MacPDFDocument.mm MacPDFDocument.mm
MacPDFView.mm MacPDFView.mm
MacPDFWindowController.mm
) )
target_compile_options(MacPDF PRIVATE target_compile_options(MacPDF PRIVATE
-fobjc-arc -fobjc-arc

View file

@ -8,6 +8,7 @@
#import <UniformTypeIdentifiers/UniformTypeIdentifiers.h> #import <UniformTypeIdentifiers/UniformTypeIdentifiers.h>
#import "MacPDFWindowController.h"
#include <LibPDF/Document.h> #include <LibPDF/Document.h>
@interface MacPDFDocument () @interface MacPDFDocument ()
@ -71,9 +72,9 @@
} }
} }
- (NSString*)windowNibName - (void)makeWindowControllers
{ {
return @"MacPDFDocument"; [self addWindowController:[[MacPDFWindowController alloc] initWithDocument:self]];
} }
- (void)windowControllerDidLoadNib:(NSWindowController*)aController - (void)windowControllerDidLoadNib:(NSWindowController*)aController

View file

@ -0,0 +1,21 @@
/*
* Copyright (c) 2023, Nico Weber <thakis@chromium.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "CocoaWrapper.h"
NS_ASSUME_NONNULL_BEGIN
@class MacPDFDocument;
@interface MacPDFWindowController : NSWindowController
- (instancetype)initWithDocument:(MacPDFDocument*)document;
@end
NS_ASSUME_NONNULL_END

View file

@ -0,0 +1,20 @@
/*
* Copyright (c) 2023, Nico Weber <thakis@chromium.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#import "MacPDFWindowController.h"
@implementation MacPDFWindowController
- (instancetype)initWithDocument:(MacPDFDocument*)document
{
if (self = [super initWithWindowNibName:@"MacPDFDocument" owner:self]; !self)
return nil;
return self;
}
@end