From: <ho...@us...> - 2007-02-13 23:34:39
|
Revision: 9706 http://svn.sourceforge.net/bibdesk/?rev=9706&view=rev Author: hofman Date: 2007-02-13 15:34:39 -0800 (Tue, 13 Feb 2007) Log Message: ----------- Use bindings fro some buttons. Modified Paths: -------------- skim/English.lproj/MainWindow.nib/classes.nib skim/English.lproj/MainWindow.nib/info.nib skim/English.lproj/MainWindow.nib/keyedobjects.nib skim/SKMainWindowController.h skim/SKMainWindowController.m Modified: skim/English.lproj/MainWindow.nib/classes.nib =================================================================== --- skim/English.lproj/MainWindow.nib/classes.nib 2007-02-13 22:34:06 UTC (rev 9705) +++ skim/English.lproj/MainWindow.nib/classes.nib 2007-02-13 23:34:39 UTC (rev 9706) @@ -15,9 +15,6 @@ changeAnnotationMode = id; changeColor = id; changeDisplayBox = id; - changeLeftSideView = id; - changePageNumber = id; - changeRightSideView = id; changeScaleFactor = id; changeToolMode = id; createNewNote = id; Modified: skim/English.lproj/MainWindow.nib/info.nib =================================================================== --- skim/English.lproj/MainWindow.nib/info.nib 2007-02-13 22:34:06 UTC (rev 9705) +++ skim/English.lproj/MainWindow.nib/info.nib 2007-02-13 23:34:39 UTC (rev 9706) @@ -9,9 +9,9 @@ <key>168</key> <string>511 575 417 132 0 0 1440 938 </string> <key>224</key> - <string>650 372 292 529 0 0 1440 938 </string> + <string>574 376 292 529 0 0 1440 938 </string> <key>256</key> - <string>779 383 220 442 0 0 1440 938 </string> + <string>610 420 220 442 0 0 1440 938 </string> <key>314</key> <string>610 420 220 442 0 0 1440 938 </string> </dict> @@ -23,11 +23,11 @@ </array> <key>IBOpenObjects</key> <array> + <integer>168</integer> + <integer>314</integer> + <integer>5</integer> <integer>208</integer> - <integer>314</integer> <integer>224</integer> - <integer>5</integer> - <integer>168</integer> <integer>256</integer> </array> <key>IBSystem Version</key> Modified: skim/English.lproj/MainWindow.nib/keyedobjects.nib =================================================================== (Binary files differ) Modified: skim/SKMainWindowController.h =================================================================== --- skim/SKMainWindowController.h 2007-02-13 22:34:06 UTC (rev 9705) +++ skim/SKMainWindowController.h 2007-02-13 23:34:39 UTC (rev 9706) @@ -137,12 +137,9 @@ - (IBAction)rotateAllLeft:(id)sender; - (IBAction)getInfo:(id)sender; - (IBAction)search:(id)sender; -- (IBAction)changePageNumber:(id)sender; - (IBAction)changeScaleFactor:(id)sender; - (IBAction)changeToolMode:(id)sender; - (IBAction)changeAnnotationMode:(id)sender; -- (IBAction)changeLeftSideView:(id)sender; -- (IBAction)changeRightSideView:(id)sender; - (IBAction)enterFullScreen:(id)sender; - (IBAction)exitFullScreen:(id)sender; - (IBAction)toggleFullScreen:(id)sender; @@ -155,14 +152,24 @@ - (void)deminiaturizeSubWindows:(NSArray *)subwindowsToShow; - (void)showNote:(PDFAnnotation *)annotation; +- (PDFView *)pdfView; + - (PDFDocument *)pdfDocument; - (void)setPdfDocument:(PDFDocument *)document; +- (unsigned int)pageNumber; +- (void)setPageNumber:(unsigned int)pageNumber; + - (BOOL)isFullScreen; - (BOOL)isPresentation; - (BOOL)autoScales; +- (SKLeftSidePaneState)leftSidePaneState; +- (void)setLeftSidePaneState:(SKLeftSidePaneState)newLeftSidePaneState; +- (SKRightSidePaneState)rightSidePaneState; +- (void)setRightSidePaneState:(SKRightSidePaneState)newRightSidePaneState; + - (void)displayOutlineView; - (void)fadeInOutlineView; - (void)displayThumbnailView; @@ -192,8 +199,6 @@ - (void)handlePageChangedNotification:(NSNotification *)notification; - (void)handleScaleChangedNotification:(NSNotification *)notification; - (void)handleChangedHistoryNotification:(NSNotification *)notification; -- (void)handleToolModeChangedNotification:(NSNotification *)notification; -- (void)handleAnnotationModeChangedNotification:(NSNotification *)notification; - (void)handleDidChangeActiveAnnotationNotification:(NSNotification *)notification; - (void)handleDidAddAnnotationNotification:(NSNotification *)notification; - (void)handleDidRemoveAnnotationNotification:(NSNotification *)notification; Modified: skim/SKMainWindowController.m =================================================================== --- skim/SKMainWindowController.m 2007-02-13 22:34:06 UTC (rev 9705) +++ skim/SKMainWindowController.m 2007-02-13 23:34:39 UTC (rev 9706) @@ -165,13 +165,9 @@ [self setupToolbar]; [self handleChangedHistoryNotification:nil]; - [self handleToolModeChangedNotification:nil]; - [self handleAnnotationModeChangedNotification:nil]; [self handlePageChangedNotification:nil]; [self handleScaleChangedNotification:nil]; [pageNumberStepper setMaxValue:[[pdfView document] pageCount]]; - [leftSideButton setSelectedSegment:leftSidePaneState]; - [rightSideButton setSelectedSegment:rightSidePaneState]; [self splitView:splitView doubleClickedDividerAt:1]; @@ -189,10 +185,6 @@ name:PDFViewScaleChangedNotification object:pdfView]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleChangedHistoryNotification:) name:PDFViewChangedHistoryNotification object:pdfView]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleToolModeChangedNotification:) - name:SKPDFViewAnnotationModeChangedNotification object:pdfView]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleAnnotationModeChangedNotification:) - name:SKPDFViewToolModeChangedNotification object:pdfView]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleDidChangeActiveAnnotationNotification:) name:SKPDFViewActiveAnnotationDidChangeNotification object:pdfView]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleDidAddAnnotationNotification:) @@ -269,6 +261,23 @@ [self thumbnailsAtIndexesNeedUpdate:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [pdfDoc pageCount])]]; } +- (PDFView *)pdfView { + return pdfView; +} + +- (unsigned int)pageNumber { + return [[pdfView document] indexForPage:[pdfView currentPage]] + 1; +} + +- (void)setPageNumber:(unsigned int)pageNumber { + // Check that the page number exists + unsigned int pageCount = [[pdfView document] pageCount]; + if (pageNumber > pageCount) + [pdfView goToPage:[[pdfView document] pageAtIndex:pageCount - 1]]; + else if (pageNumber > 0) + [pdfView goToPage:[[pdfView document] pageAtIndex:pageNumber - 1]]; +} + - (BOOL)isFullScreen { return [self window] == fullScreenWindow && isPresentation == NO; } @@ -281,6 +290,41 @@ return [pdfView autoScales]; } +- (SKLeftSidePaneState)leftSidePaneState { + return leftSidePaneState; +} + +- (void)setLeftSidePaneState:(SKLeftSidePaneState)newLeftSidePaneState { + if (leftSidePaneState != newLeftSidePaneState) { + leftSidePaneState = newLeftSidePaneState; + + if ([findField stringValue] && [[findField stringValue] isEqualToString:@""] == NO) { + [findField setStringValue:@""]; + [self removeTemporaryAnnotations]; + } + + if (leftSidePaneState == SKThumbnailSidePaneState) + [self displayThumbnailView]; + else if (leftSidePaneState == SKOutlineSidePaneState) + [self displayOutlineView]; + } +} + +- (SKRightSidePaneState)rightSidePaneState { + return rightSidePaneState; +} + +- (void)setRightSidePaneState:(SKRightSidePaneState)newRightSidePaneState { + if (rightSidePaneState != newRightSidePaneState) { + rightSidePaneState = newRightSidePaneState; + + if (rightSidePaneState == SKNotesSidePaneState) + [self displayNotesView]; + else if (rightSidePaneState == SKSubwindowsSidePaneState) + [self displaySubwindowsView]; + } +} + - (NSArray *)thumbnails { return thumbnails; } @@ -416,17 +460,8 @@ } - (void)choosePageSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo { - if (returnCode == NSOKButton) { - int page = [choosePageField intValue]; - - // Check that the page number exists - int pageCount = [[pdfView document] pageCount]; - if (page > pageCount) { - [pdfView goToPage:[[pdfView document] pageAtIndex:pageCount - 1]]; - } else if (page > 0) { - [pdfView goToPage:[[pdfView document] pageAtIndex:page - 1]]; - } - } + if (returnCode == NSOKButton) + [self setPageNumber:[choosePageField intValue]]; } - (IBAction)doGoToPage:(id)sender { @@ -514,19 +549,6 @@ [infoController showWindow:self]; } -- (IBAction)changePageNumber:(id)sender { - int page = [sender intValue]; - - // Check that the page number exists - int pageCount = [[pdfView document] pageCount]; - if (page > pageCount) { - [pdfView goToPage:[[pdfView document] pageAtIndex:pageCount - 1]]; - [pageNumberField setIntValue: page]; - } else if (page > 0) { - [pdfView goToPage:[[pdfView document] pageAtIndex:page - 1]]; - } -} - - (IBAction)changeScaleFactor:(id)sender { int scale = [sender intValue]; @@ -537,38 +559,13 @@ } - (IBAction)changeToolMode:(id)sender { - SKToolMode toolMode = [sender isKindOfClass:[NSSegmentedControl class]] ? [sender selectedSegment] : [sender tag]; - [pdfView setToolMode:toolMode]; + [pdfView setToolMode:[sender tag]]; } - (IBAction)changeAnnotationMode:(id)sender { - SKAnnotationMode newAnnotationMode = [sender isKindOfClass:[NSSegmentedControl class]] ? [sender selectedSegment] : [sender tag]; - [pdfView setAnnotationMode:newAnnotationMode]; + [pdfView setAnnotationMode:[sender tag]]; } -- (IBAction)changeLeftSideView:(id)sender { - leftSidePaneState = [sender selectedSegment]; - - if ([findField stringValue] && [[findField stringValue] isEqualToString:@""] == NO) { - [findField setStringValue:@""]; - [self removeTemporaryAnnotations]; - } - - if (leftSidePaneState == SKThumbnailSidePaneState) - [self displayThumbnailView]; - else if (leftSidePaneState == SKOutlineSidePaneState) - [self displayOutlineView]; -} - -- (IBAction)changeRightSideView:(id)sender { - rightSidePaneState = [sender selectedSegment]; - - if (rightSidePaneState == SKNotesSidePaneState) - [self displayNotesView]; - else if (rightSidePaneState == SKSubwindowsSidePaneState) - [self displaySubwindowsView]; -} - - (void)goFullScreen { NSScreen *screen = [NSScreen mainScreen]; // @@ or should we use the window's screen? @@ -929,7 +926,6 @@ [self fadeInThumbnailView]; else [self fadeInOutlineView]; - [leftSideButton setSelectedSegment:leftSidePaneState]; } else { [self fadeInSearchView]; } @@ -1050,7 +1046,7 @@ if ([self isPresentation] == NO) { if ([subwindowsTableView window] == nil) { [self displaySubwindowsView]; - [rightSideButton setSelectedSegment:SKSubwindowsSidePaneState]; + [self setRightSidePaneState:SKSubwindowsSidePaneState]; } } @@ -1152,12 +1148,15 @@ } - (void)handlePageChangedNotification:(NSNotification *)notification { - PDFDocument *pdfDoc = [pdfView document]; - unsigned pageIndex = [pdfDoc indexForPage:[pdfView currentPage]]; + //PDFDocument *pdfDoc = [pdfView document]; + //unsigned pageIndex = [pdfDoc indexForPage:[pdfView currentPage]]; - [pageNumberStepper setIntValue:pageIndex + 1]; - [pageNumberField setIntValue:pageIndex + 1]; + // [pageNumberStepper setIntValue:pageIndex + 1]; + //[pageNumberField setIntValue:pageIndex + 1]; + [self willChangeValueForKey:@"pageNumber"]; + [self didChangeValueForKey:@"pageNumber"]; + [self updateOutlineSelection]; [self updateNoteSelection]; [self updateThumbnailSelection]; @@ -1167,16 +1166,6 @@ [scaleField setFloatValue:[pdfView scaleFactor] * 100.0]; } -- (void)handleToolModeChangedNotification:(NSNotification *)notification { - unsigned toolMode = [pdfView toolMode]; - [toolModeButton setSelectedSegment:toolMode]; -} - -- (void)handleAnnotationModeChangedNotification:(NSNotification *)notification { - unsigned annotationMode = [pdfView annotationMode]; - [annotationModeButton setSelectedSegment:annotationMode]; -} - - (void)handleAppWillTerminateNotification:(NSNotification *)notification { if ([self isFullScreen] || [self isPresentation]) [self exitFullScreen:self]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |