Revision: 3068
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3068&view=rev
Author:   hofman
Date:     2007-10-24 03:07:23 -0700 (Wed, 24 Oct 2007)

Log Message:
-----------
Add a popup to the Add Bookmark sheet to allow directly adding a new bookmark 
to a folder.

Modified Paths:
--------------
    trunk/Dutch.lproj/BookmarkSheet.nib/classes.nib
    trunk/Dutch.lproj/BookmarkSheet.nib/keyedobjects.nib
    trunk/English.lproj/BookmarkSheet.nib/classes.nib
    trunk/English.lproj/BookmarkSheet.nib/keyedobjects.nib
    trunk/French.lproj/BookmarkSheet.nib/keyedobjects.nib
    trunk/Italian.lproj/BookmarkSheet.nib/classes.nib
    trunk/Italian.lproj/BookmarkSheet.nib/keyedobjects.nib
    trunk/SKBookmarkController.h
    trunk/SKBookmarkController.m
    trunk/SKMainWindowController.m
    trunk/SKSheetController.h
    trunk/SKSheetController.m
    trunk/Skim.xcodeproj/project.pbxproj
    trunk/Spanish.lproj/BookmarkSheet.nib/classes.nib
    trunk/Spanish.lproj/BookmarkSheet.nib/info.nib
    trunk/Spanish.lproj/BookmarkSheet.nib/keyedobjects.nib

