# HG changeset patch # User koda # Date 1328984649 -3600 # Node ID d57fa21781ea0dae6ab18091187c37609cfd9a62 # Parent 3933198e2b28a734e311fb0371a88a47ce009b2b ios weapon setting page supports rotation diff -r 3933198e2b28 -r d57fa21781ea project_files/HedgewarsMobile/Classes/ExtraCategories.m --- a/project_files/HedgewarsMobile/Classes/ExtraCategories.m Sat Feb 11 06:11:19 2012 +0100 +++ b/project_files/HedgewarsMobile/Classes/ExtraCategories.m Sat Feb 11 19:24:09 2012 +0100 @@ -36,11 +36,9 @@ -(CGRect) safeBounds { CGRect original = [self bounds]; - if (IS_IPAD() && - ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait || - [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortraitUpsideDown) ) { + if (IS_IPAD() && UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) return original; - } else + else return CGRectMake(original.origin.x, original.origin.y, original.size.height, original.size.width); } diff -r 3933198e2b28 -r d57fa21781ea project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m --- a/project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m Sat Feb 11 06:11:19 2012 +0100 +++ b/project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m Sat Feb 11 19:24:09 2012 +0100 @@ -189,7 +189,7 @@ if (0 == [indexPath section]) return aTableView.rowHeight; else - return 120; + return UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]) ? 208 : 120; } -(NSString *)tableView:(UITableView *)aTableView titleForHeaderInSection:(NSInteger)section { diff -r 3933198e2b28 -r d57fa21781ea project_files/HedgewarsMobile/Classes/WeaponCellView.m --- a/project_files/HedgewarsMobile/Classes/WeaponCellView.m Sat Feb 11 06:11:19 2012 +0100 +++ b/project_files/HedgewarsMobile/Classes/WeaponCellView.m Sat Feb 11 19:24:09 2012 +0100 @@ -105,6 +105,7 @@ helpLabel.textColor = [UIColor darkGrayColor]; helpLabel.textAlignment = UITextAlignmentRight; helpLabel.font = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]]; + helpLabel.adjustsFontSizeToFitWidth = YES; [self.contentView addSubview:weaponName]; [self.contentView addSubview:weaponIcon]; @@ -132,42 +133,58 @@ -(void) layoutSubviews { [super layoutSubviews]; - CGRect contentRect = self.contentView.bounds; - CGFloat shiftSliders = contentRect.origin.x; - CGFloat shiftLabel = 0; + CGFloat hOffset = 80; + CGFloat hOffsetWhenLandscape = 234; + CGFloat vOffset = 40; + CGFloat vOffsetWhenPortrait = 0; + CGFloat helpLabelOffset = 0; + CGFloat helpLabelLength = 0; + CGFloat sliderLength = 150; if (IS_IPAD()) { - shiftSliders += 65; - shiftLabel += 165; - } else - shiftSliders -= 13; + if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) { + sliderLength = 190; + hOffsetWhenLandscape = 0; + vOffsetWhenPortrait = 80; + hOffset = 120; + helpLabelOffset = -35; + helpLabelLength = 200; + } else { + hOffset = 145; + helpLabelOffset = 35; + helpLabelLength = 350; + } + } else { + helpLabelLength = 250; + hOffset = 67; + } weaponIcon.frame = CGRectMake(5, 5, 32, 32); weaponName.frame = CGRectMake(45, 8, 200, 25); - helpLabel.frame = CGRectMake(shiftLabel + 200, 8, 250, 15); + helpLabel.frame = CGRectMake(200 + helpLabelOffset, 11, helpLabelLength, 20); // second line - initialImg.frame = CGRectMake(shiftSliders + 20, 40, 32, 32); - initialLab.frame = CGRectMake(shiftSliders + 56, 40, 20, 32); + initialImg.frame = CGRectMake(hOffset - 60, vOffset, 32, 32); + initialLab.frame = CGRectMake(hOffset - 23, vOffset, 20, 32); initialLab.text = ((int)initialSli.value == 9) ? @"∞" : [NSString stringWithFormat:@"%d",(int)initialSli.value]; - initialSli.frame = CGRectMake(shiftSliders + 80, 40, 150, 32); + initialSli.frame = CGRectMake(hOffset, vOffset, sliderLength, 32); - probabilityImg.frame = CGRectMake(shiftSliders + 255, 40, 32, 32); - probabilityLab.frame = CGRectMake(shiftSliders + 291, 40, 20, 32); + probabilityImg.frame = CGRectMake(hOffset + hOffsetWhenLandscape - 60, vOffset + vOffsetWhenPortrait, 32, 32); + probabilityLab.frame = CGRectMake(hOffset + hOffsetWhenLandscape - 23, vOffset + vOffsetWhenPortrait, 20, 32); probabilityLab.text = ((int)probabilitySli.value == 9) ? @"∞" : [NSString stringWithFormat:@"%d",(int)probabilitySli.value]; - probabilitySli.frame = CGRectMake(shiftSliders + 314, 40, 150, 32); + probabilitySli.frame = CGRectMake(hOffset + hOffsetWhenLandscape, vOffset + vOffsetWhenPortrait, sliderLength, 32); // third line - delayImg.frame = CGRectMake(shiftSliders + 20, 80, 32, 32); - delayLab.frame = CGRectMake(shiftSliders + 56, 80, 20, 32); + delayImg.frame = CGRectMake(hOffset - 60, vOffset + 40, 32, 32); + delayLab.frame = CGRectMake(hOffset - 23, vOffset + 40, 20, 32); delayLab.text = ((int)delaySli.value == 9) ? @"∞" : [NSString stringWithFormat:@"%d",(int)delaySli.value]; - delaySli.frame = CGRectMake(shiftSliders + 80, 80, 150, 32); + delaySli.frame = CGRectMake(hOffset, vOffset + 40, sliderLength, 32); - crateImg.frame = CGRectMake(shiftSliders + 255, 80, 32, 32); - crateLab.frame = CGRectMake(shiftSliders + 291, 80, 20, 32); + crateImg.frame = CGRectMake(hOffset + hOffsetWhenLandscape - 60, vOffset + 40 + vOffsetWhenPortrait, 32, 32); + crateLab.frame = CGRectMake(hOffset + hOffsetWhenLandscape - 23, vOffset + 40 + vOffsetWhenPortrait, 20, 32); crateLab.text = ((int)crateSli.value == 9) ? @"∞" : [NSString stringWithFormat:@"%d",(int)crateSli.value]; - crateSli.frame = CGRectMake(shiftSliders + 314, 80, 150, 32); + crateSli.frame = CGRectMake(hOffset + hOffsetWhenLandscape, vOffset + 40 + vOffsetWhenPortrait, sliderLength, 32); } /* @@ -200,16 +217,25 @@ switch (slider.tag) { case 100: - str = NSLocalizedString(@"Initial quantity ",@"ammo selection"); + str = NSLocalizedString(@"Initial quantity",@"ammo selection"); break; case 200: - str = NSLocalizedString(@"Presence probability in crates ",@"ammo selection"); + if (IS_IPAD() && (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]))) + str = NSLocalizedString(@"Probability in crates",@"ammo selection"); + else + str = NSLocalizedString(@"Presence probability in crates",@"ammo selection"); break; case 300: - str = NSLocalizedString(@"Number of turns before you can use this weapon ",@"ammo selection"); + if (IS_IPAD() && (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]))) + str = NSLocalizedString(@"Weapon delay",@"ammo selection"); + else + str = NSLocalizedString(@"Turns before this weapon becomes usable",@"ammo selection"); break; case 400: - str = NSLocalizedString(@"Quantity that you will find in a crate ",@"ammo selection"); + if (IS_IPAD() && (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]))) + str = NSLocalizedString(@"Quantity per crate",@"ammo selection"); + else + str = NSLocalizedString(@"Quantity you will find in a crate",@"ammo selection"); break; default: DLog(@"Nope");