Revision: 14696
          http://sourceforge.net/p/skim-app/code/14696
Author:   hofman
Date:     2024-11-15 19:15:13 +0000 (Fri, 15 Nov 2024)
Log Message:
-----------
Open info window from app controller and make it an instance variable of it

Modified Paths:
--------------
    trunk/SKApplicationController.h
    trunk/SKApplicationController.m
    trunk/SKInfoWindowController.h
    trunk/SKInfoWindowController.m
    trunk/SKMainToolbarController.m
    trunk/SKMainWindowController_Actions.h
    trunk/SKMainWindowController_Actions.m
    trunk/SKMainWindowController_UI.m

Modified: trunk/SKApplicationController.h
===================================================================
--- trunk/SKApplicationController.h     2024-11-15 19:07:47 UTC (rev 14695)
+++ trunk/SKApplicationController.h     2024-11-15 19:15:13 UTC (rev 14696)
@@ -44,7 +44,7 @@
 
 extern NSString *SKPageLabelsChangedNotification;
 
-@class SKBookmark, SKDownload, SKReleaseNotesController;
+@class SKBookmark, SKDownload, SKReleaseNotesController, 
SKInfoWindowController;
 
 @interface SKApplicationController : NSObject <SKApplicationDelegate, 
HIDRemoteDelegate, NSMenuDelegate> {
     NSMenu *noteColumnsMenu;
@@ -54,6 +54,7 @@
     BOOL remoteScrolling;
     id activity;
     SKReleaseNotesController *releaseNotesController;
+    SKInfoWindowController *infoWindowController;
 }
 
 - (IBAction)orderFrontLineInspector:(nullable id)sender;
@@ -64,6 +65,7 @@
 - (IBAction)showPreferencePanel:(nullable id)sender;
 - (IBAction)showReleaseNotes:(nullable id)sender;
 - (IBAction)showDownloads:(nullable id)sender;
+- (IBAction)getInfo:(nullable id)sender;
 
 @property (nonatomic, nullable, strong) IBOutlet NSMenu *noteColumnsMenu, 
*noteTypeMenu;
 

Modified: trunk/SKApplicationController.m
===================================================================
--- trunk/SKApplicationController.m     2024-11-15 19:07:47 UTC (rev 14695)
+++ trunk/SKApplicationController.m     2024-11-15 19:15:13 UTC (rev 14696)
@@ -42,6 +42,7 @@
 #import "SKNotesPanelController.h"
 #import "SKPreferenceController.h"
 #import "SKReleaseNotesController.h"
+#import "SKInfoWindowController.h"
 #import "SKStringConstants.h"
 #import "SKMainDocument.h"
 #import "SKMainWindowController.h"
@@ -314,6 +315,12 @@
     [[SKDownloadController sharedDownloadController] showWindow:self];
 }
 
