savedgamesviewcontroller refactor, added icons to supportviewcontroller
authorkoda
Sun, 28 Aug 2011 17:37:40 +0200
changeset 5700 f0960a88ab0e
parent 5699 1a9a6a7662aa
child 5701 372437b34c16
savedgamesviewcontroller refactor, added icons to supportviewcontroller
project_files/HedgewarsMobile/Classes/EditableCellView.m
project_files/HedgewarsMobile/Classes/GameConfigViewController.m
project_files/HedgewarsMobile/Classes/GeneralSettingsViewController.m
project_files/HedgewarsMobile/Classes/SavedGamesViewController.h
project_files/HedgewarsMobile/Classes/SavedGamesViewController.m
project_files/HedgewarsMobile/Classes/SupportViewController.m
project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj
project_files/HedgewarsMobile/Resources/Icons/plus.png
project_files/HedgewarsMobile/Resources/Icons/plus@2x.png
project_files/HedgewarsMobile/Resources/SavedGamesViewController.xib
--- a/project_files/HedgewarsMobile/Classes/EditableCellView.m	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/EditableCellView.m	Sun Aug 28 17:37:40 2011 +0200
@@ -36,6 +36,7 @@
         textField.clearsOnBeginEditing = NO;
         textField.returnKeyType = UIReturnKeyDone;
         textField.adjustsFontSizeToFitWidth = YES;
+        textField.minimumFontSize = 9;
         textField.userInteractionEnabled = YES;
         textField.font = [UIFont boldSystemFontOfSize:[UIFont labelFontSize]];
         [textField addTarget:self action:@selector(save:) forControlEvents:UIControlEventEditingDidEndOnExit];
--- a/project_files/HedgewarsMobile/Classes/GameConfigViewController.m	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/GameConfigViewController.m	Sun Aug 28 17:37:40 2011 +0200
@@ -378,6 +378,7 @@
         self.mapConfigViewController = nil;
 
     self.imgContainer = nil;
+    // don't nil this one or it won't be able to send messages
     //self.interfaceBridge = nil;
     MSG_MEMCLEAN();
     [super didReceiveMemoryWarning];
--- a/project_files/HedgewarsMobile/Classes/GeneralSettingsViewController.m	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/GeneralSettingsViewController.m	Sun Aug 28 17:37:40 2011 +0200
@@ -261,6 +261,7 @@
 #pragma mark -
 #pragma mark Table view delegate
 -(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
     if (0 == [indexPath section]) {
         EditableCellView *cell = (EditableCellView *)[aTableView cellForRowAtIndexPath:indexPath];
         [cell replyKeyboard];
--- a/project_files/HedgewarsMobile/Classes/SavedGamesViewController.h	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/SavedGamesViewController.h	Sun Aug 28 17:37:40 2011 +0200
@@ -28,15 +28,15 @@
                                                         EditableCellViewDelegate, UIActionSheetDelegate>  {
     UITableView *tableView;
     NSMutableArray *listOfSavegames;
+    NSInteger numberOfItems;
     GameInterfaceBridge *interfaceBridge;
 }
 
 @property (nonatomic,retain) IBOutlet UITableView *tableView;
 @property (nonatomic,retain) NSMutableArray *listOfSavegames;
 @property (nonatomic,retain) GameInterfaceBridge *interfaceBridge;
+@property (assign) NSInteger numberOfItems;
 
 -(IBAction) buttonPressed:(id) sender;
--(IBAction) toggleEdit:(id) sender;
--(IBAction) clearAll:(id) sender;
 
 @end
--- a/project_files/HedgewarsMobile/Classes/SavedGamesViewController.m	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/SavedGamesViewController.m	Sun Aug 28 17:37:40 2011 +0200
@@ -24,7 +24,7 @@
 #import "CommodityFunctions.h"
 
 @implementation SavedGamesViewController
-@synthesize tableView, listOfSavegames, interfaceBridge;
+@synthesize tableView, listOfSavegames, interfaceBridge, numberOfItems;
 
 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
     return rotationManager(interfaceOrientation);
@@ -35,6 +35,7 @@
     NSMutableArray *array = [[NSMutableArray alloc] initWithArray:contentsOfDir copyItems:YES];
     self.listOfSavegames = array;
     [array release];
+    self.numberOfItems = [self.listOfSavegames count];
 
     [self.tableView reloadData];
 }
@@ -52,6 +53,8 @@
     self.view.backgroundColor = [UIColor colorWithPatternImage:img];
     [img release];
 
+    if (self.listOfSavegames == nil)
+        [self updateTable];
     [super viewDidLoad];
 }
 
