Revision: 14719
          http://sourceforge.net/p/skim-app/code/14719
Author:   hofman
Date:     2024-11-18 15:24:03 +0000 (Mon, 18 Nov 2024)
Log Message:
-----------
No singleton for notes panel controller

Modified Paths:
--------------
    trunk/SKApplicationController.h
    trunk/SKApplicationController.m
    trunk/SKNotesPanelController.h
    trunk/SKNotesPanelController.m

Modified: trunk/SKApplicationController.h
===================================================================
--- trunk/SKApplicationController.h     2024-11-18 15:18:02 UTC (rev 14718)
+++ trunk/SKApplicationController.h     2024-11-18 15:24:03 UTC (rev 14719)
@@ -44,7 +44,7 @@
 
 extern NSString *SKPageLabelsChangedNotification;
 
-@class SKBookmark, SKDownload, SKPreferenceController, 
SKReleaseNotesController, SKInfoWindowController, SKDownloadController;
+@class SKBookmark, SKDownload, SKPreferenceController, 
SKReleaseNotesController, SKInfoWindowController, SKNotesPanelController, 
SKDownloadController;
 
 @interface SKApplicationController : NSObject <SKApplicationDelegate, 
HIDRemoteDelegate, NSMenuDelegate> {
     NSMenu *noteColumnsMenu;
@@ -56,6 +56,7 @@
     SKPreferenceController *preferenceController;
     SKReleaseNotesController *releaseNotesController;
     SKInfoWindowController *infoWindowController;
+    SKNotesPanelController *notesPanelController;
     SKDownloadController *downloadController;
 }
 

Modified: trunk/SKApplicationController.m
===================================================================
--- trunk/SKApplicationController.m     2024-11-18 15:18:02 UTC (rev 14718)
+++ trunk/SKApplicationController.m     2024-11-18 15:24:03 UTC (rev 14719)
@@ -327,7 +327,9 @@
 }
 
 - (IBAction)orderFrontNotesPanel:(id)sender {
-    NSWindow *window = [[SKNotesPanelController sharedController] window];
+    if (notesPanelController == nil)
+        notesPanelController = [[SKNotesPanelController alloc] init];
+    NSWindow *window = [notesPanelController window];
     if ([window isVisible])
         [window orderOut:sender];
     else
@@ -377,7 +379,7 @@
             [menuItem setTitle:NSLocalizedString(@"Show Lines", @"Menu item 
title")];
         return YES;
     } else if (action == @selector(orderFrontNotesPanel:)) {
-        if ([SKNotesPanelController sharedControllerExists] && 
[[[SKNotesPanelController sharedController] window] isVisible])
+        if ( [[notesPanelController window] isVisible])
             [menuItem setTitle:NSLocalizedString(@"Hide Note Type", @"Menu 
item title")];
         else
             [menuItem setTitle:NSLocalizedString(@"Show Note Type", @"Menu 
item title")];

Modified: trunk/SKNotesPanelController.h
===================================================================
--- trunk/SKNotesPanelController.h      2024-11-18 15:18:02 UTC (rev 14718)
+++ trunk/SKNotesPanelController.h      2024-11-18 15:24:03 UTC (rev 14719)
@@ -41,8 +41,6 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface SKNotesPanelController : NSWindowController <NSWindowDelegate>
-@property (class, nonatomic, readonly) SKNotesPanelController 
*sharedController;
-@property (class, nonatomic, readonly) BOOL sharedControllerExists;
 - (IBAction)addNote:(nullable id)sender;
 @end
 

Modified: trunk/SKNotesPanelController.m
===================================================================
--- trunk/SKNotesPanelController.m      2024-11-18 15:18:02 UTC (rev 14718)
+++ trunk/SKNotesPanelController.m      2024-11-18 15:24:03 UTC (rev 14719)
@@ -42,23 +42,10 @@
 
 @implementation SKNotesPanelController
 
-static SKNotesPanelController *sharedController = nil;
-
-+ (SKNotesPanelController *)sharedController {
-    if (sharedController == nil)
-        sharedController = [[self alloc] init];
-    return sharedController;
+- (NSString *)windowNibName {
+    return @"NotesPanel";
 }
 
-+ (BOOL)sharedControllerExists {
-    return sharedController != nil;
-}
-
-- (instancetype)init {
-    if (sharedController) NSLog(@"Attempt to allocate second instance of %@", 
self);
-    return [super initWithWindowNibName:@"NotesPanel"];
-}
-
 - (void)windowDidLoad {
     [self setWindowFrameAutosaveName:SKNotesPanelFrameAutosaveName];
 }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to