Revision: 2930
          http://skim-app.svn.sourceforge.net/skim-app/?rev=2930&view=rev
Author:   hofman
Date:     2007-09-16 04:46:38 -0700 (Sun, 16 Sep 2007)

Log Message:
-----------
Use a separate controller class to control the generic progress sheet.

Modified Paths:
--------------
    trunk/Dutch.lproj/MainWindow.nib/classes.nib
    trunk/Dutch.lproj/MainWindow.nib/data.dependency
    trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib
    trunk/Dutch.lproj/ProgressSheet.nib/classes.nib
    trunk/Dutch.lproj/ProgressSheet.nib/info.nib
    trunk/Dutch.lproj/ProgressSheet.nib/keyedobjects.nib
    trunk/English.lproj/MainWindow.nib/classes.nib
    trunk/English.lproj/MainWindow.nib/info.nib
    trunk/English.lproj/MainWindow.nib/keyedobjects.nib
    trunk/English.lproj/ProgressSheet.nib/classes.nib
    trunk/English.lproj/ProgressSheet.nib/info.nib
    trunk/English.lproj/ProgressSheet.nib/keyedobjects.nib
    trunk/French.lproj/MainWindow.nib/classes.nib
    trunk/French.lproj/MainWindow.nib/info.nib
    trunk/French.lproj/MainWindow.nib/keyedobjects.nib
    trunk/French.lproj/ProgressSheet.nib/classes.nib
    trunk/French.lproj/ProgressSheet.nib/info.nib
    trunk/French.lproj/ProgressSheet.nib/keyedobjects.nib
    trunk/Italian.lproj/MainWindow.nib/classes.nib
    trunk/Italian.lproj/MainWindow.nib/info.nib
    trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib
    trunk/Italian.lproj/ProgressSheet.nib/classes.nib
    trunk/Italian.lproj/ProgressSheet.nib/info.nib
    trunk/Italian.lproj/ProgressSheet.nib/keyedobjects.nib
    trunk/SKDocument.h
    trunk/SKDocument.m
    trunk/SKMainWindowController.h
    trunk/SKMainWindowController.m
    trunk/Skim.xcodeproj/project.pbxproj

Added Paths:
-----------
    trunk/SKProgressController.h
    trunk/SKProgressController.m

Modified: trunk/Dutch.lproj/MainWindow.nib/classes.nib
===================================================================
--- trunk/Dutch.lproj/MainWindow.nib/classes.nib        2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/Dutch.lproj/MainWindow.nib/classes.nib        2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -148,9 +148,6 @@
                 passwordSheet = NSWindow; 
                 pdfContentBox = BDSKEdgeView; 
                 pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
                 rightSideButton = NSSegmentedControl; 
                 rightSideCollapsibleView = BDSKCollapsibleView; 
                 rightSideContentBox = NSBox; 

Modified: trunk/Dutch.lproj/MainWindow.nib/data.dependency
===================================================================
--- trunk/Dutch.lproj/MainWindow.nib/data.dependency    2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/Dutch.lproj/MainWindow.nib/data.dependency    2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -4,7 +4,6 @@
 <dict>
        <key>IBPaletteDependency</key>
        <array>
-               <string>Controllers</string>
                <string>PDFKit</string>
        </array>
 </dict>

Modified: trunk/Dutch.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/Dutch.lproj/ProgressSheet.nib/classes.nib
===================================================================
--- trunk/Dutch.lproj/ProgressSheet.nib/classes.nib     2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/Dutch.lproj/ProgressSheet.nib/classes.nib     2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -3,87 +3,9 @@
         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
         {CLASS = NSObject; LANGUAGE = ObjC; }, 
         {
-            ACTIONS = {
-                changeAnnotationMode = id; 
-                changeColor = id; 
-                changeDisplayBox = id; 
-                changeScaleFactor = id; 
-                changeToolMode = id; 
-                createNewNote = id; 
-                dismissChoosePageSheet = id; 
-                displayCropBox = id; 
-                displayFacingPages = id; 
-                displayMediaBox = id; 
-                displaySinglePages = id; 
-                doGoBack = id; 
-                doGoForward = id; 
-                doGoToNextPage = id; 
-                doGoToPage = id; 
-                doGoToPreviousPage = id; 
-                doZoomIn = id; 
-                doZoomOut = id; 
-                doZoomToActualSize = id; 
-                doZoomToFit = id; 
-                enterFullScreen = id; 
-                enterPresentation = id; 
-                exitFullScreen = id; 
-                getInfo = id; 
-                goBackOrForward = id; 
-                pickColor = id; 
-                rotateAllLeft = id; 
-                rotateAllRight = id; 
-                rotateLeft = id; 
-                rotateRight = id; 
-                search = id; 
-                toggleDisplayAsBook = id; 
-                toggleDisplayContinuous = id; 
-                toggleDisplayPageBreaks = id; 
-                toggleFullScreen = id; 
-                toggleLeftSidePane = id; 
-                togglePresentation = id; 
-                toggleRightSidePane = id; 
-                toggleZoomToFit = id; 
-            }; 
-            CLASS = SKMainWindowController; 
+            CLASS = SKProgressController; 
             LANGUAGE = ObjC; 
-            OUTLETS = {
-                annotationModeButton = NSSegmentedControl; 
-                backForwardButton = NSSegmentedControl; 
-                choosePageField = NSTextField; 
-                choosePageSheet = NSWindow; 
-                currentTableView = NSTableView; 
-                displayBoxPopUpButton = NSPopUpButton; 
-                findArrayController = NSArrayController; 
-                findField = NSSearchField; 
-                findTableView = NSTableView; 
-                leftSideBox = NSBox; 
-                leftSideButton = NSSegmentedControl; 
-                leftSideContentBox = NSBox; 
-                noteArrayController = NSArrayController; 
-                noteTableView = SKNoteTableView; 
-                outlineView = NSOutlineView; 
-                pageNumberField = NSTextField; 
-                pageNumberStepper = NSStepper; 
-                pageNumberView = NSView; 
-                pdfContentBox = NSBox; 
-                pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
-                rightSideBox = NSBox; 
-                rightSideButton = NSSegmentedControl; 
-                rightSideContentBox = NSBox; 
-                scaleField = NSTextField; 
-                searchBox = SKCollapsibleView; 
-                searchField = NSSearchField; 
-                snapshotArrayController = NSArrayController; 
-                snapshotTableView = SKSnapshotTableView; 
-                spinner = NSProgressIndicator; 
-                splitView = SKSplitView; 
-                thumbnailArrayController = NSArrayController; 
-                thumbnailTableView = SKThumbnailTableView; 
-                toolModeButton = NSSegmentedControl; 
-            }; 
+            OUTLETS = {progressBar = NSProgressIndicator; progressField = 
NSTextField; }; 
             SUPERCLASS = NSWindowController; 
         }
     ); 