@@ -63,66 +66,47 @@
 #pragma mark -
 #pragma mark button functions
 -(IBAction) buttonPressed:(id) sender {
-    playSound(@"backSound");
-    [self.tableView setEditing:NO animated:YES];
-    [[self parentViewController] dismissModalViewControllerAnimated:YES];
-}
-
--(IBAction) toggleEdit:(id) sender {
-    BOOL isEditing = self.tableView.editing;
-    [self.tableView setEditing:!isEditing animated:YES];
-}
+    UIButton *button = (UIButton *)sender;
 
--(void) duplicateEntry:(id) sender {
-    UIButton *button = (UIButton *)sender;
-    NSUInteger row = button.tag;
-    
-    if (self.listOfSavegames == nil)
-        [self updateTable];
-    
-    [(EditableCellView *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]] save:nil];
-    NSString *currentSaveName = [self.listOfSavegames objectAtIndex:row];
-    NSString *newSaveName = [[currentSaveName stringByDeletingPathExtension] stringByAppendingFormat:@" %d.hws",[self.listOfSavegames count]];
-    
-    NSString *currentFilePath = [NSString stringWithFormat:@"%@/%@",SAVES_DIRECTORY(),currentSaveName];
-    NSString *newFilePath = [NSString stringWithFormat:@"%@/%@",SAVES_DIRECTORY(),newSaveName];
-    [[NSFileManager defaultManager] copyItemAtPath:currentFilePath toPath:newFilePath error:nil];
-    [self.listOfSavegames addObject:newSaveName];
-    [self.listOfSavegames sortUsingSelector:@selector(compare:)];
-
-    [self.tableView reloadData];
-}
-
--(IBAction) clearAll:(id) sender {
-    NSString *titleStr, *cancelStr, *confirmStr;
-    if (IS_IPAD()) {
-        titleStr = nil;
-        cancelStr = nil;
-        confirmStr = NSLocalizedString(@"Tap to confirm",@"");
+    if (button.tag == 0) {
+        playSound(@"backSound");
+        [self.tableView setEditing:NO animated:YES];
+        [[self parentViewController] dismissModalViewControllerAnimated:YES];
     } else {
+        NSString *titleStr, *cancelStr, *confirmStr;
         titleStr = NSLocalizedString(@"Are you reeeeeally sure?", @"");
         cancelStr = NSLocalizedString(@"Well, maybe not...", @"");
         confirmStr = NSLocalizedString(@"Of course!", @"");
-    }
+
+        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:titleStr
+                                                                 delegate:self
+                                                        cancelButtonTitle:cancelStr
+                                                   destructiveButtonTitle:confirmStr
+                                                        otherButtonTitles:nil];
 
-    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:titleStr
-                                                             delegate:self
-                                                    cancelButtonTitle:cancelStr
-                                               destructiveButtonTitle:confirmStr
-                                                    otherButtonTitles:nil];
-
-    if (IS_IPAD())
-        [actionSheet showFromBarButtonItem:(UIBarButtonItem *)sender animated:YES];
-    else
-        [actionSheet showInView:self.view];
-    [actionSheet release];
+        if (IS_IPAD())
+            [actionSheet showFromBarButtonItem:(UIBarButtonItem *)sender animated:YES];
+        else
+            [actionSheet showInView:self.view];
+        [actionSheet release];
+    }
 }
 
 -(void) actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger) buttonIndex {
     if ([actionSheet cancelButtonIndex] != buttonIndex) {
+        // remove all files and recreate the directory
         [[NSFileManager defaultManager] removeItemAtPath:SAVES_DIRECTORY() error:NULL];
         [[NSFileManager defaultManager] createDirectoryAtPath:SAVES_DIRECTORY() withIntermediateDirectories:NO attributes:nil error:NULL];
-        [self updateTable];
+
+        // update the table and the cached list
+        NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:self.numberOfItems];
+        for (int i = 0; i < self.numberOfItems; i++)
+            [array addObject:[NSIndexPath indexPathForRow:i inSection:0]];
+        self.numberOfItems = 0;
+        [self.tableView deleteRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationTop];
+        [self.listOfSavegames removeAllObjects];
+
+        [array release];
     }
 }
 