+- (IBAction)getInfo:(id)sender {
+    if (infoWindowController == nil)
+        infoWindowController = [[SKInfoWindowController alloc] init];
+    [infoWindowController showWindow:self];
+}
+
 - (IBAction)changeFindPaneState:(id)sender {}
 
 - (BOOL)validateMenuItem:(NSMenuItem *)menuItem {

Modified: trunk/SKInfoWindowController.h
===================================================================
--- trunk/SKInfoWindowController.h      2024-11-15 19:07:47 UTC (rev 14695)
+++ trunk/SKInfoWindowController.h      2024-11-15 19:15:13 UTC (rev 14696)
@@ -54,8 +54,6 @@
 @property (nonatomic, nullable, strong) IBOutlet NSTabView *tabView;
 @property (nonatomic, nullable, copy) NSDictionary<NSString *, id> *info;
 
-@property (class, nonatomic, readonly) SKInfoWindowController *sharedInstance;
-
 @property (class, nonatomic, readonly) NSArray<NSString *> *keys;
 + (NSDictionary<NSString *, id> *)infoForDocument:(NSDocument *)doc;
 

Modified: trunk/SKInfoWindowController.m
===================================================================
--- trunk/SKInfoWindowController.m      2024-11-15 19:07:47 UTC (rev 14695)
+++ trunk/SKInfoWindowController.m      2024-11-15 19:15:13 UTC (rev 14696)
@@ -77,16 +77,7 @@
 
 @synthesize summaryTableView, attributesTableView, tabView, info;
 
-static SKInfoWindowController *sharedInstance = nil;
-    
-+ (SKInfoWindowController *)sharedInstance {
-    if (sharedInstance == nil)
-        sharedInstance = [[self alloc] init];
-    return sharedInstance;
-}
-
 - (instancetype)init {
-    if (sharedInstance) NSLog(@"Attempt to allocate second instance of %@", 
[self class]);
     self = [super initWithWindowNibName:@"InfoWindow"];
     if (self){
         info = nil;

Modified: trunk/SKMainToolbarController.m
===================================================================
--- trunk/SKMainToolbarController.m     2024-11-15 19:07:47 UTC (rev 14695)
+++ trunk/SKMainToolbarController.m     2024-11-15 19:15:13 UTC (rev 14696)
@@ -810,7 +810,7 @@
             
         } else if ([identifier 
isEqualToString:SKDocumentToolbarInfoItemIdentifier]) {
             
-            menuItem = [[NSMenuItem alloc] 
initWithTitle:NSLocalizedString(@"Info", @"Menu item title") 
action:@selector(getInfo:) target:mainController];
+            menuItem = [[NSMenuItem alloc] 
initWithTitle:NSLocalizedString(@"Info", @"Menu item title") 
action:@selector(getInfo:) target:nil];
             
             [item setLabels:NSLocalizedString(@"Info", @"Toolbar item label")];
             [item setToolTip:NSLocalizedString(@"Get Document Info", @"Tool 
tip message")];

Modified: trunk/SKMainWindowController_Actions.h
===================================================================
--- trunk/SKMainWindowController_Actions.h      2024-11-15 19:07:47 UTC (rev 
14695)
+++ trunk/SKMainWindowController_Actions.h      2024-11-15 19:15:13 UTC (rev 
14696)
@@ -90,7 +90,6 @@
 - (IBAction)smartAutoCropAll:(nullable id)sender;
 - (IBAction)resetCrop:(nullable id)sender;
 - (IBAction)autoSelectContent:(nullable id)sender;
-- (IBAction)getInfo:(nullable id)sender;
 - (IBAction)delete:(nullable id)sender;
 - (IBAction)paste:(nullable id)sender;
 - (IBAction)alternatePaste:(nullable id)sender;

Modified: trunk/SKMainWindowController_Actions.m
===================================================================
--- trunk/SKMainWindowController_Actions.m      2024-11-15 19:07:47 UTC (rev 
14695)
+++ trunk/SKMainWindowController_Actions.m      2024-11-15 19:15:13 UTC (rev 
14696)
@@ -731,10 +731,6 @@
     [pdfView autoSelectContent:sender];
 }
 
-- (IBAction)getInfo:(id)sender {
-    [[SKInfoWindowController sharedInstance] showWindow:self];
-}
-
 - (IBAction)delete:(id)sender {
     [pdfView delete:sender];
 }

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2024-11-15 19:07:47 UTC (rev 14695)
+++ trunk/SKMainWindowController_UI.m   2024-11-15 19:15:13 UTC (rev 14696)
@@ -1882,8 +1882,6 @@
         else
             [menuItem setTitle:NSLocalizedString(@"Presentation", @"Menu item 
title")];
         return [self canEnterPresentation] || [self canExitPresentation];
-    } else if (action == @selector(getInfo:)) {
-        return [self interactionMode] != SKPresentationMode;
     } else if (action == @selector(performFit:)) {
         return [self interactionMode] == SKNormalMode && [[self pdfDocument] 
isLocked] == NO && [self hasOverview] == NO;
     } else if (action == @selector(password:)) {

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