Modified: trunk/Dutch.lproj/ProgressSheet.nib/info.nib
===================================================================
--- trunk/Dutch.lproj/ProgressSheet.nib/info.nib        2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/Dutch.lproj/ProgressSheet.nib/info.nib        2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -7,6 +7,6 @@
        <key>IBFramework Version</key>
        <string>446.1</string>
        <key>IBSystem Version</key>
-       <string>8P135</string>
+       <string>8R218</string>
 </dict>
 </plist>

Modified: trunk/Dutch.lproj/ProgressSheet.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/English.lproj/MainWindow.nib/classes.nib
===================================================================
--- trunk/English.lproj/MainWindow.nib/classes.nib      2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/English.lproj/MainWindow.nib/classes.nib      2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -148,9 +148,6 @@
                 passwordSheet = NSWindow; 
                 pdfContentBox = BDSKEdgeView; 
                 pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
                 rightSideButton = NSSegmentedControl; 
                 rightSideCollapsibleView = BDSKCollapsibleView; 
                 rightSideContentBox = NSBox; 

Modified: trunk/English.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/English.lproj/MainWindow.nib/info.nib 2007-09-16 10:02:44 UTC (rev 
2929)
+++ trunk/English.lproj/MainWindow.nib/info.nib 2007-09-16 11:46:38 UTC (rev 
2930)
@@ -7,7 +7,7 @@
        <key>IBEditorPositions</key>
        <dict>
                <key>168</key>
-               <string>601 508 255 265 0 0 1440 938 </string>
+               <string>592 508 255 265 0 0 1440 938 </string>
                <key>224</key>
                <string>610 420 220 442 0 0 1440 938 </string>
                <key>256</key>
@@ -31,20 +31,20 @@
        </array>
        <key>IBOpenObjects</key>
        <array>
+               <integer>687</integer>
+               <integer>511</integer>
                <integer>585</integer>
+               <integer>633</integer>
+               <integer>694</integer>
                <integer>208</integer>
-               <integer>502</integer>
-               <integer>553</integer>
+               <integer>168</integer>
                <integer>314</integer>
-               <integer>256</integer>
-               <integer>694</integer>
                <integer>224</integer>
-               <integer>168</integer>
-               <integer>633</integer>
                <integer>539</integer>
-               <integer>511</integer>
-               <integer>687</integer>
+               <integer>256</integer>
                <integer>5</integer>
+               <integer>502</integer>
+               <integer>553</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8R218</string>

Modified: trunk/English.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/English.lproj/ProgressSheet.nib/classes.nib
===================================================================
--- trunk/English.lproj/ProgressSheet.nib/classes.nib   2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/English.lproj/ProgressSheet.nib/classes.nib   2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -3,87 +3,9 @@
         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
         {CLASS = NSObject; LANGUAGE = ObjC; }, 
         {
-            ACTIONS = {
-                changeAnnotationMode = id; 
-                changeColor = id; 
-                changeDisplayBox = id; 
-                changeScaleFactor = id; 
-                changeToolMode = id; 
-                createNewNote = id; 
-                dismissChoosePageSheet = id; 
-                displayCropBox = id; 
-                displayFacingPages = id; 
-                displayMediaBox = id; 
-                displaySinglePages = id; 
-                doGoBack = id; 
-                doGoForward = id; 
-                doGoToNextPage = id; 
-                doGoToPage = id; 
-                doGoToPreviousPage = id; 
-                doZoomIn = id; 
-                doZoomOut = id; 
-                doZoomToActualSize = id; 
-                doZoomToFit = id; 
-                enterFullScreen = id; 
-                enterPresentation = id; 
-                exitFullScreen = id; 
-                getInfo = id; 
-                goBackOrForward = id; 
-                pickColor = id; 
-                rotateAllLeft = id; 
-                rotateAllRight = id; 
-                rotateLeft = id; 
-                rotateRight = id; 
-                search = id; 
-                toggleDisplayAsBook = id; 
-                toggleDisplayContinuous = id; 
-                toggleDisplayPageBreaks = id; 
-                toggleFullScreen = id; 
-                toggleLeftSidePane = id; 
-                togglePresentation = id; 
-                toggleRightSidePane = id; 
-                toggleZoomToFit = id; 
-            }; 
-            CLASS = SKMainWindowController; 
+            CLASS = SKProgressController; 
             LANGUAGE = ObjC; 
-            OUTLETS = {
-                annotationModeButton = NSSegmentedControl; 
-                backForwardButton = NSSegmentedControl; 
-                choosePageField = NSTextField; 
-                choosePageSheet = NSWindow; 
-                currentTableView = NSTableView; 
-                displayBoxPopUpButton = NSPopUpButton; 
-                findArrayController = NSArrayController; 
-                findField = NSSearchField; 
-                findTableView = NSTableView; 
-                leftSideBox = NSBox; 
-                leftSideButton = NSSegmentedControl; 
-                leftSideContentBox = NSBox; 
-                noteArrayController = NSArrayController; 
-                noteTableView = SKNoteTableView; 
-                outlineView = NSOutlineView; 
-                pageNumberField = NSTextField; 
-                pageNumberStepper = NSStepper; 
-                pageNumberView = NSView; 
-                pdfContentBox = NSBox; 
-                pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
-                rightSideBox = NSBox; 
-                rightSideButton = NSSegmentedControl; 
-                rightSideContentBox = NSBox; 
-                scaleField = NSTextField; 
-                searchBox = SKCollapsibleView; 
-                searchField = NSSearchField; 
-                snapshotArrayController = NSArrayController; 
-                snapshotTableView = SKSnapshotTableView; 
-                spinner = NSProgressIndicator; 
-                splitView = SKSplitView; 
-                thumbnailArrayController = NSArrayController; 
-                thumbnailTableView = SKThumbnailTableView; 
-                toolModeButton = NSSegmentedControl; 
-            }; 
+            OUTLETS = {progressBar = NSProgressIndicator; progressField = 
NSTextField; }; 
             SUPERCLASS = NSWindowController; 
         }
     ); 

Modified: trunk/English.lproj/ProgressSheet.nib/info.nib
===================================================================
--- trunk/English.lproj/ProgressSheet.nib/info.nib      2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/English.lproj/ProgressSheet.nib/info.nib      2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -11,6 +11,6 @@
                <integer>5</integer>
        </array>
        <key>IBSystem Version</key>
-       <string>8P135</string>
+       <string>8R218</string>
 </dict>
 </plist>

Modified: trunk/English.lproj/ProgressSheet.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/French.lproj/MainWindow.nib/classes.nib
===================================================================
--- trunk/French.lproj/MainWindow.nib/classes.nib       2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/French.lproj/MainWindow.nib/classes.nib       2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -148,9 +148,6 @@
                 passwordSheet = NSWindow; 
                 pdfContentBox = BDSKEdgeView; 
                 pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
                 rightSideButton = NSSegmentedControl; 
                 rightSideCollapsibleView = BDSKCollapsibleView; 
                 rightSideContentBox = NSBox; 

Modified: trunk/French.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/French.lproj/MainWindow.nib/info.nib  2007-09-16 10:02:44 UTC (rev 
2929)
+++ trunk/French.lproj/MainWindow.nib/info.nib  2007-09-16 11:46:38 UTC (rev 
2930)
@@ -30,6 +30,6 @@
                <integer>208</integer>
        </array>
        <key>IBSystem Version</key>
-       <string>8R2218</string>
+       <string>8R218</string>
 </dict>
 </plist>

Modified: trunk/French.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/French.lproj/ProgressSheet.nib/classes.nib
===================================================================
--- trunk/French.lproj/ProgressSheet.nib/classes.nib    2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/French.lproj/ProgressSheet.nib/classes.nib    2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -3,87 +3,9 @@
         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
         {CLASS = NSObject; LANGUAGE = ObjC; }, 
         {
-            ACTIONS = {
-                changeAnnotationMode = id; 
-                changeColor = id; 
-                changeDisplayBox = id; 
-                changeScaleFactor = id; 
-                changeToolMode = id; 
-                createNewNote = id; 
-                dismissChoosePageSheet = id; 
-                displayCropBox = id; 
-                displayFacingPages = id; 
-                displayMediaBox = id; 
-                displaySinglePages = id; 
-                doGoBack = id; 
-                doGoForward = id; 
-                doGoToNextPage = id; 
-                doGoToPage = id; 
-                doGoToPreviousPage = id; 
-                doZoomIn = id; 
-                doZoomOut = id; 
-                doZoomToActualSize = id; 
-                doZoomToFit = id; 
-                enterFullScreen = id; 
-                enterPresentation = id; 
-                exitFullScreen = id; 
-                getInfo = id; 
-                goBackOrForward = id; 
-                pickColor = id; 
-                rotateAllLeft = id; 
-                rotateAllRight = id; 
-                rotateLeft = id; 
-                rotateRight = id; 
-                search = id; 
-                toggleDisplayAsBook = id; 
-                toggleDisplayContinuous = id; 
-                toggleDisplayPageBreaks = id; 
-                toggleFullScreen = id; 
-                toggleLeftSidePane = id; 
-                togglePresentation = id; 
-                toggleRightSidePane = id; 
-                toggleZoomToFit = id; 
-            }; 
-            CLASS = SKMainWindowController; 
+            CLASS = SKProgressController; 
             LANGUAGE = ObjC; 
-            OUTLETS = {
-                annotationModeButton = NSSegmentedControl; 
-                backForwardButton = NSSegmentedControl; 
-                choosePageField = NSTextField; 
-                choosePageSheet = NSWindow; 
-                currentTableView = NSTableView; 
-                displayBoxPopUpButton = NSPopUpButton; 
-                findArrayController = NSArrayController; 
-                findField = NSSearchField; 
-                findTableView = NSTableView; 
-                leftSideBox = NSBox; 
-                leftSideButton = NSSegmentedControl; 
-                leftSideContentBox = NSBox; 
-                noteArrayController = NSArrayController; 
-                noteTableView = SKNoteTableView; 
-                outlineView = NSOutlineView; 
-                pageNumberField = NSTextField; 
-                pageNumberStepper = NSStepper; 
-                pageNumberView = NSView; 
-                pdfContentBox = NSBox; 
-                pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
-                rightSideBox = NSBox; 
-                rightSideButton = NSSegmentedControl; 
-                rightSideContentBox = NSBox; 
-                scaleField = NSTextField; 
-                searchBox = SKCollapsibleView; 
-                searchField = NSSearchField; 
-                snapshotArrayController = NSArrayController; 
-                snapshotTableView = SKSnapshotTableView; 
-                spinner = NSProgressIndicator; 
-                splitView = SKSplitView; 
-                thumbnailArrayController = NSArrayController; 
-                thumbnailTableView = SKThumbnailTableView; 
-                toolModeButton = NSSegmentedControl; 
-            }; 
+            OUTLETS = {progressBar = NSProgressIndicator; progressField = 
NSTextField; }; 
             SUPERCLASS = NSWindowController; 
         }
     ); 

Modified: trunk/French.lproj/ProgressSheet.nib/info.nib
===================================================================
--- trunk/French.lproj/ProgressSheet.nib/info.nib       2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/French.lproj/ProgressSheet.nib/info.nib       2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -7,6 +7,6 @@
        <key>IBFramework Version</key>
        <string>446.1</string>
        <key>IBSystem Version</key>
-       <string>8R2218</string>
+       <string>8R218</string>
 </dict>
 </plist>

Modified: trunk/French.lproj/ProgressSheet.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/Italian.lproj/MainWindow.nib/classes.nib
===================================================================
--- trunk/Italian.lproj/MainWindow.nib/classes.nib      2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/Italian.lproj/MainWindow.nib/classes.nib      2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -148,9 +148,6 @@
                 passwordSheet = NSWindow; 
                 pdfContentBox = BDSKEdgeView; 
                 pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
                 rightSideButton = NSSegmentedControl; 
                 rightSideCollapsibleView = BDSKCollapsibleView; 
                 rightSideContentBox = NSBox; 

Modified: trunk/Italian.lproj/MainWindow.nib/info.nib
===================================================================
--- trunk/Italian.lproj/MainWindow.nib/info.nib 2007-09-16 10:02:44 UTC (rev 
2929)
+++ trunk/Italian.lproj/MainWindow.nib/info.nib 2007-09-16 11:46:38 UTC (rev 
2930)
@@ -7,7 +7,7 @@
        <key>IBEditorPositions</key>
        <dict>
                <key>168</key>
-               <string>601 507 255 267 0 0 1440 938 </string>
+               <string>592 507 255 267 0 0 1440 938 </string>
                <key>224</key>
                <string>610 420 220 442 0 0 1440 938 </string>
                <key>256</key>
@@ -31,19 +31,19 @@
        </array>
        <key>IBOpenObjects</key>
        <array>
-               <integer>256</integer>
-               <integer>628</integer>
                <integer>677</integer>
+               <integer>676</integer>
+               <integer>539</integer>
+               <integer>511</integer>
+               <integer>553</integer>
                <integer>208</integer>
+               <integer>224</integer>
                <integer>314</integer>
-               <integer>224</integer>
-               <integer>553</integer>
-               <integer>676</integer>
                <integer>5</integer>
+               <integer>502</integer>
+               <integer>628</integer>
+               <integer>256</integer>
                <integer>168</integer>
-               <integer>511</integer>
-               <integer>502</integer>
-               <integer>539</integer>
        </array>
        <key>IBSystem Version</key>
        <string>8R218</string>