@@ -133,9 +117,7 @@
 }
 
 -(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
-    if (self.listOfSavegames == nil)
-        [self updateTable];
-    return [self.listOfSavegames count];
+    return self.numberOfItems;
 }
 
 -(UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
@@ -148,32 +130,24 @@
         editableCell = [[[EditableCellView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
         editableCell.delegate = self;
     }
-    editableCell.tag = [indexPath row];
     editableCell.respectEditing = YES;
     editableCell.textField.text = [[self.listOfSavegames objectAtIndex:[indexPath row]] stringByDeletingPathExtension];
     editableCell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
-    
-    UIImage *addImg = [UIImage imageWithContentsOfFile:@"plus.png"];
-    UIButton *customButton = [UIButton buttonWithType:UIButtonTypeContactAdd];
-    customButton.tag = [indexPath row];
-    [customButton setImage:addImg forState:UIControlStateNormal];
-    [customButton addTarget:self action:@selector(duplicateEntry:) forControlEvents:UIControlEventTouchUpInside];
-    editableCell.editingAccessoryView = customButton;
 
     return (UITableViewCell *)editableCell;
 }
 
 -(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger) section {
-    UIView *footer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 50)];
+    UIView *footer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 60)];
     footer.backgroundColor = [UIColor clearColor];
-    
-    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width*80/100, 100)];
-    label.center = CGPointMake(self.tableView.frame.size.width/2, 70);
+
+    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width*60/100, 60)];
+    label.center = CGPointMake(self.tableView.frame.size.width/2, 30);
     label.textAlignment = UITextAlignmentCenter;
-    label.font = [UIFont systemFontOfSize:16];
+    label.font = [UIFont italicSystemFontOfSize:16];
     label.textColor = [UIColor lightGrayColor];
     label.numberOfLines = 5;
-    label.text = NSLocalizedString(@"Games are automatically saved and can be resumed by selecting an entry above.\nYou can modify this list by pressing the 'Edit' button.\nCompleted games are removed at the end of the match.",@"");
+    label.text = NSLocalizedString(@"Press to resume playing or swipe to delete the save file.",@"");
 
     label.backgroundColor = [UIColor clearColor];
     [footer addSubview:label];
