Revision: 2715
          http://skim-app.svn.sourceforge.net/skim-app/?rev=2715&view=rev
Author:   hofman
Date:     2007-08-23 10:39:40 -0700 (Thu, 23 Aug 2007)

Log Message:
-----------
Separate methods to enable and disable navigation window.

Modified Paths:
--------------
    trunk/SKMainWindowController.m
    trunk/SKPDFView.h
    trunk/SKPDFView.m

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2007-08-23 15:31:23 UTC (rev 2714)
+++ trunk/SKMainWindowController.m      2007-08-23 17:39:40 UTC (rev 2715)
@@ -2177,7 +2177,7 @@
     if ([fullScreenSetup count])
         [self applyPDFSettings:fullScreenSetup];
     
-    [pdfView setHasNavigation:YES activateAtBottom:[[NSUserDefaults 
standardUserDefaults] boolForKey:SKActivateFullScreenNavigationAtBottomKey] 
autohidesCursor:NO screen:screen];
+    [pdfView enableNavigationActivatedAtBottom:[[NSUserDefaults 
standardUserDefaults] boolForKey:SKActivateFullScreenNavigationAtBottomKey] 
autohidesCursor:NO screen:screen];
     [self showSideWindowsOnScreen:screen];
 }
 
@@ -2200,7 +2200,7 @@
     else
         [self goFullScreen];
     
-    [pdfView setHasNavigation:YES activateAtBottom:[[NSUserDefaults 
standardUserDefaults] boolForKey:SKActivatePresentationNavigationAtBottomKey] 
autohidesCursor:YES screen:nil];
+    [pdfView enableNavigationActivatedAtBottom:[[NSUserDefaults 
standardUserDefaults] boolForKey:SKActivatePresentationNavigationAtBottomKey] 
autohidesCursor:YES screen:screen];
 }
 
 - (IBAction)exitFullScreen:(id)sender {
@@ -2212,7 +2212,7 @@
     
     if ([[fullScreenWindow firstResponder] isDescendantOf:pdfView])
         [fullScreenWindow makeFirstResponder:nil];
-    [pdfView setHasNavigation:NO activateAtBottom:NO autohidesCursor:NO 
screen:nil];
+    [pdfView disableNavigation];
     [pdfView setFrame:[[pdfContentBox contentView] bounds]];
     [pdfContentBox addSubview:pdfView]; // this should be done before 
exitPresentationMode to get a smooth transition
     

Modified: trunk/SKPDFView.h
===================================================================
--- trunk/SKPDFView.h   2007-08-23 15:31:23 UTC (rev 2714)
+++ trunk/SKPDFView.h   2007-08-23 17:39:40 UTC (rev 2715)
@@ -175,7 +175,8 @@
 
 - (void)takeSnapshot:(id)sender;
 
-- (void)setHasNavigation:(BOOL)hasNav activateAtBottom:(BOOL)atBottom 
autohidesCursor:(BOOL)hideCursor screen:(NSScreen *)screen;
+- (void)enableNavigationActivatedAtBottom:(BOOL)atBottom 
autohidesCursor:(BOOL)hideCursor screen:(NSScreen *)screen;
+- (void)disableNavigation;
 
 - (void)setNeedsDisplayInRect:(NSRect)rect ofPage:(PDFPage *)page;
 - (void)setNeedsDisplayForAnnotation:(PDFAnnotation *)annotation;

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2007-08-23 15:31:23 UTC (rev 2714)
+++ trunk/SKPDFView.m   2007-08-23 17:39:40 UTC (rev 2715)
@@ -2125,27 +2125,32 @@
     [navWindow orderOut:self];
 }
 
-- (void)setHasNavigation:(BOOL)hasNav activateAtBottom:(BOOL)atBottom 
autohidesCursor:(BOOL)hideCursor screen:(NSScreen *)screen {
-    hasNavigation = hasNav;
+- (void)enableNavigationActivatedAtBottom:(BOOL)atBottom 
autohidesCursor:(BOOL)hideCursor screen:(NSScreen *)screen {
+    hasNavigation = YES;
     autohidesCursor = hideCursor;
     activateNavigationAtBottom = atBottom;
     
-    if (hasNavigation) {
-        // always recreate the navWindow, since moving between screens of 
different resolution can mess up the location (in spite of moveToScreen:)
-        if (navWindow != nil)
-            [navWindow release];
-        else
-            [[NSNotificationCenter defaultCenter] addObserver: self selector: 
@selector(handleWindowWillCloseNotification:) 
-                                                         name: 
NSWindowWillCloseNotification object: [self window]];
-        navWindow = [[SKNavigationWindow alloc] initWithPDFView:self];
-        [navWindow moveToScreen:screen];
-        [navWindow setLevel:[[self window] level] + 1];
-    } else if ([navWindow isVisible]) {
-        [navWindow orderOut:self];
-    }
-    [self doAutohide:autohidesCursor || hasNavigation];
+    // always recreate the navWindow, since moving between screens of 
different resolution can mess up the location (in spite of moveToScreen:)
+    if (navWindow != nil)
+        [navWindow release];
+    else
+        [[NSNotificationCenter defaultCenter] addObserver: self selector: 
@selector(handleWindowWillCloseNotification:) 
+                                                     name: 
NSWindowWillCloseNotification object: [self window]];
+    navWindow = [[SKNavigationWindow alloc] initWithPDFView:self];
+    [navWindow moveToScreen:screen];
+    [navWindow setLevel:[[self window] level] + 1];
+    
+    [self doAutohide:YES];
 }
 
+- (void)disableNavigation {
+    hasNavigation = NO;
+    autohidesCursor = NO;
+    activateNavigationAtBottom = NO;
+    
+    [navWindow orderOut:self];
+}
+
 #pragma mark Menu validation
 
 - (BOOL)validateMenuItem:(NSMenuItem *)menuItem {


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

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to