Modified: trunk/Italian.lproj/MainWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/Italian.lproj/ProgressSheet.nib/classes.nib
===================================================================
--- trunk/Italian.lproj/ProgressSheet.nib/classes.nib   2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/Italian.lproj/ProgressSheet.nib/classes.nib   2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -3,87 +3,9 @@
         {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
         {CLASS = NSObject; LANGUAGE = ObjC; }, 
         {
-            ACTIONS = {
-                changeAnnotationMode = id; 
-                changeColor = id; 
-                changeDisplayBox = id; 
-                changeScaleFactor = id; 
-                changeToolMode = id; 
-                createNewNote = id; 
-                dismissChoosePageSheet = id; 
-                displayCropBox = id; 
-                displayFacingPages = id; 
-                displayMediaBox = id; 
-                displaySinglePages = id; 
-                doGoBack = id; 
-                doGoForward = id; 
-                doGoToNextPage = id; 
-                doGoToPage = id; 
-                doGoToPreviousPage = id; 
-                doZoomIn = id; 
-                doZoomOut = id; 
-                doZoomToActualSize = id; 
-                doZoomToFit = id; 
-                enterFullScreen = id; 
-                enterPresentation = id; 
-                exitFullScreen = id; 
-                getInfo = id; 
-                goBackOrForward = id; 
-                pickColor = id; 
-                rotateAllLeft = id; 
-                rotateAllRight = id; 
-                rotateLeft = id; 
-                rotateRight = id; 
-                search = id; 
-                toggleDisplayAsBook = id; 
-                toggleDisplayContinuous = id; 
-                toggleDisplayPageBreaks = id; 
-                toggleFullScreen = id; 
-                toggleLeftSidePane = id; 
-                togglePresentation = id; 
-                toggleRightSidePane = id; 
-                toggleZoomToFit = id; 
-            }; 
-            CLASS = SKMainWindowController; 
+            CLASS = SKProgressController; 
             LANGUAGE = ObjC; 
-            OUTLETS = {
-                annotationModeButton = NSSegmentedControl; 
-                backForwardButton = NSSegmentedControl; 
-                choosePageField = NSTextField; 
-                choosePageSheet = NSWindow; 
-                currentTableView = NSTableView; 
-                displayBoxPopUpButton = NSPopUpButton; 
-                findArrayController = NSArrayController; 
-                findField = NSSearchField; 
-                findTableView = NSTableView; 
-                leftSideBox = NSBox; 
-                leftSideButton = NSSegmentedControl; 
-                leftSideContentBox = NSBox; 
-                noteArrayController = NSArrayController; 
-                noteTableView = SKNoteTableView; 
-                outlineView = NSOutlineView; 
-                pageNumberField = NSTextField; 
-                pageNumberStepper = NSStepper; 
-                pageNumberView = NSView; 
-                pdfContentBox = NSBox; 
-                pdfView = SKPDFView; 
-                progressBar = NSProgressIndicator; 
-                progressField = NSTextField; 
-                progressSheet = NSWindow; 
-                rightSideBox = NSBox; 
-                rightSideButton = NSSegmentedControl; 
-                rightSideContentBox = NSBox; 
-                scaleField = NSTextField; 
-                searchBox = SKCollapsibleView; 
-                searchField = NSSearchField; 
-                snapshotArrayController = NSArrayController; 
-                snapshotTableView = SKSnapshotTableView; 
-                spinner = NSProgressIndicator; 
-                splitView = SKSplitView; 
-                thumbnailArrayController = NSArrayController; 
-                thumbnailTableView = SKThumbnailTableView; 
-                toolModeButton = NSSegmentedControl; 
-            }; 
+            OUTLETS = {progressBar = NSProgressIndicator; progressField = 
NSTextField; }; 
             SUPERCLASS = NSWindowController; 
         }
     ); 

Modified: trunk/Italian.lproj/ProgressSheet.nib/info.nib
===================================================================
--- trunk/Italian.lproj/ProgressSheet.nib/info.nib      2007-09-16 10:02:44 UTC 
(rev 2929)
+++ trunk/Italian.lproj/ProgressSheet.nib/info.nib      2007-09-16 11:46:38 UTC 
(rev 2930)
@@ -11,6 +11,6 @@
                <integer>5</integer>
        </array>
        <key>IBSystem Version</key>
-       <string>8P135</string>
+       <string>8R218</string>
 </dict>
 </plist>

Modified: trunk/Italian.lproj/ProgressSheet.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: trunk/SKDocument.h
===================================================================
--- trunk/SKDocument.h  2007-09-16 10:02:44 UTC (rev 2929)
+++ trunk/SKDocument.h  2007-09-16 11:46:38 UTC (rev 2930)
@@ -55,17 +55,13 @@
 };
 
 
[EMAIL PROTECTED] PDFDocument, SKMainWindowController, SKPDFView, 
SKPDFSynchronizer, SKLine;
[EMAIL PROTECTED] PDFDocument, SKMainWindowController, SKPDFView, 
SKPDFSynchronizer, SKLine, SKProgressController;
 
 @interface SKDocument : NSDocument
 {
     IBOutlet NSView *readNotesAccessoryView;
     IBOutlet NSButton *replaceNotesCheckButton;
     
-    IBOutlet NSWindow           *progressSheet;
-    IBOutlet NSProgressIndicator *progressBar;
-    IBOutlet NSTextField        *progressField;
-    
     IBOutlet NSButton *autoRotateButton;
     BOOL autoRotate;
     
@@ -75,7 +71,9 @@
     // temporary variables:
     PDFDocument *pdfDocument;
     NSMutableArray *noteDicts;
-        
+    
+    SKProgressController *progressController;
+    
     SKPDFSynchronizer *synchronizer;
     NSString *watchedFile;
     BOOL autoUpdate;

Modified: trunk/SKDocument.m
===================================================================
--- trunk/SKDocument.m  2007-09-16 10:02:44 UTC (rev 2929)
+++ trunk/SKDocument.m  2007-09-16 11:46:38 UTC (rev 2930)
@@ -63,6 +63,7 @@
 #import "NSTask_SKExtensions.h"
 #import "SKFDFParser.h"
 #import "NSData_SKExtensions.h"
+#import "SKProgressController.h"
 
 #define BUNDLE_DATA_FILENAME @"data"
 
@@ -91,6 +92,8 @@
 - (void)handleWindowWillCloseNotification:(NSNotification *)notification;
 - (void)handleWindowDidEndSheetNotification:(NSNotification *)notification;
 
+- (SKProgressController *)progressController;
+
 @end
 
 #pragma mark -
@@ -107,7 +110,7 @@
     [noteDicts release];
     [readNotesAccessoryView release];
     [lastModifiedDate release];
-    [progressSheet release];
+    [progressController release];
     [autoRotateButton release];
     [super dealloc];
 }