@@ -182,22 +156,18 @@
 }
 
 -(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
-    return 125;
+    return 60;
 }
 
 -(void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
-    NSUInteger row = [indexPath row];
-    [(EditableCellView *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:0]] save:nil];
-    
-    if (self.listOfSavegames == nil)
-        [self updateTable];
-    
-    NSString *saveName = [self.listOfSavegames objectAtIndex:row];
-    NSString *currentFilePath = [NSString stringWithFormat:@"%@/%@",SAVES_DIRECTORY(),saveName];
-    [[NSFileManager defaultManager] removeItemAtPath:currentFilePath error:nil];
+    [(EditableCellView *)[self.tableView cellForRowAtIndexPath:indexPath] save:nil];
+    self.numberOfItems--;
+    [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
+
+    NSString *saveName = [self.listOfSavegames objectAtIndex:[indexPath row]];
+    NSString *filePath = [NSString stringWithFormat:@"%@/%@",SAVES_DIRECTORY(),saveName];
+    [[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];
     [self.listOfSavegames removeObject:saveName];
-    
-    [self.tableView reloadData];
 }
 
 #pragma mark -
@@ -207,17 +177,30 @@
     if (self.listOfSavegames == nil)
         [self updateTable];
 
+    // duplicate the entry
     [(EditableCellView *)[self.tableView cellForRowAtIndexPath:indexPath] save:nil];
 
+    NSString *currentSaveName = [self.listOfSavegames objectAtIndex:[indexPath row]];
+    NSString *currentFilePath = [[NSString alloc] initWithFormat:@"%@/%@",SAVES_DIRECTORY(),currentSaveName];
+    NSString *newSaveName = [[NSString alloc] initWithFormat:@"[%@] %@",NSLocalizedString(@"Backup",@""),currentSaveName];
+    NSString *newFilePath = [[NSString alloc] initWithFormat:@"%@/%@",SAVES_DIRECTORY(),newSaveName];
+
+    [self.listOfSavegames addObject:newSaveName];
+    [newSaveName release];
+    [[NSFileManager defaultManager] copyItemAtPath:currentFilePath toPath:newFilePath error:nil];
+    [newFilePath release];
+
+    self.numberOfItems++;
+    [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
+
     if (self.interfaceBridge == nil) {
         GameInterfaceBridge *bridge = [[GameInterfaceBridge alloc] initWithController:self];
         self.interfaceBridge = bridge;
         [bridge release];
     }
 
-    NSString *filePath = [[NSString alloc] initWithFormat:@"%@/%@",SAVES_DIRECTORY(),[self.listOfSavegames objectAtIndex:[indexPath row]]];
-    [self.interfaceBridge startSaveGame:filePath];
-    [filePath release];
+    [self.interfaceBridge startSaveGame:currentFilePath];
+    [currentFilePath release];
 }
 
 #pragma mark -
--- a/project_files/HedgewarsMobile/Classes/SupportViewController.m	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/SupportViewController.m	Sun Aug 28 17:37:40 2011 +0200
@@ -37,9 +37,9 @@
     NSArray *array = [[NSArray alloc] initWithObjects:
                       NSLocalizedString(@"Leave a positive review on iTunes!",@""),
                       NSLocalizedString(@"Join us on Facebook",@""),
-                      NSLocalizedString(@"Follow on Twitter",@""),
-                      NSLocalizedString(@"Visit website",@""),
-                      NSLocalizedString(@"Chat with us in IRC",@""),
+                      NSLocalizedString(@"Follow us on Twitter",@""),
+                      NSLocalizedString(@"Visit our website",@""),
+                      NSLocalizedString(@"Chat with the devs in IRC",@""),
                       nil];
     self.waysToSupport = array;
     [array release];
@@ -71,13 +71,14 @@
 
     NSString *rowString = [self.waysToSupport objectAtIndex:(row + section)];
     cell.textLabel.text = rowString;
+    NSString *imgString = nil;
 
     if (section == 0) {
+        imgString = [BTN_DIRECTORY() stringByAppendingString:@"/StatsStar.png"];
         cell.textLabel.textAlignment = UITextAlignmentCenter;
         cell.imageView.image = nil;
     } else {
         cell.textLabel.textAlignment = UITextAlignmentLeft;
-        NSString *imgString = nil;
         switch (row) {
             case 0:
                 imgString = @"fb.png";
@@ -95,11 +96,15 @@
                 DLog(@"No way");
                 break;
         }
-        
-        UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgString];
-        cell.imageView.image = img;
-        [img release];
     }