Modified: trunk/Dutch.lproj/BookmarkSheet.nib/classes.nib
===================================================================
--- trunk/Dutch.lproj/BookmarkSheet.nib/classes.nib     2007-10-23 18:30:12 UTC 
(rev 3067)
+++ trunk/Dutch.lproj/BookmarkSheet.nib/classes.nib     2007-10-24 10:07:23 UTC 
(rev 3068)
@@ -4,6 +4,7 @@
         {
             CLASS = SKBookmarkSheetController; 
             LANGUAGE = ObjC; 
+            OUTLETS = {folderPopUp = NSPopUpButton; }; 
             SUPERCLASS = SKSheetController; 
         }, 
         {

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

Modified: trunk/English.lproj/BookmarkSheet.nib/classes.nib
===================================================================
--- trunk/English.lproj/BookmarkSheet.nib/classes.nib   2007-10-23 18:30:12 UTC 
(rev 3067)
+++ trunk/English.lproj/BookmarkSheet.nib/classes.nib   2007-10-24 10:07:23 UTC 
(rev 3068)
@@ -4,6 +4,7 @@
         {
             CLASS = SKBookmarkSheetController; 
             LANGUAGE = ObjC; 
+            OUTLETS = {folderPopUp = NSPopUpButton; }; 
             SUPERCLASS = SKSheetController; 
         }, 
         {

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

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

Modified: trunk/Italian.lproj/BookmarkSheet.nib/classes.nib
===================================================================
--- trunk/Italian.lproj/BookmarkSheet.nib/classes.nib   2007-10-23 18:30:12 UTC 
(rev 3067)
+++ trunk/Italian.lproj/BookmarkSheet.nib/classes.nib   2007-10-24 10:07:23 UTC 
(rev 3068)
@@ -4,6 +4,7 @@
         {
             CLASS = SKBookmarkSheetController; 
             LANGUAGE = ObjC; 
+            OUTLETS = {folderPopUp = NSPopUpButton; }; 
             SUPERCLASS = SKSheetController; 
         }, 
         {

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

Modified: trunk/SKBookmarkController.h
===================================================================
--- trunk/SKBookmarkController.h        2007-10-23 18:30:12 UTC (rev 3067)
+++ trunk/SKBookmarkController.h        2007-10-24 10:07:23 UTC (rev 3068)
@@ -39,7 +39,7 @@
 #import <Cocoa/Cocoa.h>
 #import "SKOutlineView.h"
 
[EMAIL PROTECTED] SKBookmarkOutlineView, SKStatusBar;
[EMAIL PROTECTED] SKBookmark, SKBookmarkOutlineView, SKStatusBar;
 
 @interface SKBookmarkController : NSWindowController {
     IBOutlet SKBookmarkOutlineView *outlineView;
@@ -60,7 +60,7 @@
 - (void)insertObject:(id)obj inBookmarksAtIndex:(unsigned)index;
 - (void)removeObjectFromBookmarksAtIndex:(unsigned)index;
 
-- (void)addBookmarkForPath:(NSString *)path pageIndex:(unsigned)pageIndex 
label:(NSString *)label;
+- (void)addBookmarkForPath:(NSString *)path pageIndex:(unsigned)pageIndex 
label:(NSString *)label toFolder:(SKBookmark *)folder;
 - (void)handleApplicationWillTerminateNotification:(NSNotification 
*)notification;
 - (void)handleBookmarkChangedNotification:(NSNotification *)notification;
 - (void)handleBookmarkWillBeRemovedNotification:(NSNotification *)notification;

Modified: trunk/SKBookmarkController.m
===================================================================
--- trunk/SKBookmarkController.m        2007-10-23 18:30:12 UTC (rev 3067)
+++ trunk/SKBookmarkController.m        2007-10-24 10:07:23 UTC (rev 3068)
@@ -211,13 +211,6 @@
     [self handleBookmarkChangedNotification:nil];
 }
 
-- (void)addBookmarkForPath:(NSString *)path pageIndex:(unsigned)pageIndex 
label:(NSString *)label {
-    SKBookmark *bookmark = [[SKBookmark alloc] initWithPath:path 
pageIndex:pageIndex label:label];
-    if (bookmark)
-        [[self mutableArrayValueForKey:@"bookmarks"] addObject:bookmark];
-    [bookmark release];
-}
-
 - (NSArray *)childrenOfBookmark:(SKBookmark *)bookmark {
     return bookmark ? [bookmark children] : bookmarks;
 }
@@ -256,6 +249,14 @@
     return minimalCover;
 }
 
+- (void)addBookmarkForPath:(NSString *)path pageIndex:(unsigned)pageIndex 
label:(NSString *)label toFolder:(SKBookmark *)folder {
+    SKBookmark *bookmark = [[SKBookmark alloc] initWithPath:path 
pageIndex:pageIndex label:label];
+    if (bookmark) {
+        [self bookmark:folder insertChildBookmark:bookmark atIndex:[[self 
childrenOfBookmark:folder] count]];
+        [bookmark release];
+    }
+}
+
 - (NSArray *)draggedBookmarks {
     return draggedBookmarks;
 }

Modified: trunk/SKMainWindowController.m
===================================================================
--- trunk/SKMainWindowController.m      2007-10-23 18:30:12 UTC (rev 3067)
+++ trunk/SKMainWindowController.m      2007-10-24 10:07:23 UTC (rev 3068)
@@ -2856,7 +2856,7 @@
         NSString *path = [[self document] fileName];
         NSString *label = [controller stringValue];
         unsigned int pageIndex = [[pdfView currentPage] pageIndex];
-        [bmController addBookmarkForPath:path pageIndex:pageIndex label:label];
+        [bmController addBookmarkForPath:path pageIndex:pageIndex label:label 
toFolder:[controller selectedFolder]];
     }
 }
 

Modified: trunk/SKSheetController.h
===================================================================
--- trunk/SKSheetController.h   2007-10-23 18:30:12 UTC (rev 3067)
+++ trunk/SKSheetController.h   2007-10-24 10:07:23 UTC (rev 3068)
@@ -75,7 +75,14 @@
 
 #pragma mark -
 
[EMAIL PROTECTED] SKBookmarkSheetController : SKSheetController
[EMAIL PROTECTED] SKBookmark;
+
[EMAIL PROTECTED] SKBookmarkSheetController : SKSheetController {
+    IBOutlet NSPopUpButton *folderPopUp;
+}
+
+- (SKBookmark *)selectedFolder;
+
 @end
 
 #pragma mark -

