From 7cfa70ab05cfe58333ed01b763f4e12d69c657ab Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Wed, 28 Nov 2012 11:24:21 +0100 Subject: [PATCH] Add history and station in welcome view on ipad --- Classes/BuschJaegerHistoryView.xib | 14 +- Classes/BuschJaegerMainView.m | 1 - Classes/BuschJaegerWelcomeView.h | 7 +- Classes/BuschJaegerWelcomeView.m | 58 ++- Classes/BuschJaegerWelcomeView.xib | 118 +++++- Classes/BuschJaegerWelcomeView~ipad.xib | 537 ++++++++++++++++++++++++ Classes/LinphoneUI/UIHistoryCell.xib | 70 +-- Classes/LinphoneUI/UIStationCell.m | 6 +- linphone.xcodeproj/project.pbxproj | 10 +- 9 files changed, 723 insertions(+), 98 deletions(-) create mode 100644 Classes/BuschJaegerWelcomeView~ipad.xib diff --git a/Classes/BuschJaegerHistoryView.xib b/Classes/BuschJaegerHistoryView.xib index dfc5fb92e..a3b181684 100644 --- a/Classes/BuschJaegerHistoryView.xib +++ b/Classes/BuschJaegerHistoryView.xib @@ -1,14 +1,14 @@ - 1296 - 11E53 - 2549 - 1138.47 + 1536 + 11G63 + 2840 + 1138.51 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1498 + 1926 IBProxyObject @@ -426,10 +426,10 @@ IBCocoaTouchFramework com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + YES 3 - 1498 + 1926 diff --git a/Classes/BuschJaegerMainView.m b/Classes/BuschJaegerMainView.m index 37c267466..f70313d80 100644 --- a/Classes/BuschJaegerMainView.m +++ b/Classes/BuschJaegerMainView.m @@ -176,7 +176,6 @@ static BuschJaegerMainView* mainViewInstance=nil; selector:@selector(networkUpdateEvent:) name:kLinphoneNetworkUpdate object:nil]; - } - (void)vieWillDisappear:(BOOL)animated{ diff --git a/Classes/BuschJaegerWelcomeView.h b/Classes/BuschJaegerWelcomeView.h index 737f32f53..9cd4928f2 100644 --- a/Classes/BuschJaegerWelcomeView.h +++ b/Classes/BuschJaegerWelcomeView.h @@ -19,13 +19,16 @@ #import #import "BuschJaegerStationTableViewController.h" +#import "BuschJaegerHistoryTableViewController.h" -@interface BuschJaegerWelcomeView : UIViewController { +@interface BuschJaegerWelcomeView : UIViewController { } @property (nonatomic, retain) IBOutlet UIButton* settingsButton; @property (nonatomic, retain) IBOutlet UIButton* historyButton; -@property (nonatomic, retain) IBOutlet BuschJaegerStationTableViewController *tableController; +@property (nonatomic, retain) IBOutlet BuschJaegerStationTableViewController *stationTableController; +@property (nonatomic, retain) IBOutlet UIView *waitView; +@property (nonatomic, retain) IBOutlet BuschJaegerHistoryTableViewController *historyTableController; - (IBAction)settingsClick:(id)sender; - (IBAction)historyClick:(id)sender; diff --git a/Classes/BuschJaegerWelcomeView.m b/Classes/BuschJaegerWelcomeView.m index 4469359bc..7c4f8f8f6 100644 --- a/Classes/BuschJaegerWelcomeView.m +++ b/Classes/BuschJaegerWelcomeView.m @@ -24,14 +24,18 @@ @synthesize settingsButton; @synthesize historyButton; -@synthesize tableController; +@synthesize stationTableController; +@synthesize historyTableController; +@synthesize waitView; #pragma mark - Lifecycle Functions - (void)dealloc { [settingsButton release]; [historyButton release]; - [tableController release]; + [stationTableController release]; + [historyTableController release]; + // Remove all observer [[NSNotificationCenter defaultCenter] removeObserver:self]; @@ -45,7 +49,14 @@ - (void)viewDidLoad { [super viewDidLoad]; - [tableController.view setBackgroundColor:[UIColor clearColor]]; + [historyTableController.view setBackgroundColor:[UIColor clearColor]]; + [stationTableController.view setBackgroundColor:[UIColor clearColor]]; + + [waitView setHidden:TRUE]; + + if([LinphoneManager runningOnIpad]) { + [historyButton setHidden:TRUE]; + } } - (void)viewWillAppear:(BOOL)animated { @@ -56,6 +67,7 @@ name:kLinphoneConfigurationUpdate object:nil]; [self updateConfiguration:[LinphoneManager instance].configuration]; + [self reload]; } - (void)viewWillDisappear:(BOOL)animated{ @@ -94,12 +106,28 @@ - (void)updateConfiguration:(BuschJaegerConfiguration *)configuration { NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"ID" ascending:YES]; NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil]; - [tableController setStations:[configuration.outdoorStations sortedArrayUsingDescriptors:sortDescriptors]]; + [stationTableController setStations:[configuration.outdoorStations sortedArrayUsingDescriptors:sortDescriptors]]; [historyButton setEnabled: configuration.network.localAddress != nil]; } -#pragma mark - +#pragma mark - + +- (void)reload { + [self view]; // Force view load + if([[LinphoneManager instance].configuration loadHistory:self]) { + [waitView setHidden:FALSE]; + } else { + [waitView setHidden:TRUE]; + } +} + +- (void)update { + NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO]; + NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil]; + + [historyTableController setHistory:[[LinphoneManager instance].configuration.history sortedArrayUsingDescriptors:sortDescriptors]]; +} - (IBAction)settingsClick:(id)sender { [[BuschJaegerMainView instance].navigationController pushViewController:[BuschJaegerMainView instance].settingsView animated:FALSE]; @@ -110,4 +138,24 @@ [[BuschJaegerMainView instance].navigationController pushViewController:[BuschJaegerMainView instance].historyView animated:FALSE]; } +#pragma mark - BuschJaegerConfigurationDelegate Functions + +- (void)buschJaegerConfigurationSuccess { + [waitView setHidden:TRUE]; + [self update]; +} + +- (void)buschJaegerConfigurationError:(NSString *)error { + UIAlertView* errorView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"History provisioning error",nil) + message:[NSString stringWithFormat:NSLocalizedString(@"Connection issue: %@", nil), error] + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil,nil]; + [errorView show]; + [errorView release]; + [waitView setHidden:TRUE]; + [self update]; +} + + @end diff --git a/Classes/BuschJaegerWelcomeView.xib b/Classes/BuschJaegerWelcomeView.xib index 8b5618ebd..1fe034534 100644 --- a/Classes/BuschJaegerWelcomeView.xib +++ b/Classes/BuschJaegerWelcomeView.xib @@ -2,13 +2,13 @@ 1536 - 12C60 - 2843 - 1187.34 - 625.00 + 11G63 + 2840 + 1138.51 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1929 + 1926 IBProxyObject @@ -43,6 +43,7 @@ 293 {{82, 17}, {156, 50}} + _NS:9 NO @@ -77,6 +78,7 @@ 289 {{246, 10}, {64, 64}} + _NS:9 NO @@ -118,6 +120,7 @@ 292 {{10, 10}, {64, 64}} + _NS:9 NO @@ -146,6 +149,7 @@ 274 {{0, 85}, {320, 375}} + _NS:9 YES @@ -161,6 +165,7 @@ {{0, 20}, {320, 460}} + 3 @@ -197,14 +202,6 @@ 6 - - - tableController - - - - 14 - historyButton @@ -213,6 +210,14 @@ 20 + + + stationTableController + + + + 21 + settingsClick: @@ -333,9 +338,90 @@ - 20 + 21 + + + + + BuschJaegerHistoryTableViewController + UITableViewController + + waitView + UIView + + + waitView + + waitView + UIView + + + + IBProjectSource + ./Classes/BuschJaegerHistoryTableViewController.h + + + + BuschJaegerStationTableViewController + UITableViewController + + IBProjectSource + ./Classes/BuschJaegerStationTableViewController.h + + + + BuschJaegerWelcomeView + UIViewController + + id + id + + + + historyClick: + id + + + settingsClick: + id + + + + UIButton + BuschJaegerHistoryTableViewController + UIButton + BuschJaegerStationTableViewController + UIView + + + + historyButton + UIButton + + + historyTableController + BuschJaegerHistoryTableViewController + + + settingsButton + UIButton + + + stationTableController + BuschJaegerStationTableViewController + + + waitView + UIView + + + + IBProjectSource + ./Classes/BuschJaegerWelcomeView.h + + + - 0 IBCocoaTouchFramework @@ -348,6 +434,6 @@ {55, 43} {55, 57} - 1929 + 1926 diff --git a/Classes/BuschJaegerWelcomeView~ipad.xib b/Classes/BuschJaegerWelcomeView~ipad.xib new file mode 100644 index 000000000..57ee52b5a --- /dev/null +++ b/Classes/BuschJaegerWelcomeView~ipad.xib @@ -0,0 +1,537 @@ + + + + 1536 + 11G63 + 2840 + 1138.51 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1926 + + + IBProxyObject + IBUIButton + IBUILabel + IBUITableView + IBUITableViewController + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 293 + {{306, 17}, {156, 50}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Welcome + + 1 + MSAxIDEAA + + 1 + + + + 0 + 10 + 1 + + 1 + 38 + + + Helvetica + 38 + 16 + + + + + 289 + {{694, 10}, {64, 64}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 10 + 10 + 10 + 10 + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + NSImage + bj_settings.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{10, 10}, {64, 64}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + 10 + 10 + 10 + 10 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + bj_history.png + + + + + + + 275 + {{384, 85}, {384, 939}} + + + _NS:9 + + YES + IBCocoaTouchFramework + YES + 2 + 0 + YES + 100 + 22 + 22 + + + + 278 + {{0, 85}, {384, 939}} + + + + _NS:9 + + YES + IBCocoaTouchFramework + YES + 2 + 0 + YES + 44 + 22 + 22 + + + {{0, 20}, {768, 1024}} + + + + + 3 + MAA + + + + IBUISimulatedFreeformSizeMetricsSentinel + Freeform + + IBCocoaTouchFramework + + + + + 1 + 1 + + IBCocoaTouchFramework + NO + + + + + 1 + 1 + + + IBUIScreenMetrics + + YES + + + + + + {320, 568} + {568, 320} + + + IBCocoaTouchFramework + Retina 4 Full Screen + 2 + + IBCocoaTouchFramework + NO + + + + + + + view + + + + 3 + + + + settingsButton + + + + 6 + + + + historyButton + + + + 20 + + + + stationTableController + + + + 25 + + + + historyTableController + + + + 30 + + + + settingsClick: + + + 7 + + 7 + + + + dataSource + + + + 15 + + + + delegate + + + + 16 + + + + view + + + + 13 + + + + historyClick: + + + 7 + + 19 + + + + dataSource + + + + 32 + + + + delegate + + + + 33 + + + + view + + + + 31 + + + + + + 0 + + + + + + 1 + + + + + + + + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + + + 5 + + + Button - Settings + + + 8 + + + stationList + + + 9 + + + + + + 17 + + + Button - History + + + 22 + + + historyList + + + 26 + + + + + + + + BuschJaegerWelcomeView + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + BuschJaegerHistoryTableViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + BuschJaegerStationTableViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 33 + + + + + BuschJaegerHistoryTableViewController + UITableViewController + + waitView + UIView + + + waitView + + waitView + UIView + + + + IBProjectSource + ./Classes/BuschJaegerHistoryTableViewController.h + + + + BuschJaegerStationTableViewController + UITableViewController + + IBProjectSource + ./Classes/BuschJaegerStationTableViewController.h + + + + BuschJaegerWelcomeView + UIViewController + + id + id + + + + historyClick: + id + + + settingsClick: + id + + + + UIButton + BuschJaegerHistoryTableViewController + UIButton + BuschJaegerStationTableViewController + UIView + + + + historyButton + UIButton + + + historyTableController + BuschJaegerHistoryTableViewController + + + settingsButton + UIButton + + + stationTableController + BuschJaegerStationTableViewController + + + waitView + UIView + + + + IBProjectSource + ./Classes/BuschJaegerWelcomeView.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + YES + 3 + + {55, 43} + {55, 57} + + 1926 + + diff --git a/Classes/LinphoneUI/UIHistoryCell.xib b/Classes/LinphoneUI/UIHistoryCell.xib index 2c3ed4464..4eb550191 100644 --- a/Classes/LinphoneUI/UIHistoryCell.xib +++ b/Classes/LinphoneUI/UIHistoryCell.xib @@ -1,14 +1,14 @@ - 1296 - 11E53 - 2549 - 1138.47 + 1536 + 11G63 + 2840 + 1138.51 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1498 + 1926 IBProxyObject @@ -42,7 +42,6 @@ 292 {{5, 5}, {32, 32}} - _NS:9 NO @@ -53,7 +52,6 @@ 292 {{45, 10}, {120, 21}} - _NS:9 NO @@ -84,7 +82,6 @@ 289 {{173, 10}, {103, 21}} - _NS:9 NO @@ -112,7 +109,6 @@ 289 {{276, 0}, {44, 44}} - _NS:9 NO IBCocoaTouchFramework @@ -144,7 +140,6 @@ {320, 42} - _NS:9 @@ -266,61 +261,12 @@ 13 - - - - UIHistoryCell - UITableViewCell - - onDeleteClick: - id - - - onDeleteClick: - - onDeleteClick: - id - - - - UILabel - UIRemoteImageView - UILabel - - - - dateLabel - UILabel - - - iconImage - UIRemoteImageView - - - stationLabel - UILabel - - - - IBProjectSource - ./Classes/UIHistoryCell.h - - - - UIRemoteImageView - UIImageView - - IBProjectSource - ./Classes/UIRemoteImageView.h - - - - + 0 IBCocoaTouchFramework com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + YES 3 @@ -328,6 +274,6 @@ trash.png {26, 26} - 1498 + 1926 diff --git a/Classes/LinphoneUI/UIStationCell.m b/Classes/LinphoneUI/UIStationCell.m index 231fe5d07..769566f2a 100644 --- a/Classes/LinphoneUI/UIStationCell.m +++ b/Classes/LinphoneUI/UIStationCell.m @@ -18,7 +18,7 @@ */ #import "UIStationCell.h" - +#import "BuschJaegerUtils.h" #import @implementation UIStationCell @@ -83,6 +83,10 @@ [super dealloc]; } +- (void)layoutSubviews { + [super layoutSubviews]; + [BuschJaegerUtils resizeGradient:self]; +} #pragma mark - Property Functions diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 04a681bc6..27bb46fe2 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -111,6 +111,8 @@ 7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0B13E830E400EFC6DC /* libvpx.a */; }; 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; }; 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; }; + D304B3EA16661793002DB909 /* BuschJaegerWelcomeView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = D304B3E916661793002DB909 /* BuschJaegerWelcomeView~ipad.xib */; }; + D304B3EB16661793002DB909 /* BuschJaegerWelcomeView~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = D304B3E916661793002DB909 /* BuschJaegerWelcomeView~ipad.xib */; }; D30B942316358C7F00D53C46 /* BuschJaegerManualSettingsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D30B942216358C7F00D53C46 /* BuschJaegerManualSettingsView.xib */; }; D30B942416358C7F00D53C46 /* BuschJaegerManualSettingsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D30B942216358C7F00D53C46 /* BuschJaegerManualSettingsView.xib */; }; D30B942816358DD600D53C46 /* BuschJaegerManualSettingsView.m in Sources */ = {isa = PBXBuildFile; fileRef = D30B942716358DD600D53C46 /* BuschJaegerManualSettingsView.m */; }; @@ -584,6 +586,7 @@ 70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 8D1107310486CEB800E47090 /* buschjaeger-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "buschjaeger-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; C9B3A6FD15B485DB006F52EE /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Utils/Utils.h; sourceTree = ""; }; + D304B3E916661793002DB909 /* BuschJaegerWelcomeView~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "BuschJaegerWelcomeView~ipad.xib"; sourceTree = ""; }; D30B942216358C7F00D53C46 /* BuschJaegerManualSettingsView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = BuschJaegerManualSettingsView.xib; sourceTree = ""; }; D30B942616358DD600D53C46 /* BuschJaegerManualSettingsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BuschJaegerManualSettingsView.h; sourceTree = ""; }; D30B942716358DD600D53C46 /* BuschJaegerManualSettingsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BuschJaegerManualSettingsView.m; sourceTree = ""; }; @@ -882,6 +885,7 @@ D37CD37D15E22B6F0028869A /* BuschJaegerWelcomeView.h */, D37CD37E15E22B6F0028869A /* BuschJaegerWelcomeView.m */, D37CD37F15E22B700028869A /* BuschJaegerWelcomeView.xib */, + D304B3E916661793002DB909 /* BuschJaegerWelcomeView~ipad.xib */, 1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */, 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */, D3EA53FB159850E80037DC6B /* LinphoneManager.h */, @@ -1618,8 +1622,7 @@ D32EDDA91600C8FC009A84C7 /* ringtone_04_1600_loop.wav in Resources */, D32EDDAB1600C8FC009A84C7 /* ringtone_05_1600_loop.wav in Resources */, D30B942316358C7F00D53C46 /* BuschJaegerManualSettingsView.xib in Resources */, - D33E1F08164CF35100CFA363 /* callbar_left_padding.png in Resources */, - D33E1F0A164CF35100CFA363 /* callbar_right_padding.png in Resources */, + D304B3EA16661793002DB909 /* BuschJaegerWelcomeView~ipad.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1680,8 +1683,7 @@ D32EDDAA1600C8FC009A84C7 /* ringtone_04_1600_loop.wav in Resources */, D32EDDAC1600C8FC009A84C7 /* ringtone_05_1600_loop.wav in Resources */, D30B942416358C7F00D53C46 /* BuschJaegerManualSettingsView.xib in Resources */, - D33E1F09164CF35100CFA363 /* callbar_left_padding.png in Resources */, - D33E1F0B164CF35100CFA363 /* callbar_right_padding.png in Resources */, + D304B3EB16661793002DB909 /* BuschJaegerWelcomeView~ipad.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; };