project_files/HedgewarsMobile/Classes/SupportViewController.m
author koda
Sat, 24 Sep 2011 04:53:53 +0200
changeset 6008 215f0c9719e3
parent 5976 306cedbeb213
child 6074 047eaed35cbb
permissions -rw-r--r--
fix a crash in getting statistics and a glitch that made background music start while in-game
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];
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
    67
    NSString *imgName = @"";
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    68
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    69
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    70
    if (cell == nil)
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    71
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    72
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    73
    NSString *rowString = [self.waysToSupport objectAtIndex:(row + section)];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
    74
    cell.textLabel.text = rowString;
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) {
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
    77
        imgName = @"star";
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:
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
    84
                imgName = @"fb";
4115
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:
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
    87
                imgName = @"tw";
4115
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:
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
    90
                imgName = @"hedgehog";
4115
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:
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
    93
                imgName = @"irc";
4341
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
    }
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
   100
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
   101
    NSString *imgString = [[NSString alloc] initWithFormat:@"%@/%@.png",[[NSBundle mainBundle] resourcePath],imgName];
5700
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   102
    UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgString];
5976
306cedbeb213 fixed several 'retina display' images and added a bunch more (though just from upscaling the normal ones; might be nice to have 'em redrawn at a real higher resolution)
koda
parents: 5700
diff changeset
   103
    [imgString release];
5700
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   104
    cell.imageView.image = img;
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   105
    if (section == 0) {
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   106
        UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   107
        cell.accessoryView = imgView;
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   108
        [imgView release];
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   109
    }
f0960a88ab0e savedgamesviewcontroller refactor, added icons to supportviewcontroller
koda
parents: 5208
diff changeset
   110
    [img release];
4115
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
    return cell;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   113
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   114
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   115
#pragma mark -
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   116
#pragma mark Table view delegate
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   117
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   118
    NSString *urlString = nil;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   119
    if ([indexPath section] == 0)
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   120
        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
   121
    else
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   122
        switch ([indexPath row]) {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   123
            case 0:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   124
                urlString = @"http://www.facebook.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 1:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   127
                urlString = @"http://twitter.com/hedgewars";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   128
                break;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   129
            case 2:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   130
                urlString = @"http://www.hedgewars.org";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   131
                break;
4341
46b8791e577f minor things
koda
parents: 4115
diff changeset
   132
            case 3:
46b8791e577f minor things
koda
parents: 4115
diff changeset
   133
                urlString = @"http://webchat.freenode.net/?channels=hedgewars";
46b8791e577f minor things
koda
parents: 4115
diff changeset
   134
                break;
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   135
            default:
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   136
                DLog(@"No way");
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   137
                break;
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
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   140
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   141
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   142
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger) section {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   143
    if (section == 1) {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   144
        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
   145
        UIImage *img = [[UIImage alloc] initWithContentsOfFile:@"surprise.png"];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   146
        UIImageView *imgView = [[UIImageView alloc] initWithImage:img];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   147
        [img release];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   148
        imgView.center = CGPointMake(self.tableView.frame.size.width/2, 120);
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   149
        [footer addSubview:imgView];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   150
        [imgView release];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   151
        
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   152
        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
   153
        label.textAlignment = UITextAlignmentCenter;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   154
        label.text = @" ♥ THANK YOU ♥ ";
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   155
        label.backgroundColor = [UIColor clearColor];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   156
        label.center = CGPointMake(self.tableView.frame.size.width/2, 250);
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   157
        [footer addSubview:label];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   158
        [label release];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   159
        
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   160
        return [footer autorelease];
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   161
    } else
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   162
        return nil;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   163
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   164
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   165
-(CGFloat) tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   166
    // image height + label height
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   167
    return 265;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   168
}
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   169
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   170
#pragma mark -
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   171
#pragma mark Memory management
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   172
-(void)didReceiveMemoryWarning {
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   173
    [super didReceiveMemoryWarning];
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   174
}
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   175
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   176
-(void) viewDidUnload {
4115
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   177
    self.waysToSupport = nil;
222b8016c773 make the support page more portable
koda
parents: 3891
diff changeset
   178
    MSG_DIDUNLOAD();
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   179
    [super viewDidUnload];
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   180
}
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   181
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   182
-(void) dealloc {
5208
878e551f0b4a all together now! releaseAndNil ftw
koda
parents: 4976
diff changeset
   183
    releaseAndNil(waysToSupport);
3884
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   184
    [super dealloc];
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   185
}
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   186
d7479079a8a8 various fixes around, plus new 'ask for review' page
koda
parents:
diff changeset
   187
@end