Modified: trunk/SKSheetController.m
===================================================================
--- trunk/SKSheetController.m   2007-10-23 18:30:12 UTC (rev 3067)
+++ trunk/SKSheetController.m   2007-10-24 10:07:23 UTC (rev 3068)
@@ -37,6 +37,8 @@
  */
 
 #import "SKSheetController.h"
+#import "SKBookmarkController.h"
+#import "SKBookmark.h"
 
 
 @implementation SKSheetController
@@ -127,7 +129,37 @@
 #pragma mark -
 
 @implementation SKBookmarkSheetController : SKSheetController
+
 - (NSString *)windowNibName { return @"BookmarkSheet"; }
+
+- (void)addMenuItemsForBookmarks:(NSArray *)bookmarks level:(int)level 
toMenu:(NSMenu *)menu {
+    int i, iMax = [bookmarks count];
+    for (i = 0; i < iMax; i++) {
+        SKBookmark *bm = [bookmarks objectAtIndex:i];
+        if ([bm bookmarkType] == SKBookmarkTypeFolder) {
+            NSString *label = [bm label];
+            NSMenuItem *item = [menu addItemWithTitle:label ? label : @"" 
action:NULL keyEquivalent:@""];
+            [item setImage:[bm icon]];
+            [item setIndentationLevel:level];
+            [item setRepresentedObject:bm];
+            [self addMenuItemsForBookmarks:[bm children] level:level+1 
toMenu:menu];
+        }
+    }
+}
+
+- (void)prepare {
+    NSArray *bookmarks = [[SKBookmarkController sharedBookmarkController] 
bookmarks];
+    [folderPopUp removeAllItems];
+    NSMenuItem *item = [[folderPopUp menu] 
addItemWithTitle:NSLocalizedString(@"Bookmarks Menu", @"Menu item title") 
action:NULL keyEquivalent:@""];
+    [item setImage:[NSImage imageNamed:@"SmallMenu"]];
+    [self addMenuItemsForBookmarks:bookmarks level:1 toMenu:[folderPopUp 
menu]];
+    [folderPopUp selectItemAtIndex:0];
+}
+
+- (SKBookmark *)selectedFolder {
+    return [[folderPopUp selectedItem] representedObject];
+}
+
 @end
 
 #pragma mark -

Modified: trunk/Skim.xcodeproj/project.pbxproj
===================================================================
--- trunk/Skim.xcodeproj/project.pbxproj        2007-10-23 18:30:12 UTC (rev 
3067)
+++ trunk/Skim.xcodeproj/project.pbxproj        2007-10-24 10:07:23 UTC (rev 
3068)
@@ -143,10 +143,10 @@
                CE7468810B7F3C0000CBF969 /* zoomInCursor.tiff in Resources */ = 
{isa = PBXBuildFile; fileRef = CE7467540B7F321100CBF969 /* zoomInCursor.tiff 
*/; };
                CE7468820B7F3C0000CBF969 /* zoomOutCursor.tiff in Resources */ 
= {isa = PBXBuildFile; fileRef = CE7467550B7F321A00CBF969 /* zoomOutCursor.tiff 
*/; };
                CE7469180B7F40B700CBF969 /* Skim.icns in Resources */ = {isa = 
PBXBuildFile; fileRef = CE7469170B7F40B600CBF969 /* Skim.icns */; };
+               CE7B85FD0CCF4AA800793F46 /* SmallMenu.tiff in Resources */ = 
{isa = PBXBuildFile; fileRef = CE7B85FC0CCF4AA800793F46 /* SmallMenu.tiff */; };
                CE7C20500C259A5D0059E08C /* NSColor_SKExtensions.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = CE7C204E0C259A5D0059E08C /* 
NSColor_SKExtensions.m */; };
                CE7C5D190BD8086C0011315D /* ToolbarLineNote.tiff in Resources 
*/ = {isa = PBXBuildFile; fileRef = CE7C5D180BD8086C0011315D /* 
ToolbarLineNote.tiff */; };
                CE820A220C8A0E310020E6B0 /* NSTask_SKExtensions.m in Sources */ 