+    UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgString];
+    cell.imageView.image = img;
+    if (section == 0) {
+        UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
+        cell.accessoryView = imgView;
+        [imgView release];
+    }
+    [img release];
     
     return cell;
 }
--- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj	Sun Aug 28 17:37:40 2011 +0200
@@ -26,7 +26,6 @@
 		28FD15000DC6FC520079059D /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD14FF0DC6FC520079059D /* OpenGLES.framework */; };
 		28FD15080DC6FC5B0079059D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD15070DC6FC5B0079059D /* QuartzCore.framework */; settings = {ATTRIBUTES = (Required, ); }; };
 		61006F95128DE31F00EBA7F7 /* CreationChamber.m in Sources */ = {isa = PBXBuildFile; fileRef = 61006F94128DE31F00EBA7F7 /* CreationChamber.m */; };
-		6103D414129B417500911D8D /* plus@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6103D413129B417500911D8D /* plus@2x.png */; };
 		610D5FB21270E2660033333A /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43411E290650040BA66 /* Icon-Small@2x.png */; };
 		610D5FB31270E26C0033333A /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43611E290650040BA66 /* Icon@2x.png */; };
 		61188BF212A6FE530026C5DA /* ammoButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6103D399129B350700911D8D /* ammoButton@2x.png */; };
@@ -55,7 +54,6 @@
 		61188C0912A6FE9C0026C5DA /* tw@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6103D385129B348200911D8D /* tw@2x.png */; };
 		611D9BFB12497E9800008271 /* SavedGamesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 611D9BF912497E9800008271 /* SavedGamesViewController.m */; };
 		611D9BFC12497E9800008271 /* SavedGamesViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 611D9BFA12497E9800008271 /* SavedGamesViewController.xib */; };
-		611DA1D0124E5C6300008271 /* plus.png in Resources */ = {isa = PBXBuildFile; fileRef = 611DA1CF124E5C6300008271 /* plus.png */; };
 		611E0EE711FB20610077A41E /* ammoButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 611E0EE511FB20610077A41E /* ammoButton.png */; };
 		611E0EE811FB20610077A41E /* cornerButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 611E0EE611FB20610077A41E /* cornerButton.png */; };
 		611E12FF117BBBDA0044B62F /* Entitlements-Development.plist in Resources */ = {isa = PBXBuildFile; fileRef = 611E12FE117BBBDA0044B62F /* Entitlements-Development.plist */; };
