Revision: 18553
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=18553&view=rev
Author:   ununnilium
Date:     2012-03-14 14:36:49 +0000 (Wed, 14 Mar 2012)
Log Message:
-----------
Fix output of citation in TableView cells when not all fields populated

Modified Paths:
--------------
    trunk/bibdesk_ios/BDSKPubTableViewController.m
    trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.h
    trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.m

Modified: trunk/bibdesk_ios/BDSKPubTableViewController.m
===================================================================
--- trunk/bibdesk_ios/BDSKPubTableViewController.m      2012-03-14 06:48:14 UTC 
(rev 18552)
+++ trunk/bibdesk_ios/BDSKPubTableViewController.m      2012-03-14 14:36:49 UTC 
(rev 18553)
@@ -43,6 +43,7 @@
 #import "BDSKLocalFile.h"
 #import "BibItem.h"
 #import "BDSKLinkedFile.h"
+#import "NSString_BDSKExtensions.h"
 
 @interface BDSKPubTableViewController () {
 
@@ -125,17 +126,18 @@
     BibItem *bibItem = [bibItems objectAtIndex:indexPath.row];
     
     cell.textLabel.text = bibItem.title;
-    NSString *subtitle = [NSString stringWithFormat:@"%@ - %@.", [bibItem 
stringValueOfField:@"Year"], [bibItem container]];
+    
+    NSString *year = [bibItem stringValueOfField:@"Year"];
+    NSString *container = [bibItem container];
     NSString *volume = [bibItem stringValueOfField:@"Volume"];
-    if (volume.length) {
-        subtitle = [subtitle stringByAppendingFormat:@" %@", volume];
-        NSString *number = [bibItem stringValueOfField:@"Number"];
-        if (number.length) subtitle = [subtitle 
stringByAppendingFormat:@"(%@)", number];
-        NSString *pages = [bibItem stringValueOfField:@"Pages"];
-        if (pages.length) subtitle = [subtitle stringByAppendingFormat:@":%@", 
pages];
-    }
-    cell.detailTextLabel.text = subtitle;
+    NSString *pages = [bibItem stringValueOfField:@"Pages"];
     
+    NSString *volpages = [volume stringByAppendingString:pages 
withDelimiter:@":"];
+    
+    NSString *contvolpages = [container stringByAppendingString:volpages 
withDelimiter:@" "];
+    
+    cell.detailTextLabel.text = [year stringByAppendingString:contvolpages 
withDelimiter:@" - "];
+    
     //NSLog(@"File Count: %i", bibItem.files.count);
     
     if (((BDSKLocalFile *)[_pdfFiles objectAtIndex:indexPath.row]).path) {

Modified: trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.h
===================================================================
--- trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.h 2012-03-14 06:48:14 UTC 
(rev 18552)
+++ trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.h 2012-03-14 14:36:49 UTC 
(rev 18553)
@@ -468,6 +468,8 @@
 - (NSString *)stringByCollapsingWhitespaceAndRemovingSurroundingWhitespace;
 - (NSString *)stringByRemovingSurroundingWhitespaceAndNewlines;
 
+- (NSString *)stringByAppendingString:(NSString *)string 
withDelimiter:(NSString *)delimiter;
+
 - (NSString *)fullyEncodeAsIURI;
 
 + (NSString *)pathSeparator;

Modified: trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.m
===================================================================
--- trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.m 2012-03-14 06:48:14 UTC 
(rev 18552)
+++ trunk/bibdesk_ios/bibdesk/NSString_BDSKExtensions.m 2012-03-14 14:36:49 UTC 
(rev 18553)
@@ -1363,6 +1363,21 @@
     return [self stringByCollapsingAndTrimmingCharactersInSet:[NSCharacterSet 
whitespaceCharacterSet]];
 }
 
+- (NSString *)stringByAppendingString:(NSString *)string 
withDelimiter:(NSString *)delimiter {
+    if (string) {
+        if ([self length]) {
+            if ([string length]) {
+                return [self stringByAppendingFormat:@"%@%@", delimiter, 
string];
+            } else {
+                return self;
+            }
+        } else {
+            return string;
+        }
+    }
+    return self;
+}
+
 // This method is copied and modified from NSString-OFStringExtensions.m
 - (NSString *)fullyEncodeAsIURI {
     static const char hexDigits[16] = {'0', '1', '2', '3', '4', '5', '6', '7', 
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

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/
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to