Revision: 7664
          http://skim-app.svn.sourceforge.net/skim-app/?rev=7664&view=rev
Author:   hofman
Date:     2012-02-22 12:41:02 +0000 (Wed, 22 Feb 2012)
Log Message:
-----------
Allow hiding outline column in note table

Modified Paths:
--------------
    trunk/SKMainWindowController_UI.m
    trunk/SKNoteOutlineView.m

Modified: trunk/SKMainWindowController_UI.m
===================================================================
--- trunk/SKMainWindowController_UI.m   2012-02-22 12:32:50 UTC (rev 7663)
+++ trunk/SKMainWindowController_UI.m   2012-02-22 12:41:02 UTC (rev 7664)
@@ -1122,7 +1122,7 @@
             if ([pdfView hideNotes] == NO && [items count] == 1) {
                 PDFAnnotation *annotation = [[self noteItems:items] 
lastObject];
                 if ([annotation isEditable]) {
-                    if ([[items lastObject] type]) {
+                    if ([[items lastObject] type] && 
[[rightSideController.noteOutlineView tableColumnWithIdentifier:NOTE_COLUMNID] 
isHidden] == NO) {
                         item = [menu 
addItemWithTitle:NSLocalizedString(@"Edit", @"Menu item title") 
action:@selector(editNoteFromTable:) target:self];
                         [item setRepresentedObject:annotation];
                         item = [menu 
addItemWithTitle:[NSLocalizedString(@"Edit", @"Menu item title") 
stringByAppendingEllipsis] action:@selector(editThisAnnotation:) 
target:pdfView];

Modified: trunk/SKNoteOutlineView.m
===================================================================
--- trunk/SKNoteOutlineView.m   2012-02-22 12:32:50 UTC (rev 7663)
+++ trunk/SKNoteOutlineView.m   2012-02-22 12:41:02 UTC (rev 7664)
@@ -84,10 +84,8 @@
     for (NSTableColumn *tc in [self tableColumns]) {
         NSString *identifier = [tc identifier];
         NSString *title = titleForTableColumnIdentifier(identifier);
-        if ([self outlineTableColumn] != tc) {
-            NSMenuItem *menuItem = [menu addItemWithTitle:title 
action:@selector(toggleTableColumn:) target:self];
-            [menuItem setRepresentedObject:identifier];
-        }
+        NSMenuItem *menuItem = [menu addItemWithTitle:title 
action:@selector(toggleTableColumn:) target:self];
+        [menuItem setRepresentedObject:identifier];
         if ([tc maxWidth] >= 32.0)
             [[tc headerCell] setTitle:title];
     }
@@ -225,9 +223,6 @@
 }
 
 - (void)setTableColumnIdentifiers:(NSArray *)identifiers {
-    NSArray *outlineIdentifier = [[self outlineTableColumn] identifier];
-    if (outlineIdentifier && [identifiers containsObject:outlineIdentifier] == 
NO)
-        identifiers = [[NSArray arrayWithObject:outlineIdentifier] 
arrayByAddingObjectsFromArray:identifiers];
     if ([identifiers isEqualToArray:[self tableColumnIdentifiers]] == NO) {
         for (NSTableColumn *tc in [self tableColumns])
             [tc setHidden:[identifiers containsObject:[tc identifier]] == NO];
@@ -259,6 +254,8 @@
 - (void)toggleTableColumn:(id)sender {
     NSTableColumn *tc = [self tableColumnWithIdentifier:[sender 
representedObject]];
     [tc setHidden:[tc isHidden] == NO];
+    if ([self outlineTableColumn] == tc && [tc isHidden])
+        [self collapseItem:nil collapseChildren:YES];
     if ([[self delegate] 
respondsToSelector:@selector(outlineViewTableColumnsDidChange:)])
         [[self delegate] outlineViewTableColumnsDidChange:self];
 }

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


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to