@@ -336,11 +334,9 @@
 		6103D39C129B350700911D8D /* arrowRight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "arrowRight@2x.png"; path = "Resources/Overlay/arrowRight@2x.png"; sourceTree = "<group>"; };
 		6103D39D129B350700911D8D /* arrowUp@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "arrowUp@2x.png"; path = "Resources/Overlay/arrowUp@2x.png"; sourceTree = "<group>"; };
 		6103D39E129B350700911D8D /* cornerButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "cornerButton@2x.png"; path = "Resources/Overlay/cornerButton@2x.png"; sourceTree = "<group>"; };
-		6103D413129B417500911D8D /* plus@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "plus@2x.png"; path = "Resources/Icons/plus@2x.png"; sourceTree = "<group>"; };
 		611D9BF812497E9800008271 /* SavedGamesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SavedGamesViewController.h; sourceTree = "<group>"; };
 		611D9BF912497E9800008271 /* SavedGamesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SavedGamesViewController.m; sourceTree = "<group>"; };
 		611D9BFA12497E9800008271 /* SavedGamesViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = SavedGamesViewController.xib; path = ../Resources/SavedGamesViewController.xib; sourceTree = "<group>"; };
-		611DA1CF124E5C6300008271 /* plus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = plus.png; path = Resources/Icons/plus.png; sourceTree = "<group>"; };
 		611E0EE511FB20610077A41E /* ammoButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ammoButton.png; path = Resources/Overlay/ammoButton.png; sourceTree = "<group>"; };
 		611E0EE611FB20610077A41E /* cornerButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cornerButton.png; path = Resources/Overlay/cornerButton.png; sourceTree = "<group>"; };
 		611E12FE117BBBDA0044B62F /* Entitlements-Development.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Entitlements-Development.plist"; sourceTree = "<group>"; };
@@ -980,8 +976,6 @@
 		61F7A42811E2905C0040BA66 /* Icons */ = {
 			isa = PBXGroup;
 			children = (
-				611DA1CF124E5C6300008271 /* plus.png */,
-				6103D413129B417500911D8D /* plus@2x.png */,
 				61F2E7EB12060E31005734F7 /* checkbox.png */,
 				615FEAD912A2A4C10098EE92 /* checkbox@2x.png */,
 				61D3D2A41290E03A003CE7C3 /* irc.png */,
@@ -1307,7 +1301,6 @@
 				61842B40122B66280096E335 /* helpleft.png in Resources */,
 				6199E86D12464A8E00DADF8C /* surprise.png in Resources */,
 				611D9BFC12497E9800008271 /* SavedGamesViewController.xib in Resources */,
-				611DA1D0124E5C6300008271 /* plus.png in Resources */,
 				6147DAD31253DCDE0010357E /* savesButton.png in Resources */,
 				610D5FB21270E2660033333A /* Icon-Small@2x.png in Resources */,
 				610D5FB31270E26C0033333A /* Icon@2x.png in Resources */,
@@ -1325,7 +1318,6 @@
 				6172FEF11298D25D00D73365 /* smallerBackground~ipad.png in Resources */,
 				6172FEF21298D25D00D73365 /* smallerBackground~iphone.png in Resources */,
 				61889985129995B500D55FD6 /* title~ipad.png in Resources */,
-				6103D414129B417500911D8D /* plus@2x.png in Resources */,
 				615FEAE212A2A6640098EE92 /* localplayButton~ipad.png in Resources */,
 				615FEAE312A2A6640098EE92 /* localplayButton~iphone.png in Resources */,
 				61188BF212A6FE530026C5DA /* ammoButton@2x.png in Resources */,
Binary file project_files/HedgewarsMobile/Resources/Icons/plus.png has changed
Binary file project_files/HedgewarsMobile/Resources/Icons/plus@2x.png has changed
--- a/project_files/HedgewarsMobile/Resources/SavedGamesViewController.xib	Sun Aug 28 14:50:04 2011 +0200
+++ b/project_files/HedgewarsMobile/Resources/SavedGamesViewController.xib	Sun Aug 28 17:37:40 2011 +0200
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
 	<data>
-		<int key="IBDocument.SystemTarget">1024</int>
-		<string key="IBDocument.SystemVersion">10F569</string>
-		<string key="IBDocument.InterfaceBuilderVersion">804</string>
-		<string key="IBDocument.AppKitVersion">1038.29</string>
+		<int key="IBDocument.SystemTarget">1056</int>
+		<string key="IBDocument.SystemVersion">10K549</string>
+		<string key="IBDocument.InterfaceBuilderVersion">823</string>
+		<string key="IBDocument.AppKitVersion">1038.36</string>
 		<string key="IBDocument.HIToolboxVersion">461.00</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
-			<string key="NS.object.0">123</string>
+			<string key="NS.object.0">132</string>
 		</object>
 		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
 			<bool key="EncodedWithXMLCoder">YES</bool>
-			<integer value="2"/>
+			<integer value="4"/>
 		</object>
 		<object class="NSArray" key="IBDocument.PluginDependencies">
 			<bool key="EncodedWithXMLCoder">YES</bool>
@@ -64,16 +64,12 @@
 								<int key="IBUISystemItemIdentifier">5</int>
 							</object>
 							<object class="IBUIBarButtonItem" id="882246004">
+								<int key="IBUITag">1</int>
 								<string key="IBUITitle">Clear All</string>
 								<string key="targetRuntimeIdentifier">IBIPadFramework</string>
 								<int key="IBUIStyle">1</int>
 								<reference key="IBUIToolbar" ref="832454237"/>
 							</object>
-							<object class="IBUIBarButtonItem" id="793091239">
-								<string key="targetRuntimeIdentifier">IBIPadFramework</string>
-								<reference key="IBUIToolbar" ref="832454237"/>
-								<int key="IBUISystemItemIdentifier">2</int>
-							</object>
 						</object>
 					</object>
 					<object class="IBUITableView" id="399289716">
@@ -155,19 +151,11 @@
 				</object>
 				<object class="IBConnectionRecord">
 					<object class="IBCocoaTouchEventConnection" key="connection">
-						<string key="label">toggleEdit:</string>
-						<reference key="source" ref="793091239"/>
-						<reference key="destination" ref="841351856"/>
-					</object>
-					<int key="connectionID">14</int>
-				</object>
-				<object class="IBConnectionRecord">
-					<object class="IBCocoaTouchEventConnection" key="connection">
-						<string key="label">clearAll:</string>
+						<string key="label">buttonPressed:</string>
 						<reference key="source" ref="882246004"/>
 						<reference key="destination" ref="841351856"/>
 					</object>
-					<int key="connectionID">16</int>
+					<int key="connectionID">17</int>
 				</object>
 			</object>
 			<object class="IBMutableOrderedSet" key="objectRecords">
@@ -206,7 +194,6 @@
 						<object class="NSMutableArray" key="children">
 							<bool key="EncodedWithXMLCoder">YES</bool>
 							<reference ref="422926197"/>
-							<reference ref="793091239"/>
 							<reference ref="881124109"/>
 							<reference ref="882246004"/>
 						</object>
@@ -223,11 +210,6 @@
 						<reference key="parent" ref="766721923"/>
 					</object>
 					<object class="IBObjectRecord">
-						<int key="objectID">12</int>
-						<reference key="object" ref="793091239"/>
-						<reference key="parent" ref="832454237"/>
-					</object>
-					<object class="IBObjectRecord">
 						<int key="objectID">13</int>
 						<reference key="object" ref="881124109"/>
 						<reference key="parent" ref="832454237"/>
@@ -245,7 +227,6 @@
 					<bool key="EncodedWithXMLCoder">YES</bool>
 					<string>-1.CustomClassName</string>
 					<string>-2.CustomClassName</string>
-					<string>12.IBPluginDependency</string>
 					<string>13.IBPluginDependency</string>
 					<string>15.IBPluginDependency</string>
 					<string>2.IBEditorWindowLastContentRect</string>
@@ -260,7 +241,6 @@
 					<string>UIResponder</string>
 					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
-					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 					<string>{{467, 276}, {768, 768}}</string>
 					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -284,7 +264,7 @@
 				</object>
 			</object>
 			<nil key="sourceID"/>
-			<int key="maxID">16</int>
+			<int key="maxID">17</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -520,6 +500,13 @@
 					<string key="className">UIView</string>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
+						<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
+					</object>
+				</object>
+				<object class="IBPartialClassDescription">
+					<string key="className">UIView</string>
+					<object class="IBClassDescriptionSource" key="sourceIdentifier">
+						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
 					</object>
 				</object>
@@ -573,7 +560,7 @@
 		<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
-			<integer value="1024" key="NS.object.0"/>
+			<integer value="1056" key="NS.object.0"/>
 		</object>
 		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
@@ -582,6 +569,6 @@
 		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
 		<string key="IBDocument.LastKnownRelativeProjectPath">../Hedgewars.xcodeproj</string>
 		<int key="IBDocument.defaultPropertyAccessControl">3</int>
-		<string key="IBCocoaTouchPluginVersion">123</string>
+		<string key="IBCocoaTouchPluginVersion">132</string>
 	</data>
 </archive>