project_files/HedgewarsMobile/Classes/SupportViewController.m
author koda
Sun, 28 Aug 2011 17:37:40 +0200
changeset 5700 f0960a88ab0e
parent 5208 878e551f0b4a
child 5976 306cedbeb213
permissions -rw-r--r--
savedgamesviewcontroller refactor, added icons to supportviewcontroller
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     1
/*
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     2
 * Hedgewars-iOS, a Hedgewars port for iOS devices
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4341
diff changeset
     3
 * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     4
 *
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     8
 *
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    12
 * GNU General Public License for more details.
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    13
 *
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    17
 *
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    18
 * File created on 19/09/2010.
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    19
 */
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    20
3891
f8f0d0ceb19c initial support for savegames
koda
parents: 3884
diff changeset
    21
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    22
#import "SupportViewController.h"
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    23
#import "CommodityFunctions.h"
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    24
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    25
@implementation SupportViewController
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    26
@synthesize waysToSupport;
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    27
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    28
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    29
    return rotationManager(interfaceOrientation);
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    30
}
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
    31
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    32
#pragma mark -
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    33
#pragma mark View lifecycle
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    34
-(void) viewDidLoad {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    35
    [super viewDidLoad];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    36
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    37
    NSArray *array = [[NSArray alloc] initWithObjects:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    38
                      NSLocalizedString(@"Leave a positive review on iTunes!",@""),
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    39
                      NSLocalizedString(@"Join us on Facebook",@""),
5700
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
    40
                      NSLocalizedString(@"Follow us on Twitter",@""),
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
    41
                      NSLocalizedString(@"Visit our website",@""),
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
    42
                      NSLocalizedString(@"Chat with the devs in IRC",@""),
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    43
                      nil];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    44
    self.waysToSupport = array;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    45
    [array release];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    46
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    47
    self.tableView.rowHeight = 50;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    48
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    49
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    50
#pragma mark -
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    51
#pragma mark Table view data source
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    52
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    53
    return 2;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    54
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    55
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    56
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    57
    if (section == 0)
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    58
        return 1;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    59
    else
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    60
        return [self.waysToSupport count] - 1;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    61
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    62
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    63
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    64
    static NSString *CellIdentifier = @"Cell";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    65
    NSInteger row = [indexPath row];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    66
    NSInteger section = [indexPath section];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    67
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    68
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    69
    if (cell == nil)
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    70
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    71
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    72
    NSString *rowString = [self.waysToSupport objectAtIndex:(row + section)];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    73
    cell.textLabel.text = rowString;
5700
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
    74
    NSString *imgString = nil;
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    75
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    76
    if (section == 0) {
5700
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
    77
        imgString = [BTN_DIRECTORY() stringByAppendingString:@"/StatsStar.png"];
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    78
        cell.textLabel.textAlignment = UITextAlignmentCenter;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    79
        cell.imageView.image = nil;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    80
    } else {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    81
        cell.textLabel.textAlignment = UITextAlignmentLeft;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    82
        switch (row) {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    83
            case 0:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    84
                imgString = @"fb.png";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    85
                break;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    86
            case 1:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    87
                imgString = @"tw.png";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    88
                break;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    89
            case 2:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    90
                imgString = @"Icon-Small.png";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    91
                break;
4341
46b8791e577f minor things
koda
parents: 4115
diff changeset
    92
            case 3:
46b8791e577f minor things
koda
parents: 4115
diff changeset
    93
                imgString = @"irc.png";
46b8791e577f minor things
koda
parents: 4115
diff changeset
    94
                break;
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    95
            default:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    96
                DLog(@"No way");
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    97
                break;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    98
        }
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    99
    }
5700
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   100
    UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgString];
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   101
    cell.imageView.image = img;
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   102
    if (section == 0) {
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   103
        UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   104
        cell.accessoryView = imgView;
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   105
        [imgView release];
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   106
    }
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   107
    [img release];
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   108
    
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   109
    return cell;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   110
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   111
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   112
#pragma mark -
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   113
#pragma mark Table view delegate
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   114
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   115
    NSString *urlString = nil;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   116
    if ([indexPath section] == 0)
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   117
        urlString = @"http://itunes.apple.com/us/app/hedgewars/id391234866?affC=QQABAAAAHgAFasEiWjVwUGZOc3k1VGctQkRJazlacXhUclpBTVpiU2xteVdfUQ%3D%3D#&mt=8";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   118
    else
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   119
        switch ([indexPath row]) {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   120
            case 0:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   121
                urlString = @"http://www.facebook.com/Hedgewars";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   122
                break;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   123
            case 1:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   124
                urlString = @"http://twitter.com/hedgewars";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   125
                break;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   126
            case 2:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   127
                urlString = @"http://www.hedgewars.org";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   128
                break;
4341
46b8791e577f minor things
koda
parents: 4115
diff changeset
   129
            case 3:
46b8791e577f minor things
koda
parents: 4115
diff changeset
   130
                urlString = @"http://webchat.freenode.net/?channels=hedgewars";
46b8791e577f minor things
koda
parents: 4115
diff changeset
   131
                break;
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   132
            default:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   133
                DLog(@"No way");
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   134
                break;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   135
        }
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   136
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   137
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   138
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   139
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger) section {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   140
    if (section == 1) {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   141
        UIView *footer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 240)];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   142
        UIImage *img = [[UIImage alloc] initWithContentsOfFile:@"surprise.png"];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   143
        UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   144
        [img release];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   145
        imgView.center = CGPointMake(self.tableView.frame.size.width/2, 120);
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   146
        [footer addSubview:imgView];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   147
        [imgView release];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   148
        
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   149
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 20)];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   150
        label.textAlignment = UITextAlignmentCenter;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   151
        label.text = @" ♥ THANK YOU ♥ ";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   152
        label.backgroundColor = [UIColor clearColor];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   153
        label.center = CGPointMake(self.tableView.frame.size.width/2, 250);
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   154
        [footer addSubview:label];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   155
        [label release];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   156
        
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   157
        return [footer autorelease];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   158
    } else
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   159
        return nil;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   160
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   161
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   162
-(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   163
    // image height + label height
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   164
    return 265;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   165
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   166
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   167
#pragma mark -
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   168
#pragma mark Memory management
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   169
-(void)didReceiveMemoryWarning {
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   170
    [super didReceiveMemoryWarning];
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   171
}
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   172
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   173
-(void) viewDidUnload {
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   174
    self.waysToSupport = nil;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   175
    MSG_DIDUNLOAD();
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   176
    [super viewDidUnload];
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   177
}
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   178
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   179
-(void) dealloc {
5208
878e551f0b4a all together now! releaseAndNil ftw
koda
parents: 4976
diff changeset
   180
    releaseAndNil(waysToSupport);
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   181
    [super dealloc];
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   182
}
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   183
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   184
@end