= {isa = PBXBuildFile; fileRef = CE820A200C8A0E310020E6B0 /* 
NSTask_SKExtensions.m */; };
-               CE8978CD0CBFC70B00EA2D98 /* SKTag.h in CopyFiles */ = {isa = 
PBXBuildFile; fileRef = CE8978CB0CBFC70B00EA2D98 /* SKTag.h */; };
                CE8978CE0CBFC70B00EA2D98 /* SKTag.m in Sources */ = {isa = 
PBXBuildFile; fileRef = CE8978CC0CBFC70B00EA2D98 /* SKTag.m */; };
                CE898F060C843A8B008A0856 /* PDFDDocument.icns in Resources */ = 
{isa = PBXBuildFile; fileRef = CE898F050C843A8B008A0856 /* PDFDDocument.icns 
*/; };
                CE8B46E90C29CA00005CE7F1 /* SKLineInspector.m in Sources */ = 
{isa = PBXBuildFile; fileRef = CE8B46E70C29CA00005CE7F1 /* SKLineInspector.m 
*/; };
@@ -187,7 +187,6 @@
                CEBD51D70C9BF68100FBF6A4 /* ToolbarNewFolder.tiff in Resources 
*/ = {isa = PBXBuildFile; fileRef = CEBD51D50C9BF68100FBF6A4 /* 
ToolbarNewFolder.tiff */; };
                CEBD51D80C9BF68100FBF6A4 /* ToolbarNewSeparator.tiff in 
Resources */ = {isa = PBXBuildFile; fileRef = CEBD51D60C9BF68100FBF6A4 /* 
ToolbarNewSeparator.tiff */; };
                CEBD52ED0C9C0AE500FBF6A4 /* SKBookmark.m in Sources */ = {isa = 
PBXBuildFile; fileRef = CEBD52EB0C9C0AE500FBF6A4 /* SKBookmark.m */; };
-               CEBF85E10CCE2DE70057A050 /* NSAffineTransform_SKExtensions.h in 
CopyFiles */ = {isa = PBXBuildFile; fileRef = CEBF85DF0CCE2DE70057A050 /* 
NSAffineTransform_SKExtensions.h */; };
                CEBF85E20CCE2DE70057A050 /* NSAffineTransform_SKExtensions.m in 
Sources */ = {isa = PBXBuildFile; fileRef = CEBF85E00CCE2DE70057A050 /* 
NSAffineTransform_SKExtensions.m */; };
                CECDC4FF0C5966A80026AAEC /* NSImage_SKExtensions.m in Sources 
*/ = {isa = PBXBuildFile; fileRef = CECDC4FD0C5966A80026AAEC /* 
NSImage_SKExtensions.m */; };
                CECDD2990C5B68580026AAEC /* SKCenteredTextFieldCell.m in 
Sources */ = {isa = PBXBuildFile; fileRef = CECDD2970C5B68580026AAEC /* 
SKCenteredTextFieldCell.m */; };
@@ -286,8 +285,6 @@
                        files = (
                                CE2BD8450BD4135600A5F4DB /* Sparkle.framework 
in CopyFiles */,
                                CEAE39060CA43E7300849B0F /* SKSheetController.h 
in CopyFiles */,
-                               CE8978CD0CBFC70B00EA2D98 /* SKTag.h in 
CopyFiles */,
-                               CEBF85E10CCE2DE70057A050 /* 
NSAffineTransform_SKExtensions.h in CopyFiles */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -541,6 +538,7 @@
                CE7467540B7F321100CBF969 /* zoomInCursor.tiff */ = {isa = 
PBXFileReference; lastKnownFileType = image.tiff; name = zoomInCursor.tiff; 
path = Images/zoomInCursor.tiff; sourceTree = "<group>"; };
                CE7467550B7F321A00CBF969 /* zoomOutCursor.tiff */ = {isa = 
PBXFileReference; lastKnownFileType = image.tiff; name = zoomOutCursor.tiff; 
path = Images/zoomOutCursor.tiff; sourceTree = "<group>"; };
                CE7469170B7F40B600CBF969 /* Skim.icns */ = {isa = 
PBXFileReference; lastKnownFileType = image.icns; name = Skim.icns; path = 
Images/Skim.icns; sourceTree = "<group>"; };
+               CE7B85FC0CCF4AA800793F46 /* SmallMenu.tiff */ = {isa = 
PBXFileReference; lastKnownFileType = image.tiff; path = SmallMenu.tiff; 
sourceTree = "<group>"; };
                CE7C204D0C259A5D0059E08C /* NSColor_SKExtensions.h */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 
NSColor_SKExtensions.h; sourceTree = "<group>"; };
                CE7C204E0C259A5D0059E08C /* NSColor_SKExtensions.m */ = {isa = 
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path 
= NSColor_SKExtensions.m; sourceTree = "<group>"; };
                CE7C5D180BD8086C0011315D /* ToolbarLineNote.tiff */ = {isa = 
PBXFileReference; lastKnownFileType = image.tiff; name = ToolbarLineNote.tiff; 
path = Images/ToolbarLineNote.tiff; sourceTree = "<group>"; };
@@ -1157,6 +1155,7 @@
                                CEAA68EA0C71242F006BD633 /* Resume.tiff */,
                                CEF84C620C78A89900A3AD51 /* 
SmallPreferences.tiff */,
                                CEA1D7800C99953B0061A6D4 /* SmallFolder.tiff */,