@@ -160,6 +163,12 @@
     }
 }
 
+- (SKProgressController *)progressController {
+    if (progressController == nil)
+        progressController = [[SKProgressController alloc] init];
+    return progressController;
+}
+
 #pragma mark Document read/write
 
 - (BOOL)prepareSavePanel:(NSSavePanel *)savePanel {
@@ -477,8 +486,8 @@
     [self setNoteDicts:nil];
     
     if ([docType isEqualToString:SKPostScriptDocumentType]) {
-        SKPSProgressController *progressController = [[[SKPSProgressController 
alloc] init] autorelease];
-        data = [progressController PDFDataWithPostScriptData:data];
+        SKPSProgressController *psProgressController = 
[[[SKPSProgressController alloc] init] autorelease];
+        data = [psProgressController PDFDataWithPostScriptData:data];
     }
     
     if (data)
@@ -563,17 +572,17 @@
         }
     } else if ([docType isEqualToString:SKPostScriptDocumentType]) {
         if (data = [NSData dataWithContentsOfURL:absoluteURL 
options:NSUncachedRead error:&error]) {
-            SKPSProgressController *progressController = 
[[SKPSProgressController alloc] init];
-            if (data = [[progressController PDFDataWithPostScriptData:data] 
retain])
+            SKPSProgressController *psProgressController = 
[[SKPSProgressController alloc] init];
+            if (data = [[psProgressController PDFDataWithPostScriptData:data] 
retain])
                 pdfDoc = [[PDFDocument alloc] initWithData:data];
-            [progressController autorelease];
+            [psProgressController autorelease];
         }
     } else if ([docType isEqualToString:SKDVIDocumentType]) {
         if (data = [NSData dataWithContentsOfURL:absoluteURL 
options:NSUncachedRead error:&error]) {
-            SKDVIProgressController *progressController = 
[[SKDVIProgressController alloc] init];
-            if (data = [[progressController PDFDataWithDVIFile:[absoluteURL 
path]] retain])
+            SKDVIProgressController *dviProgressController = 
[[SKDVIProgressController alloc] init];
+            if (data = [[dviProgressController PDFDataWithDVIFile:[absoluteURL 
path]] retain])
                 pdfDoc = [[PDFDocument alloc] initWithData:data];
-            [progressController autorelease];
+            [dviProgressController autorelease];
         }
     }
     
@@ -807,8 +816,7 @@
             NSLog(@"caught exception %@ while archiving %@ to %@", exception, 
sourcePath, targetPath);
         }
         
-        [progressBar performSelectorOnMainThread:@selector(stopAnimation:) 
withObject:nil waitUntilDone:NO];
-        [progressSheet performSelectorOnMainThread:@selector(orderOut:) 
withObject:nil waitUntilDone:NO];
+        [[self progressController] performSelectorOnMainThread:@selector(hide) 
withObject:nil waitUntilDone:NO];
         
         [pool release];
 }