+                               CE7B85FC0CCF4AA800793F46 /* SmallMenu.tiff */,
                                CE0715890B8A3D6300733CC8 /* NoteDocument.icns 
*/,
                                CE7C5D180BD8086C0011315D /* 
ToolbarLineNote.tiff */,
                                CE4190C20B94963A00ECF819 /* 
ToolbarCircleNote.tiff */,
@@ -1422,6 +1421,7 @@
                                CEAE392F0CA4423A00849B0F /* ScaleSheet.nib in 
Resources */,
                                CEAE39320CA4426B00849B0F /* PasswordSheet.nib 
in Resources */,
                                CEAE39350CA4429A00849B0F /* BookmarkSheet.nib 
in Resources */,
+                               CE7B85FD0CCF4AA800793F46 /* SmallMenu.tiff in 
Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };

Modified: trunk/Spanish.lproj/BookmarkSheet.nib/classes.nib
===================================================================
--- trunk/Spanish.lproj/BookmarkSheet.nib/classes.nib   2007-10-23 18:30:12 UTC 
(rev 3067)
+++ trunk/Spanish.lproj/BookmarkSheet.nib/classes.nib   2007-10-24 10:07:23 UTC 
(rev 3068)
@@ -4,6 +4,7 @@
         {
             CLASS = SKBookmarkSheetController; 
             LANGUAGE = ObjC; 
+            OUTLETS = {folderPopUp = NSPopUpButton; }; 
             SUPERCLASS = SKSheetController; 
         }, 
         {

Modified: trunk/Spanish.lproj/BookmarkSheet.nib/info.nib
===================================================================
--- trunk/Spanish.lproj/BookmarkSheet.nib/info.nib      2007-10-23 18:30:12 UTC 
(rev 3067)
+++ trunk/Spanish.lproj/BookmarkSheet.nib/info.nib      2007-10-24 10:07:23 UTC 
(rev 3068)
@@ -6,6 +6,10 @@
        <string>69 58 356 240 0 0 1440 938 </string>
        <key>IBFramework Version</key>
        <string>446.1</string>
+       <key>IBOpenObjects</key>
+       <array>
+               <integer>7</integer>
+       </array>
        <key>IBSystem Version</key>
        <string>8R218</string>
 </dict>

Modified: trunk/Spanish.lproj/BookmarkSheet.nib/keyedobjects.nib
===================================================================
(Binary files differ)


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
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to