@@ -817,21 +825,11 @@
     
     if (NSOKButton == returnCode && [self fileURL]) {
         
-        if (progressSheet == nil) {
-            if ([NSBundle loadNibNamed:@"ProgressSheet" owner:self])  {
-                [progressBar setUsesThreadedAnimation:YES];
-            } else {
-                NSLog(@"Failed to load ProgressSheet.nib");
-            }
-        }
+        [[self progressController] setMessage:[NSLocalizedString(@"Saving Disk 
Image", @"Message for progress sheet") stringByAppendingEllipsis]];
+        [[self progressController] setIndeterminate:YES];
         
-        [progressField setStringValue:[NSLocalizedString(@"Saving Disk Image", 
@"Message for progress sheet") stringByAppendingEllipsis]];
-        [progressSheet setTitle:NSLocalizedString(@"Saving Disk Image", 
@"Message for progress sheet")];
-        [progressBar setIndeterminate:YES];
-        [progressBar startAnimation:self];
-        
         [sheet orderOut:self];
-        [progressSheet orderFront:self];
+        [[self progressController] show];
         
         NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys:[[self 
fileURL] path], @"sourcePath", [sheet filename], @"targetPath", nil];
         [NSThread detachNewThreadSelector:@selector(saveDiskImageWithInfo:) 
toTarget:self withObject:info];
@@ -988,24 +986,13 @@
         
         [[alert window] orderOut:nil];
         
-        if (progressSheet == nil) {
-            if ([NSBundle loadNibNamed:@"ProgressSheet" owner:self])  {
-                [progressBar setUsesThreadedAnimation:YES];
-            } else {
-                NSLog(@"Failed to load ProgressSheet.nib");
-            }
-        }
+        [[self progressController] setMessage:[NSLocalizedString(@"Reloading 
document", @"Message for progress sheet") stringByAppendingEllipsis]];
+        [[self progressController] setIndeterminate:YES];
+        [[self progressController] beginSheetModalForWindow:[self 
windowForSheet]];
         
-        [progressField setStringValue:[NSLocalizedString(@"Reloading 
document", @"Message for progress sheet") stringByAppendingEllipsis]];
-        [progressBar setIndeterminate:YES];
-        [progressBar startAnimation:self];
-        [NSApp beginSheet:progressSheet modalForWindow:[self windowForSheet] 
modalDelegate:nil didEndSelector:NULL contextInfo:NULL];
-        
         success = [self revertToContentsOfURL:[self fileURL] ofType:[self 
fileType] error:&error];
         
-        [progressBar stopAnimation:self];
-        [NSApp endSheet:progressSheet];
-        [progressSheet orderOut:self];
+        [[self progressController] endSheet];
         
         if (success == NO && error)
             [self presentError:error modalForWindow:[self windowForSheet] 
delegate:nil didPresentSelector:NULL contextInfo:NULL];

Modified: trunk/SKMainWindowController.h
===================================================================
--- trunk/SKMainWindowController.h      2007-09-16 10:02:44 UTC (rev 2929)
+++ trunk/SKMainWindowController.h      2007-09-16 11:46:38 UTC (rev 2930)
@@ -65,7 +65,7 @@
 
 @class PDFOutline, SKThumbnail;
 @class SKPDFView, SKTocOutlineView, SKNoteOutlineView, SKThumbnailTableView, 
SKSnapshotTableView, SKSplitView, BDSKCollapsibleView, BDSKEdgeView, 
BDSKGradientView, BDSKImagePopUpButton, SKColorSwatch, SKStatusBar;
[EMAIL PROTECTED] SKFullScreenWindow, SKNavigationWindow, SKSideWindow, 
SKSnapshotWindowController;
[EMAIL PROTECTED] SKFullScreenWindow, SKNavigationWindow, SKSideWindow, 
SKSnapshotWindowController, SKProgressController;
 
 @interface SKMainWindowController : NSWindowController {
     IBOutlet SKSplitView        *splitView;
@@ -164,10 +164,6 @@
     IBOutlet NSWindow           *bookmarkSheet;
     IBOutlet NSTextField        *bookmarkField;
     
-    IBOutlet NSWindow           *progressSheet;
-    IBOutlet NSProgressIndicator *progressBar;
-    IBOutlet NSTextField        *progressField;
-    
     IBOutlet NSWindow           *passwordSheet;
     IBOutlet NSTextField        *passwordField;
     
@@ -177,6 +173,8 @@
     IBOutlet NSSlider           *transitionDurationSlider;
     IBOutlet NSMatrix           *transitionExtentMatrix;
     
+    SKProgressController        *progressController;
+    
     NSButton                    *colorAccessoryView;
     BOOL                        updatingColor;
     BOOL                        updatingFont;

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2007-09-16 10:02:44 UTC (rev 2929)
+++ trunk/SKMainWindowController.m      2007-09-16 11:46:38 UTC (rev 2930)
@@ -79,6 +79,7 @@
 #import "SKTransitionController.h"
 #import "SKTypeSelectHelper.h"
 #import "NSGeometry_SKExtensions.h"
+#import "SKProgressController.h"
 
 #define SEGMENTED_CONTROL_HEIGHT    25.0
 #define WINDOW_X_DELTA              0.0
@@ -137,6 +138,8 @@
 
 - (void)updatePageLabelsAndOutline;
 
+- (SKProgressController *)progressController;
+
 - (void)showLeftSideWindowOnScreen:(NSScreen *)screen;
 - (void)showRightSideWindowOnScreen:(NSScreen *)screen;
 - (void)hideLeftSideWindow;
@@ -237,7 +240,7 @@
     [toolbarItems release];
     [pdfOutlineItems release];
     [savedNormalSetup release];
-    [progressSheet release];
+    [progressController release];
     [colorAccessoryView release];
     [super dealloc];
 }
@@ -786,6 +789,12 @@
     [leftSideButton setEnabled:pdfOutline != nil 
forSegment:SKOutlineSidePaneState];
 }
 
+- (SKProgressController *)progressController {
+    if (progressController == nil)
+        progressController = [[SKProgressController alloc] init];
+    return progressController;
+}
+
 #pragma mark Accessors
 
 - (void)setDocument:(NSDocument *)document {
@@ -1513,36 +1522,25 @@
     BOOL emptySelection = NSIsEmptyRect(rect[0]);
     
     if (emptySelection) {
-        if (progressSheet == nil) {
-            if ([NSBundle loadNibNamed:@"ProgressSheet" owner:self])  {
-                [progressBar setUsesThreadedAnimation:YES];
-            } else {
-                NSLog(@"Failed to load ProgressSheet.nib");
-                return;
-            }
-        }
-        
         int i, j, count = [[pdfView document] pageCount];
         rect[0] = rect[1] = NSZeroRect;
         
-        [progressBar setMaxValue:(double)MIN(18, count)];
-        [progressBar setDoubleValue:0.0];
-        [progressField setStringValue:[NSLocalizedString(@"Cropping Pages", 
@"Message for progress sheet") stringByAppendingEllipsis]];
+        [[self progressController] setMaxValue:(double)MIN(18, count)];
+        [[self progressController] setDoubleValue:0.0];
+        [[self progressController] setMessage:[NSLocalizedString(@"Cropping 
Pages", @"Message for progress sheet") stringByAppendingEllipsis]];
+        [[self progressController] beginSheetModalForWindow:[self window]];
         
-        [NSApp beginSheet:progressSheet modalForWindow:[self window] 
modalDelegate:self didEndSelector:NULL contextInfo:NULL];
         if (count < 18) {
             for (i = 0; i < count; i++) {
                 rect[i % 2] = NSUnionRect(rect[i % 2], [[[pdfView document] 
pageAtIndex:i] foregroundBox]);
-                [progressBar incrementBy:1.0];
-                [progressBar displayIfNeeded];
+                [[self progressController] incrementBy:1.0];
             }
         } else {
             int start[3] = {0, count / 2 - 3, count - 6};
             for (j = 0; j < 3; j++) {
                 for (i = start[j]; i < start[j] + 6; i++) {
                     rect[i % 2] = NSUnionRect(rect[i % 2], [[[pdfView 
document] pageAtIndex:i] foregroundBox]);
-                    [progressBar setDoubleValue:(double)(3 * j + i)];
-                    [progressBar displayIfNeeded];
+                    [[self progressController] setDoubleValue:(double)(3 * j + 
i)];
                 }
             }
         }
@@ -1559,71 +1557,47 @@
     [pdfView setCurrentSelectionRect:NSZeroRect];
        
     if (emptySelection) {
-        [NSApp endSheet:progressSheet];
-        [progressSheet orderOut:self];
+        [[self progressController] endSheet];
     }
 }
 
 - (IBAction)autoCropAll:(id)sender {
-    if (progressSheet == nil) {
-        if ([NSBundle loadNibNamed:@"ProgressSheet" owner:self])  {
-            [progressBar setUsesThreadedAnimation:YES];
-        } else {
-            NSLog(@"Failed to load ProgressSheet.nib");
-            return;
-        }
-    }
-    
     NSMutableArray *rectArray = [NSMutableArray array];
     PDFDocument *pdfDoc = [pdfView document];
     int i, iMax = [[pdfView document] pageCount];
     
-       [progressBar setMaxValue:(double)iMax];
-       [progressBar setDoubleValue:0.0];
-       [progressField setStringValue:[NSLocalizedString(@"Cropping Pages", 
@"Message for progress sheet") stringByAppendingEllipsis]];
+       [[self progressController] setMaxValue:(double)iMax];
+       [[self progressController] setDoubleValue:0.0];
+       [[self progressController] setMessage:[NSLocalizedString(@"Cropping 
Pages", @"Message for progress sheet") stringByAppendingEllipsis]];
+       [[self progressController] beginSheetModalForWindow:[self window]];
     
-       [NSApp beginSheet:progressSheet modalForWindow:[self window] 
modalDelegate:self didEndSelector:NULL contextInfo:NULL];
-    
     for (i = 0; i < iMax; i++) {
         [rectArray addObject:[NSValue valueWithRect:[[pdfDoc pageAtIndex:i] 
foregroundBox]]];
-        [progressBar incrementBy:1.0];
-        [progressBar displayIfNeeded];
+        [[self progressController] incrementBy:1.0];
         if (i && i % 10 == 0)
             [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode 
beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
     }
     [self cropPagesToRects:rectArray];
        
-    [NSApp endSheet:progressSheet];
-    [progressSheet orderOut:self];
+    [[self progressController] endSheet];
 }
 
 - (IBAction)smartAutoCropAll:(id)sender {
-    if (progressSheet == nil) {
-        if ([NSBundle loadNibNamed:@"ProgressSheet" owner:self])  {
-            [progressBar setUsesThreadedAnimation:YES];
-        } else {
-            NSLog(@"Failed to load ProgressSheet.nib");
-            return;
-        }
-    }
-    
     NSMutableArray *rectArray = [NSMutableArray array];
     PDFDocument *pdfDoc = [pdfView document];
     int i, iMax = [pdfDoc pageCount];
     NSSize size = NSZeroSize;
     
-       [progressBar setMaxValue:1.1 * iMax];
-       [progressBar setDoubleValue:0.0];
-       [progressField setStringValue:[NSLocalizedString(@"Cropping Pages", 
@"Message for progress sheet") stringByAppendingEllipsis]];
+       [[self progressController] setMaxValue:1.1 * iMax];
+       [[self progressController] setDoubleValue:0.0];
+       [[self progressController] setMessage:[NSLocalizedString(@"Cropping 
Pages", @"Message for progress sheet") stringByAppendingEllipsis]];
+       [[self progressController] beginSheetModalForWindow:[self window]];
     
-       [NSApp beginSheet:progressSheet modalForWindow:[self window] 
modalDelegate:self didEndSelector:NULL contextInfo:NULL];
-    
     for (i = 0; i < iMax; i++) {
         NSRect bbox = [[pdfDoc pageAtIndex:i] foregroundBox];
         size.width = fmaxf(size.width, NSWidth(bbox));
         size.height = fmaxf(size.height, NSHeight(bbox));
-        [progressBar incrementBy:1.0];
-        [progressBar displayIfNeeded];
+        [[self progressController] incrementBy:1.0];
         if (i && i % 10 == 0)
             [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode 
beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
     }
@@ -1639,8 +1613,7 @@
         rect = SKConstrainRect(rect, bounds);
         [rectArray addObject:[NSValue valueWithRect:rect]];
         if (i && i % 10 == 0) {
-            [progressBar incrementBy:1.0];
-            [progressBar displayIfNeeded];
+            [[self progressController] incrementBy:1.0];
             if (i && i % 100 == 0)
                 [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode 
beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
         }
@@ -1648,8 +1621,7 @@
     [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode 
beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
     [self cropPagesToRects:rectArray];
        
-    [NSApp endSheet:progressSheet];
-    [progressSheet orderOut:self];
+    [[self progressController] endSheet];
 }
 
 - (IBAction)autoSelectContent:(id)sender {
@@ -2944,32 +2916,21 @@
 }
 
 - (void)handleDocumentBeginWrite:(NSNotification *)notification {
-    if (progressSheet == nil) {
-        if ([NSBundle loadNibNamed:@"ProgressSheet" owner:self])  {
-            [progressBar setUsesThreadedAnimation:YES];
-        } else {
-            NSLog(@"Failed to load ProgressSheet.nib");
-            return;
-        }
-    }
-    
        // Establish maximum and current value for progress bar.
-       [progressBar setMaxValue:(double)[[pdfView document] pageCount]];
-       [progressBar setDoubleValue:0.0];
-       [progressField setStringValue:[NSLocalizedString(@"Exporting PDF", 
@"Message for progress sheet") stringByAppendingEllipsis]];
+       [[self progressController] setMaxValue:(double)[[pdfView document] 
pageCount]];
+       [[self progressController] setDoubleValue:0.0];
+       [[self progressController] setMessage:[NSLocalizedString(@"Exporting 
PDF", @"Message for progress sheet") stringByAppendingEllipsis]];
        
        // Bring up the save panel as a sheet.
-       [NSApp beginSheet:progressSheet modalForWindow:[self window] 
modalDelegate:nil didEndSelector:NULL contextInfo:NULL];
+       [[self progressController] beginSheetModalForWindow:[self window]];
 }
 
 - (void)handleDocumentEndWrite:(NSNotification *)notification {
-       [NSApp endSheet:progressSheet];
-       [progressSheet orderOut:self];
+       [[self progressController] endSheet];
 }
 
 - (void)handleDocumentEndPageWrite:(NSNotification *)notification {
-       [progressBar setDoubleValue: [[[notification userInfo] 
objectForKey:@"PDFDocumentPageIndex"] floatValue]];
-       [progressBar displayIfNeeded];
+       [[self progressController] setDoubleValue: [[[notification userInfo] 
objectForKey:@"PDFDocumentPageIndex"] floatValue]];
 }
 
 - (void)documentDidUnlock:(NSNotification *)notification {

Added: trunk/SKProgressController.h
===================================================================
--- trunk/SKProgressController.h                                (rev 0)
+++ trunk/SKProgressController.h        2007-09-16 11:46:38 UTC (rev 2930)
@@ -0,0 +1,72 @@
+//
+//  SKProgressController.h
+//  Skim
+//
+//  Created by Christiaan Hofman on 9/16/07.
+/*
+ This software is Copyright (c) 2007
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
[EMAIL PROTECTED] SKProgressController : NSWindowController {
+    IBOutlet NSProgressIndicator *progressBar;
+    IBOutlet NSTextField *progressField;
+}
+
+- (NSProgressIndicator *)progressBar;
+
+- (NSString *)message;
+- (void)setMessage:(NSString *)newMessage;
+
+- (BOOL)isIndeterminate;
+- (void)setIndeterminate:(BOOL)flag;
+
+- (double)minValue;
+- (void)setMinValue:(double)newMinimum;
+
+- (double)maxValue;
+- (void)setMaxValue:(double)newMaximum;
+
+- (double)doubleValue;
+- (void)setDoubleValue:(double)doubleValue;
+
+- (void)incrementBy:(double)delta;
+
+- (void)beginSheetModalForWindow:(NSWindow *)window;
+- (void)endSheet;
+
+- (void)show;
+- (void)hide;
+
[EMAIL PROTECTED]

Added: trunk/SKProgressController.m
===================================================================
--- trunk/SKProgressController.m                                (rev 0)
+++ trunk/SKProgressController.m        2007-09-16 11:46:38 UTC (rev 2930)
@@ -0,0 +1,140 @@
+//
+//  SKProgressController.m
+//  Skim
+//
+//  Created by Christiaan Hofman on 9/16/07.
+/*
+ This software is Copyright (c) 2007
+ Christiaan Hofman. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+
+ - Neither the name of Christiaan Hofman nor the names of any
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "SKProgressController.h"
+
+
[EMAIL PROTECTED] SKProgressController
+
+- (NSString *)windowNibName { 
+    return @"ProgressSheet";
+}
+
+- (void)windowDidLoad {
+    [progressBar setUsesThreadedAnimation:YES];
+}
+
+- (NSProgressIndicator *)progressBar {
+    [self window];
+    return progressBar;
+}
+
+- (NSString *)message {
+    [self window];
+    return [progressField stringValue];
+}
+
+- (void)setMessage:(NSString *)newMessage {
+    [self window];
+    [progressField setStringValue:newMessage];
+    [[self window] setTitle:newMessage];
+}
+
+- (BOOL)isIndeterminate {
+    [self window];
+    return [progressBar isIndeterminate];
+}
+
+- (void)setIndeterminate:(BOOL)flag {
+    [self window];
+    [progressBar setIndeterminate:flag];
+}
+
+- (double)minValue {
+    [self window];
+    return [progressBar minValue];
+}
+
+- (void)setMinValue:(double)newMinimum {
+    [self window];
+    [progressBar setMinValue:newMinimum];
+}
+
+- (double)maxValue {
+    [self window];
+    return [progressBar maxValue];
+}
+
+- (void)setMaxValue:(double)newMaximum {
+    [self window];
+    [progressBar setMaxValue:newMaximum];
+}
+
+- (double)doubleValue {
+    [self window];
+    return [progressBar doubleValue];
+}
+
+- (void)setDoubleValue:(double)doubleValue {
+    [self window];
+    [progressBar setDoubleValue:doubleValue];
+    [progressBar displayIfNeeded];
+}
+
+- (void)incrementBy:(double)delta {
+    [self window];
+    [progressBar incrementBy:delta];
+    [progressBar displayIfNeeded];
+}
+
+- (void)beginSheetModalForWindow:(NSWindow *)window {
+    [self window];
+    [progressBar startAnimation:self];
+    [NSApp beginSheet:[self window] modalForWindow:window modalDelegate:nil 
didEndSelector:NULL contextInfo:NULL];
+}
+
+- (void)endSheet {
+    [self window];
+    [progressBar stopAnimation:self];
+    [NSApp endSheet:[self window]];
+    [[self window] orderOut:self];
+}
+
+- (void)show {
+    [self window];
+    [progressBar startAnimation:self];
+    [[self window] orderFront:self];
+}
+
+- (void)hide {
+    [self window];
+    [progressBar stopAnimation:self];
+    [[self window] orderOut:self];
+}
+
[EMAIL PROTECTED]

Modified: trunk/Skim.xcodeproj/project.pbxproj
===================================================================
--- trunk/Skim.xcodeproj/project.pbxproj        2007-09-16 10:02:44 UTC (rev 
2929)
+++ trunk/Skim.xcodeproj/project.pbxproj        2007-09-16 11:46:38 UTC (rev 
2930)
@@ -62,6 +62,7 @@
                CE2082E50C5E09DC009D3EFB /* ResizeRightDownCursor.tiff in 
Resources */ = {isa = PBXBuildFile; fileRef = CE2082E10C5E09DC009D3EFB /* 
ResizeRightDownCursor.tiff */; };
                CE2082E60C5E09DC009D3EFB /* ResizeRightUpCursor.tiff in 
Resources */ = {isa = PBXBuildFile; fileRef = CE2082E20C5E09DC009D3EFB /* 
ResizeRightUpCursor.tiff */; };
                CE2093910C5F9A8D009D3EFB /* BDSKGradientView.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE20938F0C5F9A8D009D3EFB /* BDSKGradientView.m 
*/; };
+               CE209FAA0C9D38C6007C72F9 /* SKProgressController.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = CE209FA80C9D38C6007C72F9 /* 
SKProgressController.m */; };
                CE2BD83E0BD4132B00A5F4DB /* Sparkle.framework in Frameworks */ 
= {isa = PBXBuildFile; fileRef = CE2BD82A0BD4132B00A5F4DB /* Sparkle.framework 
*/; };
                CE2BD8450BD4135600A5F4DB /* Sparkle.framework in CopyFiles */ = 
{isa = PBXBuildFile; fileRef = CE2BD82A0BD4132B00A5F4DB /* Sparkle.framework 
*/; };
                CE2DE4920B85D48F00D0DA12 /* SKThumbnail.m in Sources */ = {isa 
= PBXBuildFile; fileRef = CE2DE4910B85D48F00D0DA12 /* SKThumbnail.m */; };
@@ -383,6 +384,8 @@
                CE2082E20C5E09DC009D3EFB /* ResizeRightUpCursor.tiff */ = {isa 
= PBXFileReference; lastKnownFileType = image.tiff; name = 
ResizeRightUpCursor.tiff; path = Images/ResizeRightUpCursor.tiff; sourceTree = 
"<group>"; };
                CE20938E0C5F9A8D009D3EFB /* BDSKGradientView.h */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = 
BDSKGradientView.h; sourceTree = "<group>"; };
                CE20938F0C5F9A8D009D3EFB /* BDSKGradientView.m */ = {isa = 
PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; 
path = BDSKGradientView.m; sourceTree = "<group>"; };
+               CE209FA70C9D38C6007C72F9 /* SKProgressController.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKProgressController.h; sourceTree = "<group>"; };
+               CE209FA80C9D38C6007C72F9 /* SKProgressController.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= SKProgressController.m; sourceTree = "<group>"; };
                CE2BD8170BD4127A00A5F4DB /* Sparkle.xcodeproj */ = {isa = 
PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = 
Sparkle.xcodeproj; path = vendorsrc/andymatuschak/Sparkle/Sparkle.xcodeproj; 
sourceTree = "<group>"; };
                CE2BD82A0BD4132B00A5F4DB /* Sparkle.framework */ = {isa = 
PBXFileReference; lastKnownFileType = wrapper.framework; path = 
Sparkle.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                CE2DE4900B85D48F00D0DA12 /* SKThumbnail.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
SKThumbnail.h; sourceTree = "<group>"; };
@@ -916,6 +919,8 @@
                                CE54898E0B35D50E00F8AFB6 /* 
SKInfoWindowController.m */,
                                CE4EC4F30B7E24490091F228 /* 
SKPreferenceController.h */,
                                CE4EC4F40B7E24490091F228 /* 
SKPreferenceController.m */,
+                               CE209FA70C9D38C6007C72F9 /* 
SKProgressController.h */,
+                               CE209FA80C9D38C6007C72F9 /* 
SKProgressController.m */,
                                F97751610B37461000DF673B /* 
SKPSProgressController.h */,
                                F97751620B37461000DF673B /* 
SKPSProgressController.m */,
                                CE2DEB1A0B8618DE00D0DA12 /* SKFindController.h 
*/,
@@ -1544,6 +1549,7 @@
                                CEA182280C92E3300061A6D4 /* 
NSData_SKExtensions.m in Sources */,
                                CEA1D6EA0C9984400061A6D4 /* 
SKTextWithIconCell.m in Sources */,
                                CEBD52ED0C9C0AE500FBF6A4 /* SKBookmark.m in 
Sources */,
+                               CE209FAA0C9D38C6007C72F9 /* 
SKProgressController.m in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };


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: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to