From aabf53ac5437d83f0d516133956d2411e151a576 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 30 Jul 2012 11:56:32 +0200 Subject: [PATCH 01/17] Start iPad version --- Classes/ChatRoomTableViewController.m | 2 +- Classes/ChatRoomViewController.xib | 53 +- Classes/ChatViewController.xib | 49 +- Classes/ConsoleViewController.xib | 123 +- Classes/ContactDetailsLabelViewController.xib | 30 +- Classes/ContactDetailsViewController.xib | 27 +- Classes/ContactsViewController.xib | 48 +- Classes/FirstLoginViewController.xib | 26 +- Classes/HistoryDetailsViewController.xib | 30 +- Classes/HistoryViewController.xib | 47 +- Classes/InCallViewController-ipad.xib | 1953 ----------------- Classes/IncomingCallViewController.xib | 11 +- Classes/LinphoneApp.xib | 42 +- Classes/LinphoneUI/UIChatCell.xib | 17 +- Classes/LinphoneUI/UIChatRoomCell.h | 2 +- Classes/LinphoneUI/UIChatRoomCell.m | 12 +- .../LinphoneUI/UICompositeViewController.m | 23 +- .../LinphoneUI/UICompositeViewController.xib | 12 +- Classes/LinphoneUI/UIHistoryCell.xib | 16 +- Classes/LinphoneUI/UIStateBar.xib | 40 +- Classes/MoreViewController.xib | 375 +--- Classes/PhoneMainView.xib | 13 +- Classes/SettingsViewController.m | 54 +- Classes/SettingsViewController.xib | 1 - Resources/history_details_bar_background.png | Bin 161 -> 0 bytes Resources/settings_bar_background.png | Bin 161 -> 0 bytes ...background.png => toolsbar_background.png} | Bin linphone.xcodeproj/project.pbxproj | 32 +- 28 files changed, 533 insertions(+), 2505 deletions(-) delete mode 100644 Classes/InCallViewController-ipad.xib delete mode 100644 Resources/history_details_bar_background.png delete mode 100644 Resources/settings_bar_background.png rename Resources/{contact_bar_background.png => toolsbar_background.png} (100%) diff --git a/Classes/ChatRoomTableViewController.m b/Classes/ChatRoomTableViewController.m index 4bcf7b651..f208fc48e 100644 --- a/Classes/ChatRoomTableViewController.m +++ b/Classes/ChatRoomTableViewController.m @@ -150,7 +150,7 @@ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { ChatModel *chat = [data objectAtIndex:[indexPath row]]; - return [UIChatRoomCell height:chat]; + return [UIChatRoomCell height:chat width:[self.view frame].size.width]; } @end diff --git a/Classes/ChatRoomViewController.xib b/Classes/ChatRoomViewController.xib index c8b9c4f6b..738e35a47 100644 --- a/Classes/ChatRoomViewController.xib +++ b/Classes/ChatRoomViewController.xib @@ -3,22 +3,22 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUIView - IBUIImageView IBProxyObject - IBUILabel - IBUITextField - IBUITableViewController - IBUITableView IBUIButton + IBUIImageView + IBUILabel + IBUITableView + IBUITableViewController + IBUITextField + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -44,6 +44,20 @@ 290 + + + 290 + {320, 58} + + + _NS:9 + NO + IBCocoaTouchFramework + + NSImage + toolsbar_background.png + + 292 @@ -84,7 +98,7 @@ - 292 + 289 {{160, 0}, {160, 58}} @@ -150,7 +164,7 @@ - 274 + 292 {{20, 6}, {65, 65}} @@ -165,7 +179,7 @@ - 292 + 290 {{101, 37}, {199, 43}} @@ -267,7 +281,7 @@ - 260 + 258 {250, 59} @@ -282,7 +296,7 @@ - 260 + 258 {{10, 10}, {230, 39}} @@ -527,6 +541,7 @@ + toolsView @@ -614,6 +629,12 @@ addressLabel + + 47 + + + background + @@ -635,6 +656,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -645,7 +667,7 @@ - 46 + 47 @@ -763,7 +785,8 @@ {140, 117} {140, 117} {140, 117} + {5, 117} - 1181 + 1498 diff --git a/Classes/ChatViewController.xib b/Classes/ChatViewController.xib index 24b92a3ae..395f02293 100644 --- a/Classes/ChatViewController.xib +++ b/Classes/ChatViewController.xib @@ -3,19 +3,20 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUITableViewController - IBUITableView - IBUIView - IBUIButton IBProxyObject + IBUIButton + IBUIImageView + IBUITableView + IBUITableViewController + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -39,8 +40,23 @@ - 288 + 290 + + + 290 + {320, 58} + + + + _NS:9 + NO + IBCocoaTouchFramework + + NSImage + toolsbar_background.png + + 292 @@ -81,7 +97,7 @@ - 292 + 289 {{160, 0}, {160, 58}} @@ -115,7 +131,7 @@ {320, 58} - + _NS:9 3 @@ -290,9 +306,10 @@ + - header + toolsBar 9 @@ -306,6 +323,12 @@ addButton + + 23 + + + background + @@ -315,6 +338,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin ChatTableViewController com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -328,7 +352,7 @@ - 22 + 23 @@ -400,7 +424,8 @@ {320, 117} {320, 117} {320, 117} + {5, 117} - 1181 + 1498 diff --git a/Classes/ConsoleViewController.xib b/Classes/ConsoleViewController.xib index 16846dae6..9b81061ea 100644 --- a/Classes/ConsoleViewController.xib +++ b/Classes/ConsoleViewController.xib @@ -1,35 +1,39 @@ - + 784 - 9L31a - 680 - 949.54 - 353.00 - + 11E53 + 2549 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1498 + + YES - + IBProxyObject + IBUITextView + IBUIView + IBUIViewController YES com.apple.InterfaceBuilder.IBCocoaTouchPlugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES IBFilesOwner + IBCocoaTouchFramework IBFirstResponder + IBCocoaTouchFramework @@ -42,12 +46,14 @@ 274 {320, 450} + 1 MSAxIDEAA YES YES + IBCocoaTouchFramework NO NO NO @@ -56,11 +62,22 @@ 2 + IBCocoaTouchFramework + + + 1 + 17 + + + Helvetica + 17 + 16 {320, 460} + 3 MQA @@ -69,8 +86,14 @@ NO + IBCocoaTouchFramework - + + 1 + 1 + + IBCocoaTouchFramework + NO @@ -116,7 +139,7 @@ -1 - RmlsZSdzIE93bmVyA + File's Owner -2 @@ -151,22 +174,24 @@ YES - + YES -1.CustomClassName + -1.IBPluginDependency -2.CustomClassName + -2.IBPluginDependency 10.CustomClassName - 10.IBEditorWindowLastContentRect 10.IBPluginDependency 4.IBPluginDependency 7.IBPluginDependency - + YES ConsoleViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin ConsoleViewController - {{807, 300}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -174,22 +199,14 @@ YES - - YES - - - YES - + + YES - - YES - - - YES - + + 14 @@ -202,27 +219,59 @@ UIViewController YES - + YES logs logsView - + YES UITextView UIView + + YES + + YES + logs + logsView + + + YES + + logs + UITextView + + + logsView + UIView + + + IBProjectSource - Classes/ConsoleViewController.h + ./Classes/ConsoleViewController.h 0 - ../linphone.xcodeproj + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES 3 - 3.1 + 1498 diff --git a/Classes/ContactDetailsLabelViewController.xib b/Classes/ContactDetailsLabelViewController.xib index 324f0e974..8c0a5eb90 100644 --- a/Classes/ContactDetailsLabelViewController.xib +++ b/Classes/ContactDetailsLabelViewController.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUITableView - IBUIButton - IBUIView - IBUIImageView IBProxyObject + IBUIButton + IBUIImageView + IBUITableView + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -65,13 +65,13 @@ {320, 58} - + _NS:9 NO IBCocoaTouchFramework NSImage - contact_bar_background.png + toolsbar_background.png @@ -80,7 +80,7 @@ {160, 58} - + _NS:9 NO @@ -116,7 +116,7 @@ {320, 58} - + _NS:9 3 @@ -133,6 +133,7 @@ {{0, 59}, {320, 401}} + _NS:9 10 @@ -210,12 +211,11 @@ AAgACAAIAAEAAQABAAE 10 - {{0, 20}, {320, 460}} + {320, 460} - IBCocoaTouchFramework @@ -306,7 +306,7 @@ AAgACAAIAAEAAQABAAE - header + toolsBar 8 @@ -401,8 +401,8 @@ AAgACAAIAAEAAQABAAE {640, 523} {320, 117} {320, 117} - {5, 117} + {5, 117} - 1181 + 1498 diff --git a/Classes/ContactDetailsViewController.xib b/Classes/ContactDetailsViewController.xib index 42e2901cc..86c780b1f 100644 --- a/Classes/ContactDetailsViewController.xib +++ b/Classes/ContactDetailsViewController.xib @@ -3,20 +3,20 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUIImageView - IBUIButton - IBUITableView - IBUIView - IBUITableViewController IBProxyObject + IBUIButton + IBUIImageView + IBUITableView + IBUITableViewController + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -48,12 +48,13 @@ {320, 58} + _NS:9 NO IBCocoaTouchFramework NSImage - contact_bar_background.png + toolsbar_background.png @@ -158,7 +159,7 @@ {320, 58} - + _NS:9 3 @@ -175,6 +176,7 @@ {{0, 59}, {320, 401}} + _NS:9 10 @@ -252,12 +254,11 @@ AAgACAAIAAEAAQABAAE 10 - {{0, 20}, {320, 460}} + {320, 460} - IBCocoaTouchFramework @@ -559,13 +560,13 @@ AAgACAAIAAEAAQABAAE {320, 117} {320, 117} - {5, 117} {320, 117} {320, 117} {320, 117} {320, 117} {320, 117} + {5, 117} - 1181 + 1498 diff --git a/Classes/ContactsViewController.xib b/Classes/ContactsViewController.xib index 91add1d9e..1a98f54c2 100644 --- a/Classes/ContactsViewController.xib +++ b/Classes/ContactsViewController.xib @@ -3,19 +3,20 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUIButton - IBUITableView - IBUIView - IBUITableViewController IBProxyObject + IBUIButton + IBUIImageView + IBUITableView + IBUITableViewController + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -39,11 +40,25 @@ - 288 + 290 + + + 290 + {320, 58} + + + _NS:9 + NO + IBCocoaTouchFramework + + NSImage + toolsbar_background.png + + - 292 + 289 {{108, 0}, {106, 58}} @@ -82,7 +97,7 @@ - 292 + 289 {{214, 0}, {106, 58}} @@ -191,9 +206,7 @@ 1 MC45NDExNzY0NzA2IDAuOTY0NzA1ODgyNCAwLjk2NDcwNTg4MjQAA - NO YES - NO IBCocoaTouchFramework 0.0 10 @@ -387,6 +400,7 @@ + toolBar @@ -428,6 +442,12 @@ backButton + + 92 + + + background + @@ -448,12 +468,13 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 91 + 92 @@ -550,7 +571,8 @@ {213, 117} {213, 117} {213, 117} + {5, 117} - 1181 + 1498 diff --git a/Classes/FirstLoginViewController.xib b/Classes/FirstLoginViewController.xib index ac29c839c..73b5dab9f 100644 --- a/Classes/FirstLoginViewController.xib +++ b/Classes/FirstLoginViewController.xib @@ -3,20 +3,20 @@ 784 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 YES - IBUIButton - IBUIActivityIndicatorView - IBUIView - IBUITextField IBProxyObject + IBUIActivityIndicatorView + IBUIButton + IBUITextField + IBUIView YES @@ -87,6 +87,7 @@ {{60, 420}, {200, 37}} + NO NO IBCocoaTouchFramework @@ -139,9 +140,9 @@ 1 IBCocoaTouchFramework - + NSImage - setup_label.png + field_background.png 1 @@ -180,7 +181,7 @@ YES IBCocoaTouchFramework - + @@ -195,6 +196,7 @@ {{142, 211}, {37, 37}} + NO NO NO @@ -220,7 +222,7 @@ {320, 460} - + _NS:9 3 @@ -559,7 +561,7 @@ YES button_background_default.png button_background_over.png - setup_label.png + field_background.png YES @@ -568,6 +570,6 @@ {542, 88} - 1181 + 1498 diff --git a/Classes/HistoryDetailsViewController.xib b/Classes/HistoryDetailsViewController.xib index 6e340bd86..d22be8630 100644 --- a/Classes/HistoryDetailsViewController.xib +++ b/Classes/HistoryDetailsViewController.xib @@ -43,7 +43,7 @@ - 292 + 290 {320, 58} @@ -53,7 +53,7 @@ IBCocoaTouchFramework NSImage - history_details_bar_background.png + toolsbar_background.png @@ -96,7 +96,7 @@ - 292 + 289 {{160, 0}, {160, 58}} @@ -139,7 +139,7 @@ - 292 + 295 @@ -197,7 +197,7 @@ - 292 + 290 {{101, 37}, {199, 43}} @@ -240,7 +240,7 @@ - 292 + 295 @@ -271,7 +271,7 @@ - 292 + 290 {{57, 0}, {223, 21}} @@ -307,7 +307,7 @@ - 292 + 295 @@ -331,7 +331,7 @@ - 292 + 290 {{88, 0}, {192, 21}} @@ -360,7 +360,7 @@ - 292 + 295 @@ -384,7 +384,7 @@ - 292 + 290 {{65, 0}, {215, 21}} @@ -413,11 +413,10 @@ - 292 + 269 {{33, 273}, {255, 50}} - _NS:9 NO IBCocoaTouchFramework @@ -451,12 +450,11 @@ - {{0, 20}, {320, 460}} + {320, 460} - IBCocoaTouchFramework @@ -900,7 +898,7 @@ {320, 117} {320, 117} {320, 117} - {5, 117} + {5, 117} 1498 diff --git a/Classes/HistoryViewController.xib b/Classes/HistoryViewController.xib index 76bab3437..832f4cb67 100644 --- a/Classes/HistoryViewController.xib +++ b/Classes/HistoryViewController.xib @@ -3,19 +3,20 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUIButton - IBUITableView - IBUIView - IBUITableViewController IBProxyObject + IBUIButton + IBUIImageView + IBUITableView + IBUITableViewController + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -39,8 +40,22 @@ - 288 + 290 + + + 290 + {320, 58} + + + _NS:9 + NO + IBCocoaTouchFramework + + NSImage + toolsbar_background.png + + 292 @@ -111,7 +126,7 @@ - 292 + 289 {{212, 0}, {108, 58}} @@ -162,7 +177,6 @@ {{0, 58}, {320, 402}} - _NS:9 1 @@ -343,9 +357,10 @@ + - header + toolsBar 4 @@ -378,6 +393,12 @@ tableController + + 34 + + + background + @@ -390,6 +411,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -402,7 +424,7 @@ - 33 + 34 @@ -496,7 +518,8 @@ {213, 117} {213, 117} {214, 117} + {5, 117} - 1181 + 1498 diff --git a/Classes/InCallViewController-ipad.xib b/Classes/InCallViewController-ipad.xib deleted file mode 100644 index 51b1dfa66..000000000 --- a/Classes/InCallViewController-ipad.xib +++ /dev/null @@ -1,1953 +0,0 @@ - - - - 1280 - 11C74 - 1938 - 1138.23 - 567.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 - - - IBUIButton - IBUIImageView - IBUIViewController - IBProxyObject - IBUIActivityIndicatorView - IBUITableView - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBIPadFramework - - - IBFirstResponder - IBIPadFramework - - - - - 274 - - - - 274 - - - - 292 - {768, 1024} - - - - _NS:569 - NO - IBIPadFramework - - - - 292 - {{20, 956}, {28, 28}} - - - - _NS:567 - NO - IBIPadFramework - - - - 292 - {{366, 493}, {37, 37}} - - - - _NS:1062 - NO - IBIPadFramework - NO - 0 - - - - 292 - {{598, 799}, {170, 225}} - - - - - 3 - MQA - - 2 - - - IBIPadFramework - - - {768, 1024} - - - - _NS:212 - - 3 - MC42NjY2NjY2NjY3AA - - IBIPadFramework - - - - 292 - {{224, 740}, {320, 66}} - - - - NO - IBIPadFramework - 0 - 0 - 1 - Change camera - - 3 - MQA - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - NSImage - clavier-01-108px.png - - - Helvetica-Bold - Helvetica - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 274 - {768, 805} - - - - _NS:408 - - 3 - MSAwAA - - - YES - IBIPadFramework - YES - 0 - YES - 80 - 22 - 22 - - - - 292 - - - - 292 - {{0, 1}, {320, 66}} - - - - - 1 - MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - stopcall-red.png - - - NSImage - clavier-01-106px.png - - - - - - {{224, 937}, {320, 77}} - - - - _NS:196 - - 3 - MCAwAA - - IBIPadFramework - - - - 292 - - - - 292 - {{80, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - grouper.png - - - 2 - 17 - - - Helvetica-Bold - 17 - 16 - - - - - 292 - {{0, 4}, {107, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - mic_active.png - - - NSImage - micro_inverse.png - - - NSImage - micro.png - - - 2 - 2 - - - Helvetica-Bold - 18 - 16 - - - - - 292 - {{0, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - ajouter.png - - - - - - - 292 - {{240, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - 1 - MCAwIDAAA - - - NSImage - contact.png - - - - - - - -2147483356 - {{240, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 1 - video - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - clavier-01-160px.png - - - - - - - 292 - {{160, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - transfer - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - - - - - 292 - {{262, 84}, {37, 37}} - - - - _NS:1062 - NO - IBIPadFramework - NO - 0 - - - - 292 - {{107, 4}, {106, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - clavier.png - - - - - - - 292 - {{213, 4}, {107, 66}} - - - - - NO - NO - IBIPadFramework - NO - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - HP_inverse.png - - - NSImage - HP.png - - - - - - - 292 - {{80, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - NSImage - pause_inactif.png - - - NSImage - pause.png - - - - - - {{224, 801.5}, {320, 135}} - - - - - NO - NO - IBIPadFramework - - - - -2147483356 - - - - 292 - {{119, 251}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - close - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 193}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 19}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 19}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 2 - - - - - - - - - 292 - {{207, 19}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 3 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 77}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 77}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 77}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 135}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 135}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 135}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 193}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 193}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - {{178, 146}, {320, 310}} - - - - - 3 - MC4yNAA - - NO - NO - IBIPadFramework - - - {{0, 20}, {768, 1004}} - - - - _NS:212 - - IBIPadFramework - - - 2 - - - 1 - 1 - - IBIPadFramework - NO - - - - - - - callTableView - - - - 114 - - - - endCtrl - - - - 119 - - - - hangUpView - - - - 122 - - - - speaker - - - - 132 - - - - mute - - - - 125 - - - - addVideo - - - - 113 - - - - mergeCalls - - - - 124 - - - - addCall - - - - 112 - - - - contacts - - - - 116 - - - - dialer - - - - 141 - - - - pause - - - - 129 - - - - controlSubView - - - - 117 - - - - five - - - - 120 - - - - nine - - - - 126 - - - - seven - - - - 130 - - - - six - - - - 131 - - - - four - - - - 121 - - - - three - - - - 134 - - - - zero - - - - 137 - - - - two - - - - 135 - - - - close - - - - 115 - - - - hash - - - - 123 - - - - eight - - - - 118 - - - - one - - - - 127 - - - - star - - - - 133 - - - - padSubView - - - - 128 - - - - view - - - - 136 - - - - videoGroup - - - - 159 - - - - videoView - - - - 161 - - - - videoPreview - - - - 162 - - - - videoCallQuality - - - - 163 - - - - videoCameraSwitch - - - - 164 - - - - videoUpdateIndicator - - - - 167 - - - - videoWaitingForFirstImage - - - - 168 - - - - transfer - - - - 170 - - - - dataSource - - - - 139 - - - - delegate - - - - 140 - - - - doAction: - - - 7 - - 144 - - - - doAction: - - - 7 - - 142 - - - - doAction: - - - 7 - - 143 - - - - - - 0 - - - - - - -1 - - - File's Owner - - - -2 - - - - - 59 - - - - - - - - 60 - - - - - - - - - - - - - 61 - - - - - 88 - - - - - - - - 98 - - - end - - - 89 - - - - - - - - - - - - - - - controls - - - 96 - - - speaker - - - 92 - - - mute - - - 90 - - - video - - - 91 - - - merge - - - 93 - - - addcall - - - 94 - - - contacts - - - 95 - - - dialer - - - 97 - - - pauseresume - - - 87 - - - - - - - - - - - - - - - - - - pad - - - 99 - - - 5 - - - 100 - - - 9 - - - 101 - - - 7 - - - 102 - - - 6 - - - 103 - - - 4 - - - 104 - - - 3 - - - 105 - - - 0 - - - 106 - - - 2 - - - 107 - - - close - - - 108 - - - hash - - - 109 - - - 8 - - - 110 - - - 1 - - - 111 - - - star - - - 152 - - - - - - - - - video - - - 158 - - - - video_preview - - - 157 - - - video_view - - - 153 - - - call_quality_video - - - 154 - - - - - 165 - - - toggleVideoIndicator - - - 166 - - - - - 169 - - - transfer - - - - - IncallViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UICamSwitch - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIToggleVideoButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - UIMuteButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UISpeakerButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - UIHangUpButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 170 - - - - - IncallViewController - UIViewController - - doAction: - id - - - doAction: - - doAction: - id - - - - UIButton - UIToggleVideoButton - UITableView - UIButton - UIViewController - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIImageView - UICamSwitch - UIView - UIView - UIActivityIndicatorView - UIView - VideoViewController - UIActivityIndicatorView - UIButton - - - - addCall - UIButton - - - addVideo - UIToggleVideoButton - - - callTableView - UITableView - - - close - UIButton - - - conferenceDetail - UIViewController - - - contacts - UIButton - - - controlSubView - UIView - - - dialer - UIButton - - - eight - UIButton - - - endCtrl - UIButton - - - five - UIButton - - - four - UIButton - - - hangUpView - UIView - - - hash - UIButton - - - mergeCalls - UIButton - - - mute - UIButton - - - nine - UIButton - - - one - UIButton - - - padSubView - UIView - - - pause - UIButton - - - seven - UIButton - - - six - UIButton - - - speaker - UIButton - - - star - UIButton - - - three - UIButton - - - transfer - UIButton - - - two - UIButton - - - videoCallQuality - UIImageView - - - videoCameraSwitch - UICamSwitch - - - videoGroup - UIView - - - videoPreview - UIView - - - videoUpdateIndicator - UIActivityIndicatorView - - - videoView - UIView - - - videoViewController - VideoViewController - - - videoWaitingForFirstImage - UIActivityIndicatorView - - - zero - UIButton - - - - IBProjectSource - ./Classes/IncallViewController.h - - - - UICamSwitch - UIButton - - preview - UIView - - - preview - - preview - UIView - - - - IBProjectSource - ./Classes/UICamSwitch.h - - - - UIDigitButton - UIButton - - IBProjectSource - ./Classes/UIDigitButton.h - - - - UIHangUpButton - UIButton - - IBProjectSource - ./Classes/UIHangUpButton.h - - - - UIMuteButton - UIToggleButton - - IBProjectSource - ./Classes/UIMuteButton.h - - - - UISpeakerButton - UIToggleButton - - IBProjectSource - ./Classes/UISpeakerButton.h - - - - UIToggleButton - UIButton - - IBProjectSource - ./Classes/UIToggleButton.h - - - - UIToggleVideoButton - UIButton - - videoUpdateIndicator - UIActivityIndicatorView - - - videoUpdateIndicator - - videoUpdateIndicator - UIActivityIndicatorView - - - - IBProjectSource - ./Classes/UIToggleVideoButton.h - - - - VideoViewController - UIViewController - - UIImageView - UIImageView - UIImageView - UICamSwitch - UICamSwitch - UICamSwitch - UIView - UIView - UIView - UIHangUpButton - UIHangUpButton - UIHangUpButton - UIView - UIView - UIMuteButton - UIMuteButton - UIMuteButton - UIView - UIView - UIView - UIView - - - - mCallQuality - UIImageView - - - mCallQualityLandLeft - UIImageView - - - mCallQualityLandRight - UIImageView - - - mCamSwitch - UICamSwitch - - - mCamSwitchLandLeft - UICamSwitch - - - mCamSwitchLandRight - UICamSwitch - - - mDisplay - UIView - - - mDisplayLandLeft - UIView - - - mDisplayLandRight - UIView - - - mHangUp - UIHangUpButton - - - mHangUpLandLeft - UIHangUpButton - - - mHangUpLandRight - UIHangUpButton - - - mLandscapeLeft - UIView - - - mLandscapeRight - UIView - - - mMute - UIMuteButton - - - mMuteLandLeft - UIMuteButton - - - mMuteLandRight - UIMuteButton - - - mPortrait - UIView - - - mPreview - UIView - - - mPreviewLandLeft - UIView - - - mPreviewLandRight - UIView - - - - IBProjectSource - ./Classes/VideoViewController.h - - - - - 0 - IBIPadFramework - YES - 3 - - {107, 67} - {107, 67} - {107, 67} - {106, 60} - {108, 60} - {160, 60} - {106, 67} - {107, 67} - {106, 67} - {20, 20} - {107, 67} - {107, 67} - {106, 67} - {106, 67} - {62, 54} - - 933 - - diff --git a/Classes/IncomingCallViewController.xib b/Classes/IncomingCallViewController.xib index da9fe2a4f..b2de27e48 100644 --- a/Classes/IncomingCallViewController.xib +++ b/Classes/IncomingCallViewController.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 + IBProxyObject IBUIButton IBUIImageView - IBUIView IBUILabel - IBProxyObject + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -4615,7 +4615,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE {{160, 0}, {160, 77}} - _NS:9 NO @@ -4908,6 +4907,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE {320, 154} {640, 135} - 1181 + 1498 diff --git a/Classes/LinphoneApp.xib b/Classes/LinphoneApp.xib index cc511507a..9839f1048 100644 --- a/Classes/LinphoneApp.xib +++ b/Classes/LinphoneApp.xib @@ -2,19 +2,19 @@ 1296 - 11D50 - 2182 - 1138.32 - 568.00 + 11E53 + 2549 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUIWindow + IBProxyObject IBUICustomObject IBUIViewController - IBProxyObject + IBUIWindow com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -48,12 +48,10 @@ NO NO - IBCocoaTouchFramework YES - NO PhoneMainView @@ -189,8 +187,30 @@ - UICompositeViewController + TPMultiLayoutViewController UIViewController + + UIView + UIView + + + + landscapeView + UIView + + + portraitView + UIView + + + + IBProjectSource + ./Classes/TPMultiLayoutViewController.h + + + + UICompositeViewController + TPMultiLayoutViewController UIView UIView @@ -225,6 +245,6 @@ YES 3 - 1181 + 1498 diff --git a/Classes/LinphoneUI/UIChatCell.xib b/Classes/LinphoneUI/UIChatCell.xib index 92cdf036a..7bf9dcf3c 100644 --- a/Classes/LinphoneUI/UIChatCell.xib +++ b/Classes/LinphoneUI/UIChatCell.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 + IBProxyObject IBUIButton IBUIImageView - IBUIView IBUILabel - IBProxyObject + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -35,7 +35,7 @@ - 292 + 274 @@ -123,7 +123,7 @@ - 292 + 257 {{276, 0}, {44, 44}} @@ -162,11 +162,10 @@ - 292 + 257 {{276, 0}, {44, 44}} - _NS:9 NO IBCocoaTouchFramework @@ -418,6 +417,6 @@ {45, 45} {45, 45} - 1181 + 1498 diff --git a/Classes/LinphoneUI/UIChatRoomCell.h b/Classes/LinphoneUI/UIChatRoomCell.h index 22891bdbb..cfc479c23 100644 --- a/Classes/LinphoneUI/UIChatRoomCell.h +++ b/Classes/LinphoneUI/UIChatRoomCell.h @@ -41,7 +41,7 @@ @property (nonatomic, retain) IBOutlet UILabel *dateLabel; - (id)initWithIdentifier:(NSString*)identifier; -+ (CGFloat)height:(ChatModel*)chat; ++ (CGFloat)height:(ChatModel*)chat width:(int)width; - (IBAction)onDeleteClick:(id)event; diff --git a/Classes/LinphoneUI/UIChatRoomCell.m b/Classes/LinphoneUI/UIChatRoomCell.m index 98f355cc5..edb6671ce 100644 --- a/Classes/LinphoneUI/UIChatRoomCell.m +++ b/Classes/LinphoneUI/UIChatRoomCell.m @@ -121,12 +121,12 @@ static UIFont *CELL_FONT = nil; if(chat != nil) { // Resize Content CGRect contentFrame = [contentView frame]; - contentFrame.size = [UIChatRoomCell viewSize:[chat message]]; + contentFrame.size = [UIChatRoomCell viewSize:[chat message] width:[self frame].size.width]; if([[chat direction] intValue]) { // Inverted contentFrame.origin.x = 0.0f; contentFrame.origin.y = 0.0f; } else { - contentFrame.origin.x = CELL_MAX_WIDTH - contentFrame.size.width; + contentFrame.origin.x = [self frame].size.width - contentFrame.size.width; contentFrame.origin.y = 0.0f; } [contentView setFrame:contentFrame]; @@ -146,12 +146,12 @@ static UIFont *CELL_FONT = nil; } } -+ (CGSize)viewSize:(NSString*)message { ++ (CGSize)viewSize:(NSString*)message width:(int)width { if(CELL_FONT == nil) { CELL_FONT = [UIFont systemFontOfSize:CELL_FONT_SIZE]; } CGSize messageSize = [message sizeWithFont: CELL_FONT - constrainedToSize: CGSizeMake(CELL_MAX_WIDTH - CELL_MESSAGE_X_MARGIN, 10000.0f) + constrainedToSize: CGSizeMake(width - CELL_MESSAGE_X_MARGIN, 10000.0f) lineBreakMode: UILineBreakModeTailTruncation]; messageSize.height += CELL_MESSAGE_Y_MARGIN; if(messageSize.height < CELL_MIN_HEIGHT) @@ -162,8 +162,8 @@ static UIFont *CELL_FONT = nil; return messageSize; } -+ (CGFloat)height:(ChatModel*)chat { - return [UIChatRoomCell viewSize:[chat message]].height; ++ (CGFloat)height:(ChatModel*)chat width:(int)width { + return [UIChatRoomCell viewSize:[chat message] width:width].height; } diff --git a/Classes/LinphoneUI/UICompositeViewController.m b/Classes/LinphoneUI/UICompositeViewController.m index 547de4cb0..049ed47d2 100644 --- a/Classes/LinphoneUI/UICompositeViewController.m +++ b/Classes/LinphoneUI/UICompositeViewController.m @@ -133,6 +133,16 @@ #pragma mark - ViewController Functions +- (void)viewDidLoad { + /* Force landscape view to match portrait view */ + CGRect frame = [portraitView frame]; + int height = frame.size.width; + frame.size.width = frame.size.height; + frame.size.height = height; + [landscapeView setFrame:frame]; + [super viewDidLoad]; +} + - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [contentViewController viewWillAppear:animated]; @@ -378,8 +388,6 @@ [UIView setAnimationBeginsFromCurrentState:TRUE]; } - UIView *innerView = contentViewController.view; - CGRect contentFrame = contentView.frame; CGRect viewFrame = [self.view frame]; @@ -421,18 +429,13 @@ if(currentViewDescription.fullscreen) contentFrame.size.height = viewFrame.size.height - contentFrame.origin.y; - // Resize innerView - CGRect innerContentFrame = innerView.frame; - innerContentFrame.origin.x = 0; - innerContentFrame.origin.y = 0; - innerContentFrame.size.width = contentFrame.size.width; - innerContentFrame.size.height = contentFrame.size.height; - // Set frames [contentView setFrame: contentFrame]; - [innerView setFrame: innerContentFrame]; + [contentViewController.view setFrame: [contentView bounds]]; [tabBarView setFrame: tabFrame]; + [tabBarViewController.view setFrame:[tabBarView bounds]]; [stateBarView setFrame: stateBarFrame]; + [stateBarViewController.view setFrame:[stateBarView bounds]]; // Commit animation if(tabBar != nil || fullscreen != nil) { diff --git a/Classes/LinphoneUI/UICompositeViewController.xib b/Classes/LinphoneUI/UICompositeViewController.xib index a2e27d760..2c4175b31 100644 --- a/Classes/LinphoneUI/UICompositeViewController.xib +++ b/Classes/LinphoneUI/UICompositeViewController.xib @@ -3,12 +3,12 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 IBProxyObject @@ -37,7 +37,7 @@ 314 - {{0, 23}, {320, 389}} + {{0, 23}, {320, 397}} @@ -83,7 +83,6 @@ - NO IBCocoaTouchFramework @@ -93,7 +92,7 @@ 314 - {{0, 24}, {480, 231}} + {{0, 23}, {480, 237}} @@ -136,7 +135,6 @@ - NO 3 3 @@ -368,6 +366,6 @@ YES 3 - 1181 + 1498 diff --git a/Classes/LinphoneUI/UIHistoryCell.xib b/Classes/LinphoneUI/UIHistoryCell.xib index 20b98f889..e2fe52aa4 100644 --- a/Classes/LinphoneUI/UIHistoryCell.xib +++ b/Classes/LinphoneUI/UIHistoryCell.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 + IBProxyObject IBUIButton IBUIImageView - IBUIView IBUILabel - IBProxyObject + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -35,7 +35,7 @@ - 292 + 274 @@ -86,7 +86,7 @@ - 292 + 257 {{276, 0}, {44, 44}} @@ -125,7 +125,7 @@ - 292 + 257 {{276, 0}, {44, 44}} @@ -358,6 +358,6 @@ {45, 45} {45, 45} - 1181 + 1498 diff --git a/Classes/LinphoneUI/UIStateBar.xib b/Classes/LinphoneUI/UIStateBar.xib index 08f79fb0a..b25d2e859 100644 --- a/Classes/LinphoneUI/UIStateBar.xib +++ b/Classes/LinphoneUI/UIStateBar.xib @@ -3,18 +3,18 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUIImageView - IBUIView - IBUILabel IBProxyObject + IBUIImageView + IBUILabel + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -34,11 +34,11 @@ - 292 + 290 - 292 + 274 {320, 23} @@ -70,8 +70,8 @@ - 292 - {{22, 0}, {189, 20}} + 290 + {{22, 0}, {222, 20}} @@ -102,7 +102,7 @@ - 292 + 289 {{252, 3}, {27, 17}} @@ -114,11 +114,10 @@ - 292 + 289 {{287, 3}, {27, 17}} - _NS:567 1 5 @@ -139,11 +138,11 @@ - 292 + 290 - 292 + 274 {480, 23} @@ -169,8 +168,8 @@ - 292 - {{22, 0}, {189, 20}} + 290 + {{22, 0}, {382, 20}} @@ -191,7 +190,7 @@ - 292 + 289 {{412, 3}, {27, 17}} @@ -203,11 +202,10 @@ - 292 + 289 {{447, 3}, {27, 17}} - _NS:567 1 5 @@ -313,6 +311,7 @@ + Portrait View 6 @@ -355,6 +354,7 @@ + Landscape View 20 @@ -482,6 +482,6 @@ {18, 17} {640, 46} - 1181 + 1498 diff --git a/Classes/MoreViewController.xib b/Classes/MoreViewController.xib index da9802a57..f035483ed 100644 --- a/Classes/MoreViewController.xib +++ b/Classes/MoreViewController.xib @@ -2,33 +2,31 @@ 784 - 10J567 - 823 - 1038.35 - 462.00 + 11E53 + 2549 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 132 + 1498 - + YES - - - - + IBProxyObject + IBUIImageView + IBUILabel + IBUITableView + IBUITableViewCell + IBUITextView + IBUIViewController YES com.apple.InterfaceBuilder.IBCocoaTouchPlugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES @@ -44,13 +42,14 @@ 274 - {{0, 106}, {320, 247}} + {320, 247} + 10 549453824 - {84, 1} + {512, 1} YES @@ -58,15 +57,44 @@ - TU0AKgAAAVjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/ + TU0AKgAACAjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/ y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/ xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/ xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/ xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/ -xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P8ADQEAAAMAAAABAFQAAAEB -AAMAAAABAAEAAAECAAMAAAAEAAAB+gEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES -AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAAEAAAEXAAQAAAABAAABUAEcAAMAAAABAAEAAAFS -AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA +xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/ +xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/ +y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/ +y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/ +xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/ +xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/ +xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/ +xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/ +xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/ +y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/ +y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/ +xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/ +xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/ +xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/ +xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/ +xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/ +y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/ +y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/ +xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/ +xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/ +xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/ +xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/ +xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/ +y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/ +y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/ +xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/ +xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/ +xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/ +xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/ +xczS/8vS2P/L0tj/xczU/wANAQAAAwAAAAECAAAAAQEAAwAAAAEAAQAAAQIAAwAAAAQAAAiqAQMAAwAA +AAEAAQAAAQYAAwAAAAEAAgAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAA +AAEAAQAAARcABAAAAAEAAAgAARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAQAAAiyAAAAAAAI +AAgACAAIAAEAAQABAAE @@ -91,15 +119,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 10 10 - + 1 1 IBCocoaTouchFramework NO - + 292 YES @@ -125,6 +153,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 1 10 + + 1 + 17 + + + Helvetica + 17 + 16 + {300, 44} @@ -138,19 +175,17 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA {320, 44} - 1 MSAxIDEAA NO IBCocoaTouchFramework - 1 1 - + 292 YES @@ -176,6 +211,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 1 10 + + {300, 44} @@ -189,16 +226,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA {320, 44} - NO IBCocoaTouchFramework - 1 1 - + 292 YES @@ -241,6 +276,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 2 IBCocoaTouchFramework + + @@ -258,6 +295,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 1 10 1 + + {322, 230} @@ -271,12 +310,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA {322, 230} - NO NO IBCocoaTouchFramework - 1 @@ -337,7 +374,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA YES 0 - + + YES + @@ -430,38 +469,32 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA YES -1.CustomClassName + -1.IBPluginDependency -2.CustomClassName - 18.IBEditorWindowLastContentRect + -2.IBPluginDependency 18.IBPluginDependency - 25.IBEditorWindowLastContentRect 25.IBPluginDependency 34.IBPluginDependency - 38.IBEditorWindowLastContentRect 38.IBPluginDependency 39.IBPluginDependency - 4.IBEditorWindowLastContentRect 4.IBPluginDependency - 42.IBEditorWindowLastContentRect 42.IBPluginDependency 43.IBPluginDependency 45.IBPluginDependency 49.IBPluginDependency - + YES MoreViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder - {{138, 864}, {320, 247}} - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{251, 502}, {320, 44}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{252, 1012}, {320, 44}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{79, 106}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{100, 713}, {322, 230}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -471,17 +504,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA YES - - YES - + YES - - YES - + 50 @@ -502,7 +531,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA web weburi - + YES UITableViewCell UITableViewCell @@ -521,7 +550,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA web weburi - + YES console @@ -547,236 +576,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA IBProjectSource - Classes/MoreViewController.h - - - - - YES - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIAccessibility.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UINibLoading.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIImageView - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIImageView.h - - - - UILabel - UIView - - IBFrameworkSource - UIKit.framework/Headers/UILabel.h - - - - UIResponder - NSObject - - - - UIScrollView - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIScrollView.h - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UITableView - UIScrollView - - IBFrameworkSource - UIKit.framework/Headers/UITableView.h - - - - UITableViewCell - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITableViewCell.h - - - - UITableViewController - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITableViewController.h - - - - UITextView - UIScrollView - - IBFrameworkSource - UIKit.framework/Headers/UITextView.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIPrintFormatter.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITextField.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UINavigationController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UIPopoverController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITabBarController.h - - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h + ./Classes/MoreViewController.h @@ -789,19 +589,18 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 YES - ../linphone.xcodeproj 3 linphone-banner.png {300, 100} - 132 + 1498 diff --git a/Classes/PhoneMainView.xib b/Classes/PhoneMainView.xib index 6ff46115c..119c7ab72 100644 --- a/Classes/PhoneMainView.xib +++ b/Classes/PhoneMainView.xib @@ -3,19 +3,19 @@ 784 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 YES - IBUIViewController + IBProxyObject IBUIImageView IBUIView - IBProxyObject + IBUIViewController YES @@ -68,13 +68,12 @@ IBCocoaTouchFramework - NO UICompositeViewController - 1 1 + YES IBCocoaTouchFramework NO @@ -314,6 +313,6 @@ background.png {640, 523} - 1181 + 1498 diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m index 72c09b0a3..c32ccc2bf 100644 --- a/Classes/SettingsViewController.m +++ b/Classes/SettingsViewController.m @@ -62,6 +62,34 @@ @implementation IASKSpecifierValuesViewControllerEx +- (void)initIASKSpecifierValuesViewControllerEx { + [self.view setBackgroundColor:[UIColor clearColor]]; +} + +- (id)init { + self = [super init]; + if(self != nil) { + [self initIASKSpecifierValuesViewControllerEx]; + } + return self; +} + +- (id)initWithCoder:(NSCoder *)aDecoder { + self = [super initWithCoder:aDecoder]; + if(self != nil) { + [self initIASKSpecifierValuesViewControllerEx]; + } + return self; +} + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if(self != nil) { + [self initIASKSpecifierValuesViewControllerEx]; + } + return self; +} + - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell * cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]; @@ -133,6 +161,8 @@ } - (void)initIASKAppSettingsViewControllerEx { + [self.view setBackgroundColor:[UIColor clearColor]]; + // Force kIASKSpecifierValuesViewControllerIndex static int kIASKSpecifierValuesViewControllerIndex = 0; _viewList = [[NSMutableArray alloc] init]; @@ -223,7 +253,7 @@ } - (void)drawRect:(CGRect)rect { - UIImage *img = [UIImage imageNamed:@"settings_bar_background.png"]; + UIImage *img = [UIImage imageNamed:@"toolsbar_background.png"]; [img drawInRect:rect]; } @@ -238,22 +268,30 @@ @implementation UINavigationControllerEx +- (id)initWithRootViewController:(UIViewController *)rootViewController { + [UINavigationControllerEx removeBackground:rootViewController.view]; + return [self initWithRootViewController:rootViewController]; +} + + (void)removeTableBackground:(UIView*)view { if([view isKindOfClass:[UITableView class]]) { [view setBackgroundColor:[UIColor clearColor]]; } + if([view isKindOfClass:[UIImageView class]] && [[view superview] isKindOfClass:[UITableView class]]) { + [(UIImageView*)view setImage:nil]; + } for(UIView *subview in [view subviews]) { [UINavigationControllerEx removeTableBackground:subview]; } } -- (id)initWithRootViewController:(UIViewController *)rootViewController { - [UINavigationControllerEx removeTableBackground:rootViewController.view]; - return [super initWithRootViewController:rootViewController]; ++ (void)removeBackground:(UIView*)view { + [view setBackgroundColor:[UIColor clearColor]]; + [UINavigationControllerEx removeTableBackground:view]; } - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { - [UINavigationControllerEx removeTableBackground:viewController.view]; + [UINavigationControllerEx removeBackground:viewController.view]; [viewController viewWillAppear:FALSE]; // Force load: Load Title UILabel *labelTitleView = [[UILabel alloc] init]; @@ -272,14 +310,14 @@ - (void)setViewControllers:(NSArray *)viewControllers { for(UIViewController *controller in viewControllers) { - [UINavigationControllerEx removeTableBackground:controller.view]; + [UINavigationControllerEx removeBackground:controller.view]; } [super setViewControllers:viewControllers]; } - (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated { for(UIViewController *controller in viewControllers) { - [UINavigationControllerEx removeTableBackground:controller.view]; + [UINavigationControllerEx removeBackground:controller.view]; } [super setViewControllers:viewControllers animated:animated]; } @@ -337,6 +375,8 @@ static UICompositeViewDescription *compositeDescription = nil; settingsController.hiddenKeys = [self findHiddenKeys]; settingsController.settingsStore = [[LinphoneManager instance] settingsStore]; + [navigationController.view setBackgroundColor:[UIColor clearColor]]; + navigationController.view.frame = self.view.frame; [navigationController pushViewController:settingsController animated:FALSE]; [self.view addSubview: navigationController.view]; diff --git a/Classes/SettingsViewController.xib b/Classes/SettingsViewController.xib index f4b4552a1..09f4282f4 100644 --- a/Classes/SettingsViewController.xib +++ b/Classes/SettingsViewController.xib @@ -40,7 +40,6 @@ {320, 460} - _NS:9 3 diff --git a/Resources/history_details_bar_background.png b/Resources/history_details_bar_background.png deleted file mode 100644 index e3638e1976b397c669e71c428631487b600fe13e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^tUz4K!2~2Z_4gEmr~;2jAk8fd!i)^F=12eq*-Jcq zUD@xjb8+$VX`9TE0SY;Ix;TbdoKF7p|Gz!6P(qRe>*7CwcBVgdST0F(cfOn$^x0#o ze8y*uQ2QHS`gf%#TxQ;T*?R5U#SymKSBR)Sm1em7dBT_DR>iJBvlu*G{an^LB{Ts5 D?eH-_ diff --git a/Resources/settings_bar_background.png b/Resources/settings_bar_background.png deleted file mode 100644 index e3638e1976b397c669e71c428631487b600fe13e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^tUz4K!2~2Z_4gEmr~;2jAk8fd!i)^F=12eq*-Jcq zUD@xjb8+$VX`9TE0SY;Ix;TbdoKF7p|Gz!6P(qRe>*7CwcBVgdST0F(cfOn$^x0#o ze8y*uQ2QHS`gf%#TxQ;T*?R5U#SymKSBR)Sm1em7dBT_DR>iJBvlu*G{an^LB{Ts5 D?eH-_ diff --git a/Resources/contact_bar_background.png b/Resources/toolsbar_background.png similarity index 100% rename from Resources/contact_bar_background.png rename to Resources/toolsbar_background.png diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index b62cd89b5..2d43fdff6 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -125,7 +125,6 @@ 341FCA8E149798210084BC26 /* linphonerc-ipad in Resources */ = {isa = PBXBuildFile; fileRef = 341FCA8D149798210084BC26 /* linphonerc-ipad */; }; 34216F401547EBCD00EA9777 /* VideoZoomHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 34216F3F1547EBCD00EA9777 /* VideoZoomHandler.m */; }; 34216F411547EBCD00EA9777 /* VideoZoomHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 34216F3F1547EBCD00EA9777 /* VideoZoomHandler.m */; }; - 3422AA5014975EC9000D4E8A /* InCallViewController-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3422AA4F14975EC9000D4E8A /* InCallViewController-ipad.xib */; }; 344ABDE81484E723007420B6 /* libzrtpcpp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDE71484E723007420B6 /* libzrtpcpp.a */; }; 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDEF14850AE9007420B6 /* libc++.1.dylib */; settings = {ATTRIBUTES = (Weak, ); }; }; 344ABDF214850AE9007420B6 /* libstdc++.6.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */; settings = {ATTRIBUTES = (Weak, ); }; }; @@ -296,7 +295,6 @@ D34BD66015C13DB60070C209 /* conference_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = D3C31A0815BD8DED008ED271 /* conference_over_landscape.png */; }; D34BD66115C13DB60070C209 /* contact_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3128FE715AABE4E00A2147A /* contact_back_default.png */; }; D34BD66215C13DB60070C209 /* contact_back_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3128FE815AABE4E00A2147A /* contact_back_over.png */; }; - D34BD66315C13DB60070C209 /* contact_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D378906915AC37C800BD776C /* contact_bar_background.png */; }; D34BD66415C13DB60070C209 /* contact_cancel_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F3615B011AF00420DAC /* contact_cancel_default.png */; }; D34BD66515C13DB60070C209 /* contact_cancel_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F3715B011AF00420DAC /* contact_cancel_over.png */; }; D34BD66615C13DB60070C209 /* contact_edit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3128FE915AABE4E00A2147A /* contact_edit_default.png */; }; @@ -496,7 +494,6 @@ D34BD72915C13DD40070C209 /* FirstLoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2218A92412FBE1340088A667 /* FirstLoginViewController.xib */; }; D34BD72A15C13DD40070C209 /* HistoryDetailsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C90FAA7815AF54E6002091CB /* HistoryDetailsViewController.xib */; }; D34BD72B15C13DD40070C209 /* HistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3EB2158738FA006C0DE4 /* HistoryViewController.xib */; }; - D34BD72C15C13DD40070C209 /* InCallViewController-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3422AA4F14975EC9000D4E8A /* InCallViewController-ipad.xib */; }; D34BD72D15C13DD40070C209 /* InCallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F83EEB1582021700336684 /* InCallViewController.xib */; }; D34BD72E15C13DD40070C209 /* IncomingCallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F26BF015986B72005F9CAB /* IncomingCallViewController.xib */; }; D34BD72F15C13DD40070C209 /* LinphoneApp.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F9115824D3500336684 /* LinphoneApp.xib */; }; @@ -589,7 +586,6 @@ D378906515AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D378906315AC373B00BD776C /* ContactDetailsLabelViewController.m */; }; D378906615AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D378906315AC373B00BD776C /* ContactDetailsLabelViewController.m */; }; D378906715AC373B00BD776C /* ContactDetailsLabelViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D378906415AC373B00BD776C /* ContactDetailsLabelViewController.xib */; }; - D378906A15AC37C800BD776C /* contact_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D378906915AC37C800BD776C /* contact_bar_background.png */; }; D378907515AC448A00BD776C /* UIView+ModalStack.m in Sources */ = {isa = PBXBuildFile; fileRef = D378907415AC448A00BD776C /* UIView+ModalStack.m */; }; D378907615AC448A00BD776C /* UIView+ModalStack.m in Sources */ = {isa = PBXBuildFile; fileRef = D378907415AC448A00BD776C /* UIView+ModalStack.m */; }; D37B96B715A1A6F20005CCD2 /* call_state_delete_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D37B96B515A1A6F20005CCD2 /* call_state_delete_default.png */; }; @@ -668,6 +664,8 @@ D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; }; D3A55FBD15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; }; D3A55FBF15877E69003FD403 /* UIContactCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3A55FBE15877E69003FD403 /* UIContactCell.xib */; }; + D3A74E5915C68162001500B9 /* toolsbar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A74E5815C68162001500B9 /* toolsbar_background.png */; }; + D3A74E5A15C68162001500B9 /* toolsbar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A74E5815C68162001500B9 /* toolsbar_background.png */; }; D3A8BB7015A6C7D500F96BE5 /* UIChatRoomCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A8BB6F15A6C7D500F96BE5 /* UIChatRoomCell.m */; }; D3A8BB7115A6C7D500F96BE5 /* UIChatRoomCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A8BB6F15A6C7D500F96BE5 /* UIChatRoomCell.m */; }; D3A8BB7415A6C81A00F96BE5 /* UIChatRoomCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3A8BB7315A6C81A00F96BE5 /* UIChatRoomCell.xib */; }; @@ -676,10 +674,6 @@ D3A8BB7F15A6CC3200F96BE5 /* setup_back_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A8BB7815A6CC3200F96BE5 /* setup_back_disabled.png */; }; D3A8BB8115A6CC3200F96BE5 /* setup_cancel_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A8BB7915A6CC3200F96BE5 /* setup_cancel_disabled.png */; }; D3A8BB8315A6CC3200F96BE5 /* setup_start_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3A8BB7A15A6CC3200F96BE5 /* setup_start_disabled.png */; }; - D3B82A0215C18A710036C93E /* history_details_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0015C18A710036C93E /* history_details_bar_background.png */; }; - D3B82A0315C18A710036C93E /* history_details_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0015C18A710036C93E /* history_details_bar_background.png */; }; - D3B82A0415C18A710036C93E /* settings_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0115C18A710036C93E /* settings_bar_background.png */; }; - D3B82A0515C18A710036C93E /* settings_bar_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B82A0115C18A710036C93E /* settings_bar_background.png */; }; D3B9A3DF15A58C450096EA4E /* chat_field.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B9A3DA15A58C440096EA4E /* chat_field.png */; }; D3B9A3E115A58C450096EA4E /* chat_ok_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B9A3DB15A58C440096EA4E /* chat_ok_default.png */; }; D3B9A3E315A58C450096EA4E /* chat_ok_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3B9A3DC15A58C440096EA4E /* chat_ok_over.png */; }; @@ -1185,7 +1179,6 @@ 341FCA8D149798210084BC26 /* linphonerc-ipad */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linphonerc-ipad"; sourceTree = ""; }; 34216F3E1547EBCD00EA9777 /* VideoZoomHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoZoomHandler.h; path = LinphoneUI/VideoZoomHandler.h; sourceTree = ""; }; 34216F3F1547EBCD00EA9777 /* VideoZoomHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VideoZoomHandler.m; path = LinphoneUI/VideoZoomHandler.m; sourceTree = ""; }; - 3422AA4F14975EC9000D4E8A /* InCallViewController-ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "InCallViewController-ipad.xib"; sourceTree = ""; }; 344ABDE71484E723007420B6 /* libzrtpcpp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libzrtpcpp.a; path = "liblinphone-sdk/apple-darwin/lib/libzrtpcpp.a"; sourceTree = ""; }; 344ABDEF14850AE9007420B6 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "usr/lib/libc++.1.dylib"; sourceTree = SDKROOT; }; 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.6.dylib"; path = "usr/lib/libstdc++.6.dylib"; sourceTree = SDKROOT; }; @@ -1350,7 +1343,6 @@ D378906215AC373B00BD776C /* ContactDetailsLabelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactDetailsLabelViewController.h; sourceTree = ""; }; D378906315AC373B00BD776C /* ContactDetailsLabelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactDetailsLabelViewController.m; sourceTree = ""; }; D378906415AC373B00BD776C /* ContactDetailsLabelViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ContactDetailsLabelViewController.xib; sourceTree = ""; }; - D378906915AC37C800BD776C /* contact_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_bar_background.png; path = Resources/contact_bar_background.png; sourceTree = ""; }; D378907415AC448A00BD776C /* UIView+ModalStack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ModalStack.m"; sourceTree = ""; }; D378907715AC44A300BD776C /* UIView+ModalStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ModalStack.h"; sourceTree = ""; }; D37B96B515A1A6F20005CCD2 /* call_state_delete_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = call_state_delete_default.png; path = Resources/call_state_delete_default.png; sourceTree = ""; }; @@ -1428,6 +1420,7 @@ D3A55FBA15877E5E003FD403 /* UIContactCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactCell.h; sourceTree = ""; }; D3A55FBB15877E5E003FD403 /* UIContactCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactCell.m; sourceTree = ""; }; D3A55FBE15877E69003FD403 /* UIContactCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIContactCell.xib; sourceTree = ""; }; + D3A74E5815C68162001500B9 /* toolsbar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = toolsbar_background.png; path = Resources/toolsbar_background.png; sourceTree = ""; }; D3A8BB6E15A6C7D500F96BE5 /* UIChatRoomCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatRoomCell.h; sourceTree = ""; }; D3A8BB6F15A6C7D500F96BE5 /* UIChatRoomCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatRoomCell.m; sourceTree = ""; }; D3A8BB7315A6C81A00F96BE5 /* UIChatRoomCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIChatRoomCell.xib; sourceTree = ""; }; @@ -1436,8 +1429,6 @@ D3A8BB7815A6CC3200F96BE5 /* setup_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_back_disabled.png; path = Resources/setup_back_disabled.png; sourceTree = ""; }; D3A8BB7915A6CC3200F96BE5 /* setup_cancel_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_cancel_disabled.png; path = Resources/setup_cancel_disabled.png; sourceTree = ""; }; D3A8BB7A15A6CC3200F96BE5 /* setup_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_start_disabled.png; path = Resources/setup_start_disabled.png; sourceTree = ""; }; - D3B82A0015C18A710036C93E /* history_details_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = history_details_bar_background.png; path = Resources/history_details_bar_background.png; sourceTree = ""; }; - D3B82A0115C18A710036C93E /* settings_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = settings_bar_background.png; path = Resources/settings_bar_background.png; sourceTree = ""; }; D3B90E1115C2CB5700F64F8C /* NinePatch.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = NinePatch.xcodeproj; path = Utils/NinePatch/NinePatch.xcodeproj; sourceTree = ""; }; D3B9A3DA15A58C440096EA4E /* chat_field.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_field.png; path = Resources/chat_field.png; sourceTree = ""; }; D3B9A3DB15A58C440096EA4E /* chat_ok_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_ok_default.png; path = Resources/chat_ok_default.png; sourceTree = ""; }; @@ -1776,10 +1767,9 @@ D3ED3EB2158738FA006C0DE4 /* HistoryViewController.xib */, D31AAF5C159B3919002C6B02 /* InCallTableViewController.h */, D31AAF5D159B3919002C6B02 /* InCallTableViewController.m */, - 3422AA4F14975EC9000D4E8A /* InCallViewController-ipad.xib */, D3F83EE91582021700336684 /* InCallViewController.h */, - D3F83EEA1582021700336684 /* InCallViewController.m */, D3F83EEB1582021700336684 /* InCallViewController.xib */, + D3F83EEA1582021700336684 /* InCallViewController.m */, D3F26BEE15986B71005F9CAB /* IncomingCallViewController.h */, D3F26BEF15986B71005F9CAB /* IncomingCallViewController.m */, D3F26BF015986B72005F9CAB /* IncomingCallViewController.xib */, @@ -2317,7 +2307,6 @@ D3C31A0815BD8DED008ED271 /* conference_over_landscape.png */, D3128FE715AABE4E00A2147A /* contact_back_default.png */, D3128FE815AABE4E00A2147A /* contact_back_over.png */, - D378906915AC37C800BD776C /* contact_bar_background.png */, D3E84F3615B011AF00420DAC /* contact_cancel_default.png */, D3E84F3715B011AF00420DAC /* contact_cancel_over.png */, D3128FE915AABE4E00A2147A /* contact_edit_default.png */, @@ -2367,7 +2356,6 @@ D3157A8915B4466F00DD8C4C /* history_details_add_over.png */, D3157A8E15B446CB00DD8C4C /* history_details_back_default.png */, D3157A8F15B446CB00DD8C4C /* history_details_back_over.png */, - D3B82A0015C18A710036C93E /* history_details_bar_background.png */, D3ED3E9415872EF1006C0DE4 /* history_edit_default.png */, D3ED3E9515872EF1006C0DE4 /* history_edit_over.png */, D3ED3E9715872EF1006C0DE4 /* history_missed_default.png */, @@ -2462,7 +2450,6 @@ D3D6A3A5159B0EFE005F692C /* security_ko.png */, D3D6A3A7159B0EFE005F692C /* security_ok.png */, D3D6A3A6159B0EFE005F692C /* security_pending.png */, - D3B82A0115C18A710036C93E /* settings_bar_background.png */, D38327EF1580FE3A00FA0D23 /* settings_default.png */, D38327FE158100E400FA0D23 /* settings_over.png */, D38327F01580FE3A00FA0D23 /* settings_selected.png */, @@ -2493,6 +2480,7 @@ D3C31A2915BD8DED008ED271 /* statebar_background_landscape.png */, D35E757515931E5D0066B1C1 /* switch_camera_default.png */, D35E757615931E5D0066B1C1 /* switch_camera_over.png */, + D3A74E5815C68162001500B9 /* toolsbar_background.png */, D3C714B2159DB84400705B8E /* toy-mono.wav */, C9C8254115AE204D00D493FA /* transfer_call_default.png */, C9C8254E15AE256100D493FA /* transfer_call_disabled.png */, @@ -2793,7 +2781,6 @@ 2218A92612FBE1340088A667 /* FirstLoginViewController.xib in Resources */, 2214783D1386A2030020F8B8 /* Localizable.strings in Resources */, 70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */, - 3422AA5014975EC9000D4E8A /* InCallViewController-ipad.xib in Resources */, 341FCA8E149798210084BC26 /* linphonerc-ipad in Resources */, 34A6ECEB14CF13CB00460C04 /* linphone_icon_72.png in Resources */, D347347A1580DDF1003C7B8C /* PhoneMainView.xib in Resources */, @@ -3009,7 +2996,6 @@ D3C6526B15AC228A0092A874 /* contact_ok_default.png in Resources */, D3C6526D15AC228A0092A874 /* contact_ok_over.png in Resources */, D378906715AC373B00BD776C /* ContactDetailsLabelViewController.xib in Resources */, - D378906A15AC37C800BD776C /* contact_bar_background.png in Resources */, D3E8F68815ADE05B0065A226 /* UIContactDetailsFooter.xib in Resources */, D32D5AA715ADE5D9008593F3 /* button_alert_background_default.png in Resources */, D32D5AA915ADE5D9008593F3 /* button_alert_background_over.png in Resources */, @@ -3077,8 +3063,7 @@ D3C31A8215BD8DED008ED271 /* video_on_default_landscape.png in Resources */, D3C31A8415BD8DED008ED271 /* video_on_disabled_landscape.png in Resources */, D3C31A8615BD8DED008ED271 /* video_on_over_landscape.png in Resources */, - D3B82A0215C18A710036C93E /* history_details_bar_background.png in Resources */, - D3B82A0415C18A710036C93E /* settings_bar_background.png in Resources */, + D3A74E5915C68162001500B9 /* toolsbar_background.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3121,7 +3106,6 @@ D34BD72915C13DD40070C209 /* FirstLoginViewController.xib in Resources */, D34BD72A15C13DD40070C209 /* HistoryDetailsViewController.xib in Resources */, D34BD72B15C13DD40070C209 /* HistoryViewController.xib in Resources */, - D34BD72C15C13DD40070C209 /* InCallViewController-ipad.xib in Resources */, D34BD72D15C13DD40070C209 /* InCallViewController.xib in Resources */, D34BD72E15C13DD40070C209 /* IncomingCallViewController.xib in Resources */, D34BD72F15C13DD40070C209 /* LinphoneApp.xib in Resources */, @@ -3188,7 +3172,6 @@ D34BD66015C13DB60070C209 /* conference_over_landscape.png in Resources */, D34BD66115C13DB60070C209 /* contact_back_default.png in Resources */, D34BD66215C13DB60070C209 /* contact_back_over.png in Resources */, - D34BD66315C13DB60070C209 /* contact_bar_background.png in Resources */, D34BD66415C13DB60070C209 /* contact_cancel_default.png in Resources */, D34BD66515C13DB60070C209 /* contact_cancel_over.png in Resources */, D34BD66615C13DB60070C209 /* contact_edit_default.png in Resources */, @@ -3383,8 +3366,7 @@ D34BD74115C13E250070C209 /* Localizable.strings in Resources */, D34BD74215C13E350070C209 /* untitled.plist in Resources */, D34BD74315C13ED70070C209 /* DialerViewController.xib in Resources */, - D3B82A0315C18A710036C93E /* history_details_bar_background.png in Resources */, - D3B82A0515C18A710036C93E /* settings_bar_background.png in Resources */, + D3A74E5A15C68162001500B9 /* toolsbar_background.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; From f7e5dd96db98b68dd8db7ca3bab6b0dfd3ed5c63 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 30 Jul 2012 17:57:15 +0200 Subject: [PATCH 02/17] Continue iPad version --- Classes/ChatRoomViewController.h | 2 + Classes/ChatRoomViewController.m | 5 + Classes/ChatRoomViewController.xib | 26 +- Classes/ContactDetailsViewController.xib | 5 +- Classes/DialerViewController.h | 4 +- Classes/DialerViewController.m | 10 +- Classes/DialerViewController.xib | 198 +- Classes/DialerViewController~ipad.xib | 1515 +++++++++ Classes/InCallViewController.m | 5 +- Classes/InCallViewController.xib | 18 +- Classes/LinphoneApp.xib | 98 +- Classes/LinphoneUI/UICallBar.m | 4 +- Classes/LinphoneUI/UICallBar.xib | 78 +- Classes/LinphoneUI/UICallBar~ipad.xib | 2799 +++++++++++++++++ Classes/LinphoneUI/UICallCell.xib | 16 +- .../LinphoneUI/UICompositeViewController.m | 10 +- Classes/LinphoneUI/UIContactDetailsHeader.m | 3 +- Classes/LinphoneUI/UIContactDetailsHeader.xib | 33 +- Classes/LinphoneUI/UILinphone.h | 4 +- Classes/LinphoneUI/UILinphone.m | 14 +- Classes/LinphoneUI/UIMainBar.h | 3 +- Classes/LinphoneUI/UIMainBar.m | 67 + Classes/LinphoneUI/UIMainBar.xib | 46 +- Classes/LinphoneUI/UIMainBar~ipad.xib | 1217 +++++++ Classes/PhoneMainView.m | 2 + Classes/SettingsViewController.m | 14 +- Resources/add_call_default~ipad.png | Bin 0 -> 4938 bytes Resources/add_call_disabled~ipad.png | Bin 0 -> 4757 bytes Resources/add_call_over~ipad.png | Bin 0 -> 4907 bytes Resources/add_contact_default~ipad.png | Bin 0 -> 5331 bytes Resources/add_contact_disabled~ipad.png | Bin 0 -> 4408 bytes Resources/add_contact_over~ipad.png | Bin 0 -> 4563 bytes Resources/back_default~ipad.png | Bin 0 -> 4731 bytes Resources/back_disabled~ipad.png | Bin 0 -> 4591 bytes Resources/back_over~ipad.png | Bin 0 -> 4758 bytes Resources/background_top~ipad.png | Bin 0 -> 2836 bytes Resources/backspace_default~ipad.png | Bin 0 -> 2417 bytes Resources/backspace_disabled~ipad.png | Bin 0 -> 2265 bytes Resources/backspace_over~ipad.png | Bin 0 -> 2312 bytes Resources/call_default~ipad.png | Bin 0 -> 11281 bytes Resources/call_disabled~ipad.png | Bin 0 -> 6697 bytes Resources/call_over~ipad.png | Bin 0 -> 7161 bytes Resources/chat_default_landscape~ipad.png | Bin 0 -> 6366 bytes Resources/chat_default~ipad.png | Bin 0 -> 5035 bytes Resources/chat_field.9.png | Bin 0 -> 1801 bytes Resources/chat_field.9@x2.png | Bin 0 -> 3047 bytes Resources/chat_over_landscape~ipad.png | Bin 0 -> 6384 bytes Resources/chat_over~ipad.png | Bin 0 -> 5161 bytes Resources/chat_selected_landscape~ipad.png | Bin 0 -> 6351 bytes Resources/chat_selected~ipad.png | Bin 0 -> 5071 bytes .../conference_default_landscape~ipad.png | Bin 0 -> 6132 bytes Resources/conference_default~ipad.png | Bin 0 -> 6132 bytes Resources/conference_over_landscape~ipad.png | Bin 0 -> 4138 bytes Resources/conference_over~ipad.png | Bin 0 -> 4138 bytes Resources/contacts_default_landscape~ipad.png | Bin 0 -> 6776 bytes Resources/contacts_default~ipad.png | Bin 0 -> 6207 bytes Resources/contacts_over_landscape~ipad.png | Bin 0 -> 6821 bytes Resources/contacts_over~ipad.png | Bin 0 -> 6407 bytes .../contacts_selected_landscape~ipad.png | Bin 0 -> 6827 bytes Resources/contacts_selected~ipad.png | Bin 0 -> 6207 bytes ...aler_address_background_landscape~ipad.png | Bin 0 -> 9184 bytes Resources/dialer_address_background~ipad.png | Bin 0 -> 9825 bytes ...dialer_alt_back_default_landscape~ipad.png | Bin 0 -> 3480 bytes Resources/dialer_alt_back_default~ipad.png | Bin 0 -> 3480 bytes .../dialer_alt_back_over_landscape~ipad.png | Bin 0 -> 2638 bytes Resources/dialer_alt_back_over~ipad.png | Bin 0 -> 2638 bytes .../dialer_alt_default_landscape~ipad.png | Bin 0 -> 5056 bytes Resources/dialer_alt_default~ipad.png | Bin 0 -> 5056 bytes Resources/dialer_alt_over_landscape~ipad.png | Bin 0 -> 3273 bytes Resources/dialer_alt_over~ipad.png | Bin 0 -> 3273 bytes Resources/hangup_default_landscape~ipad.png | Bin 0 -> 8498 bytes Resources/hangup_default~ipad.png | Bin 0 -> 8498 bytes Resources/hangup_over_landscape~ipad.png | Bin 0 -> 5117 bytes Resources/hangup_over~ipad.png | Bin 0 -> 5117 bytes Resources/history_default_landscape~ipad.png | Bin 0 -> 7466 bytes Resources/history_default~ipad.png | Bin 0 -> 6095 bytes Resources/history_over_landscape~ipad.png | Bin 0 -> 7390 bytes Resources/history_over~ipad.png | Bin 0 -> 6238 bytes Resources/history_selected_landscape~ipad.png | Bin 0 -> 7496 bytes Resources/history_selected~ipad.png | Bin 0 -> 6146 bytes .../micro_off_default_landscape~ipad.png | Bin 0 -> 5107 bytes Resources/micro_off_default~ipad.png | Bin 0 -> 5107 bytes .../micro_off_disabled_landscape~ipad.png | Bin 0 -> 4820 bytes Resources/micro_off_disabled~ipad.png | Bin 0 -> 4820 bytes Resources/micro_off_over_landscape~ipad.png | Bin 0 -> 5057 bytes Resources/micro_off_over~ipad.png | Bin 0 -> 5057 bytes Resources/micro_on_default_landscape~ipad.png | Bin 0 -> 4299 bytes Resources/micro_on_default~ipad.png | Bin 0 -> 4299 bytes .../micro_on_disabled_landscape~ipad.png | Bin 0 -> 4099 bytes Resources/micro_on_disabled~ipad.png | Bin 0 -> 4099 bytes Resources/micro_on_over_landscape~ipad.png | Bin 0 -> 4287 bytes Resources/micro_on_over~ipad.png | Bin 0 -> 4287 bytes .../options_add_default_landscape~ipad.png | Bin 0 -> 4899 bytes Resources/options_add_default~ipad.png | Bin 0 -> 4899 bytes .../options_add_disabled_landscape~ipad.png | Bin 0 -> 4568 bytes Resources/options_add_disabled~ipad.png | Bin 0 -> 4568 bytes Resources/options_add_over_landscape~ipad.png | Bin 0 -> 4847 bytes Resources/options_add_over~ipad.png | Bin 0 -> 4847 bytes Resources/options_default_landscape~ipad.png | Bin 0 -> 5466 bytes Resources/options_default~ipad.png | Bin 0 -> 5466 bytes Resources/options_disabled_landscape~ipad.png | Bin 0 -> 5177 bytes Resources/options_disabled~ipad.png | Bin 0 -> 5177 bytes Resources/options_over_landscape~ipad.png | Bin 0 -> 5416 bytes Resources/options_over~ipad.png | Bin 0 -> 5416 bytes Resources/options_selected_landscape~ipad.png | Bin 0 -> 5554 bytes Resources/options_selected~ipad.png | Bin 0 -> 5554 bytes ...ptions_transfer_default_landscape~ipad.png | Bin 0 -> 4950 bytes Resources/options_transfer_default~ipad.png | Bin 0 -> 4950 bytes ...tions_transfer_disabled_landscape~ipad.png | Bin 0 -> 4649 bytes Resources/options_transfer_disabled~ipad.png | Bin 0 -> 4649 bytes .../options_transfer_over_landscape~ipad.png | Bin 0 -> 4901 bytes Resources/options_transfer_over~ipad.png | Bin 0 -> 4901 bytes .../pause_off_default_landscape~ipad.png | Bin 0 -> 3311 bytes Resources/pause_off_default~ipad.png | Bin 0 -> 3311 bytes Resources/pause_off_over_landscape~ipad.png | Bin 0 -> 2542 bytes Resources/pause_off_over~ipad.png | Bin 0 -> 2542 bytes Resources/pause_on_default_landscape~ipad.png | Bin 0 -> 3731 bytes Resources/pause_on_default~ipad.png | Bin 0 -> 3731 bytes Resources/pause_on_over_landscape~ipad.png | Bin 0 -> 2645 bytes Resources/pause_on_over~ipad.png | Bin 0 -> 2645 bytes Resources/settings_default_landscape~ipad.png | Bin 0 -> 7759 bytes Resources/settings_default~ipad.png | Bin 0 -> 7145 bytes Resources/settings_over_landscape~ipad.png | Bin 0 -> 7739 bytes Resources/settings_over~ipad.png | Bin 0 -> 7310 bytes .../settings_selected_landscape~ipad.png | Bin 0 -> 7735 bytes Resources/settings_selected~ipad.png | Bin 0 -> 7147 bytes .../speaker_off_default_landscape~ipad.png | Bin 0 -> 5522 bytes Resources/speaker_off_default~ipad.png | Bin 0 -> 5522 bytes .../speaker_off_disabled_landscape~ipad.png | Bin 0 -> 5126 bytes Resources/speaker_off_disabled~ipad.png | Bin 0 -> 5126 bytes Resources/speaker_off_over_landscape~ipad.png | Bin 0 -> 5452 bytes Resources/speaker_off_over~ipad.png | Bin 0 -> 5452 bytes .../speaker_on_default_landscape~ipad.png | Bin 0 -> 4610 bytes Resources/speaker_on_default~ipad.png | Bin 0 -> 4610 bytes .../speaker_on_disabled_landscape~ipad.png | Bin 0 -> 4312 bytes Resources/speaker_on_disabled~ipad.png | Bin 0 -> 4312 bytes Resources/speaker_on_over_landscape~ipad.png | Bin 0 -> 4532 bytes Resources/speaker_on_over~ipad.png | Bin 0 -> 4532 bytes .../statebar_background_landscape~ipad.png | Bin 0 -> 1296 bytes Resources/statebar_background~ipad.png | Bin 0 -> 1358 bytes Resources/transfer_call_default~ipad.png | Bin 0 -> 7533 bytes Resources/transfer_call_disabled~ipad.png | Bin 0 -> 2974 bytes Resources/transfer_call_over~ipad.png | Bin 0 -> 5436 bytes Resources/transfer_default~ipad.png | Bin 0 -> 8160 bytes Resources/transfer_over~ipad.png | Bin 0 -> 5160 bytes .../video_off_default_landscape~ipad.png | Bin 0 -> 5129 bytes Resources/video_off_default~ipad.png | Bin 0 -> 5129 bytes .../video_off_disabled_landscape~ipad.png | Bin 0 -> 4815 bytes Resources/video_off_disabled~ipad.png | Bin 0 -> 4815 bytes Resources/video_off_over_landscape~ipad.png | Bin 0 -> 5108 bytes Resources/video_off_over~ipad.png | Bin 0 -> 5108 bytes Resources/video_on_default_landscape~ipad.png | Bin 0 -> 4151 bytes Resources/video_on_default~ipad.png | Bin 0 -> 4151 bytes .../video_on_disabled_landscape~ipad.png | Bin 0 -> 3987 bytes Resources/video_on_disabled~ipad.png | Bin 0 -> 3987 bytes Resources/video_on_over_landscape~ipad.png | Bin 0 -> 4127 bytes Resources/video_on_over~ipad.png | Bin 0 -> 4127 bytes linphone.xcodeproj/project.pbxproj | 806 ++++- 158 files changed, 6710 insertions(+), 292 deletions(-) create mode 100644 Classes/DialerViewController~ipad.xib create mode 100644 Classes/LinphoneUI/UICallBar~ipad.xib create mode 100644 Classes/LinphoneUI/UIMainBar~ipad.xib create mode 100644 Resources/add_call_default~ipad.png create mode 100644 Resources/add_call_disabled~ipad.png create mode 100644 Resources/add_call_over~ipad.png create mode 100644 Resources/add_contact_default~ipad.png create mode 100644 Resources/add_contact_disabled~ipad.png create mode 100644 Resources/add_contact_over~ipad.png create mode 100644 Resources/back_default~ipad.png create mode 100644 Resources/back_disabled~ipad.png create mode 100644 Resources/back_over~ipad.png create mode 100644 Resources/background_top~ipad.png create mode 100644 Resources/backspace_default~ipad.png create mode 100644 Resources/backspace_disabled~ipad.png create mode 100644 Resources/backspace_over~ipad.png create mode 100644 Resources/call_default~ipad.png create mode 100644 Resources/call_disabled~ipad.png create mode 100644 Resources/call_over~ipad.png create mode 100644 Resources/chat_default_landscape~ipad.png create mode 100644 Resources/chat_default~ipad.png create mode 100644 Resources/chat_field.9.png create mode 100644 Resources/chat_field.9@x2.png create mode 100644 Resources/chat_over_landscape~ipad.png create mode 100644 Resources/chat_over~ipad.png create mode 100644 Resources/chat_selected_landscape~ipad.png create mode 100644 Resources/chat_selected~ipad.png create mode 100644 Resources/conference_default_landscape~ipad.png create mode 100644 Resources/conference_default~ipad.png create mode 100644 Resources/conference_over_landscape~ipad.png create mode 100644 Resources/conference_over~ipad.png create mode 100644 Resources/contacts_default_landscape~ipad.png create mode 100644 Resources/contacts_default~ipad.png create mode 100644 Resources/contacts_over_landscape~ipad.png create mode 100644 Resources/contacts_over~ipad.png create mode 100644 Resources/contacts_selected_landscape~ipad.png create mode 100644 Resources/contacts_selected~ipad.png create mode 100644 Resources/dialer_address_background_landscape~ipad.png create mode 100644 Resources/dialer_address_background~ipad.png create mode 100644 Resources/dialer_alt_back_default_landscape~ipad.png create mode 100644 Resources/dialer_alt_back_default~ipad.png create mode 100644 Resources/dialer_alt_back_over_landscape~ipad.png create mode 100644 Resources/dialer_alt_back_over~ipad.png create mode 100644 Resources/dialer_alt_default_landscape~ipad.png create mode 100644 Resources/dialer_alt_default~ipad.png create mode 100644 Resources/dialer_alt_over_landscape~ipad.png create mode 100644 Resources/dialer_alt_over~ipad.png create mode 100644 Resources/hangup_default_landscape~ipad.png create mode 100644 Resources/hangup_default~ipad.png create mode 100644 Resources/hangup_over_landscape~ipad.png create mode 100644 Resources/hangup_over~ipad.png create mode 100644 Resources/history_default_landscape~ipad.png create mode 100644 Resources/history_default~ipad.png create mode 100644 Resources/history_over_landscape~ipad.png create mode 100644 Resources/history_over~ipad.png create mode 100644 Resources/history_selected_landscape~ipad.png create mode 100644 Resources/history_selected~ipad.png create mode 100644 Resources/micro_off_default_landscape~ipad.png create mode 100644 Resources/micro_off_default~ipad.png create mode 100644 Resources/micro_off_disabled_landscape~ipad.png create mode 100644 Resources/micro_off_disabled~ipad.png create mode 100644 Resources/micro_off_over_landscape~ipad.png create mode 100644 Resources/micro_off_over~ipad.png create mode 100644 Resources/micro_on_default_landscape~ipad.png create mode 100644 Resources/micro_on_default~ipad.png create mode 100644 Resources/micro_on_disabled_landscape~ipad.png create mode 100644 Resources/micro_on_disabled~ipad.png create mode 100644 Resources/micro_on_over_landscape~ipad.png create mode 100644 Resources/micro_on_over~ipad.png create mode 100644 Resources/options_add_default_landscape~ipad.png create mode 100644 Resources/options_add_default~ipad.png create mode 100644 Resources/options_add_disabled_landscape~ipad.png create mode 100644 Resources/options_add_disabled~ipad.png create mode 100644 Resources/options_add_over_landscape~ipad.png create mode 100644 Resources/options_add_over~ipad.png create mode 100644 Resources/options_default_landscape~ipad.png create mode 100644 Resources/options_default~ipad.png create mode 100644 Resources/options_disabled_landscape~ipad.png create mode 100644 Resources/options_disabled~ipad.png create mode 100644 Resources/options_over_landscape~ipad.png create mode 100644 Resources/options_over~ipad.png create mode 100644 Resources/options_selected_landscape~ipad.png create mode 100644 Resources/options_selected~ipad.png create mode 100644 Resources/options_transfer_default_landscape~ipad.png create mode 100644 Resources/options_transfer_default~ipad.png create mode 100644 Resources/options_transfer_disabled_landscape~ipad.png create mode 100644 Resources/options_transfer_disabled~ipad.png create mode 100644 Resources/options_transfer_over_landscape~ipad.png create mode 100644 Resources/options_transfer_over~ipad.png create mode 100644 Resources/pause_off_default_landscape~ipad.png create mode 100644 Resources/pause_off_default~ipad.png create mode 100644 Resources/pause_off_over_landscape~ipad.png create mode 100644 Resources/pause_off_over~ipad.png create mode 100644 Resources/pause_on_default_landscape~ipad.png create mode 100644 Resources/pause_on_default~ipad.png create mode 100644 Resources/pause_on_over_landscape~ipad.png create mode 100644 Resources/pause_on_over~ipad.png create mode 100644 Resources/settings_default_landscape~ipad.png create mode 100644 Resources/settings_default~ipad.png create mode 100644 Resources/settings_over_landscape~ipad.png create mode 100644 Resources/settings_over~ipad.png create mode 100644 Resources/settings_selected_landscape~ipad.png create mode 100644 Resources/settings_selected~ipad.png create mode 100644 Resources/speaker_off_default_landscape~ipad.png create mode 100644 Resources/speaker_off_default~ipad.png create mode 100644 Resources/speaker_off_disabled_landscape~ipad.png create mode 100644 Resources/speaker_off_disabled~ipad.png create mode 100644 Resources/speaker_off_over_landscape~ipad.png create mode 100644 Resources/speaker_off_over~ipad.png create mode 100644 Resources/speaker_on_default_landscape~ipad.png create mode 100644 Resources/speaker_on_default~ipad.png create mode 100644 Resources/speaker_on_disabled_landscape~ipad.png create mode 100644 Resources/speaker_on_disabled~ipad.png create mode 100644 Resources/speaker_on_over_landscape~ipad.png create mode 100644 Resources/speaker_on_over~ipad.png create mode 100644 Resources/statebar_background_landscape~ipad.png create mode 100644 Resources/statebar_background~ipad.png create mode 100644 Resources/transfer_call_default~ipad.png create mode 100644 Resources/transfer_call_disabled~ipad.png create mode 100644 Resources/transfer_call_over~ipad.png create mode 100644 Resources/transfer_default~ipad.png create mode 100644 Resources/transfer_over~ipad.png create mode 100644 Resources/video_off_default_landscape~ipad.png create mode 100644 Resources/video_off_default~ipad.png create mode 100644 Resources/video_off_disabled_landscape~ipad.png create mode 100644 Resources/video_off_disabled~ipad.png create mode 100644 Resources/video_off_over_landscape~ipad.png create mode 100644 Resources/video_off_over~ipad.png create mode 100644 Resources/video_on_default_landscape~ipad.png create mode 100644 Resources/video_on_default~ipad.png create mode 100644 Resources/video_on_disabled_landscape~ipad.png create mode 100644 Resources/video_on_disabled~ipad.png create mode 100644 Resources/video_on_over_landscape~ipad.png create mode 100644 Resources/video_on_over~ipad.png diff --git a/Classes/ChatRoomViewController.h b/Classes/ChatRoomViewController.h index 9d63ea797..03ac04c83 100644 --- a/Classes/ChatRoomViewController.h +++ b/Classes/ChatRoomViewController.h @@ -37,6 +37,7 @@ UIImageView *avatarImage; UIView *headerView; UIView *footerView; + UIImageView *fieldBackgroundImage; } @@ -48,6 +49,7 @@ @property (nonatomic, retain) IBOutlet UIImageView *avatarImage; @property (nonatomic, retain) IBOutlet UIView *headerView; @property (nonatomic, retain) IBOutlet UIView *footerView; +@property (nonatomic, retain) IBOutlet UIImageView *fieldBackgroundImage; @property (nonatomic, copy) NSString *remoteAddress; - (IBAction)onBackClick:(id)event; diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 4e6f12c64..21ca2433b 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -33,6 +33,7 @@ @synthesize avatarImage; @synthesize headerView; @synthesize footerView; +@synthesize fieldBackgroundImage; #pragma mark - Lifecycle Functions @@ -55,6 +56,7 @@ [avatarImage release]; [headerView release]; [footerView release]; + [fieldBackgroundImage release]; [super dealloc]; } @@ -109,6 +111,9 @@ static UICompositeViewDescription *compositeDescription = nil; [tableController setEditing:FALSE animated:FALSE]; [editButton setOff]; [[tableController tableView] reloadData]; + + [fieldBackgroundImage setImage:[TUNinePatchCache imageOfSize:[fieldBackgroundImage bounds].size + forNinePatchNamed:@"chat_field"]]; } - (void)viewWillDisappear:(BOOL)animated { diff --git a/Classes/ChatRoomViewController.xib b/Classes/ChatRoomViewController.xib index 738e35a47..a0595e88f 100644 --- a/Classes/ChatRoomViewController.xib +++ b/Classes/ChatRoomViewController.xib @@ -44,12 +44,13 @@ 290 - + 290 {320, 58} + _NS:9 NO IBCocoaTouchFramework @@ -132,7 +133,7 @@ {320, 58} - + _NS:9 3 @@ -436,6 +437,14 @@ 46 + + + fieldBackgroundImage + + + + 48 + dataSource @@ -541,7 +550,7 @@ - + toolsView @@ -592,7 +601,7 @@ 21 - fieldBackground + fieldBackgroundImage 29 @@ -631,7 +640,7 @@ 47 - + background @@ -667,7 +676,7 @@ - 47 + 48 @@ -710,6 +719,7 @@ UILabel UIImageView UIToggleButton + UIImageView UIView UIView UITextField @@ -729,6 +739,10 @@ editButton UIToggleButton + + fieldBackgroundImage + UIImageView + footerView UIView diff --git a/Classes/ContactDetailsViewController.xib b/Classes/ContactDetailsViewController.xib index 86c780b1f..bd95658e7 100644 --- a/Classes/ContactDetailsViewController.xib +++ b/Classes/ContactDetailsViewController.xib @@ -44,7 +44,7 @@ - 292 + 290 {320, 58} @@ -125,7 +125,7 @@ - 292 + 289 {{160, 0}, {160, 58}} @@ -176,7 +176,6 @@ {{0, 59}, {320, 401}} - _NS:9 10 diff --git a/Classes/DialerViewController.h b/Classes/DialerViewController.h index b5a94af44..876541100 100644 --- a/Classes/DialerViewController.h +++ b/Classes/DialerViewController.h @@ -31,7 +31,7 @@ //Buttons UITextField* addressField; UIButton* addContactButton; - UIButton* cancelButton; + UIButton* backButton; UIEraseButton* eraseButton; UICallButton* callButton; UICallButton* addCallButton; @@ -65,7 +65,7 @@ @property (nonatomic, retain) IBOutlet UICallButton* callButton; @property (nonatomic, retain) IBOutlet UICallButton* addCallButton; @property (nonatomic, retain) IBOutlet UITransferButton* transferButton; -@property (nonatomic, retain) IBOutlet UIButton* cancelButton; +@property (nonatomic, retain) IBOutlet UIButton* backButton; @property (nonatomic, retain) IBOutlet UIEraseButton* eraseButton; @property (nonatomic, retain) IBOutlet UIButton* oneButton; diff --git a/Classes/DialerViewController.m b/Classes/DialerViewController.m index 251f90687..61c77c9ca 100644 --- a/Classes/DialerViewController.m +++ b/Classes/DialerViewController.m @@ -35,7 +35,7 @@ @synthesize addressField; @synthesize addContactButton; -@synthesize cancelButton; +@synthesize backButton; @synthesize addCallButton; @synthesize transferButton; @synthesize callButton; @@ -67,7 +67,7 @@ - (void)dealloc { [addressField release]; [addContactButton release]; - [cancelButton release]; + [backButton release]; [eraseButton release]; [callButton release]; [addCallButton release]; @@ -107,7 +107,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar:@"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; @@ -181,12 +181,12 @@ static UICompositeViewDescription *compositeDescription = nil; [transferButton setHidden:true]; } [callButton setHidden:true]; - [cancelButton setHidden:false]; + [backButton setHidden:false]; [addContactButton setHidden:true]; } else { [addCallButton setHidden:true]; [callButton setHidden:false]; - [cancelButton setHidden:true]; + [backButton setHidden:true]; [addContactButton setHidden:false]; [transferButton setHidden:true]; } diff --git a/Classes/DialerViewController.xib b/Classes/DialerViewController.xib index ccfa0f9c5..acb4e8b52 100644 --- a/Classes/DialerViewController.xib +++ b/Classes/DialerViewController.xib @@ -3,20 +3,20 @@ 784 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 YES + IBProxyObject IBUIButton IBUIImageView - IBUIView IBUITextField - IBProxyObject + IBUIView YES @@ -41,6 +41,82 @@ 292 YES + + + 288 + + YES + + + 292 + {320, 80} + + + + _NS:9 + NO + IBCocoaTouchFramework + + NSImage + dialer_address_background.png + + + + + 292 + {320, 60} + + + + + 3 + MSAwAA + + NO + NO + IBCocoaTouchFramework + 0 + + sip: + + 3 + MQA + + YES + 15 + + 1 + 3 + IBCocoaTouchFramework + + + Helvetica + Helvetica + 0 + 36 + + + Helvetica + 36 + 16 + + + + {320, 80} + + + + _NS:9 + + 3 + MSAwAA + + 2 + + + YES + IBCocoaTouchFramework + 288 @@ -362,82 +438,6 @@ IBCocoaTouchFramework - - - 288 - - YES - - - 292 - {320, 80} - - - - _NS:9 - NO - IBCocoaTouchFramework - - NSImage - dialer_address_background.png - - - - - 292 - {320, 60} - - - - - 3 - MSAwAA - - NO - NO - IBCocoaTouchFramework - 0 - - sip: - - 3 - MQA - - YES - 15 - - 1 - 3 - IBCocoaTouchFramework - - - Helvetica - Helvetica - 0 - 36 - - - Helvetica - 36 - 16 - - - - {320, 80} - - - - _NS:9 - - 3 - MSAwAA - - 2 - - - YES - IBCocoaTouchFramework - 288 @@ -496,14 +496,14 @@ NSImage back_over.png + + NSImage + back_disabled.png + NSImage back_default.png - - NSImage - back_disabled.png - @@ -776,14 +776,6 @@ 225 - - - cancelButton - - - - 226 - addCallButton @@ -816,6 +808,14 @@ 253 + + + backButton + + + + 254 + delegate @@ -1012,7 +1012,6 @@ - view 178 @@ -1029,7 +1028,7 @@ 4 - address + addressField 179 @@ -1330,7 +1329,7 @@ - 253 + 254 @@ -1384,6 +1383,7 @@ addCallButton addContactButton addressField + backButton callButton cancelButton eightButton @@ -1406,6 +1406,7 @@ UICallButton UIButton UITextField + UIButton UICallButton UIButton UIButton @@ -1431,6 +1432,7 @@ addCallButton addContactButton addressField + backButton callButton cancelButton eightButton @@ -1462,6 +1464,10 @@ addressField UITextField + + backButton + UIButton + callButton UICallButton @@ -1738,6 +1744,6 @@ {214, 138} - 1181 + 1498 diff --git a/Classes/DialerViewController~ipad.xib b/Classes/DialerViewController~ipad.xib new file mode 100644 index 000000000..09692def9 --- /dev/null +++ b/Classes/DialerViewController~ipad.xib @@ -0,0 +1,1515 @@ + + + + 1296 + 11E53 + 2549 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1498 + + + IBProxyObject + IBUIButton + IBUIImageView + IBUITextField + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 292 + + + + 290 + + + + 290 + {768, 80} + + + + _NS:9 + NO + IBIPadFramework + + NSImage + dialer_address_background.png + + + + + 290 + {700, 60} + + + + + 3 + MSAwAA + + NO + NO + IBIPadFramework + 0 + + sip: + + 3 + MQA + + YES + 15 + + 1 + 3 + IBCocoaTouchFramework + + + Helvetica + Helvetica + 0 + 36 + + + Helvetica + 36 + 16 + + + + + 289 + {{698, 4}, {70, 51}} + + + + _NS:9 + NO + IBIPadFramework + NO + 0 + 0 + NO + NO + 15 + 15 + 15 + 15 + + 3 + MC41AA + + + NSImage + backspace_over~ipad.png + + + NSImage + backspace_disabled~ipad.png + + + NSImage + backspace_default~ipad.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + {768, 80} + + + + _NS:9 + + 3 + MSAwAA + + 2 + + + YES + IBIPadFramework + + + + 268 + + + + 292 + {{0, 11}, {107, 54}} + + + + + 1 + MC40MDAwMDAwMSAxIDEgMAA + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_one_over.png + + + NSImage + numpad_one_default.png + + + Helvetica-Bold + Helvetica + 2 + 15 + + + + + + 292 + {{107, 11}, {106, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_two_over.png + + + NSImage + numpad_two_default.png + + + + + + + 292 + {{213, 11}, {107, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_three_over.png + + + NSImage + numpad_three_default.png + + + + + + + 292 + {{0, 73}, {107, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_four_over.png + + + NSImage + numpad_four_default.png + + + + + + + 292 + {{107, 73}, {106, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_five_over.png + + + NSImage + numpad_five_default.png + + + + + + + 292 + {{213, 73}, {107, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_six_over.png + + + NSImage + numpad_six_default.png + + + + + + + 292 + {{0, 135}, {107, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_seven_over.png + + + NSImage + numpad_seven_default.png + + + + + + + 292 + {{107, 135}, {106, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_eight_over.png + + + NSImage + numpad_eight_default.png + + + + + + + 292 + {{213, 135}, {107, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_nine_over.png + + + NSImage + numpad_nine_default.png + + + + + + + 292 + {{0, 197}, {107, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_star_over.png + + + NSImage + numpad_star_default.png + + + + + + + 292 + {{107, 197}, {106, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_zero_over.png + + + NSImage + numpad_zero_default.png + + + + + + + 292 + {{213, 197}, {107, 54}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + NSImage + numpad_sharp_over.png + + + NSImage + numpad_sharp_default.png + + + + + + {{0, 640}, {320, 260}} + + + + _NS:9 + + 3 + MCAwAA + + IBIPadFramework + + + + 265 + + + + 292 + {126, 85} + + + + _NS:9 + NO + IBIPadFramework + NO + 0 + 0 + NO + NO + + + NSImage + add_contact_over~ipad.png + + + NSImage + add_contact_disabled~ipad.png + + + NSImage + add_contact_default~ipad.png + + + + + + + -2147483356 + {126, 85} + + + + _NS:9 + NO + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + back_over~ipad.png + + + NSImage + back_disabled~ipad.png + + + NSImage + back_default~ipad.png + + + + + + + 292 + {{126, 0}, {186, 85}} + + + + _NS:9 + NO + IBIPadFramework + NO + 0 + 0 + NO + NO + + + NSImage + call_over~ipad.png + + + NSImage + call_disabled~ipad.png + + + NSImage + call_default~ipad.png + + + + + + + -2147483356 + {{126, 0}, {186, 85}} + + + + _NS:9 + NO + IBIPadFramework + NO + 0 + 0 + NO + NO + + + NSImage + add_call_over~ipad.png + + + NSImage + add_call_disabled~ipad.png + + + NSImage + add_call_default~ipad.png + + + + + + + -2147483356 + {{126, 0}, {186, 85}} + + + _NS:9 + NO + IBIPadFramework + NO + 0 + 0 + NO + NO + + + NSImage + transfer_call_over~ipad.png + + + NSImage + transfer_call_disabled~ipad.png + + + NSImage + transfer_call_default~ipad.png + + + + + + {{456, 815}, {312, 85}} + + + + _NS:9 + + 3 + MSAwAA + + + IBIPadFramework + + + {768, 900} + + + + _NS:9 + + IBIPadFramework + + + + + + + addCallButton + + + + 42 + + + + addContactButton + + + + 43 + + + + addressField + + + + 44 + + + + callButton + + + + 45 + + + + eightButton + + + + 47 + + + + eraseButton + + + + 48 + + + + fiveButton + + + + 49 + + + + fourButton + + + + 50 + + + + nineButton + + + + 51 + + + + oneButton + + + + 52 + + + + sevenButton + + + + 53 + + + + sharpButton + + + + 54 + + + + sixButton + + + + 55 + + + + starButton + + + + 56 + + + + threeButton + + + + 57 + + + + transferButton + + + + 58 + + + + twoButton + + + + 59 + + + + view + + + + 60 + + + + zeroButton + + + + 61 + + + + backButton + + + + 69 + + + + onAddressChange: + + + 18 + + 65 + + + + addressField + + + + 35 + + + + addressField + + + + 29 + + + + addressField + + + + 36 + + + + addressField + + + + 37 + + + + addressField + + + + 32 + + + + addressField + + + + 31 + + + + addressField + + + + 30 + + + + addressField + + + + 27 + + + + addressField + + + + 28 + + + + addressField + + + + 26 + + + + addressField + + + + 33 + + + + addressField + + + + 34 + + + + addressField + + + + 41 + + + + addressField + + + + 40 + + + + onBackClick: + + + 7 + + 68 + + + + addressField + + + + 38 + + + + onAddContactClick: + + + 7 + + 63 + + + + addressField + + + + 39 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 2 + + + + + + + + + + 3 + + + + + + + + + + toolBar + + + 4 + + + + + + + + + + + + + + + + + pad + + + 5 + + + + + + + + dialer + + + 6 + + + addressField + + + 7 + + + background + + + 8 + + + * + + + 9 + + + 6 + + + 10 + + + 0 + + + 11 + + + # + + + 12 + + + 9 + + + 13 + + + 8 + + + 14 + + + 7 + + + 15 + + + 4 + + + 16 + + + 5 + + + 17 + + + 3 + + + 18 + + + 2 + + + 19 + + + 1 + + + 20 + + + transferButton + + + 21 + + + callButton + + + 22 + + + backButton + + + 23 + + + addCallButton + + + 24 + + + addContactButton + + + 25 + + + backspaceButton + + + + + DialerViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UITransferButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UICallButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UICallButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIEraseButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIAddressTextField + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + 69 + + + + + DialerViewController + UIViewController + + id + id + id + + + + onAddContactClick: + id + + + onAddressChange: + id + + + onBackClick: + id + + + + UICallButton + UIButton + UITextField + UIButton + UICallButton + UIButton + UIEraseButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UIButton + UITransferButton + UIButton + UIButton + + + + addCallButton + UICallButton + + + addContactButton + UIButton + + + addressField + UITextField + + + backButton + UIButton + + + callButton + UICallButton + + + eightButton + UIButton + + + eraseButton + UIEraseButton + + + fiveButton + UIButton + + + fourButton + UIButton + + + nineButton + UIButton + + + oneButton + UIButton + + + sevenButton + UIButton + + + sharpButton + UIButton + + + sixButton + UIButton + + + starButton + UIButton + + + threeButton + UIButton + + + transferButton + UITransferButton + + + twoButton + UIButton + + + zeroButton + UIButton + + + + IBProjectSource + ./Classes/DialerViewController.h + + + + UIAddressTextField + UITextField + + IBProjectSource + ./Classes/UIAddressTextField.h + + + + UICallButton + UIButton + + addressField + UITextField + + + addressField + + addressField + UITextField + + + + IBProjectSource + ./Classes/UICallButton.h + + + + UIDigitButton + UILongTouchButton + + addressField + UITextField + + + addressField + + addressField + UITextField + + + + IBProjectSource + ./Classes/UIDigitButton.h + + + + UIEraseButton + UILongTouchButton + + addressField + UITextField + + + addressField + + addressField + UITextField + + + + IBProjectSource + ./Classes/UIEraseButton.h + + + + UILongTouchButton + UIButton + + IBProjectSource + ./Classes/UILongTouchButton.h + + + + UITransferButton + UIButton + + addressField + UITextField + + + addressField + + addressField + UITextField + + + + IBProjectSource + ./Classes/UITransferButton.h + + + + + 0 + IBIPadFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + YES + 3 + + {371, 170} + {371, 170} + {371, 170} + {251, 170} + {251, 170} + {251, 170} + {251, 170} + {251, 170} + {251, 170} + {81, 43} + {81, 43} + {81, 43} + {371, 170} + {371, 170} + {371, 170} + {640, 135} + {220, 113} + {220, 113} + {220, 113} + {220, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {220, 113} + {220, 113} + {220, 113} + {220, 113} + {371, 170} + {371, 170} + {371, 170} + + 1498 + + diff --git a/Classes/InCallViewController.m b/Classes/InCallViewController.m index b82a25eb5..51a9a74ac 100644 --- a/Classes/InCallViewController.m +++ b/Classes/InCallViewController.m @@ -28,6 +28,7 @@ #import "UICallCell.h" #import "LinphoneManager.h" #import "PhoneMainView.h" +#import "UILinphone.h" #include "linphonecore.h" #include "private.h" @@ -191,10 +192,12 @@ static UICompositeViewDescription *compositeDescription = nil; videoGroup.alpha = 0; [videoCameraSwitch setPreview:videoPreview]; + + removeTableBackground([callTableController view]); } -#pragma mark - +#pragma mark - - (void)orientationUpdate { int oldLinphoneOrientation = linphone_core_get_device_rotation([LinphoneManager getLc]); diff --git a/Classes/InCallViewController.xib b/Classes/InCallViewController.xib index cb842bcb8..e25d6a35b 100644 --- a/Classes/InCallViewController.xib +++ b/Classes/InCallViewController.xib @@ -3,21 +3,21 @@ 784 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 YES - IBUITableView - IBUIButton - IBUIActivityIndicatorView - IBUIView - IBUITableViewController IBProxyObject + IBUIActivityIndicatorView + IBUIButton + IBUITableView + IBUITableViewController + IBUIView YES @@ -77,7 +77,7 @@ - 265 + 283 {{214, 354}, {106, 106}} @@ -587,6 +587,6 @@ {170, 65} - 1181 + 1498 diff --git a/Classes/LinphoneApp.xib b/Classes/LinphoneApp.xib index 9839f1048..ea771f481 100644 --- a/Classes/LinphoneApp.xib +++ b/Classes/LinphoneApp.xib @@ -41,10 +41,9 @@ {320, 480} - - 1 - MCAxIDAuMTkxOTQ1NDc1NQA + 3 + MAA NO NO @@ -53,7 +52,6 @@ PhoneMainView - 1 1 @@ -146,97 +144,7 @@ 16 - - - - LinphoneAppDelegate - NSObject - - window - UIWindow - - - window - - window - UIWindow - - - - IBProjectSource - ./Classes/LinphoneAppDelegate.h - - - - PhoneMainView - UIViewController - - mainViewController - UICompositeViewController - - - mainViewController - - mainViewController - UICompositeViewController - - - - IBProjectSource - ./Classes/PhoneMainView.h - - - - TPMultiLayoutViewController - UIViewController - - UIView - UIView - - - - landscapeView - UIView - - - portraitView - UIView - - - - IBProjectSource - ./Classes/TPMultiLayoutViewController.h - - - - UICompositeViewController - TPMultiLayoutViewController - - UIView - UIView - UIView - - - - contentView - UIView - - - stateBarView - UIView - - - tabBarView - UIView - - - - IBProjectSource - ./Classes/UICompositeViewController.h - - - - + 0 IBCocoaTouchFramework diff --git a/Classes/LinphoneUI/UICallBar.m b/Classes/LinphoneUI/UICallBar.m index 87dc2ac1d..c8063a1e6 100644 --- a/Classes/LinphoneUI/UICallBar.m +++ b/Classes/LinphoneUI/UICallBar.m @@ -102,8 +102,6 @@ #pragma mark - ViewController Functions - (void)viewDidLoad { - [super viewDidLoad]; - [pauseButton setType:UIPauseButtonType_CurrentCall call:nil]; [zeroButton setDigit:'0']; @@ -198,6 +196,8 @@ [(UIButton*) [landscapeView viewWithTag:[dialerButton tag]] setImage:[UIImage imageNamed:@"dialer_alt_back_over_landscape.png"] forState:(UIControlStateHighlighted | UIControlStateSelected)]; + + [super viewDidLoad]; } - (void)viewWillAppear:(BOOL)animated { diff --git a/Classes/LinphoneUI/UICallBar.xib b/Classes/LinphoneUI/UICallBar.xib index 322742dd5..9b3817fa3 100644 --- a/Classes/LinphoneUI/UICallBar.xib +++ b/Classes/LinphoneUI/UICallBar.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUIButton - IBUIActivityIndicatorView - IBUIView - IBUIImageView IBProxyObject + IBUIActivityIndicatorView + IBUIButton + IBUIImageView + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -43,6 +43,7 @@ {{0, 335}, {320, 125}} + _NS:9 1 @@ -493,6 +494,21 @@ 292 + + + 290 + {{0, 100}, {320, 2000}} + + + + _NS:9 + + 1 + MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA + + 28 + IBCocoaTouchFramework + 292 @@ -698,7 +714,7 @@ {{0, 67}, {105, 68}} - + _NS:9 NO 25 @@ -816,7 +832,7 @@ {{0, 248}, {480, 72}} - + _NS:9 1 @@ -1065,7 +1081,7 @@ {{193, 196}, {107, 54}} - + NO NO 14 @@ -1132,6 +1148,7 @@ {{0, 51}, {65, 55}} + _NS:9 NO 17 @@ -1173,6 +1190,21 @@ 292 + + + 290 + {{0, 50}, {480, 2000}} + + + + _NS:9 + + 1 + MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA + + 28 + IBCocoaTouchFramework + 292 @@ -1378,7 +1410,7 @@ {65, 82} - + _NS:9 NO 25 @@ -1438,7 +1470,7 @@ {{415, 0}, {65, 82}} - + _NS:9 NO 27 @@ -1903,6 +1935,7 @@ + buttons @@ -1974,7 +2007,7 @@ - pad + padView 59 @@ -2123,7 +2156,7 @@ - pad + padView 114 @@ -2228,6 +2261,7 @@ + buttons @@ -2292,6 +2326,18 @@ mask + + 141 + + + background + + + 142 + + + background + @@ -2379,6 +2425,8 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -2446,7 +2494,7 @@ - 140 + 142 @@ -2828,6 +2876,6 @@ {160, 134} {130, 163} - 1181 + 1498 diff --git a/Classes/LinphoneUI/UICallBar~ipad.xib b/Classes/LinphoneUI/UICallBar~ipad.xib new file mode 100644 index 000000000..64fa7ca94 --- /dev/null +++ b/Classes/LinphoneUI/UICallBar~ipad.xib @@ -0,0 +1,2799 @@ + + + + 1296 + 11E53 + 2549 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1498 + + + IBProxyObject + IBUIActivityIndicatorView + IBUIButton + IBUIImageView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 301 + + + + -2147483356 + {{0, 680}, {1024, 68}} + + + + _NS:9 + + 1 + MCAxIDAuMTkxOTQ1NDc1NQA + + NO + NO + NO + -1 + NO + IBIPadFramework + + + + 288 + + + + 274 + {281, 260} + + + + _NS:9 + 2 + NO + IBIPadFramework + + NSImage + dialer_alt_background.png + + + + + 292 + {{-20, 10}, {107, 54}} + + + + + 1 + MC40MDAwMDAwMSAxIDEgMAA + + NO + NO + 3 + IBIPadFramework + 0 + 0 + + 3 + MC41AA + + + NSImage + numpad_one_over.png + + + NSImage + numpad_one_default.png + + + Helvetica-Bold + Helvetica + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{87, 10}, {106, 54}} + + + + NO + NO + 4 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_two_over.png + + + NSImage + numpad_two_default.png + + + + + + + 292 + {{193, 10}, {107, 54}} + + + + NO + NO + 5 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_three_over.png + + + NSImage + numpad_three_default.png + + + + + + + 292 + {{-20, 72}, {107, 54}} + + + + NO + NO + 6 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_four_over.png + + + NSImage + numpad_four_default.png + + + + + + + 292 + {{87, 72}, {106, 54}} + + + + NO + NO + 7 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_five_over.png + + + NSImage + numpad_five_default.png + + + + + + + 292 + {{193, 72}, {107, 54}} + + + + NO + NO + 8 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_six_over.png + + + NSImage + numpad_six_default.png + + + + + + + 292 + {{-20, 134}, {107, 54}} + + + + NO + NO + 9 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_seven_over.png + + + NSImage + numpad_seven_default.png + + + + + + + 292 + {{87, 134}, {106, 54}} + + + + NO + NO + 10 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_eight_over.png + + + NSImage + numpad_eight_default.png + + + + + + + 292 + {{193, 134}, {107, 54}} + + + + NO + NO + 11 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_nine_over.png + + + NSImage + numpad_nine_default.png + + + + + + + 292 + {{-20, 196}, {107, 54}} + + + + NO + NO + 12 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_star_over.png + + + NSImage + numpad_star_default.png + + + + + + + 292 + {{87, 196}, {106, 54}} + + + + NO + NO + 13 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_zero_over.png + + + NSImage + numpad_zero_default.png + + + + + + + 292 + {{193, 196}, {107, 54}} + + + + NO + NO + 14 + IBIPadFramework + 0 + 0 + + + NSImage + numpad_sharp_over.png + + + NSImage + numpad_sharp_default.png + + + + + + {{372, 244}, {281, 260}} + + + + _NS:9 + + 3 + MCAwAA + + 1 + IBIPadFramework + + + + 292 + + + + 292 + {81, 69} + + + + _NS:9 + NO + 16 + + Add call + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + options_transfer_over_landscape~ipad.png + + + NSImage + options_transfer_disabled_landscape~ipad.png + + + NSImage + options_transfer_default_landscape~ipad.png + + + 2 + 15 + + + + + + 292 + {{0, 65}, {81, 69}} + + + + _NS:9 + NO + 17 + + Add call + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + options_add_over_landscape~ipad.png + + + NSImage + options_add_disabled_landscape~ipad.png + + + NSImage + options_add_default_landscape~ipad.png + + + + + + {{239, 552}, {81, 133}} + + + + _NS:9 + + 15 + IBIPadFramework + + + + 292 + + + + 290 + {{0, 85}, {1024, 2000}} + + + + _NS:9 + + 1 + MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA + + 28 + IBIPadFramework + + + + 292 + {80, 85} + + + + _NS:9 + NO + 19 + + Video + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + video_off_over_landscape~ipad.png + + + NSImage + video_off_disabled_landscape~ipad.png + + + NSImage + video_on_default_landscape~ipad.png + + + NSImage + video_off_default_landscape~ipad.png + + + + + + + -2147483356 + {{20, 20}, {37, 37}} + + + + _NS:9 + NO + 20 + IBIPadFramework + 0 + + + + 292 + {{80, 0}, {80, 85}} + + + + _NS:9 + NO + 21 + + Micro + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + micro_off_over_landscape~ipad.png + + + NSImage + micro_off_disabled_landscape~ipad.png + + + NSImage + micro_on_default_landscape~ipad.png + + + NSImage + micro_off_default_landscape~ipad.png + + + + + + + 292 + {{160, 0}, {80, 85}} + + + + _NS:9 + NO + 22 + + Speaker + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + speaker_off_over_landscape~ipad.png + + + NSImage + speaker_off_disabled_landscape~ipad.png + + + NSImage + speaker_on_default_landscape~ipad.png + + + NSImage + speaker_off_default_landscape~ipad.png + + + + + + + 292 + {{240, 0}, {80, 85}} + + + + _NS:9 + NO + 23 + + Add call + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + options_over_landscape~ipad.png + + + NSImage + options_disabled_landscape~ipad.png + + + NSImage + options_selected_landscape~ipad.png + + + NSImage + options_default_landscape~ipad.png + + + + + + + 264 + {{701, 0}, {87, 85}} + + + + _NS:9 + NO + 24 + + Pause + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + pause_off_over_landscape~ipad.png + + + NSImage + pause_on_default_landscape~ipad.png + + + NSImage + pause_off_default_landscape~ipad.png + + + + + + + -2147483384 + {{701, 0}, {87, 85}} + + + + _NS:9 + NO + 25 + + Start Conference + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + conference_over_landscape~ipad.png + + + NSImage + conference_default_landscape~ipad.png + + + + + + + 264 + {{875, 0}, {149, 85}} + + + + _NS:9 + NO + 26 + + Hangup + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + hangup_over_landscape~ipad.png + + + NSImage + hangup_default_landscape~ipad.png + + + + + + + 264 + {{788, 0}, {87, 85}} + + + + _NS:9 + NO + 27 + + Back + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + dialer_alt_over_landscape~ipad.png + + + NSImage + dialer_alt_back_default_landscape~ipad.png + + + NSImage + dialer_alt_default_landscape~ipad.png + + + + + + {{0, 663}, {1024, 85}} + + + + _NS:9 + + 18 + IBIPadFramework + + + {1024, 748} + + + + _NS:9 + + NO + + 3 + 3 + + IBIPadFramework + + + + 301 + + + + -2147483356 + {{0, 936}, {768, 68}} + + + + _NS:9 + + 1 + MCAxIDAuMTkxOTQ1NDc1NQA + + NO + NO + NO + -1 + NO + IBIPadFramework + + + + 288 + + + + 274 + {281, 260} + + + + _NS:9 + 2 + NO + IBIPadFramework + + + + + 292 + {{-20, 10}, {107, 54}} + + + + + 1 + MC40MDAwMDAwMSAxIDEgMAA + + NO + NO + 3 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{87, 10}, {106, 54}} + + + + NO + NO + 4 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{193, 10}, {107, 54}} + + + + NO + NO + 5 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{-20, 72}, {107, 54}} + + + + NO + NO + 6 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{87, 72}, {106, 54}} + + + + NO + NO + 7 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{193, 72}, {107, 54}} + + + + NO + NO + 8 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{-20, 134}, {107, 54}} + + + + NO + NO + 9 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{87, 134}, {106, 54}} + + + + NO + NO + 10 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{193, 134}, {107, 54}} + + + + NO + NO + 11 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{-20, 196}, {107, 54}} + + + + NO + NO + 12 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{87, 196}, {106, 54}} + + + + NO + NO + 13 + IBIPadFramework + 0 + 0 + + + + + + + + + 292 + {{193, 196}, {107, 54}} + + + + NO + NO + 14 + IBIPadFramework + 0 + 0 + + + + + + + + {{244, 372}, {281, 260}} + + + + _NS:9 + + 1 + IBIPadFramework + + + + 292 + + + + 292 + {81, 69} + + + + _NS:9 + NO + 16 + + Add call + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + options_transfer_over~ipad.png + + + NSImage + options_transfer_disabled~ipad.png + + + NSImage + options_transfer_default~ipad.png + + + + + + + 292 + {{0, 64}, {81, 69}} + + + + _NS:9 + NO + 17 + + Add call + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + options_add_over~ipad.png + + + NSImage + options_add_disabled~ipad.png + + + NSImage + options_add_default~ipad.png + + + + + + {{239, 809}, {81, 133}} + + + + _NS:9 + + 15 + IBIPadFramework + + + + 292 + + + + 290 + {{0, 85}, {768, 2000}} + + + + _NS:9 + + 1 + MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA + + 28 + IBIPadFramework + + + + 292 + {80, 85} + + + + _NS:9 + NO + 19 + + Video + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + video_off_over~ipad.png + + + NSImage + video_off_disabled~ipad.png + + + NSImage + video_on_default~ipad.png + + + NSImage + video_off_default~ipad.png + + + + + + + -2147483356 + {{20, 20}, {37, 37}} + + + + _NS:9 + NO + 20 + IBIPadFramework + 0 + + + + 292 + {{80, 0}, {80, 85}} + + + + _NS:9 + NO + 21 + + Micro + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + micro_off_over~ipad.png + + + NSImage + micro_off_disabled~ipad.png + + + NSImage + micro_on_default~ipad.png + + + NSImage + micro_off_default~ipad.png + + + + + + + 292 + {{160, 0}, {80, 85}} + + + + _NS:9 + NO + 22 + + Speaker + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + speaker_off_over~ipad.png + + + NSImage + speaker_off_disabled~ipad.png + + + NSImage + speaker_on_default~ipad.png + + + NSImage + speaker_off_default~ipad.png + + + + + + + 292 + {{240, 0}, {80, 85}} + + + + _NS:9 + NO + 23 + + Add call + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + options_over~ipad.png + + + NSImage + options_disabled~ipad.png + + + NSImage + options_selected~ipad.png + + + NSImage + options_default~ipad.png + + + + + + + 264 + {{445, 0}, {87, 85}} + + + + _NS:9 + NO + 24 + + Pause + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + pause_off_over~ipad.png + + + NSImage + pause_on_default~ipad.png + + + NSImage + pause_off_default~ipad.png + + + + + + + -2147483384 + {{445, 0}, {87, 85}} + + + + _NS:9 + NO + 25 + + Start Conference + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + conference_over~ipad.png + + + NSImage + conference_default~ipad.png + + + + + + + 264 + {{619, 0}, {149, 85}} + + + + _NS:9 + NO + 26 + + Hangup + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + hangup_over~ipad.png + + + NSImage + hangup_default~ipad.png + + + + + + + 264 + {{532, 0}, {87, 85}} + + + + _NS:9 + NO + 27 + + Back + + IBIPadFramework + 0 + 0 + NO + NO + + + NSImage + dialer_alt_over~ipad.png + + + NSImage + dialer_alt_back_default~ipad.png + + + NSImage + dialer_alt_default~ipad.png + + + + + + {{0, 919}, {768, 85}} + + + + _NS:9 + + 18 + IBIPadFramework + + + {768, 1004} + + + + _NS:9 + + NO + IBIPadFramework + + + + + + + conferenceButton + + + + 64 + + + + dialerButton + + + + 65 + + + + eightButton + + + + 66 + + + + fiveButton + + + + 67 + + + + fourButton + + + + 68 + + + + hangupButton + + + + 69 + + + + landscapeView + + + + 70 + + + + microButton + + + + 71 + + + + nineButton + + + + 72 + + + + oneButton + + + + 73 + + + + optionsAddButton + + + + 74 + + + + optionsButton + + + + 75 + + + + optionsTransferButton + + + + 76 + + + + optionsView + + + + 77 + + + + padView + + + + 78 + + + + pauseButton + + + + 79 + + + + portraitView + + + + 80 + + + + sevenButton + + + + 81 + + + + sharpButton + + + + 82 + + + + sixButton + + + + 83 + + + + speakerButton + + + + 84 + + + + starButton + + + + 85 + + + + threeButton + + + + 86 + + + + twoButton + + + + 87 + + + + videoButton + + + + 88 + + + + view + + + + 89 + + + + zeroButton + + + + 90 + + + + onPadClick: + + + 7 + + 92 + + + + onConferenceClick: + + + 7 + + 93 + + + + onOptionsClick: + + + 7 + + 91 + + + + waitView + + + + 62 + + + + onOptionsAddClick: + + + 7 + + 94 + + + + onOptionsTransferClick: + + + 7 + + 95 + + + + waitView + + + + 63 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 2 + + + + + + + + + Landscape View + + + 3 + + + + + + + + + Portrait View + + + 4 + + + + + + + optionsView + + + 5 + + + + + + + + + + + + + + + + + + padView + + + 6 + + + + + + + + + + + + + + + buttons + + + 7 + + + mask + + + 8 + + + background + + + 9 + + + videoWaitView + + + 10 + + + dialerButton + + + 11 + + + hangupButton + + + 12 + + + conferenceButton + + + 13 + + + pauseButton + + + 14 + + + optionsButton + + + 15 + + + speakerButton + + + 16 + + + microButton + + + 17 + + + videoButton + + + 18 + + + background + + + 19 + + + 1 + + + 20 + + + 2 + + + 21 + + + 3 + + + 22 + + + 4 + + + 23 + + + 5 + + + 24 + + + 6 + + + 25 + + + 7 + + + 26 + + + 8 + + + 27 + + + 9 + + + 28 + + + * + + + 29 + + + 0 + + + 30 + + + # + + + 31 + + + optionsAddButton + + + 32 + + + optionsTansferButton + + + 33 + + + mask + + + 34 + + + + + + + optionsView + + + 35 + + + + + + + + + + + + + + + + + + padView + + + 36 + + + + + + + + + + + + + + + buttons + + + 37 + + + background + + + 38 + + + dialerButton + + + 39 + + + optionsButton + + + 40 + + + videoButton + + + 41 + + + microButton + + + 42 + + + speakerButton + + + 43 + + + pauseButton + + + 44 + + + conferenceButton + + + 45 + + + hangupButton + + + 46 + + + videoWaitView + + + 47 + + + # + + + 48 + + + 0 + + + 49 + + + * + + + 50 + + + 9 + + + 51 + + + 8 + + + 52 + + + 7 + + + 53 + + + 6 + + + 54 + + + 5 + + + 55 + + + 4 + + + 56 + + + 3 + + + 57 + + + 2 + + + 58 + + + 1 + + + 59 + + + background + + + 60 + + + optionsAddButton + + + 61 + + + optionsTansferButton + + + + + UICallBar + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIToggleButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIHangUpButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIPauseButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIToggleButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UISpeakerButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIMicroButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIVideoButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UITransparentView + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UITransparentView + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIToggleButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIToggleButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIVideoButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIMicroButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UISpeakerButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIPauseButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIHangUpButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 95 + + + + + TPMultiLayoutViewController + UIViewController + + UIView + UIView + + + + landscapeView + UIView + + + portraitView + UIView + + + + IBProjectSource + ./Classes/TPMultiLayoutViewController.h + + + + UICallBar + TPMultiLayoutViewController + + id + id + id + id + id + + + + onConferenceClick: + id + + + onOptionsAddClick: + id + + + onOptionsClick: + id + + + onOptionsTransferClick: + id + + + onPadClick: + id + + + + UIButton + UIToggleButton + UIButton + UIButton + UIButton + UIHangUpButton + UIMicroButton + UIButton + UIButton + UIButton + UIToggleButton + UIButton + UIView + UIView + UIPauseButton + UIButton + UIButton + UIButton + UISpeakerButton + UIButton + UIButton + UIButton + UIVideoButton + UIButton + + + + conferenceButton + UIButton + + + dialerButton + UIToggleButton + + + eightButton + UIButton + + + fiveButton + UIButton + + + fourButton + UIButton + + + hangupButton + UIHangUpButton + + + microButton + UIMicroButton + + + nineButton + UIButton + + + oneButton + UIButton + + + optionsAddButton + UIButton + + + optionsButton + UIToggleButton + + + optionsTransferButton + UIButton + + + optionsView + UIView + + + padView + UIView + + + pauseButton + UIPauseButton + + + sevenButton + UIButton + + + sharpButton + UIButton + + + sixButton + UIButton + + + speakerButton + UISpeakerButton + + + starButton + UIButton + + + threeButton + UIButton + + + twoButton + UIButton + + + videoButton + UIVideoButton + + + zeroButton + UIButton + + + + IBProjectSource + ./Classes/UICallBar.h + + + + UIDigitButton + UILongTouchButton + + addressField + UITextField + + + addressField + + addressField + UITextField + + + + IBProjectSource + ./Classes/UIDigitButton.h + + + + UIHangUpButton + UIButton + + IBProjectSource + ./Classes/UIHangUpButton.h + + + + UILongTouchButton + UIButton + + IBProjectSource + ./Classes/UILongTouchButton.h + + + + UIMicroButton + UIToggleButton + + IBProjectSource + ./Classes/UIMicroButton.h + + + + UIPauseButton + UIToggleButton + + IBProjectSource + ./Classes/UIPauseButton.h + + + + UISpeakerButton + UIToggleButton + + IBProjectSource + ./Classes/UISpeakerButton.h + + + + UIToggleButton + UIButton + + IBProjectSource + ./Classes/UIToggleButton.h + + + + UITransparentView + UIView + + IBProjectSource + ./Classes/UITransparentView.h + + + + UIVideoButton + UIToggleButton + + waitView + UIActivityIndicatorView + + + waitView + + waitView + UIActivityIndicatorView + + + + IBProjectSource + ./Classes/UIVideoButton.h + + + + + 0 + IBIPadFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + YES + 3 + + {173, 170} + {173, 170} + {173, 170} + {173, 170} + {173, 170} + {173, 170} + {530, 526} + {173, 170} + {173, 170} + {173, 170} + {173, 170} + {297, 170} + {297, 170} + {297, 170} + {297, 170} + {159, 170} + {159, 170} + {159, 170} + {159, 170} + {159, 170} + {159, 170} + {159, 170} + {159, 170} + {220, 113} + {220, 113} + {220, 113} + {220, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {220, 113} + {220, 113} + {220, 113} + {220, 113} + {162, 137} + {162, 137} + {162, 137} + {162, 137} + {162, 137} + {162, 137} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 137} + {162, 137} + {162, 137} + {162, 137} + {162, 137} + {162, 137} + {173, 170} + {173, 170} + {173, 170} + {173, 170} + {173, 170} + {173, 170} + {160, 170} + {160, 170} + {160, 170} + {160, 170} + {160, 170} + {160, 170} + {160, 170} + {160, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + {162, 170} + + 1498 + + diff --git a/Classes/LinphoneUI/UICallCell.xib b/Classes/LinphoneUI/UICallCell.xib index 5a1b8a9c6..e8526ff6d 100644 --- a/Classes/LinphoneUI/UICallCell.xib +++ b/Classes/LinphoneUI/UICallCell.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 + IBProxyObject IBUIButton IBUIImageView - IBUIView IBUILabel - IBProxyObject + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -154,7 +154,7 @@ - 294 + 290 {{10, 0}, {206, 51}} @@ -4651,7 +4651,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE {{262, 12}, {50, 29}} - _NS:9 NO YES @@ -4676,7 +4675,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - 294 + 290 {{0, 5}, {200, 40}} @@ -4716,7 +4715,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE {320, 460} - _NS:9 NO @@ -5114,6 +5112,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE {43, 46} {640, 125} - 1181 + 1498 diff --git a/Classes/LinphoneUI/UICompositeViewController.m b/Classes/LinphoneUI/UICompositeViewController.m index 049ed47d2..8891fad2b 100644 --- a/Classes/LinphoneUI/UICompositeViewController.m +++ b/Classes/LinphoneUI/UICompositeViewController.m @@ -227,7 +227,6 @@ + (void)addSubView:(UIViewController*)controller view:(UIView*)view { if(controller != nil) { - [controller view]; // Load the view if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { [controller viewWillAppear:NO]; } @@ -257,6 +256,7 @@ if(controller == nil) { controller = [[NSClassFromString(name) alloc] init]; [viewControllerCache setValue:controller forKey:name]; + [controller view]; // Load the view } } return controller; @@ -433,9 +433,13 @@ [contentView setFrame: contentFrame]; [contentViewController.view setFrame: [contentView bounds]]; [tabBarView setFrame: tabFrame]; - [tabBarViewController.view setFrame:[tabBarView bounds]]; + CGRect frame = [tabBarViewController.view frame]; + frame.size.width = [tabBarView bounds].size.width; + [tabBarViewController.view setFrame:frame]; [stateBarView setFrame: stateBarFrame]; - [stateBarViewController.view setFrame:[stateBarView bounds]]; + frame = [stateBarViewController.view frame]; + frame.size.width = [stateBarView bounds].size.width; + [stateBarViewController.view setFrame:frame]; // Commit animation if(tabBar != nil || fullscreen != nil) { diff --git a/Classes/LinphoneUI/UIContactDetailsHeader.m b/Classes/LinphoneUI/UIContactDetailsHeader.m index 03bb83259..2ca7037a9 100644 --- a/Classes/LinphoneUI/UIContactDetailsHeader.m +++ b/Classes/LinphoneUI/UIContactDetailsHeader.m @@ -21,6 +21,7 @@ #import "Utils.h" #import "UIEditableTableViewCell.h" #import "FastAddressBook.h" +#import "UILinphone.h" @implementation UIContactDetailsHeader @@ -60,7 +61,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - [tableView setBackgroundColor:[UIColor clearColor]]; // Can't do it in Xib: issue with ios4 + removeTableBackground(tableView); // Can't do it in Xib: issue with ios4 } diff --git a/Classes/LinphoneUI/UIContactDetailsHeader.xib b/Classes/LinphoneUI/UIContactDetailsHeader.xib index bbe9f59c5..e6fe80dcc 100644 --- a/Classes/LinphoneUI/UIContactDetailsHeader.xib +++ b/Classes/LinphoneUI/UIContactDetailsHeader.xib @@ -2,20 +2,20 @@ 1296 - 11D50 - 2182 - 1138.32 - 568.00 + 11E53 + 2549 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUITableView - IBUIImageView - IBUIView - IBUILabel IBProxyObject + IBUIImageView + IBUILabel + IBUITableView + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -35,7 +35,7 @@ - 292 + 290 @@ -69,11 +69,11 @@ - 292 + 290 - 292 + 290 {{0, 37}, {199, 43}} @@ -116,7 +116,7 @@ - 292 + 290 @@ -378,7 +378,6 @@ AAgACAAIAAEAAQABAAE UILabel UIImageView - UILabel UIView UIView UITableView @@ -392,10 +391,6 @@ AAgACAAIAAEAAQABAAE avatarImage UIImageView - - contactLabel - UILabel - editView UIView @@ -428,6 +423,6 @@ AAgACAAIAAEAAQABAAE {262, 214} {131, 131} - 1181 + 1498 diff --git a/Classes/LinphoneUI/UILinphone.h b/Classes/LinphoneUI/UILinphone.h index ae4232c73..7ec0b4bcd 100644 --- a/Classes/LinphoneUI/UILinphone.h +++ b/Classes/LinphoneUI/UILinphone.h @@ -32,4 +32,6 @@ - (UIColor *)darkerColor; -@end \ No newline at end of file +@end + +void removeTableBackground(UIView* view); \ No newline at end of file diff --git a/Classes/LinphoneUI/UILinphone.m b/Classes/LinphoneUI/UILinphone.m index 595b27cd9..96347a6ab 100644 --- a/Classes/LinphoneUI/UILinphone.m +++ b/Classes/LinphoneUI/UILinphone.m @@ -89,4 +89,16 @@ return [self lumColor:0.75]; } -@end \ No newline at end of file +@end + +void removeTableBackground(UIView*view) { + if([view isKindOfClass:[UITableView class]]) { + [view setBackgroundColor:[UIColor clearColor]]; + } + if([view isKindOfClass:[UIImageView class]] && [[view superview] isKindOfClass:[UITableView class]]) { + [(UIImageView*)view setImage:nil]; + } + for(UIView *subview in [view subviews]) { + removeTableBackground(subview); + } +} diff --git a/Classes/LinphoneUI/UIMainBar.h b/Classes/LinphoneUI/UIMainBar.h index a53638cab..210247659 100644 --- a/Classes/LinphoneUI/UIMainBar.h +++ b/Classes/LinphoneUI/UIMainBar.h @@ -18,8 +18,9 @@ */ #import +#import "TPMultiLayoutViewController.h" -@interface UIMainBar : UIViewController { +@interface UIMainBar : TPMultiLayoutViewController { UIButton *historyButton; UIButton *contactsButton; UIButton *dialerButton; diff --git a/Classes/LinphoneUI/UIMainBar.m b/Classes/LinphoneUI/UIMainBar.m index 6ffeae521..f875e05cd 100644 --- a/Classes/LinphoneUI/UIMainBar.m +++ b/Classes/LinphoneUI/UIMainBar.m @@ -289,4 +289,71 @@ [[PhoneMainView instance] changeCurrentView:[ChatViewController compositeViewDescription]]; } +#pragma mark - TPMultiLayoutViewController Functions + +- (NSDictionary*)attributesForView:(UIView*)view { + NSMutableDictionary *attributes = [NSMutableDictionary dictionary]; + + [attributes setObject:[NSValue valueWithCGRect:view.frame] forKey:@"frame"]; + [attributes setObject:[NSValue valueWithCGRect:view.bounds] forKey:@"bounds"]; + if([view isKindOfClass:[UIButton class]]) { + UIButton *button = (UIButton *)view; + [UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateNormal] key:@"image-normal"]; + [UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateHighlighted] key:@"image-highlighted"]; + [UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateDisabled] key:@"image-disabled"]; + [UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateSelected] key:@"image-selected"]; + [UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateDisabled | UIControlStateHighlighted] key:@"image-disabled-highlighted"]; + [UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateSelected | UIControlStateHighlighted] key:@"image-selected-highlighted"]; + [UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateSelected | UIControlStateDisabled] key:@"image-selected-disabled"]; + + [UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateNormal] key:@"background-normal"]; + [UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateHighlighted] key:@"background-highlighted"]; + [UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateDisabled] key:@"background-disabled"]; + [UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateSelected] key:@"background-selected"]; + [UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateDisabled | UIControlStateHighlighted] key:@"background-disabled-highlighted"]; + [UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateSelected | UIControlStateHighlighted] key:@"background-selected-highlighted"]; + [UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateSelected | UIControlStateDisabled] key:@"background-selected-disabled"]; + } + [attributes setObject:[NSNumber numberWithInteger:view.autoresizingMask] forKey:@"autoresizingMask"]; + + return attributes; +} + +- (void)applyAttributes:(NSDictionary*)attributes toView:(UIView*)view { + view.frame = [[attributes objectForKey:@"frame"] CGRectValue]; + view.bounds = [[attributes objectForKey:@"bounds"] CGRectValue]; + if([view isKindOfClass:[UIButton class]]) { + UIButton *button = (UIButton *)view; + [button setImage:[UIMainBar getDictEntry:attributes key:@"image-normal"] forState:UIControlStateNormal]; + [button setImage:[UIMainBar getDictEntry:attributes key:@"image-highlighted"] forState:UIControlStateHighlighted]; + [button setImage:[UIMainBar getDictEntry:attributes key:@"image-disabled"] forState:UIControlStateDisabled]; + [button setImage:[UIMainBar getDictEntry:attributes key:@"image-selected"] forState:UIControlStateSelected]; + [button setImage:[UIMainBar getDictEntry:attributes key:@"image-disabled-highlighted"] forState:UIControlStateDisabled | UIControlStateHighlighted]; + [button setImage:[UIMainBar getDictEntry:attributes key:@"image-selected-highlighted"] forState:UIControlStateSelected | UIControlStateHighlighted]; + [button setImage:[UIMainBar getDictEntry:attributes key:@"image-selected-disabled"] forState:UIControlStateSelected | UIControlStateDisabled]; + + [button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-normal"] forState:UIControlStateNormal]; + [button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-highlighted"] forState:UIControlStateHighlighted]; + [button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-disabled"] forState:UIControlStateDisabled]; + [button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-selected"] forState:UIControlStateSelected]; + [button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-disabled-highlighted"] forState:UIControlStateDisabled | UIControlStateHighlighted]; + [button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-selected-highlighted"] forState:UIControlStateSelected | UIControlStateHighlighted]; + [button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-selected-disabled"] forState:UIControlStateSelected | UIControlStateDisabled]; + } + view.autoresizingMask = [[attributes objectForKey:@"autoresizingMask"] integerValue]; +} + ++ (void)addDictEntry:(NSMutableDictionary*)dict item:(id)item key:(id)key { + if(item != nil && key != nil) { + [dict setObject:item forKey:key]; + } +} + ++ (id)getDictEntry:(NSDictionary*)dict key:(id)key { + if(key != nil) { + return [dict objectForKey:key]; + } + return nil; +} + @end diff --git a/Classes/LinphoneUI/UIMainBar.xib b/Classes/LinphoneUI/UIMainBar.xib index 1b5260d8b..bd0bacade 100644 --- a/Classes/LinphoneUI/UIMainBar.xib +++ b/Classes/LinphoneUI/UIMainBar.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 + IBProxyObject IBUIButton IBUIImageView - IBUIView IBUILabel - IBProxyObject + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -313,7 +313,6 @@ {{2, 2}, {17, 17}} - _NS:9 NO YES @@ -436,6 +435,14 @@ 41 + + + portraitView + + + + 43 + onChatClick: @@ -515,7 +522,6 @@ - mainTabBar 4 @@ -629,13 +635,35 @@ - 41 + 44 - UIMainBar + TPMultiLayoutViewController UIViewController + + UIView + UIView + + + + landscapeView + UIView + + + portraitView + UIView + + + + IBProjectSource + ./Classes/TPMultiLayoutViewController.h + + + + UIMainBar + TPMultiLayoutViewController id id @@ -747,6 +775,6 @@ {128, 154} {128, 154} - 1181 + 1498 diff --git a/Classes/LinphoneUI/UIMainBar~ipad.xib b/Classes/LinphoneUI/UIMainBar~ipad.xib new file mode 100644 index 000000000..9f2a932d2 --- /dev/null +++ b/Classes/LinphoneUI/UIMainBar~ipad.xib @@ -0,0 +1,1217 @@ + + + + 1296 + 11E53 + 2549 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1498 + + + IBProxyObject + IBUIButton + IBUIImageView + IBUILabel + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + 292 + + + + -2147483356 + {{0, 11}, {768, 66}} + + + + _NS:9 + + 1 + MCAxIDAuMDkwOTI0NTczOTEAA + + NO + NO + NO + -1 + NO + IBIPadFramework + + + + 292 + {175, 77} + + + + _NS:9 + NO + 1 + + History + + IBIPadFramework + 0 + 0 + NO + + 3 + MC41AA + + + NSImage + history_over~ipad.png + + + NSImage + history_selected~ipad.png + + + NSImage + history_default~ipad.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + -2147483356 + + + + 274 + {21, 21} + + + + _NS:9 + NO + IBIPadFramework + + NSImage + history_notification.png + + + + + 256 + {{2, 2}, {17, 17}} + + + + _NS:9 + NO + YES + 7 + NO + IBIPadFramework + 99 + + 3 + MQA + + + 0 + 10 + 1 + + 1 + 14 + + + Helvetica + 14 + 16 + + + + {{140, 1}, {21, 21}} + + + + _NS:9 + + 3 + MCAwAA + + NO + 2 + NO + IBIPadFramework + + + + 292 + {{175, 0}, {175, 77}} + + + + _NS:9 + NO + 3 + + Contacts + + IBIPadFramework + 0 + 0 + NO + + + NSImage + contacts_over~ipad.png + + + NSImage + contacts_selected~ipad.png + + + NSImage + contacts_default~ipad.png + + + + + + + 288 + {{350, -1}, {68, 80}} + + + + _NS:9 + NO + 4 + + Dialer + + IBIPadFramework + 0 + 0 + NO + + + NSImage + dialer_over.png + + + NSImage + dialer_selected + + + NSImage + dialer_default.png + + + + + + + 292 + {{418, 0}, {175, 77}} + + + + _NS:9 + NO + 5 + + Settings + + IBIPadFramework + 0 + 0 + NO + + + NSImage + settings_over~ipad.png + + + NSImage + settings_selected~ipad.png + + + NSImage + settings_default~ipad.png + + + + + + + 292 + {{593, 0}, {175, 77}} + + + + _NS:9 + NO + 6 + + Chat + + IBIPadFramework + 0 + 0 + NO + + + NSImage + chat_over~ipad.png + + + NSImage + chat_selected~ipad.png + + + NSImage + chat_default~ipad.png + + + + + + + -2147483356 + + + + 274 + {21, 21} + + + + _NS:9 + NO + IBIPadFramework + + + + + 256 + {{2, 2}, {17, 17}} + + + + _NS:9 + NO + YES + 7 + NO + IBIPadFramework + 99 + + + 0 + 10 + 1 + + + + + {{605, 1}, {21, 21}} + + + + _NS:9 + + NO + 7 + NO + IBIPadFramework + + + {768, 77} + + + + _NS:9 + + 1 + MCAxIDAuMTkxOTQ1NDc1NSAwAA + + NO + IBIPadFramework + + + + 292 + + + + -2147483356 + {{0, 19}, {1024, 67}} + + + + _NS:9 + + 1 + MCAxIDAuMDkwOTI0NTczOTEAA + + NO + NO + NO + -1 + NO + IBIPadFramework + + + + 292 + {240, 86} + + + + _NS:9 + NO + 1 + + History + + IBIPadFramework + 0 + 0 + NO + + + NSImage + history_over_landscape~ipad.png + + + NSImage + history_selected_landscape~ipad.png + + + NSImage + history_default_landscape~ipad.png + + + + + + + -2147483356 + + + + 274 + {21, 21} + + + + _NS:9 + NO + IBIPadFramework + + + + + 256 + {{2, 2}, {17, 17}} + + + + _NS:9 + NO + YES + 7 + NO + IBIPadFramework + 99 + + + 0 + 10 + 1 + + + + + {{208, 1}, {21, 21}} + + + + _NS:9 + + NO + 2 + NO + IBIPadFramework + + + + 292 + {{240, 0}, {240, 86}} + + + + _NS:9 + NO + 3 + + Contacts + + IBIPadFramework + 0 + 0 + NO + + + NSImage + contacts_over_landscape~ipad.png + + + NSImage + contacts_selected_landscape~ipad.png + + + NSImage + contacts_default_landscape~ipad.png + + + + + + + 288 + {{480, 8}, {68, 80}} + + + + _NS:9 + NO + 4 + + Dialer + + IBIPadFramework + 0 + 0 + NO + + + + + + + + + + 292 + {{544, 0}, {240, 86}} + + + + _NS:9 + NO + 5 + + Settings + + IBIPadFramework + 0 + 0 + NO + + + NSImage + settings_over_landscape~ipad.png + + + NSImage + settings_selected_landscape~ipad.png + + + NSImage + settings_default_landscape~ipad.png + + + + + + + 292 + {{784, 0}, {240, 86}} + + + + _NS:9 + NO + 6 + + Chat + + IBIPadFramework + 0 + 0 + NO + + + NSImage + chat_over_landscape~ipad.png + + + NSImage + chat_selected_landscape~ipad.png + + + NSImage + chat_default_landscape~ipad.png + + + + + + + -2147483356 + + + + 274 + {21, 21} + + + + _NS:9 + NO + IBIPadFramework + + + + + 256 + {{2, 2}, {17, 17}} + + + + _NS:9 + NO + YES + 7 + NO + IBIPadFramework + 99 + + + 0 + 10 + 1 + + + + + {{792, 1}, {21, 21}} + + + + _NS:9 + + NO + 7 + NO + IBIPadFramework + + + {1024, 86} + + + + _NS:9 + + 1 + MCAxIDAuMTkxOTQ1NDc1NSAwAA + + NO + IBIPadFramework + + + + + + + view + + + + 41 + + + + portraitView + + + + 42 + + + + landscapeView + + + + 43 + + + + chatButton + + + + 44 + + + + chatNotificationView + + + + 45 + + + + chatNotificationLabel + + + + 46 + + + + contactsButton + + + + 47 + + + + dialerButton + + + + 48 + + + + historyButton + + + + 49 + + + + historyNotificationLabel + + + + 50 + + + + historyNotificationView + + + + 51 + + + + settingsButton + + + + 52 + + + + onDialerClick: + + + 7 + + 60 + + + + onChatClick: + + + 7 + + 56 + + + + onHistoryClick: + + + 7 + + 58 + + + + onContactsClick: + + + 7 + + 57 + + + + onSettingsClick: + + + 7 + + 59 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 2 + + + + + + + + + + + + + Portrait View + + + 3 + + + + + + + chatNotificationView + + + 4 + + + + + + + historyNotificationView + + + 5 + + + dialer + + + 6 + + + + mask + + + 7 + + + chat + + + 8 + + + history + + + 9 + + + contacts + + + 11 + + + historyNotificationLabel + + + 12 + + + historyNotificationImage + + + 13 + + + chatNotificationImage + + + 14 + + + chatNotificationLabel + + + 10 + + + settings + + + 28 + + + + + + + + + + + + + Landscape View + + + 29 + + + + + + + chatNotificationView + + + 30 + + + settings + + + 31 + + + contacts + + + 32 + + + history + + + 33 + + + chat + + + 34 + + + + mask + + + 36 + + + + + + + historyNotificationView + + + 37 + + + historyNotificationImage + + + 38 + + + historyNotificationLabel + + + 39 + + + chatNotificationLabel + + + 40 + + + chatNotificationImage + + + 35 + + + dialer + + + + + UIMainBar + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + 60 + + + + + TPMultiLayoutViewController + UIViewController + + UIView + UIView + + + + landscapeView + UIView + + + portraitView + UIView + + + + IBProjectSource + ./Classes/TPMultiLayoutViewController.h + + + + UIMainBar + UIViewController + + id + id + id + id + id + + + + onChatClick: + id + + + onContactsClick: + id + + + onDialerClick: + id + + + onHistoryClick: + id + + + onSettingsClick: + id + + + + UIButton + UILabel + UIView + UIButton + UIButton + UIButton + UILabel + UIView + UIButton + + + + chatButton + UIButton + + + chatNotificationLabel + UILabel + + + chatNotificationView + UIView + + + contactsButton + UIButton + + + dialerButton + UIButton + + + historyButton + UIButton + + + historyNotificationLabel + UILabel + + + historyNotificationView + UIView + + + settingsButton + UIButton + + + + IBProjectSource + ./Classes/UIMainBar.h + + + + + 0 + IBIPadFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + YES + 3 + + {480, 170} + {353, 153} + {480, 170} + {353, 153} + {480, 170} + {353, 153} + {480, 171} + {352, 153} + {480, 171} + {352, 153} + {480, 171} + {352, 153} + {128, 154} + {128, 154} + {16, 16} + {480, 171} + {353, 153} + {43, 43} + {480, 171} + {353, 153} + {480, 171} + {353, 153} + {480, 171} + {350, 153} + {480, 171} + {350, 153} + {480, 171} + {350, 153} + + 1498 + + diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 143a32343..f53928728 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -167,11 +167,13 @@ static PhoneMainView* phoneMainViewInstance=nil; } - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; [mainViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; } - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + [self.view setFrame:[[UIScreen mainScreen] bounds]]; // Force resize to screen size [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; [mainViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; } diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m index c32ccc2bf..dc2f054c3 100644 --- a/Classes/SettingsViewController.m +++ b/Classes/SettingsViewController.m @@ -273,21 +273,9 @@ return [self initWithRootViewController:rootViewController]; } -+ (void)removeTableBackground:(UIView*)view { - if([view isKindOfClass:[UITableView class]]) { - [view setBackgroundColor:[UIColor clearColor]]; - } - if([view isKindOfClass:[UIImageView class]] && [[view superview] isKindOfClass:[UITableView class]]) { - [(UIImageView*)view setImage:nil]; - } - for(UIView *subview in [view subviews]) { - [UINavigationControllerEx removeTableBackground:subview]; - } -} - + (void)removeBackground:(UIView*)view { [view setBackgroundColor:[UIColor clearColor]]; - [UINavigationControllerEx removeTableBackground:view]; + removeTableBackground(view); } - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { diff --git a/Resources/add_call_default~ipad.png b/Resources/add_call_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..a3ddce2f2d94e7e542107b139af990979b4554c8 GIT binary patch literal 4938 zcmbVQX*iT^`yWfzLZTweWEZnqXY6K-rN-Ejh!``*Zp@4|q^yN(S;{&T?F!M5)I&*y z$SX0D>_t=dCFUJH_59xt@9}>4-^YDi_jz8|`8(I&_2s@`XKT4fNLmO00PL~0LOTEe zTvU#HOMs6fscn{>;3!fw3m2MWhz~8oi$VmL5kl}ppmmTJiReJ|B1DCD5)AeIO9&!kvHv&@rv7der)7{xFERuMhC+gZcIx_N zO{F;y|1XXIYE5;DA`>AFL~2MF#hWt^AH_dlPVfGApdCX_Hb@-Bk24gnKy-+ASP(Io zW{oyd;GBR7egq^`7o!71K+!NQI8;|32GhrAqcBjIg&E4iTw5Qi|HsFF#bV%SGc+8H z!f08*U=}blGYf4LOkW>kuB)x5Wv257YaL9bc?EkD|HSp%iTgJe^*^yl6ou$T3!ylL zgarO!fSqp$ErjYDLI$E7b%0neZ@=IjeP=v>SBoZ6{KAO@3?(E8_^ZE2zyA{745e*u zj)LmKV881&(?z4uzaX~9t8v;I(^yd8K|`jy)YU^@{qV-GM@`Q96-}|X zNacC5nrFAS={LvOTpDE856>1-UK~E{ezMzC!{DI2Q5>8wtgCsJy-hqA_VdQLb@Yjl9EBq(ByPg>% z@lZ{SaB?8&O#j#*hTj)qZn|ib>O3WSGQ}~>>1pS`a>u%c8);IK<^D(amQ|X?Uk&dK z)COpa1GuYkGE!F+xlrK}o-Z>1n(p=S^gFfw^{Xa<8)cOu^7HeetEI-K0GLRx4mXeV z2h(EV_U*)tk(XN`wz|4}9^i03XCEKF7xcleXx9qBmpf{vemMY5p#BFJsTm^=fXys_ zdEgmW7r>&}n}nBmMakW>lLsqNl9is?Z!LLZCCYWrCgZd3(Y*mAe!ewWeWP|pICMrZ zj=j+Z?f?07AtIF@>8svlx5zWz$QtD*uH!ueZ68P-=q{DHroPqlNd`7lAGasrw5Py2 zh*w1=`Pmn}7pwBdyBSyenXg2;!y~9(zWz53;fWh%^k!)xUSCE-uFpB!uOAd#c}z^? zlj&3ZFH~`58JAk#wnVOPMrcdScs%~Ot|cv0sUC~w-DvH#D~~7_U4BqN7XWbIr}C-q z;qj8#POB3fjOG4YeIpDr`@{?V5xmKXW>2yyqB;7I5c1D7pu;7N_A+3yz9%GkLDB*Pis zk)_e6$5Y#OCm8E0(9Bhr2y{2{OzQmVldT(&u7y(~nYOO(&BLSFMPF~z=r#VvvA5sn zrffE&1ESCGP48J}zBYP=9#?)bw3PmFWDXpgS>5sA+FD>(lpy0lr~m_$Q*0iTCowqt zNw@_t9AYE<5!a|(Vq2{zEkmzSd`OG-C7x8Vus1bm(JGlFTZFPb?aD0M++H^33b(j; z4Dcd(JZPNkH6b*lMRg^jL#;I`H)u>ZWd zlZ&KT_8jmMnS|Z?`i>5EL5~0PL z-@8kWb;}O*)1B?_-uM64JD;fFgn0>h?11E~xzV!}jf8vTFTIWmV+EDSzBMI8qr%l>DGFN5o4o!`@2=Uw|E8`^=<)MaiYL~a3q~! zt)e_jMBkyvbP9D=@g8kIK4ekcuVEv=mFgjO{W-Qs0i`_ryv@V2FVecEU_M9E@ME;R zIWXGH3Pe4i8uZyYN%P`oFHygz5_guk_i&|g11flc$UngA)0*c<{8^GsWma9 zvL3}I%i!P;WgT6QeVY{8{f_uGq!f{Opr^i}exN;WX=O!Vd`hdAMMWH0;p)=}phOlf zFP#j_Z1h*kwVw42SzI#GYK?m}(Jp$Cy|;b_LJ&+7s244bgQOnux`rJ z_y?T4;Fi;ROjDi4wkRAAnt!xPi%$jJs7}e!R=%1DgOcIVp;6Cy?X^}J#m8*1Cm!De zZ_N2LsAUQE_H;wUWD6@f{W5hyPnS_mD|q@dXOxiI?fpq;esS4&G`~Rhj{aBwuHJKK z{u`p(!cRZ0CuvJ2hpv?{=5-0H(I?D2v#&@I-�f-tX;`ZxS^(7gL8>+h5oQj#$w0 zBrQ%@=(!hS&OInk`xb^d4<#{jT;&?HY=i4!YgsV{qovcBMrx=CYxVo^W)SJj6`4J{ zpKMJHH9ySuVLwYPy@t%1>(si{RwB}DZZm7`aBtHMvIh4Kl#tzfL%)1W#gXbsTlsSW zVJtPAQcBm$BMAGF`k;GD7ns(A*RLJ_*7+f3K%^AL^02?&*ZJjn-n+d6vSZ&?pAvFp ztn-Ln+j|Zi2IpOYjA><8%3nHBauJu;TK!$huBJ+PcD^UXIL`ldv+CMr z!#?x#MH8~fNh&$>)Vi;25;g#cH- zJD*}B$6i3#X46y=m%b7y{?TpY{bd=XPwR_CKXjBBlLRGHPVNLiDe8W%Au6Y+pji4~ zFv+xe!aS$&Vd2KRd-s3v4oMD4mb=5AEM9Ym9aAf@btGEc8$FnRp#v9dMADbZAJ(&+ zG~JBbZ+d(oPg3awJqmZbchMjxbCmJi{KoQxz6W@VC*eiS*nEHewX;>q(iyeDrHQ=h z4~qwmhsxUC?hl*N7Ip~FQH=VOicxsHe4{TH0y$glN?h>$d|`LyC8^d+S61I?CSRPm z*$>arAm3TM9OLE!4c`ukZK2dI@(R-x)*X%{P293ZF4}*)G^(*?;|9w)dNjxCO@ZMP z@6CqV?hk{5YOyUwf%q81a2FBw_G${7O=21EJ_uw3b2S0Wrna$@X8Z@>?amzPb z!#meCU;1WIQ}$a2Cydu?Sb2_j@@{ec?x6eOt>m8^Bp1y&G z%)izSub;xpb)GAg0d#U@?JV`rGQaa!|HFkQ#zai+e%}*-ESdPyUvK!X_+PIT z1yH1{+WBlFd{@UgC4OKh*R89q-1QNybo=+AfR5JT5uNGW*@UOs!VOT=P+OANAD{fYa$SE0uT2Q64Ma7Gsp7y_3x8 zf)gY>msPy7Fr;)LEOTW$EbQ<#x)`$oPR9~Wn*5hnbcucR2M@gFC`izhX_uNv;18uk zLhk}XW87ZzHdO^5Q^^yWT^bBvYwK!HjTf~R?;(Squsyn+RNL?($Mz2}6Pv1L0zk@i zcl)(dffBff>oZjj`^<~pF)v@}3i2lhBl=6{E?)r)`uf=&dL7fE(cQ?;6(O!wu`yTp5L4;`yM%k_TlaC(ics&Z_9yprJZ zQ|T??o%eM?ieZJjGi`yKZ|r=eR4nw32GgR{=KBj!jo2%(BgN6}{gP$-!=5yMSuX+V z{1CkEUkcxKD!!0ZIY-MEI)XhrS=C{)k8oX3qFhB~v6K6_dL%n(q17=%<)@vk5qDue zGipkO8ebSt&kMkd#24}arvRylKVQz)Fa7T$rR)fKU}$nmN?U0QD=}d-R$fHbxR@P5 zvb213t4@*mC=}(=v?P><{v0WIO5D5WV`JMsgK+F@)7R!2(VE9g=Pgig==sc8R_s_^ zPiygjE(in~OT(E6Qm3>}n&KgMC)-EfkIEE=zoc$#ZnoX7X_1qQ{uGyHH5bKwdC(wg zp+CKGe*SA+yb=-KD9}DUqp26ZJ1e!YXTdK1(X^pHpVdo3u%*hBdfBA$+(DqAp^u0s zJjL~37pZRcMrUziJ5$=O6;$(T#cm&L)yX)__^LrkQsS|xZ~}gG;R>tG8x*lSE3wdx z2YjC?d|K8Z?y>(U3you?H+F4F&d?PtZ>`k5DKjxSRqJ_5}tE_>_gmT>454#!H*peh* zMWMm#e1ZDL#w6vVU{TA=ZGV_h)BC%7F6mYDLG`r>ECqPPNS(6G+KQ)p%`+yWYwWJx zs6g6*)BY*IzY0Y~E+Vp}rKN?M%VNPXYrP#|Va;xC5aH$q6FH=T!5lAIe(@X^O!XtB zRY`962^BLO%p{{C{inl!kD+L!$T5-*YM1f9Hnm+WU)*ILi<|O>oDbLwyVAxsDLhks zSd985T323HlFBh6z{^G;+#LYH3k-{LkLiU68L~WuZw^mYGU`r>QEyzyKf^82UOebl z?>n~B=FS#x04znCJXuThde^0w6fruicXxis)vYb4F?c^!oKCM{;m*J>kSD6k+S)P= zrTO^yRa?F_+;v-M1pr|%*8KcFs<_lj%?eAj8poE!U@+#dALo<1UgdfH>sA0trKG`B z2{L75)PffgqxvcHTbaKxTK}8$ze%n-wVw;P0u%iR7X}LEG75Q85u6iK9enT}z-M`C zNW4H+V&|zhTsdOYG=SJiFP+F>~ z(VDHs?5SNUM%Ctxj`KTzyx053?|VJh^W67yf9`!h|9o$nndqH7E^r(G0Gu??M_B*> zbOah*&T@=KN$=*_&=`KAjxEs==R)*%!eaqi&Nws{XyE1KinYKxIS2Z7VlMyy3@+|g zwnSTFBRB@HVoG>0(A`p#rb@x^WQJY#pKzC<#kd3l2*w_b& zb#vDb!ecFiOsp_L9vGN2NCN@95CEqc@WK+EfB{~f-UN7nI_QU8IE_BKRsaEiK!_gd zpr1k68k+%;I6M}pEDx5$fK|Xi6^J|ps-&u_dJd=vhJY2oiV6@#IfyD8st5;zfxkWw z%^Tj?1#W@T{pE|sse{~zL?5_(3|KKAm>dG z`)vV*C1CLGK16q%H}J@!6B_47R0q)_{h5N7kFoJThP?^D3PmfKLV%Nx0z@9H;N^9c z*AFy-Xo3B|F#ao=U=`?tRj|MkaDI3UtsgF8zm;jV``?a^fV61frg(Q+Q=B|eIEz|0Lt#1Y(ZK0u_UGSJuwCS0B<@JXnIL}%tI>0 zh6{hT`HhY~&Nr@-i?8p^vCsCv?@~il-Q{pX%@fE9{t2{N5efyfcU+YkIK>nSv?dLR z)7fhJ)I3q_3vLFa4RE{=c>A;(Fe{qDoZO)+%Qw&s(T$bWed(5;cx*>n)9Zk(0~EUX zq}HcCEdv}`f2+-nIWiY8eNZsVe6JOGp-+q7@8NdD>gXmlvL*x;^8I*+%SVAlwt=(* zSDyqve)n>4c2ijF-q0)kCWy~1%bi^gkr;d9pf6osYL{(E=~|a`(Q$Vd!ef@NN&93T zP&L}k)*0Tq-gY|~we^fY=DrAD-i1&V_;>Bi&ok7?ezW}G)wQ`^H|aYi-?+Hu4|S0d z6A_3Z^3@m+faS%z?OI7rlvapo!|4+qPxP@|10PXb=g*(eFla&lRh(9AQ1GWFlcD(= zk?(ja@#gip#-`nAm9EC!TUjPfZ=1J8}o_as+TXQ^bv>}D3rFix0gb)7q z<>JBZi#;k9O?=S+&(qI`b#7@!(l1h-PFi*HL_RYu(PL5TEM(jlI|=A)N%$h9Upaog ze_0}OE&IwNokhz_n%n+n`tO=}VO-e1%_8!lo;+9YIC8=ZETc^3c?u%s68eM#o>R)x zI}aaMI8{Y5pQ$j`V3gOkcX9hx$5p@$FVH(NPD1L1gw0LqU0GP%)qCC&n)X+Nc~zjG z$|B=V-RxjpWjQ(ada<&48_VmeNI;s=2?MeCbT`arXpjUfykP9Dz3>#SyZd(U%hw2J zJ@HH10(Yk=3tOd&D?3DniPEezlhVNxatSXAN@GkmCn#1aMU{;G3!NcPqR!r;*7oiN zg%3xCoDb}~Ju{=55B;Q5$_?*W(=N3n!tW2V=9owkZ}nB7!s)C1uPd-3orDl0M$%nX z=ZbF>%F{;{F4Gst?@T=~Tm-SoO7Aj44IdQN)w*Pqcz&S3mjlsi)h7abr*N)WRDQ27 zD-OvO)mb0z@#J|`8@3@+{Y?KdGhO*~@gmO}K>Wy8atzo0pP1mN z_J@dUtL1xVI#WzWB(iO=`^)2N1{5}r+vL|v4pIvPYsQ6}>DPKGX9y`q#Nu=Xv>(RM zMIwvmoG^4Lt3z>PUQE~O_<)y%>D+NZ96M?L_m)q;d}jw$XU)qTJ2{;Aagy=}*Y-yfGxp*B zP)$TovqPrp2kTe%k~+y&Qt;eIu4eJL&zMi#fS(q;QQK7!5OVF=&g7hn$ES2D#Byc3 ztZM2h3h~Bg4zV3%Ma=vynR{KKlilK_ufCuYKxGJlEFt>Hj-hpfQv&b$8)F0?&XvgU zF`zh@?nHu!b&68@@qL!G?yl2+9-BR? zQU2}uJv_TUk<`zXgNijXx}r}6_S5MT0r4oQeo;0{UKI1GGmc7IoTTTq!52YyKCe(Z zINmHFy8(XoZ(qB=E?cO~iaA)3zkh!r;ViY>cR=(Nu;KyZwyd>naI7W;-Fh{bd?Na} z!$sU*PbIqY9jphUrPqvtieRx97aOq!xu2lRnrJ;+|F#Vj zxvWVHk<*_Gy*a_+=a(jx(%$+;Hq<=lX()Vw7cb?MnDT*O`Yx+?L5qLA@|J9>iS=n4 z6PjvNa34de0bYFLoCkGt$szSc(eV`KvvWCNrUDQ1ZElt$s?O>o>@SweD;%>Jw94&{ ze&R4FyI^IA02bX(Stgqlu)>T?2EhuZRF?9H=`I<&owiF|Q)6+hV(pICKrVMAs9js| zFKvOw2AdeEC`Q#zLRi<_CzewAqHGK6C>`w;!Kud+ThTuGb<=EQrg4Z29S{acVfgp< zZ)jfKjGdOv@XlgTM}`_+sYc25<(a3zSd`}-WO|7C{DpVcaeojaSSW+S|+_L znx6C$>punvZOGby(=3Qv2zP)|B;v4Jh(T`XS@ah4c zSZwQ-PS}Tob8R^6a;NsSTyZ^o=*OP1(m%EE0C8qb+7??D)p4HmlRmm=l_+J&Z=4=8 zIPvr>K%ZUH^v7zV*Zi@>VWf8{snhwPO*f`AQy7w_0m-usfUo0JQ*M8u7pu5Y55wfV z<5}iVY*uDsNpQ8R{O)0@1cK6|NW87fFL=(a+q9tCLoP_Bg7kG^d}HIHzU;R-WCR0A3<@uA4zjqOrMz;!h2l`Gd z=g<{Y&_K02`yU?lH#K~(&`Zu>$V_JQ#HXBmzM#xMIm$qvQ-&+CD~pm2+8xoDv1k;W zT>h%|B4?|m>BO#?XLq%C^EVsE^iAr<=dER3wMY9O+7Q;&@7iBx zr*NBQnmcIjM%oFlY{Uj0=}89vwr&9b<%xaOVBi3?yKIONpeA8H7%3|l#fgLSaXT%1&b%@^#H zjWR5suQx1N6YifTlt)Th4$7c&_koh8^f{{P>{&olv7NqKxgzfl<}P+{TO@2J#lGQX zohaKyYV)@x874k^HjOnG33@m&&MNC_DjmO`BJ+v+)rEwb?n^OzD*Gqz3&$EKwM&|j zjErXIn6BBbOvJA3KhSkOFqc=Sf0p*nZ&s2(%07FU9spt1?4jc%0A30GK517!_@AO% zZ<;vF)V_ZA4Os2f4R}As{x)ZPtM@Bdl_1e`C6j$Py(%ViAx5XrrQnVCZDJoV~f;G?;HXkpa;i=-}ZVx$oHfQcZH*&#lFTeNuc$e zsVtl>{M)XjD0O?iBgk!N@$WBtk2`=B8RtLpwT|yc`VfceIaw=m#;es-F{1i1vz0Xx zOz~xQ8Qw$Wph76MQm%)IEa)y%SKsjUO7ZNlRIfH6*uQW%-$Fiicd{a?Ea)w})-4FG z?p3yx-$d&ALia{>9wSoqU+meh_TvpY6r;Y6qJ+G#x;Ng?< z(>dJv(-RMOt1$pbtkFj3OtIOd_W^$@+s;P{$idc5dq z{r86FnQavH0B*bUyMI@Yvy*+Ri}0`>qv3W>jBMIPi4&+*NdgB%rck$HWS{R9!W4q> zJ_#_I1;oKTfcoMzQY_1EP^b2R2i{s$TM=;IheU7G#Zk~^t ST33&L6dCB4penT;Z~O<-3X=r@ literal 0 HcmV?d00001 diff --git a/Resources/add_call_over~ipad.png b/Resources/add_call_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..24fdabed5aa8b337b9bcf95f718b5cc98c39bc02 GIT binary patch literal 4907 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 literal 0 HcmV?d00001 diff --git a/Resources/add_contact_over~ipad.png b/Resources/add_contact_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb38ddddc2a542fe14ee9bbecbb44c9a04e78bd GIT binary patch literal 4563 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 literal 0 HcmV?d00001 diff --git a/Resources/back_default~ipad.png b/Resources/back_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..3dad47eb43b971d61b84973149c8836551631011 GIT binary patch literal 4731 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 literal 0 HcmV?d00001 diff --git a/Resources/back_disabled~ipad.png b/Resources/back_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..da4d42006b3dbfd02a4fc2c4614133809d2bbcba GIT binary patch literal 4591 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 LX^UW)dPV&Q#BfB; literal 0 HcmV?d00001 diff --git a/Resources/back_over~ipad.png b/Resources/back_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..4dea8f4c86c7928f7141cf5be34d4890d4a9e24b GIT binary patch literal 4758 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 A9RL6T literal 0 HcmV?d00001 diff --git a/Resources/backspace_disabled~ipad.png b/Resources/backspace_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..825232600a28f8c14c470258feb6b6b6a99a649e GIT binary patch literal 2265 zcmbVOYg7|w8lEIvLnx836clg>7eOVNNk|AI5kf8kl7JX0tEhxzfC#yej3#Q&%1wmg zDqc`QtzZ|tpopy&tfdk_1*=6x7qnQ>rGi!kbl1y*WhW}`{_yn2&N*}Dd%t;}=e>OI zd(KyyC|lr6o=ye;z&SQXl!Sj5;qM#=I{+Y3v(z!`4Cvx@GP!bHwlZ8rkDL!im=Rn+gJKHMtjW#od<(&{`Sf=|rAQM&q0WGU90nAkgt!pMg&8nAG%PG^F35slhzYTnFe?NOL)a_? zg249=9rtEXWgtl+$$MY8#iwUsm>yv=O(qk=#AfIWnM^o5Jlv|mVuj#{5aU`crZ9(S zjeb)KBGjlfsP&jyrvBTnPsbheR-&1#x*W%#(x)B@iqY2*uH%Jcu`?@lmdXB@&3(uu#Gl!>||@ z2*ja6n8%Yub3?<}0?rgSR%^r*S|vK=S8etCjtl)E7ZDmz1*S8|b-J9X4oJ+>VLD@$ zP7ewfb3my=sn%L;>+!tHR)iYVYfzQMpwobF>x-yA;$OmpIiVsk7v{dtTfh~GSgdfo zk%TOsfJ=YRRsBCTW8%RutFHpj1W#!wxO;xKU({_ z$;rmqGSQN`etze{S#t`L$A~%8ueRFf0qG*Lvu)4?a!QG#ZR5Y9dK!ycdr#a=j3#6| zbjB=%zuz#KFNleu)=)iYn}^8<`0EKT-u!GDf#Ovn7do}PVq0+;!G_w`+nD9|ccl$~ z%dXExr#q0#b$5R#yfyjz8zzR@;moaI@E<;aW-r zo%4;?yDK|EN+_HVHf2&(~BFmvgI$&-7|@q z{@mR5)WDDsN0%j^Kct@M6|AkQtgOu6zu(!XZY1(^6;(33yS!|1O76yun0;{GwIE=C(7Ryz(@PYjk7KZlvkMRgY2XK!>d$PW zfQ-w5_5zQRHhJTWTh*5G=4Zt#EHtxCL&iaeVe)QU(bD{=*J>y6(l%mMITQQk^4@zP zWs6fE4U3zOwFIb-^c`#Jx?~yasBt~I;s~YJept5g`I{)Gw#&~n{T-Oq87e(5qLZ$FYx4iI(4l^t+i`7A|HObx4#)Ib0Id$a&l|VAIgV~yA6G@F zqGt!W5N{GH@&=FiR}YWwN*Ou`B3kTIC9QUq-K3fFQ?wc{#4c0OQp!nUmm^Oea=pIxN67Y=Rxo^gvA}TvRx@7sDW$q7Nt)z^-BJjMjK+x@q QtM#%GE0&2GqSFfg13D~ih5!Hn literal 0 HcmV?d00001 diff --git a/Resources/backspace_over~ipad.png b/Resources/backspace_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..95e2137e76aedd7053e49f500bb3b9acf7f68c10 GIT binary patch literal 2312 zcmbVOc~ld39v>1y027Uh5)NeunuisVnOr0h$Tf*jfkwoNijQ0a2@n!Ol)&000i=K^ z;8p4cSk$V!E+Q)Xtla=X@mPzs)m?V$txHvqdUREg>_oxcKYaaT=e>FJ`_6p6pU?Mv zZ>p6ki^=}M{r~`w6BCeB?70-X7y9}DfL9TmM#PLDt32Jh%#>v|!qBChwFwv;a zMpIF>uDIYl8VdmUEJIqlH9a{=s5KcGY7d5CGnz4P0EiXY%xY~eY6UfDwjn=`_T=Vh+;wuv*KuatJN%IGK-3e7)5M`$&$^41prqSrh z>n*y_nu`86j1Qs<(~8X~GZif~t+i;eeq=>VI%Bo_Z6Oa3i$?f~#eg+MorjpTYmI2W zH4%xUVP6mlwfWCqcb2*5d2lFQK zmhcdS#S&nHBxCU?*FM76AOmv8IJ!MmdRJx1bU9|M;|lZFAtiJZHxt5jfCZ8 zT>wDfCnAzG+kj@w?H2VAGNXMW%_^rCiI=&^S>|$oXD8Z8y6*k`?t!pM=Oee$)oA|G zz`ibM`(K?zS>sl+&j&^ zRO*%M8}(_ny7BdxNOp)5Aq|J<)GM>j-h55`^^GgL^tPsNZ`Y#~JAhkQArCn=H)61$ zqoeG)SZNO(^9}0f6>4dBBaNB|xmIi}tc<)v=VVx{8z#G@RUf+8zf&aM{KX!>k+Gr07Zc^JWO7pU_^zXTna9&lzVwXoPidcDn-ty2T z(e@+0tAIZ)m_a-qab?aC--n$f`)Is<)hxgZ$vcsdxNv)({RY~*ay~h202!uF6P}yC zbt+MQG%NVh=AQe`SKEY)N0&1z_x-N4;6iyNx!W{`zb*;A4#K#~NAUBkV+mc{BA`%z*WV*|*7T}_gO7KJ|5no*7#?2|K z3Q{IqXlJ+Zrv|Wcxqd}KlE1d$a)eX8>0Tk;HKA4YW9P(s@2YY}4Gp98NJ(h*jjH** z1@nq7o*z_crjIVRz|ZWnQ)J&!R0rRGp*lh2|1eWyiKWli8cl4H2<--tKu9Z1eltm=TryPkx-x;yuT@5Xg%?;}u2}8dSKXyJ{(YR-Y zl1bz&-o%6o2y;mp-ipgFOtqw)83F4~9ea-VNxszu=&!ZkiGK)E6ggu5B&ma#yZ+Pj zEEe^da_@|WgG0nMw_5Q1tyx3(F-LX0q9S^vCUN)bdDJRw0SWf!pMkTf9}xtRkOaN= zCd^IbjMQIrm9+%eL11T>54k<|Rj*TN#oBDbl~aB%ttD08>3H;Q8EvpznVV|A5Zg~x z4X+vV^8M(rxO_**jd4O9v3o~IYKSunhqFI^AqyYzT~2Ltj@D^wYquSkzVZay`e0va z8)5F(>yDO)J5O%dUfg^?fU8I8C!K%ThGs!6SwpqgE(N8X+3K$XZj7arY>*_WPA-Jl z`T{srL?NzLl?C^b>&CUMt_0~@ BcsT$7 literal 0 HcmV?d00001 diff --git a/Resources/call_default~ipad.png b/Resources/call_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..bbfa08f38d41c4258555ddcab580f107d83dd8e9 GIT binary patch literal 11281 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 I9$3Ek9~7@bxBvhE literal 0 HcmV?d00001 diff --git a/Resources/chat_default_landscape~ipad.png b/Resources/chat_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c14df72e22113c8fde054bde34d17e15634c07 GIT binary patch literal 6366 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 W?8`XU?du1BpP3k17*y+Di1{ClcAGo^ literal 0 HcmV?d00001 diff --git a/Resources/chat_field.9.png b/Resources/chat_field.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3303c1d284fa33feea759391fddbed2b1d8938e7 GIT binary patch literal 1801 zcmV+k2ln`hP)4E89T6%qi5b`EWCtkfHgpkF?3SaLHgb=dW{OHLUhFSPfc!r_y48u@(hG8f? z!!Q({VHgU}FwFl__`AD1{tq(DJLIMAy-0YR%bf7)`bMgauH=InA!LSl<%ZN+y;n*9 zY~jsGTHU^USlyH5^&N>HCMBK8NalfTHcJSZ62_~eR9f~A67t9LhOF%#$@R_cv&DZ= zg-s@19-A0JD-Ue`36O=&b5`X?de<-j8Y+^W@T+BMt&AU_=R{i6K#*V=T2 zH`V>aYD`LjuTKWijo|HeTe{t@=JV&z((Cm!_?-~)GK@z6Zgn~x?HXAmuc18%9BJc{pF}Mcj;2sL@eYFqd z<63OG!e_mzxUOeq$K3`e$At`sL%F!Pkju+ULdXn&U+3rN+O>YauR8!EeN{=n5j&9K z<<<0r-%msKiar5OWMs!hTwPts_4T!U`SL|>Zf*!6Qv_ZCI0pIQ9I8E}Z?#&wy^kj| z((Vl=7XHbB`zcq+Uej}Sv=pPVL-lNK+_~Ln5Dw}_(@X^P! z!bja%@a6g4BPD#hrQ3PjS#XCzbw{gVsybh&VVK#yC}X6Db11ebx+uPIGVK(k-tMU} z(OrTSK57ne_aJqwWa@KN96#lY=@ zEQM#7ITHTy9KL+qlxyW>l*?9l{BanNdyB#|%v=j!sy6J4Hep!d@vWUOF4e%zc!t6= z%pAA$L8Y#wK96+S3J;0HxKIN(<7o=dFmo)tU#=;shmkH@;mraT;~1)gZtSO|+okXf zGq1vXrKlJZEwwmJBK!m)_R#SL0E}QpdJ$4{L5XdAB zTj7hvqD(@d{%Cn)SG=IA-;=-JNb<_AnZ?cj2${`>k|?g)H>_%NaV|TDSy|nVOG(K- zslQfu&+}vwT-Vjo@9Zb!4O%2sH%Fi-PNLhSdB?K$ zhLe-}YlSZq3i4b6zbHrPtZeMWj)uav00i@gb?y3ygL5^$5LD9_WK|500000NkvXXu0mjf=53d; literal 0 HcmV?d00001 diff --git a/Resources/chat_field.9@x2.png b/Resources/chat_field.9@x2.png new file mode 100644 index 0000000000000000000000000000000000000000..614626e89f8d76a8a0f03afcb230095b4ae785fb GIT binary patch literal 3047 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 literal 0 HcmV?d00001 diff --git a/Resources/chat_over_landscape~ipad.png b/Resources/chat_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..e5893382306e984f2e605b9ac2d74ac55dd746ba GIT binary patch literal 6384 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 literal 0 HcmV?d00001 diff --git a/Resources/chat_selected_landscape~ipad.png b/Resources/chat_selected_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..68df461393f8861535d29b4aa0d98216c03f2a0a GIT binary patch literal 6351 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 literal 0 HcmV?d00001 diff --git a/Resources/chat_selected~ipad.png b/Resources/chat_selected~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..ac50aa1f7df531c41ea4e70c8c2b05406e9bcf0b GIT binary patch literal 5071 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 literal 0 HcmV?d00001 diff --git a/Resources/conference_default_landscape~ipad.png b/Resources/conference_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..12f4072e66a2c9be97e68eda54e531c3f06934aa GIT binary patch literal 6132 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 literal 0 HcmV?d00001 diff --git a/Resources/conference_default~ipad.png b/Resources/conference_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..12f4072e66a2c9be97e68eda54e531c3f06934aa GIT binary patch literal 6132 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 literal 0 HcmV?d00001 diff --git a/Resources/conference_over_landscape~ipad.png b/Resources/conference_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..edc71a961fb5b2e159e28b36f9ef2c9b409234fe GIT binary patch literal 4138 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 literal 0 HcmV?d00001 diff --git a/Resources/conference_over~ipad.png b/Resources/conference_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..edc71a961fb5b2e159e28b36f9ef2c9b409234fe GIT binary patch literal 4138 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 literal 0 HcmV?d00001 diff --git a/Resources/contacts_default_landscape~ipad.png b/Resources/contacts_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a18a84fcece0b6f14a81beb7c92dfb114fe188 GIT binary patch literal 6776 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 E2S6+sG5`Po literal 0 HcmV?d00001 diff --git a/Resources/contacts_over_landscape~ipad.png b/Resources/contacts_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..d9fa24f106d4975c9d3a902f71c2b9f333bc886d GIT binary patch literal 6821 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 goR)L0 zyMFQp1^}o4h<^isi15zo9O&Br0t|qR@Ym@a_z6FSxc&wJkQ$)UOR^zqSRuy@Z(^OA z#R?{bSH49_^{+LL`$ndM0E4AKJ&L%i#tSPZ_|51E`lHA5=NjU-BQA9vxsm}y=-XKj z>qn(9_|Mj2dNAg>m5I$I8D<&N)+f{nBROf`em3>UU1AW+J?%6bVNbaZmhv=`hnB*z6U1zTIK7a_60z z)ny+De(@`&|VIt7OO&+IN4DMMOI*-Bi$aEX+tjeIzV*xCDD-zTL5y zw;|Cjvp5A+C1OR{t**J&)Lq-U12}vLTfQWkA^Eg6^xYn0tlK2Q2ijfJCFeT)# zvxjyH-E}5^(}$2tyIps^d*@XB%M(W`(64g!qp`f~VXUYiNkP#QSUzZRw$vbsGhDS)|8?&${Qk|2-!@>NjUwVMcY z$oGo!d&!xx>pC%%xZI{yc&M8g6IA5&h}%W-{j|fZlb0bfF;!!2Ew(TE!9?;JS6qBz zhJ^FLf%?*CmF+zw5;I}39&y%L;inUbnyvhby~d+U-A#@wo+2i(N%EB~^iy&(n*; zpsMX4 z@}%9-k&b;go zrKj>1EYw8%@!?=bH%dQN=!BNmXD?9~q_$8R)09Vs>t!sBmkb6+#|ExL;D`B6_mPn6 zeP&Uql$)>m6R}T*H^+cpc4glK-7;W>oQeYyA9BZ~{XR~yPx@E+)NNy%+?$qG7eObj zcNFwlzpRMLcmqepF;^m>_KP%4R?NJlO5aUi)@Fu(t9EzO4qi+ukPx(?Xu|L>@3mE5vDJU0ah*a7y%17j%hL3=~Uov>F32>ns7K? zwJr48JLgfM?&8)*v+$uY%lGCt+!x;tG-O+wjnxU7Xy2z1Z9*2f4MnHDzb=gF_4V9g zD~x{YT<~bZxVCh5v3BPyTbT({SdM0%%Q|h`8I8EJud8)wRQm80Ga-dxqye7j4|RA; zHH*;#rmcF|w}BsN9~UTKk_Lr2(Spq#@TI$+za}%*S_yC7b&4V3I#oL$F~mH2v^gz z`JLd4Ny^RS)EpV|DY>+mPjjcf$&#+2|D~h-*JV^8`uC|Y~g5U9Q`D(k$T*zYHRAJrPhi5DCDOjLfVf#8;YCVzZ zJYcVgMw-kyZIBApD2?mXqo4}K>)Iq5%^`WvGh*pv~6?Y32wtnD8$#g z#_(};h%cK$Us>LwZYf^iTdAo}eWgMcw?C<+g|n7RRC&K~NuEnqb&H2c&2WAREaRX) zF!0QyW8#F`v%Z5~QJKA{>g^lrDjiGGN{6Phg2?So6{L7QBvAdSGH;)tOJ~o8+Hvc` z`jgQNHElD`lG}G|N?B^#i*3e=q^YQ;VdN@QSrO`Q*C}VdQ!eS&`B+@M?FYAfhV7|2 zwDg&)>!6n&Wi7427un(;s2FyQ8E_0 z?ls3@0Qeli?a~S51Pt|clM@E3eo=iV`Q6b&xnE=V32nYz410{I*eIg_(zRoFD;uol zF+fQwLO&F)u^ykov-o9vvRRU5thhfvF$i>FE{`AsknGKA+D2 g%#r{5Eb-mtJdT-}3i{af0zi0l2=9$6)nF0-1<>&|NB{r; literal 0 HcmV?d00001 diff --git a/Resources/contacts_over~ipad.png b/Resources/contacts_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..af988650041cd84f42272566ffb3872305490ea9 GIT binary patch literal 6407 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 Bi;e&Q literal 0 HcmV?d00001 diff --git a/Resources/contacts_selected_landscape~ipad.png b/Resources/contacts_selected_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..a392db3504d76cffddc93a98701d1ceb702d21d5 GIT binary patch literal 6827 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 literal 0 HcmV?d00001 diff --git a/Resources/contacts_selected~ipad.png b/Resources/contacts_selected~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..397f71f8c47fb50a48b7e3c1489cf4d2736ca12e GIT binary patch literal 6207 zcmbVQ2QZvpyMJ|2LX;47i4Y~M&gwmS?`@S;!!CC9vP4TrL<^#ZAR&l|=t3fDB%()I zCD93jh_-uIzT|)J-1+9aGxwc2?^E8Vo#*_{IWzAaBLgjJ3Kj|g0I0QZs+#}+0Tj>Y zkdxv$x8$KWc;O0C!wP8%cS8m_`NIGeSGY3_r0wJ64l{u{xrX@l!Q=se$j#Ht3TdUU z2XTS>2s@qI2nYKh@ZJC*uM~`Ma`A>CLC!FDPhSP@?Upy(AWv5XZc9mhus%W!=HYoW z)E{OVYGCFP>g^)y%B`dbk`IR91Ngv@PM~0)TfPC1Uf)u zxcWDOIxN7&-xGoKg!_WdBRV<5QAh=De5L=If)7Gp|DV9V0e>2WZ<$E26GB8(7%bxB zb3U)%)&WQp*ngMtZ>K{XOxE;&e+L z?t=1x`69K|6}a(Vgk3#dAz&#@Nl{s_x~RAqSV~4zR7O)mO%p7tp`xatDj@@w`5WWk z`HHJa$jXYU%BX3I%ZiF>h^nY)NT`X*$Y`ocNl1&UNdEQJ_6Q6r+=7?E>u{134F zRpAkM&i(^^yztNFf%)Qhj6Z&BkQ1KoR|dGYx{6uwl=CSLr}WN

)KD>V-V@=l3jK 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≷6qniL2`-$QyS=pA1T8Jn_e*{;v@Y~TK& z+EzKVa-Y|*G!&XT8f_rToKkf5K}JtjpEJ-ul9mPcRzA}D#3qu)=EDU26?N&Ug=aE#%(M3!oOR-)s*sQYfaL0 zX6p>B@q^F^WLaeXBdmDI!HsB;yf?u+a++N0;ie*kQ)ZC+=cj5m7E5Di219<`i_gA= zo8&#Z;g)?fRi~+JZD+N#uwF!;C0REn*M#ggOZ%}=P1I$E1(K{VW^neV0C}a zVP?AKpx+qh;>DqpoP}~uPM%9!rNQ}GG@5c7qxwl4hl<}NB-FC+vgg3&x`#PZB5;D( zyK`sx8RajL!`S1RjXd0J&W106>n;iQL^GO`X;Xh-7S!Xg7+=o~xV==b8$cj=uj8v)CY0iJ&>}#~{Jf_> zM~2n?9-5pA-GS}^{zcdb@dwwR^Xr`8`9I|Mk@n9QW)d9b5N5VZ#<<&$Ey`^wvve@V z^$R0;bllZ;J6A)F`DDJUv8>E+UwMxhf6=r9Uc`>_e%a#SO=tOD^F+)J`txirfytl% zeDQ80<>qVlm5IQq^16{>;gLYMqsU%$rxUT0S7!>iqfaB_yYlUQbih*(fCfkb+73V& zAOaRM&c4p?Y0Fa{ro6G=X@EO4)gA?K@B-e0HA;?BA7?5*mBOxcX+<)>8GJ_y)hFH& z$ub>_3EtSa5jA)+O-#d%eid-4^yLtXVLp0i|E0LEX_l!cq({6Z{%++Imwiys$%f(< ze9rSQ_!sa*F8T~8u)d3}?y$fW02Szv!``n)opX!W#ejpYsPzR!CNEp1@NKw80q?30 z_E>VKfXN}5s!osBRC~1=K8mWCuphhFRM{>JJkgg@5_7J0$Pvx$X^=WAva)kSj<4S? zxQAQStZSNn*EcfQ*o~SUy-!1XWamO&Ag_>Xms1!0oq{qR0LY;L2u%PGgU_1)5Hg=D z00OFW#d&A&iu2Ck6^1YS`N+kn05E!8I{g}&pa{2+`gcTv5Giw3I!17{S)TA3*w6w)HNeG)8ZJfz;kUD%Z@nIUo1FYgKVC9@Z(2^0yHaQ5 zHiJf5bZ`*l5z`xnET8$j*8zfbxY&sgcAK8_3&~RPJh;1q+S)Xi)uVJay67X2L(>q% z)b7-bWp%kmN`F)TVEQzOFc{$7g9RW=TEaglBG%L6VpLs<9$0YNPQ$TX z``_)v3e(oVkojD_cer_`SNzkE{`gMS`>yYts$(@SyR~rd<4}JK z)z#R=9QFZT%Ul}a8jL0{g0?!YXjrKOwdbIE+2#k7Up+45l(uX0!v%CTZI;KoHABqvK2^oOV9 zkMTn0ubOi#_T!C0$TIVI58XLyOh}hw3 zl1l}4n|CAxdf%Nq8;BK*h^yu$YpH({F$x=f`Gv`5*Ezwvk>nEQ4gK`pgT8_G*&=r2 zE!}5|-COtVXdQtX+rn~^RG!dIhsJW8?p!+V%Yr8O=>#hii54wY;mpV9*=UA`<)lD&`dk zZ_6{0(Tb@eoiVG+4=v(H8gQ@M@4ZdiB??BJ*gTV2VP!1+sjy9olRTI!VGQGUYDup+ zR%lUZ9zr3_itg~QJYrnoka#_&-K#yb=jF3hjP>Rp7>8II8NQig1tj*uccLX|Pqkyo6>ICRV(* z`qEHCC~Zur&_&09jr4SZ#lBX{s-Fqp6j8QzbV9tBfA~t%k&C(Fa_(&n=AVB^VPUV+oJb*hT50fY zzY3^6X;Qti5wo{-j>8AzD#o~&NZ-QNk%O&%>&L!ihNH)8ccy;S&x0ME#`O;KT+=nx|^HqjJT#^=x;-wTaL}$4;`&gzI}nO!scSl&BWr%ok;bKK8H10 zj8fcT?Tz;j2YzkpWFy46m3J=R?H;MXAIcTCL&y4HB=GacuA%VTvbna zI{Q5M=6VGFBsb;zo>IhSmPw5U4DxLw)(1agR=7xpV^AFt#dV*Lg~+PVi5vOOQdMDN zI*E;0jszg|L@YF42q0gg`+E)k-&X=T^grAj&-Rp(4MI{`j0yA3f9Y#$7^qjPLSz05 DYx*k6 literal 0 HcmV?d00001 diff --git a/Resources/dialer_address_background_landscape~ipad.png b/Resources/dialer_address_background_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..21bc36a511f8ba210c0b919b1ac56f0279913f0c GIT binary patch literal 9184 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 AS^xk5 literal 0 HcmV?d00001 diff --git a/Resources/dialer_address_background~ipad.png b/Resources/dialer_address_background~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..302d82d5d0fcc3b73acff882e33f2538f8747bb8 GIT binary patch literal 9825 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 PuTK}u8Ud}g@{Ruwq&V&> literal 0 HcmV?d00001 diff --git a/Resources/dialer_alt_back_over~ipad.png b/Resources/dialer_alt_back_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..a2105442fd10eaae7b70f6b8ec8c8c0863bce25e GIT binary patch literal 2638 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 PuTK}u8Ud}g@{Ruwq&V&> literal 0 HcmV?d00001 diff --git a/Resources/dialer_alt_default_landscape~ipad.png b/Resources/dialer_alt_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..335163e0f8e510feda1ab0ea598b7dbaa57f7560 GIT binary patch literal 5056 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 literal 0 HcmV?d00001 diff --git a/Resources/hangup_default~ipad.png b/Resources/hangup_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..0c88f12d73c47349ce50a5167b26d84e12698193 GIT binary patch literal 8498 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 literal 0 HcmV?d00001 diff --git a/Resources/hangup_over_landscape~ipad.png b/Resources/hangup_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..00fd688b6bf44fecc4e3ff6a96babe14d3f597b5 GIT binary patch literal 5117 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 CydZu6 literal 0 HcmV?d00001 diff --git a/Resources/hangup_over~ipad.png b/Resources/hangup_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..00fd688b6bf44fecc4e3ff6a96babe14d3f597b5 GIT binary patch literal 5117 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 CydZu6 literal 0 HcmV?d00001 diff --git a/Resources/history_default_landscape~ipad.png b/Resources/history_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..62eaaab9fcaa37e74886bec2f446b5a4c7ed8829 GIT binary patch literal 7466 zcmb_gcQl+`x1Sjky(dBlCVCR4sH2Qdl;{!?g3*UCn2Fwrk`PHmCqxaRm#ERAw;);& zqKjT5>K$*p-@WTw-ye6~XPv#)KIhr{xA)oQJSALP^9~g`GdTbNpi)&))CB;5GXy@L zl$gMEO8PMoCfD#vhIl=!HQo*FVg-=1#F|?{R2|SZR=QSbOAqHxD=7eg$Qq+>h&R-@ zD`A0kfTAyCpzaP%1Z@C7O2*v@ZDDVPhnQR0U>s2#o3#xb5R4^?!$3p>uHmF$Ws6bq zbg|O&)YP}|w6_qqq!1rdS51uWpAaEK@ZiVzYO6BFZy2*MF?7+esB5EMX&NeBr_z~PX;E)Ie< z7fWjiT}9=;Y!PNC4qH6lNdg9Qb8~~b2|=+gHZX*^xcCKzpr8OjLICICh)25%IN~_} zMo_fES-4=F@EEKk0foaH94_|t zhcphaYxUo5{99?9zK4?)OxFsBed1z4$cHuO-^zs8{bxfLf&_0Qv|KQRq@W)wVlAFH zSUKWV6;T|7J5WoErG&DWm@)z(CJYx7go`2(2&A&Gf-)STB&VPxFN}mE|Hk-ty2A1Z zWf5Uzc?D%*Ap}ARAt$FKtbjlwmE}c+#f0QU{?=7>#NpA77FK`T#SrZNr7QOzbtM#B ztk8I@i#`_n`0onPw#DMHI9sd}L_tpkqJg%+I9|*z((~tT6|Gz_u2z=HE?5W1AMusI z{2Tkq3J4KlMI}*$=wJJm6IE0c6ci^El7b*oPL$&>UCaMV%wPm(U>C*lFU9ir5}^Vw z*ndi&F!`r>tQ-j)<3ebS418KCp(`J%D$41*e=|QhKbL7y0r7`xik=$`dwes_SpuBEuOxe@Z!^GU|{t2N7LWBdZ7)EN2CQ#GrcEI?+*)pH} z?!1x6bC0KQ>}%?5Z0c0iX62i~kNFBMgAkX@h-hKp>>4VfMRei<$}G>q8jUtXTLH^d zFC{kmTY(aU^mo3e$}}_`F464lrTP!vrR1cH@O1y$lEKC{DJ04_=1p96WL(Sn9SwPMAnqh~?`~_(f#=h$y_384jljw53CkA(P@v{jJ~T zc(4(RC#R$kDO`^wH84l7R)UhTvWt3h;1dPx@T~-fi@H>Mi zOM19(xzXHN{h>n>b>T}80{~1r7sgUCxoERznp)+Y)z-+!L8TxaQgTndig>m>0C>4? zH}Y%1M;ckFffb3%Isqb?$^vph_G`)4!6f6dz@?V`l%~KrM(z<-z-$nNIev$lvNnW- zZ}^p@IT?i|Et_CQtc;&Guh(aK@C&(ZTa?t#KaJZ~l)ra?9KGx@V_r|I2}RH821}8# zjDx90e9jKh%RHDb9h@~b&Q#5GLP%aHcQ+*Gy+qY6+?G0yN%pSp((EGI9e;i>vk&jM zth`uBd5gJb%MeU8|6_;$-8>~rezpfT{Nbfhv)jcX`b+3?Hn#n(_n~)Clpp|b>|^XO z*qkrXHcL`njxX%e%_;p%7RHTZl2-Ozy*-+fAV>16#>g=eUGjp$hc}m#k&Mj{)^=w* zj-^If;*jo_IG58mkF4P?&*NOo}JD;-&(yRQDj z)fA#h)%3@~QPl0dDsRsD`n)q(3l+Mec7wskG*2qalN(1YatpLj zhTE68mh?9Fr`4l+6p5YmvGA0zRus*mWW){rx{1KcM$WZdNbWNZgRst;*K#{b71oc@ z{NF(bt&ZMCfRg8_*c?>Y5Y%(Xt|Wjg?o)+=hG6A0ji=YSkS)@Wi3IWoTUFiF;7wj| zxj%q$!U(RE`TO|0Lic$ z>KdPrnXr=Sl`T!G^U_RrI7;~3bgKIPk3zb7W2&n+y$dLl^uiT54;Rgm;?vBzL0h%C zqlzBu0#rZ38iVGBR9|P`BF&4NLm%Zrz1S;Ht-GHR__ zQzg{jbK!fNr6bcn)Ob*8MsF8 zdj5djyWN`o>^K3#W;4vAQ+FyxaVcL?t1Btu>E_kDT>X_1mX?BDgO1VL{51>OX5@GI z;O`oPL6`qzuEduU7rnSO5E|^ug$JaoMmS_V-~J>P&fz7clz}UH5A=Sp9X-S!&?v}ye51c^4rQ| zPF40wa#w=y?^$}(e0(q{+G{g0y=kp65|!C4zPZcOjeETlL{ndOr4M$bswd>XK<}he zHBi@N(F248`KL2 zDTfucM#HsuB{~$>quC?XXWSw$_+*;%T0|}<)wnBte5l-L&oh&!!D;CDk!K_>JRvME zDzf-S!L?@+?9=u%2EVm_BzERk?LVL*0V>?IPVdT~6TL2~fDulVQ{R(7>#@DV-ALIo z4%6_9V92$8CU`sl4KYp%YnS8>rlh#0som6J+>E;+dK&Kay|jcKk-EG?)c(1rF3)aB zi_=M^6-j?%$34cK5y8HiD05Y#R;a|-)tCrG96yvf8=D_CqY~&>L1bu73kQIR0boi1 zDH8xl^gnqMEyrI+;b>z3=7(eEb!Se>B{`tuXH5X8koM^j-y|;uz4Kd4M6tA!m@e^a z^R^fhjB}>rN?nD|$FC0RYGgP+n+XxDezFVr{OgMAbugtzxLYDA*Yf-KtFnpfx|xNG zoAdG2wH4`-RELaSp3Q@Raoq}y2ohB?;;h8X7t#uxXV*;Xn}Bjr}BJtGC8 zlod8xCPptS=Zu;*jPGm8uwU9-@indWBKcmy@+blbj8hPvM5)IYuiqc%44l92sHVJRG`1eG6>N#vGH5GmClq zFf}CQn52nxUU#AC3A`=MKs-RT1)E%kxu?eq%Y%cM7F4|`tp&nAtjVk zAgq@W7F$qOw0>|Td4A{ZI>l=AVq$(6w0?#DdX^BVur(l_f!Z=HxDdeNaF1NZ`-Fek z{vK3M8pH{2Ol!Y*4kVp!w0Q$}K+?cADnC(cQY1xquiivH zL>_scPgPv0{8;^(9#V9L-P;Rlw`Kk$fh-m?b$;}tgCmqYjY4Sa6x&xB9cU9|)%(gv z;H6J&3;9c$fFvuzb5&xT6#@)ss6A>uFf<)cUO(?orig`F)Obo-s2|H7V$L1|?givP z{i?CVZz(^Y@fj+g3gDWH@EObdp6&`58kE4+{BQM%x0^}krUO@=`#8v?S&j0ry|isuv+zlr9|#D*L7apP$0`Z!{ISq+3WKZ}So4vun-{ORNy^XKrkUU}fjdNv zt{{c-hsBH};T36i@k#^{5z<2?nfCy4)&kH^#Qg%|$uzSia4Z`QrH-pL**$A!Fn#pL zRZ3c`JK$>^yg z6{XHvF#>A%Ci&JJ?foki!w}f-@9DZa=O;Cx&^R~Ku_Rcu1N$H~Ew0FpeeNK?56tQY zMcdG~r|jESym|tVGqWWZbrn5>hGRt+nE6Hql?*zUHL0TF#JsiGf!D;hsYyWe0Z}m;0h|ih_<`u0 zW+Q>5Bv|kBNGc&XlBux41CN|Mcr&hMS98FhmYEgn(bx#11+A_b# zCcg9TqqDr59<8lfMNV6QfU>?CUaiQAlT&(jf3_+Lb?cAq_ogZQ8y^L->MH4I9k*jg zf9+N73py|d@oUsDz#UHxTRxc%^;dXf2c!%iBEMLydR_Z;!)ZhO(UDVsWsDzt;?v*N zW2fu_(-c{w(lzI^zm+$9ZEj0~IGy@CYmY3m3hT@XXL1#u#rXj{(^S}kx~oP!qY4iU``?j$5_H9QbHov$)NGd}xZ;lVtk5wPuWuJnXteRVb}vi% zo%S`|ndzf-Bj@h?a5DS5tjAZ(%8x2;amn%NxY0sMnB;W*(Y$jv!!yuR&!wTPZKssg zCOV{ExMdItxcKPR+_ru_LymSvO0KL~8}}%3~XkY6Q!>9O`ehOqt4$tR_7& zxzw)qz#W5r%c#$?<=TApMV*lmnLD{c%Ey>Labzm5qV6( zDpd&e^Ez^W2~EnPj>d#RTlxIKApvfY$pQUQf%-?(-ATvm2tAsD*Q~Tip*I@Q?s~rZ zt^l=V>a>X5o^k3f`3?%w{wdIK*glEa$14MWsxETK|5SYK${&g8dBx`bL>VL5DRP5O;%DKaFb&Nwb zgL;6usyg4hF!%7!Ocv?BL~|tjEPS7tBGUY0-ei8hFPo;jaZwcoZ1u#I?283M4-mhLyxplUp z3IDp_2^+h8-IMT#FPX|Uth;}jC_t-<2q4I*KAkT(m&)Pe_R)x7zh~uEK{)+&yB~<@ygL z0rMz-N%VJ$^>p_6_ESiz!01;)=TL2}xJPe4w$BHld_nAh8rH@on8^#u8Tof_<7u}&FSuPShkr#@4|^$hOAGC zA=e>pt>dtya-*T-EO{=p$4;EMuBuEOA`?)UgX^wB$k8zx&pb^6eiVl401)Zynx zmM4a&F9U3Kp;G1Kch7z+b`6gng}bbv2}G`#(5|RAPU)sS_jfP~^8AS_8`>Q4DB^Hr`nn+$PV=Bz)c0R*_UQ5HF(g(7{o-m<2-DDEsg{;RCmq z232tBYUv`Hh?(qoi8;3THdWIPvRXkpQH3CJ%H_1Smt;W7`FQ*HjV5wm@YNRY140xw zZ!x%DGUrJLA+8O`A|l@eDVeA7o}VMZvc69X*ZpErrkh0g2i^-KLwK3}PC~lEnR)8V zs~Ao_B`TKWWD=ZvlAJ_%lr1K+hv)G2G$bG<*=z?ac2zH(I3%YgVO_0tl{~oCe84u% zP?E8R<>msa<;JOP)`&#mhNG4J4lj@r;8VB&4K5-+X962o1Wzef*xs#LG+o1#<1rU- zfG@v(KDkLYI${5QFM$Jl8vp>q|0IY%5O6^N0>&RiY6bvYkSu`c9|8~%{vg^$0N{fB z0mOgMKQI??7cfk4D{3I|@QP5Got5XKP!Hbn1wOTjHCQ-m$8?92EA!T-B*4y_4-0hW+-S1$~qJx(42y?0t)z z-&KV0tqFO<{0^NzOmxM6i0I|v{$(L0*0lZ5C!K`@V*s?2lBptmQ~@K{UcJR8v;9m- zEwsrtNF*6dijieymCWq&T}ZF_ow}jgJ?1gy5J_ax(!JN%a*Ns}RpCw>OO)xZ{rv3T_CiZvNgg#=1ZQ(Hq{P&azse9Ge^Va@>t2KxIFO6g* z!^1#V2g_LwIsPn%%jUW}j-D?%qmQ`O=-nr`k7^h*e_cH&oDl6EuB_{i^sZFPav553 z*x%;#sVDpKetbiaU2c&({#KW79*p4oC$1z+xr<+ko4v~djq8?3HtH-n+pHr?1JoIe zHG~lU5QV9Abb3@rUN2*r_REI}6%B|GKaNs2cw3aq-R^~jX+{539b0|LRvBC_{M{I} z<0f-r7+O}>R%}vBW=e)@W(32Dm6J6@=4mWouG!C+<6=ioo9?6@EJ&a|P)5V<7M1j` z>2+1>ih1lhPief`XLCn0%DbCgj1Ml~cQNj@kr#83XEqt!s`fe#q1N^|-I1`oT4%qL zAf-I)EH#gqml$F~ik-jk?I~`H*eeHun3e+vf(pdWnb= z4|2&>p2%*%WPVNdt$IiwI^5JDTG)EEJxW!?Sl~x8Ub6Q2tC0YUlg_9rp(6LJb1F!> z)qNK%3Ud`76_j45B5Xw^Ic<4 zRKG*$h(#9|%Bk4`iDVtj1VgFlekZHO7s>c#vs~jDOF%`L%&d|Qh}~HGiGDIzY&!CI ze8Sl0b?qq*A?W|J?=iKqPbE5TLWrbiAB-qbk?u?f`g*afN@qJKqy&$<>JLnR)F zx|?uA3gMyV$C?=tmy{(<|5;E+y=w>^z0~7q=;>47*D%aW^W^2kyh!{+g4vt)H+o;^ zCK?Q0D<_?b&p$^JP609FZl83|)Ipr4{Wa~^KI!AMmhc2_4a|NXA;$^kSWnu~4a>AU z;oVL2HF_pdHpnLa8O>jf1E>Q}OQW%G7XE;?M)f&K|DXv9Hl}N;SIP_9qi5DzJuUGs zy!%4x``b1SVhK&(Vs(oJ;vXO!SoLV9-B4{R;u2_?$678Ur^oS*d|QZ?R{!U-yk^%< z%d~~#=X)W9)sP#+?-K5vvIR(0F)T z+Y{{3ChBf@KQQJu1{~_=Pq797G<8D#F>XFs0>~BX>5bEpSgU_40rGa&lCV=kL(u;E zSTFAjVS!kyFjH%{FdsKHcL^PBkY=blg}@I>z<@&id~reQp;{7u<5j1~znA4DK!1Y} ze6%F~9+W-W9HfsA#DbK-5IHx9G6bXy1w&zqDk>`HK?)EkL>{6b4^@zZs;I*h)FBYi zpHG6~EzsRV-4bE&#}`G@lJFuB{MF^T^*uqpafNeAfPY>h_Wgas%oI9ZvcTJ;rd8DMOBFEUmX9= zRt1TKAXHSK`UWsHC=>~W!;y;mP*qg}J!M4|7+mQuTSHtB0fTeH{^i%3;`fg&jz>n1bm=19`E~C2bg=|3HTr{ygx|aN(qF%WiZ@7W@-f!@JbcY{E@ALwuO zRrmfk{^2l1Jw1JhG8FnJZ@4l7p`f5fX(W9GRk*UmA6xhTPtD{h!N~t^j(=&Ezm_N+ z_*?u(>r<3}Tplcra$^E1R|B><@d5zgIx$4RtwTp#k4{c>+RSOrdnl*Mma$DAyw7dh z&4%+OJO{7=HsG?Kf%|$h03{Zzb${OzBlF7gas^0bIi$S2B69dXz|Si(%1cC6NDX+g zhzEQ9_=s-$v5u_D62BlTm5IH*K0~s4*w@~+&%N$xqR$3XWsmw%d+az=jIc?W`Wxn|pAC2{p1bF76?@3V&M@8k00BtI)Du%@T&O^>+@lG1e+=l zu)|svnUR_GOYh1qBj#5Nre8*wxLy?Ve9j(^=U?SjCK`sDJZVvJu)0OJ zDa+3~lh<39D-B5D+}LDxNr;&%IXOOnW!*hPl?xRB(w&0H>cVN@9Wn5Qt*uxIrfFuB)LzZJ+~pl-czK6F$z!Whw7PdrwGAz|8UzJwMaD}F534nEVBImyeEPN; zPjBAbTN|HDi!bnSjnmM%eiUhQG(1i3a@dzS&CjvEvcwnng3mODhU@9cSYq3HN4k}D z!NCvStXuvPg`D9ubK6euX{dAWe}3N*1)GX90l6`oyF-9c#(0Pn8JkiKHfZqzQPQFO zr~|2V0l{T11sD+1s`PGtuI;EOZJy3#?>#=9R`y-7hEU*rSG-YL{$z`n%*RTf4rSJl z%EMSXy$3)e7`}p3uYs?+h4pm$e5nf$&VqzzKfWX%!)(x!ZbvSlwM+X-WPz2Rl?>V-VL;Nb_-&8A~LPLz)zH`w`I-V1x zjZ#k)g7NpY4^dms9WGOwdiFoH58F7*7hPR@NMNp>P}dYxuQA@4lk~hhYV9}G#7%zo znRL;*k@SB2(p*Ga|DEeh;|~-`=Cv~Ol^;5PBGa&RczZiEGJD`BK8}WaXIAyy+>cHD zC6gASb5GAL>~tA*wT)Hgr@eOPpZo6Chg7?D?7Yo-hc?iiTi5DR6oH+z-Q9(YLa&sQ zbkb>+ws@{))3=4nMVuC;Wq1F?RM!#jxU5^T74=@3gzJc5oxe!iQR!zNjg#EIBa9vv zpJ|cG0R0)XTv8dd_gwOkM@-G*Z?>ga5Eiw03{vm;xm?F8{NZ0}1Ezb{#g+zBq_e!H z;tGt3FPPOPOZ77!pjv`Q){L{h&=<&gu8s+0z+TicXd_^4gjbLS_tyQxQk^*qy)@)y zdfY>@a!l0A+X`Rh5geYZs1oY7Zt`VE%|JS1){%+cYfEc=`ZbcQilCW*`nI5+o3))< zYl~D~Wob5JIVnzE>eZ&nmZ!do@GjwmmgSBM^B8Z`_r-8J8aqscS=Aczn1?I`RFn=R zP1RN^0zs}t2uzON?tR@oc91Io!4jE3#Xe`314Z2>N(bKUv{u|0wiU zU8B>KhSdCn{Ay-%?J5DCG6A{S(N~PKI{;iTJ zpLg_H0EvfK*EkbO7U?>Im-1SEcIQf~e;*l~3iNq8qPU!-8BWUWY!Bdj-d?x*Rykzv zQ~xi5V@@RJqw2-Fu?r=4z!lZ~mnX~cxe?F4q3R57?-Y)Ej(!EO*)+E#)h;0(`Asqn z^`-hDmm3HYOQDHdgi!7Ip+$|Jk88xj6!|o;Va7$-Z++L0;c9V4Uz57>INfz#^^{uQ z!S*|`I*(X*WD%6TOPaKGOm8fGT0`dsKjM5+Z)R*;?^0H7V#ynkGiDc&)3$B8%>TmZ z=2M=g;wHls>7`-DMo;N|aCO5&tKJT!J2pIJ#jtZChVu`I?K#8OLmefjqAf@^;Z75g z3C2iPrEFq5%E?*bi-rZ`wtgJ17v0fKRv;80L8tqUa$^6KqUTV6-R`Qw6iKEw9~MRl z@6&>UeV5H0ITCMwF$NpupA|b4JG?%6wz#kOjbggd1$Z>wU1ghMz0K3eF9hfH*o{yR zvQJl;CrR{UYrRIC($5^&T31Pg;M%x_C;t?7`=ExI#B|*BE9i8@(dzP(KA?4W)VcG& zu<2ucTde2IZAW^@{eXkCPqb~alNIGOdPl$o%z}k0w|{RPF<4G*AT`^IoEl_oYJma^ zOGW82RXyPod>Z-bUD<&0V{N?s2k^xY+?tP5`~s9dRYj0ily`@%cBLotRo;&7^kfxh z4uZpn_`R2LS4Z08F3o)TmJ@O|E64XZ-9)A4P6$sW5b5kfMr$lkCy2BtjF5_-xLqAh zd4B=5zMMXx{6V4S(>uA7C1%+gR0U1x#ULv3<}@mXU)5VCl#EF4|5!k1lC zy*Y!j(y&=+&raEy`Mk6ocY`DIk*qf5Gs z_6eJeiF@roj5d#k1If!VT9K7%3}PitEg_<-&>*KqHrZREB0Veyw8D&=W!idrx9y+l zsAc>5;ZMsumlWI@@S=a-mGf1%d9$oBiR^zeKdQf{&28Uwo>hsrJae>)RNcTmd&*xf z)`yrpP+rJ@h4Vhv9NO4j{hGJCnBiylfLAQ!AY5f=z?7<~k;ks|jx2qEXLnWI?h2Xn z0z;OqkQB=DZSlmCb_HDl=Sy0dDDN<{(I0-km>(I{#3s&{IX;h5m-d{S0$%vsKK$`g z=ibU!?Sp45DIzz~4ON}ZKSlfn=-$+de?KTOO<*5gTiSV#69*-ByW5EIy=|!8>SwsL zBKocIUih`0XIx`G-t0SyJZm{FX^SbuUbSLY-h2r?zS_qw{O-KnSvS@$xgN0M*9Jev(@1M4grC23eGa#W zCw<1;o{6^4jn=%09-O#qmOgLLe0p>9meLxa=q*dQCQP*x(HKSD$=dO`x%Gwuu~Kd1 z6*q1fHSQW;63^)5=D6N`T6}G;tT-ZI*5fey1XC(1tv^^a$J8;KA*@Jw?7@KYz^!ns7CAEtTAJ zh*-=&BjsFg&!>Ob(r}W|E>wC0auP~>b2xJ&`(oO~nI+qPT;FaqtaP|+cXdtUe5M`C zbl+j#D`2p+z`HRyl@1s2v+x%l9__^wCaIwxo70{=mkHUL4aF^U)2gd}Yr) zlM8c!!Mk0{KOMV6*oHq$u<7I>Sch(Gqs@cpkFkhN9#K~QJHO+20@XYzNQx`I1!WTOSRu;QI zYb92Vf2~#?SbIQKV(TaqGE4*oc`T?~;QhiO7j5tDai63 z>u$mw5G#;JKuF!~eu`EXak9)d^^~|(lO)c$Hy*tHX?FvDL$=6)#x_NK3w0$~;PmC# z(I`E*&eH_3evi$cpiW?WVz|+~J8aM&*?TtbIcE>EcYQk*jqS+-D@UBWKt9tQGYtuS zi5O0DhmC^E0Dncu9fzN(0yatGKulz8WmOfnM%AVHhghR{E9Gq`dEEYp7LXeSq9_Rv z06>D}zn`(|x3sysJBAEl+R!&X6Rl(Vm9O^`x~aUVEyW&by+x}is%SN$N-}muL?Dii z-;}&7Z}()=UmsV%JDnKQ(@Zkzzgb8%Gr8ESbzWh(T2r*9<|m3>bE`daJ^FZ<0q-Ui2~J)9c}yhYy0M>UA(YVwGm&3RVmMvAU`Ef zTj$cD7PZ8y=W>f$3VeCRK4)L&ons6C7C+79u{`sR(M zJT+@Se-?Faqm{;MIR+W~5s$Qc%qGty6TZ14H# zu3@s;9&}HB#(0`_^`TK*8`7(kTU@*q$b6$Q?ML`d-^9@@O8rGDONuZ%8byl^X4H!& zuI;AWy?y4_t0h<*YDL zf>-$8wSThBCBDUs*K@frYEvgO$go|{;G0F?u+bEjwjf<${5bD?ZQwrf9nK&6pk|2? z>zP)`Y8TO?N8Y;{k*96H(Hbs8_>ul=W@X@|X=G_0Gl!Od4&w{y!3B}Nh$40A1ue#G zDsNBJcq4Wc=;;B@(7+ZXSRtvZSH`fLY!VN3r>yl9J4ct7%g&oRep^#=d~6gsZ7aOJ z!)`6t8Ya5w<=Cl9rYB8o3iBOjm3Cg(5fd5P(K;(`HcYCoQ@#-Ugr)Y~MW48iO7fn$ zpc@8PeLpZ@k?B#JbudEp&btkNA*D;W^&ud;Y;^7wE|mmj_2AZ|EJWDR_Wd^pK@H)@ z*<_!qmW*l19UANrSmz1-o60+UTI(EZO=MfUuJ?ywXJ#exJTZlbZI%zv((eN3qOLqj zlI@|P&jU7mGY9YXrM+C4qZ>HNDWEmR{2Fz=W}`-iz<1a)R<`E@7wbeUSgz9vej(C1 zkcFkN1+U{ZL&V#@)1CTAGtF3Yis|IC6PV=}Kl2SeN2Z_OB(wuGTY_0Elt85JC9$`K zOMGUGtC8|aUnaBPK0aDJP0AUGeUW-QvffZip=soZgd@E@UMRBVVFv3gs|e0S3DNtY zz6zWymn``2IDYKM0P7WtKN`&uCcrwS<(g%7{KQAG-LqaXBllkk3Tor}m94G45VW z!+P#(t{#34I(EC0H_n}f`Nd<)xhD~lMU!FcpHAfgIB?!sSTu$= zn7&BI8l^~uv%PODQgmB;RUw@oNrMPtU%R(=N;ek1FGE+$v9&2U5R(hECSf(5BIhCr zh@0OZ7+M>q8D+L^zAaW7u)Nv1a(CiXGgq9Tg)Cc%qHCTQph(N)5*If zNR{4E0qGqCgfEgh6As86K{%j!u!~JA_2G~_6`!P<7V%SG(p-s`gwFBl>mUu31xN@ zf73u;!2#FI2Q(57zJqi|VPL%L4b8k@lp~DSQrZAw;I58z zL0ub}B*dW-qEJ}{NeKlA1pLp3 zm*~yY(MiEXL+c-3#2t*+1&?=E5Eu9H@e%Wp6vKKti$mq*<5W>xGB$5+nUP1vhsCgMWcBxPJ;oESb2ky}LM63?lC4 zc9z#)+Bm!k^8bYKAGL92e(p$d6C@7n<>^2?4=27q#>CqFcSmQ6#Ap<5c%q1hVt-cy z>)_>v#Nc%_V7$a9VvZ>W^;v;Eoe{GF`^(i7#4bky?1x`F?y zuL9~n_}5a0N=s>I%0OlQ$r~=Cp&=n5Pi!Q02|2h7??1MV|35VoCk7*a)*Sy=v-}Ye zJMfJCxAlpee=iRbL%cDb#H%4!__U6AD;ae(;AXyKcaBd_RobqTibNU8oZ5sdGw1FB zAU4V-P#xq6tgEOXKl0pr5s{bl+_tv#U0q%5obP;_pci}*6NO^mROXiM*3OpJP939*f;0G$Ajw5iC+@CJUnxvqSox`X^DWdUA<@Q z>|&H@o9umfW`?pe348F#aYVMWK`ea*<<|uLem#pal7XDipqpfr^KejUP64U2o{nyB z*S1to8#r=%YYXw9&4h$rZfvw=^kj-hD%z`9R@9!6+>bI1R^+eugw!bJLwF?Q_;@$k ze(E_gtl3}AnkoLDI9>wa5O(c}q8~CUxu=KivBJ{CGNIVFpfRP^@1#M64D_k)nb+z%$=7rv>x*=x9B`o;gwb=Q@P5}B`6%F0 zu{OHRrY@@!rp40-i$;UuQd{L=7ey)2bd{|ck)xv{4@|W6P1w#|czy_0Hiyw~X_(lu zhDDaJC|!V)`PC}v3Cfq06!#X^Xq4VVSDe48Uc3$YH(^SW5Madyh9-rxHtw?eS5;P; zUWp~~KMnmJ|I73Zb)Fumf$mNUNJNBHgse`8x*j(XwhIzp@T=!?LfA8XzpPk^^_h;e zR`D8mHuRL|@oY78i+Z1WO=)K@II5xQn^0@e?l9WiTl1KWng&|8Ig{&X@Y_{FF8zZ3 z7uTMjXzi(`>rs-obI7IXz-8+q$DAQzV4)94AR3r$();~ON z%#n+Z^&VlorXt47ywW^8+0E+q9p=aIE0|YifnSVfI)a==;5ww$2G4mV|9(6DR%}SD zJi}AOZ$-H@J&L+r!m6OOPU6MMR<*Td{Cr@LX!)HUR_bB<&~RIfFdyu55v> zHK{H4^rpw&Uf|Gv|3ZzC`Pnyanb2hOpL18Z`BP^UQ^BoQh!l>Nqi&fRUAY2MH?Hk2 zr^R>`rh@QoAJ}b|Kg2?zeN>*S0|(TYSmpbQUT7oM1%MwZA=wLw@SYE#;kZs6Dqpyo zU$2pOsXx68eC648Nxo>~v`Ino*ESpMc90ZTxQ65UPH1+m#x(CnO zLB?_tkz%C?u=j73K3b}h?&xHvb5^gYD8y)_D)t(`KeA0h^I;RL+9VaJ ztHGFsfE!8AA&K$ZRXVJrv)4G2{H-Wvq95K6VPpSYJ^1Khq{t^NW8Xu$cE68@w+Gp+ zD2=B(q(?xJR7Z6K6;UXwRfn=6?!u#|xkK(Rvs**HD_E1+rGFpo3F+DMym(;;^2V(pEZkPmZR4eMtD)nO1(@DCLL!#fs&of{g7y)_m z##esMc_EgZ!IPsOvVtz`yKawUl-=0nFIw#t+=J4lqDczt*k6j>UYbAOu2Yj<*5^Vg z`c0rUe^2M$CSioxP|Fy}Logh07wgY*AG2OCOgD~|-Im!CA^g6e)}ndmH!qTLR|^J- z<|SM|Y~Ov%D(T8?928+5i4~CX^3bfY)@q>>m?<{kyNQveS`%lHJZFAM*k0XQlGRJO zsaGL$K_vn!py;u`Ak9rqpPw2f6mLD^K0=>wQ9>o!S4i`8i#mhOinb?WWTzwbv1@@~ zP6L6Y0H&+bi3{@96d_?_d ze7haf9`F(!WG7XcANu3f=9KeOTcW~}L$|z*~sn7bTM@UGCT8=X9erK45Qm2&GP3{936UM|lAChjP zJo18m2E5%jov-K55C0WEO306WXd0KzEJs4pli?c~g%H>JI-r`oYm!$szy4i~cP33> z?TXn{nDyMEcLR%P{(z&)5#PoO?{Qf0UY?4=__N#Rz9cVlU3Gz3mcK%}bwoq#hhx^3 zYt}Kl$MXBXK4UgAPfqH6YFL!+L%}m95AHWC&{S511tmHmKGMH_Ili8`5fGNR$m->` z-@%cla;w)FHOX)7mJ;ZV_jhDZepHsoy~#Uc(nnI-C#2JBwdg2^z9q$+sL@ch{j>Rn zT4IaXo))T^yymy3TwbE@?xEX8(^FY&t#HclL}a`Tw;6Sa0?mp7N+DyTf zeCx#);>2TPzzZ|YIU>`{U470xzJxWosEVO4@R5^L)uY3WMZp7Gb|x{t*r+dT-#!f) z4|}_Pk4lspex}U>t6lFF5jR!fn{n-vo{_p5-5+xupswXLqg4q!h76$1#7vb*Nhxm{ z9Y~M?q?G?08_ECXLmH1+Lf+#1V{;#VI~W~xBb9-#eEA$EFqbbA^)QdOnw5c?BFCiE zJnw;-UAxLhHc?(7>*)UHMxZ;q=ks)FTy4ZDY&K0QVqbg-i>i~G{`qWY#nHR6W;AW| zcK~7}qtjb9?fZ5^#;BXUUz+eWk}chz`+&y5%sUD75o5-xWH>BUyX9#K3`ORwHR4$<{<*~4Or3y?d{r<7D*0HFAet6B}>Nool zSu?|wAlk;j4hOW;%w@Y3w-axiN9WyZVot_8y0FHaH<57{d>2FekmWa}^1b*?g-X$f zH2e+KyAepqMd!Vk&ubDa$@`cn?1yfGUtoUFDNnh^UgfJG77E_R$ldQpdDJeO~9mUVYm3 zqKS*XTCT%W3b-o((I}zt_ee@C)}W6MLiAV}aRQ;MM48yagAE3PgUt-aSl>ndG?%$UQ6~L;i}f@p086#klUw z1HZ1>C)O8olHy35^T|RlZ-???nlIvL8tgVcsnmWbl}W_t%n8Lm#=)rRK^^`5CKcwn zgM(VIqz6JwJyt(e5h2{>yd>S1mA^8AJHQZtl-TrVi^%@F{+sL{Rri$5ua6tP4Ee9k zX{hSWI3QUN10NWi99?YOOIDW#t#By9*v|eg#Zk>9A^KN`%3enno4i#o>+yn<==agL z{-kj9kKXb1w7Oq@hTLHH^t-`}aLFZX?8YG%)`K*ZNAAnZ@uJ4LLCf27S4d&*7xbKJ zI?Si(LRvUxPiEa-Z50;=?*Ha1A&l#$$wa}E1tw|PJ%0G@pbwjxVSjI zS4m51KkCO%g>lP4_+MR30FJb@33@#olLUYN;!k%qA3j9y^EVtx zcM7AtRdFv4#kj1M^~&52)ez~`sQ9rwLbUHaYBjy<#*nwv`bxIY#6+r-4*>cvrgNJ~`T zl0JuMhnMm7QkGe*LmS12xVBIHG)dCuQ>F0H4rsxgq~SZCzw5@_$fUll&JvI`7Qa5m z;fTo&zc28}cIieEgZYqdS)Q1b$LGb|EbfKxeD3}aY}8Ol3qzcr&Zu1*|8DN5DWQ1H z34%|4VofqG2lZALr}$-o;7)Fsv}jb2c~WBm9Sbe^oGxTTxn3J+Zp6VYs8T@V`6jEh z`kBC8tFpbEQ4%l=@-_BQ*{6SOIpyhC{9f4ZUNb5e^}66AW_0CK(G2g4T`#0d(l}LM z=wyf9N8Lc&sQj}GhS%;FhCghRuWPviorIaXz>>IONqF3{=yF{ibbTe55IdaRo8Q3Dd2PeOfBEXO5GWwwO-4^+knv?soctWVDmY$CHX#SA$SXm`0 z*j=l)-)Q2nEPu@ZJ_(3DgopUO;Li#r0sdP53W&@f8Ik!{{Ff}-?O0sZfB%HnoTJ0z zIPEiLrcATJq5#ogKUI&gKPPxAyv2z1vzUg4M)MBat{z+?B7&7B(a4wPG2~jbgh8u$ zf4HaV7Mo?wYCw0UGhzPVSsKo}$F}E)qAgC*xx2gj<+fkb^n$!|akI*4%gN$l>*BHo z9y%^ArqE(a4yc~!!hwZA3#&lY;U9}z4oY9W{6Q-zeoG_(xjWWf-PW$>18J5!6|fWI z$^;vFwb;0=Pi}sJ;#awD=fsu-U~GLL-6DJgL?sugf{vlXX@R6x>Y|P zL*?6>EC)dE8i3jBo60xoG!v@KSkm>{L)V$e{McGK2O3;b9X^)ukxTkzWK)&d7~E7jxL^IoUI!8f*!bDX6!$THK?pt2ZSrtAh=(_ z+O&FiGiuf+!ne1h5C|A&E#p(A(5KJ`91PC~G(Kd)auq4mn7fu9W{RO4NG_EhPF_$6 z3n^QmI|xHnqu+cI0*srkO0qkRfh2C96 z=wF%e7GXECJ#&(ct|wxu$^q;}c6KAtxYN}Ng`sN|WTDU=RfM2@NNY=Is216#WN~d{sn3d<9PbH&G)1;Ec|!{t!S)d^vtbpq9TW1fT@Y=wFyKxHFhVN%Kt7of7R! zR_GxLw&9a3O z8hrR;{^wO0N2Zw)OFv^`TG>lgtZ&i_%@5|`M|F6V#Kiiqndi%Xs||zIZc}DYxlRLm zrrP1xlaK0z-^T|9cLlK7Ze`yQ;=p!eLoC(Y2x*Z?<=7dwO6UZsTo( zQtZ9cL)qK=`Qt%{ziO@O9ba)=Ok zHaYcfp9>(WgD@QeH(g|8Tf)%H7t2S@hg)%wXXp2H%o`Z&BIIZ3NZAAVzUWA&S8>_o z_cgxZ+2<;M+n>}yBOEgaPjo~Yp@i~YyR*5DCYWpfY%-)Rt_x4vL!Jt(fIGCwvTi6( zUZgDIY37N%O*K7NDSj{TAd_iTy=Jtvr4rujn&lN1DtgM~beEqA)S??>Lt%*XUfC@@zSxgkr3%I>X9 z?yKll-SDZZQUDoH>Bv93Y#{1x<0stJrfJIRNyJ6EKd@&ugXMVFZPc~ST z+|}AGQ)r5-(z+V^_7}l7Dhr}1>OwI_rRX#G&J6bw_3o?1`d*N$uxv4=3iPu29>G(> zYj8c+V&67y?J9DF- zUdDqiS?_mN;a+|FZY@g#P7rRmNwgyfu;Uq7iCW9$%pMoUjoyQGAf<-O+V#>F)@mAVNFQ#$>n967z zE%)j-p7@oy%4|50Td{ROk2q?jO&)t>b#JJqc`{Q{ET`sL$gWS0-^w1ZO`1ycvhczAeZY6QCWmx2`ZwQzM^3#7!!4gk{69y0$uJOAta{4<9C i>nJ`O!69+KnBMwOaSAb(4iW!w1aveFHOkZw_x=YZXY8o} literal 0 HcmV?d00001 diff --git a/Resources/history_over~ipad.png b/Resources/history_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..54944e12231df64ba40a323545c6fd04459169e7 GIT binary patch literal 6238 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 literal 0 HcmV?d00001 diff --git a/Resources/micro_off_default~ipad.png b/Resources/micro_off_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..6512dee9d9427dcb7428e7dfdec1288f801101a5 GIT binary patch literal 5107 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 literal 0 HcmV?d00001 diff --git a/Resources/micro_off_disabled_landscape~ipad.png b/Resources/micro_off_disabled_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..4e69a21359cb5d4d4e9dc7a4101a2c9a964599a6 GIT binary patch literal 4820 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 literal 0 HcmV?d00001 diff --git a/Resources/micro_off_disabled~ipad.png b/Resources/micro_off_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..4e69a21359cb5d4d4e9dc7a4101a2c9a964599a6 GIT binary patch literal 4820 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 literal 0 HcmV?d00001 diff --git a/Resources/micro_off_over_landscape~ipad.png b/Resources/micro_off_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..b9230d6e42143be652325bc19819ec7a5c3e5635 GIT binary patch literal 5057 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 Kb;`7VkNg*NaydEx literal 0 HcmV?d00001 diff --git a/Resources/micro_off_over~ipad.png b/Resources/micro_off_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..b9230d6e42143be652325bc19819ec7a5c3e5635 GIT binary patch literal 5057 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 Kb;`7VkNg*NaydEx literal 0 HcmV?d00001 diff --git a/Resources/micro_on_default_landscape~ipad.png b/Resources/micro_on_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..e1677a4fd74aa8c4903ce5028975271563ca7566 GIT binary patch literal 4299 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 literal 0 HcmV?d00001 diff --git a/Resources/micro_on_disabled~ipad.png b/Resources/micro_on_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e3c49c3e1c8fc021c710b5d68e8d8a44c81414 GIT binary patch literal 4099 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 literal 0 HcmV?d00001 diff --git a/Resources/micro_on_over_landscape~ipad.png b/Resources/micro_on_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..585fb8aa3142935acc1da028c5b127c343197e26 GIT binary patch literal 4287 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 cZI2VmV((w7UJv}1vH!0{AA12)s%;3H6ahgI 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 BoGbtU literal 0 HcmV?d00001 diff --git a/Resources/options_add_over~ipad.png b/Resources/options_add_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..59caf094525bcfaceaad629d1287fd9ea4759d23 GIT binary patch literal 4847 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 BoGbtU literal 0 HcmV?d00001 diff --git a/Resources/options_default_landscape~ipad.png b/Resources/options_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..8918478366cd845d78066cccb23e17d979b4e096 GIT binary patch literal 5466 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

#I^*vDM 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
#I^*vDM zS+|^9t9nzlZ7DvOU==LRN5gWGJb$`!uEM~E${fken{3LlU2oZ}@yc@xUC93C^ABtA zW0@^t!AwU;1R<*GgjTujXSAeOG2u(LHhKrd8tgsbF;Fknc zH$E-(wBbanblBeR$d|Xug99wW8O*bb+9pA-Rbvv?2Zq}P_nuF^(qB~C-v+dwi{CS= zjmQU1a$42tw$VIe2!P5uIRz_ERR-KOQnIABrW1JSx$q1&afyBM{^m?qM5oh+hHoTPbaD6uiWP9UM5kl^s1f)Ne@OYF{ra6 z5|$&V*6NQup6*aT=LtyEpdX$VN0&Q=6$M!(qSiGMfP*6ME{#25s3w>TE)|%o3DEC? zk8Lr}d2WD`+;76G)!Zji5my6 zz6Gg3qeFc?Ju7jd2FUrYtC6ky#xI{O_j3f^docjaxy#4@ik zlj*o~njC>Zp%1yj9KqZ_nJehktdI4X_cXv34}-Z#OJ&uOCgMKfUW7 zww>dQOj#Kjz7~IE*Ev04fnovOCWrzrPjw%ZSnf?{sSE)fDrg@Xe!u11ymwV-uX%0> zD6l4TPGEmn#Lx6Yvx@N({^3JVo+8uJroEWybUW3Hl6S=P2qcLpp<*ykUdxvsu{^G!}Xk07eNbPICu9n9s@+;zw%{hOt_v$QHLK4l?4wG=QFw=W<*UqaN zmdpr2(-`2ky;)6uW{B#KHd1nCyH;Ow^j3FuntkPZTPT$V$*`u*)y0>?_@M|rx`W|( zy#e6Pv-Du$^QupUibJddE$zmP>GH7?XZFpwzScn!lHo(WU3Ag7L^YyzTBg-@oi|(& zpSYYlAx3Dr`4e2U!#-*7+2M2Gy`ZR4x_sRr*(Y|LNXBn$-8l7*)!k$Djp^V!BFUdP zzXnL6Bkd5nDU64@1Pl_~W6 z=EcNG8ef-*v$`$sENVg`c{cmNbHj@)E(<;92%Matd)cBA?}fhoiiHbNB8-2o%~`RQ zUU9kyu}z2#Ce|0J^i9gNCVvEM-|{-}nqU>w)e<#Rdiu(4EHPp(Tr`7$`73L_q2svw zH%Zr4Fl;r(d`>2UC&@OL?k-I{EobE($b9~AKIVnu!E!R^yH9A6M1?rt=2IcC&%Bp9 zbP;6-ZJ!WK0A&c^q%IWjGCtTU>q(5QSN99G|DZ|w*#%o#B> zI2!9=7(_%{2ANv92H{-Q-GDmUVww~fgTNb2Mu}0pz3?O$MGN>RFN`t&wG9G_{i#C6 zX#xLo$_{BR1}6~FVo(LJyen7*ET#fcfG8=es;bI~DS{zj5LgieQIv{hcUA%0Lv94+x?F26=n` zitA5p64?U%-){V?Hpwc`2Mw}7lL&r9S4KTB62HNW-2G=mzZ4nXz|4pqjG~~t5Cm60 zZ#154gwO&q-YB?vxWT|G22hAP7y(gI1goe)AZiB6a04(zUl*>gr>q86`_1uhSY?D7 z904`Zg&RPXArO6tuCBf^9HORXpr@j&s-z43jWxoP$SAxk`nO#VhTXrh>i-c7gA>sx zGJ$ACAb9=m0COyXOdw$iK4Nf7s2CFE>Vf~Y{#Bm8qD7#I9{y-I10um&?9cqdJpRQ# zTp!GEQ&B|`{&(EEDhPz4qB^6I;EHOxD!{+7ZvUU0ff&w!el^GcXqMkwj1K%Y{ipRA zi+>Ie8qYW}M8?rzZ)JfpG4Xg9A#|-M|Pa_mO$pY z&m*?fU}i12C^zLE*zHnp&GJM4W$u!4Ef)x7Nw<+RTeg5t{hn9JYxRV-Zarbo0G$nYt5+A1J{gy*hwjT z7JInmbENovjUZo#*Lx=|nLmKZKcemmsyAm2a5)N7-Zv*M$)@c~3`VwCeIcNMbuZ;B~Ji>Z6Rqw2=sbx;^z6{l{=rqo|oukp0Js~loYvG*O|2@4% zrl6i*J+oWHTVHa9I`H1Kw+s?6UfekVAweA*vF^YMZ*o%tzVO$dI(UZKnsafjhL3l zTp!4z)UG~h0UH(cxZxFUKvNh25!KK6wr~dv7;v16BR@Blxff%1w&tVPGmf4`wWc7= z=SOy0ey}>03%{zd9N@@z@f(n;V$OZQS#veLt*`~(H}T<}hFSci>eM+w<|7)T1Nge2 zr%T~Kt_NL~BX~ubyMbIq5K%`2)dwdMY@2QqcREHc32JNGp_N!bP>gV*g3$DdcuDv0 zFb(p0)r?MtK#juBNZ$e5hfB`ulZ%3w)6(Ylv`(Fs3t+kZt+jA9^^TB;@QXdU)W#>K z71g!xru+jAE@%d-+a|hFud1|aK_1~ESao*lvO4b3NK2kQyg=rdMc?ZSOv?5bNvDtp z4mpChZ5paOGBjfjUas0`-l~?whras4X zj6GMPYDiGk6no`8k;6H5mK_p;X7A*LSlAqS!v|S=R3tXKs;zvHUcsIn(0wAv<*Gg}O0(G6 z_;f}W^!B;8RgTCwzgMY7E{o~L-WBID-}4*y;J#%3?v)eHR(^*jY+IrMwJaK)dFffG zggpSsO{yV3CcIF6?c3td6(#*`m-XYIJYk1#=q$(l{dNB&f4%yCd(lY3;|68_CB@Mn z_C=@8h?v+L$YoHV#q@3}i%d}6LYWP+;K$GB^GjZ3FT)pvLO!u+;rfqCv_y;Qn;|yU zzDE$;A2^P#6z2GJuL@;IjGas+aDR^mF^@^COzpLP>w57L(7fNV_s~(tk);064lrX< z0n0#?SD2QbUXB<1K)>sRQi_sQxr_5x8IMjLxlsMdBbAE{s#vzYj@ z&n9!oI{S3ZnloTh>Eyf1IWkncjv^-Jj_=T!Gul6;ix($su1ST`KUYySq3+l|u|>=k zB&z}4%8>}V)O#y!x_dcY7Uqd3secs!1`W^c08V62alg5k$RlppZT(UA2JTG|6CiYd zt(?;~&XYE3Uc9(Lh>^VNZ)wx2hj+_Zy<>|o)=qm?hBkU|g zmdPiV3tei8B?3)&mhVoR_NDMRzoiib&u?2EN@;x@u;=a39W34z9<&r(eP^pl3%xgL z9zWhLUkHus#-3u4J;6H8^bL?5CMDvL(%MfY2?$p{^&;ZG-3>emSdZh3 zeDwM8_G{3Y*_jj?t^NwFrm0f?aYL%06v6BcbnLTtelwTMA2#k!%Q`WuxKxg0A2pY} z1v%D*J1@s>(btk&ViJT%-F%IK;F5tw=jtVDHDFxnT1j^9z?#)9d-<%c6ZA0+HD2xw z&Zun!)9nOBC;2)0Nx<;et^V|&gFR=jd&7OPEz#OqHCoRicodGra_%%o371M1ihT_# z|BzC&FSeoCL{UDcSHHt)qdan&or?UK!!~no_xqifi7?0M6RYW-A4*gsFMut2_kD)W zG;2tvyNP04l^)ugRUd(i4>Wy6gztC-E!oGn*xSmssil**FfFG{w}93d{M%)3f@LGB z=t1k#7ZmMp?VC+wR^6%woOB8TTqZl*FfrmT0`{-wbRKs=E_h#byLMK5J)Sc!m;cZo zem4`mCmu=)xWpP;#l~~JkSz^Gx*%S;E(Everfw!*jxHToo26#q6ppHDW$imvqOI1_ zG5Z*5(by|w{APYY>x1Hy;%Ax_QvTKTCTr;)fS#;31LxDdj?d2TdiJ$fsmEl5h`h#B zrjG;dcW*L1Pd#eFyXk_T?+1D|>@)>*UH_JMgdXn!_~w@pK%hq{#9xvt@@AXyufYbo z?zU>c8+RYZ`_U#nJn&W?eoA5uH+!kaVlIB%TKgb++1eY>aI7D?b3N3F%FL=yZ|jdR zyUS7)MoAoL3K1#H*?3SBk_uBxM#tzifK%_BW-ZwKBcSx<1U4a zgyx9)JU67+pFV$xoH)gmOV@6fzJ~OlQWk7jFz`cIOm@cUUuhy!9`yi#Ab`yA7()?W zdxRbqz$OnA7qCZI1eLhT$pA(iA|${3m^-^KAhFi!Z~MRz*-uG&0~m`jv-M4yx5>dN zl($~wPEG2*!LPe;=S$3MspS>Vw!2OA?6AnW3AX&ls!wk_cA!x*uXCd|vctak#EvW8 z)(_tbgzXt1$b1XRDt1F}&6xyvKMDhp?}{ShhA|LW@0G+d+lE7s`qjHvwf44PD`EGW zdAjDmBHtBC>a*&`8YZ-CFWnT%6&y(tQr*>sM!&vbJ3;M=6V0^0wzpL_QQ)#`bFH0d z@k9WSJ#Iuki@o!FWdmHH_pY7g%k=0C$}aJ8l&{B>l>Ac(c*##bjlHL`+?fI+doE|i9U@7V(I;Qic4dVyTrCkcGhQT> zXnfDor)T4Iji^JnKL`72IdQigeo}aB?@?N^;L3H4gv4#R&R0!pDVyF2XAIH`tA{)9 z`~l+Pdg>_>3jaLX6S+w&(aMwGCdq`v*v-CQz?L_knz|tIz79ecqjN0RxqWD#WpNdu zJ<`tCl*EVcn6aytHtySfKIL**Z?JHL18^(#zBSui3RiNA#mobR#>=YOvk^MahAUOh zZmDWxepWkT67C_+0rV0CE3%0pvoM&bxQ)u?x;}UEtg%$lVwUnzb z7?0b%aA&RTss_n_~OIhAuVG-7!qwyLlC-ds?_ zHtJ^O-ex`BuOf2!{3YYiM&g*~Z24t71G}_MyDQBho-0VXzG)$&4$vM2(ySCj`gmB5 zRVGABR4hJU2CW{)_vtW7*LfV4A5=rf86miNEcOv<@D5gO{*Odi7S zF4wf-%vG!riB-LLoz9&e0-Il+D+eiU~5pTo|5yY8=_bY}x)u2SHlK6t#V z9S9@0Zf7?w_J-{wbl+bd-*=|Y3P6%8l0Q9C#TQlGO_=YZhgG4+zwnn`+ujzq<2bpx z6*&D~e&B%(p{yx#CF`i!IeA1kI*GVE2%T$kuoLY2_&}+; z&5G|EuIZUHY$DxqSV|rPH1CzN`T;#OacXm2Gg)BMZ6S9LZ^|m<0uMEKvxto4MU7Ys zR}{o{g6-pRpSNfQKk!6t?V$+#)tdc7j{J9BWh#U1{RJ-P|A3n>XN#VWiW=$qiiuE? zYpnxGOMV&|d}ZWZlE3zL8?bD>t@-(2HClD)-BnI)Hmz8L9>0A2$je}dMDB1&ujAy$ zy~*NvO_901=`V)o0&`RNSRchXW5^1eHtdMt*CTv_BC7mG98P-mFGKhUn>Eylu~hoz zqkZmDmxKAc7xdiT$n2bi4rEPkeWo*K3;GZaT}Il z!`0~n9V5>_+=n(vrLFiPb5c}>YBfVE&lXfd^G+w`YsFH)%bxlAFK0fLc{a6B3BIGW zuM7SblqF``z|6q91%9KU;j^ec=t5+j?RtijPB?TrS%5`VE#(HhJURyVWp`_stxMc0 z0D$3nRjb#_@l{hyGx533nbXzN`YDRZKdH~lR#li+DuR7pEVK_G-14h2-g&PQT|sUl zd|4LUkhKoYdx8e;YQ<@XCt9>V@x9G5>DHSk#!|DBZj0(xv8>c`&-#%pM(*JOUFAFX zD~s$UGs^C@E39g|Snwp*;Hp1W5gOhuH+1Umr+H_#H7}&iCys>7zp)H&>9i(IXYlC7 z7@EYP{qZ+*ZaOpu5QSN99G|DZ|w*#%o#B> zI2!9=7(_%{2ANv92H{-Q-GDmUVww~fgTNb2Mu}0pz3?O$MGN>RFN`t&wG9G_{i#C6 zX#xLo$_{BR1}6~FVo(LJyen7*ET#fcfG8=es;bI~DS{zj5LgieQIv{hcUA%0Lv94+x?F26=n` zitA5p64?U%-){V?Hpwc`2Mw}7lL&r9S4KTB62HNW-2G=mzZ4nXz|4pqjG~~t5Cm60 zZ#154gwO&q-YB?vxWT|G22hAP7y(gI1goe)AZiB6a04(zUl*>gr>q86`_1uhSY?D7 z904`Zg&RPXArO6tuCBf^9HORXpr@j&s-z43jWxoP$SAxk`nO#VhTXrh>i-c7gA>sx zGJ$ACAb9=m0COyXOdw$iK4Nf7s2CFE>Vf~Y{#Bm8qD7#I9{y-I10um&?9cqdJpRQ# zTp!GEQ&B|`{&(EEDhPz4qB^6I;EHOxD!{+7ZvUU0ff&w!el^GcXqMkwj1K%Y{ipRA zi+>Ie8qYW}M8?rzZ)JfpG4Xg9A#|-M|Pa_mO$pY z&m*?fU}i12C^zLE*zHnp&GJM4W$u!4Ef)x7Nw<+RTeg5t{hn9JYxRV-Zarbo0G$nYt5+A1J{gy*hwjT z7JInmbENovjUZo#*Lx=|nLmKZKcemmsyAm2a5)N7-Zv*M$)@c~3`VwCeIcNMbuZ;B~Ji>Z6Rqw2=sbx;^z6{l{=rqo|oukp0Js~loYvG*O|2@4% zrl6i*J+oWHTVHa9I`H1Kw+s?6UfekVAweA*vF^YMZ*o%tzVO$dI(UZKnsafjhL3l zTp!4z)UG~h0UH(cxZxFUKvNh25!KK6wr~dv7;v16BR@Blxff%1w&tVPGmf4`wWc7= z=SOy0ey}>03%{zd9N@@z@f(n;V$OZQS#veLt*`~(H}T<}hFSci>eM+w<|7)T1Nge2 zr%T~Kt_NL~BX~ubyMbIq5K%`2)dwdMY@2QqcREHc32JNGp_N!bP>gV*g3$DdcuDv0 zFb(p0)r?MtK#juBNZ$e5hfB`ulZ%3w)6(Ylv`(Fs3t+kZt+jA9^^TB;@QXdU)W#>K z71g!xru+jAE@%d-+a|hFud1|aK_1~ESao*lvO4b3NK2kQyg=rdMc?ZSOv?5bNvDtp z4mpChZ5paOGBjfjUas0`-l~?whras4X zj6GMPYDiGk6no`8k;6H5mK_p;X7A*LSlAqS!v|S=R3tXKs;zvHUcsIn(0wAv<*Gg}O0(G6 z_;f}W^!B;8RgTCwzgMY7E{o~L-WBID-}4*y;J#%3?v)eHR(^*jY+IrMwJaK)dFffG zggpSsO{yV3CcIF6?c3td6(#*`m-XYIJYk1#=q$(l{dNB&f4%yCd(lY3;|68_CB@Mn z_C=@8h?v+L$YoHV#q@3}i%d}6LYWP+;K$GB^GjZ3FT)pvLO!u+;rfqCv_y;Qn;|yU zzDE$;A2^P#6z2GJuL@;IjGas+aDR^mF^@^COzpLP>w57L(7fNV_s~(tk);064lrX< z0n0#?SD2QbUXB<1K)>sRQi_sQxr_5x8IMjLxlsMdBbAE{s#vzYj@ z&n9!oI{S3ZnloTh>Eyf1IWkncjv^-Jj_=T!Gul6;ix($su1ST`KUYySq3+l|u|>=k zB&z}4%8>}V)O#y!x_dcY7Uqd3secs!1`W^c08V62alg5k$RlppZT(UA2JTG|6CiYd zt(?;~&XYE3Uc9(Lh>^VNZ)wx2hj+_Zy<>|o)=qm?hBkU|g zmdPiV3tei8B?3)&mhVoR_NDMRzoiib&u?2EN@;x@u;=a39W34z9<&r(eP^pl3%xgL z9zWhLUkHus#-3u4J;6H8^bL?5CMDvL(%MfY2?$p{^&;ZG-3>emSdZh3 zeDwM8_G{3Y*_jj?t^NwFrm0f?aYL%06v6BcbnLTtelwTMA2#k!%Q`WuxKxg0A2pY} z1v%D*J1@s>(btk&ViJT%-F%IK;F5tw=jtVDHDFxnT1j^9z?#)9d-<%c6ZA0+HD2xw z&Zun!)9nOBC;2)0Nx<;et^V|&gFR=jd&7OPEz#OqHCoRicodGra_%%o371M1ihT_# z|BzC&FSeoCL{UDcSHHt)qdan&or?UK!!~no_xqifi7?0M6RYW-A4*gsFMut2_kD)W zG;2tvyNP04l^)ugRUd(i4>Wy6gztC-E!oGn*xSmssil**FfFG{w}93d{M%)3f@LGB z=t1k#7ZmMp?VC+wR^6%woOB8TTqZl*FfrmT0`{-wbRKs=E_h#byLMK5J)Sc!m;cZo zem4`mCmu=)xWpP;#l~~JkSz^Gx*%S;E(Everfw!*jxHToo26#q6ppHDW$imvqOI1_ zG5Z*5(by|w{APYY>x1Hy;%Ax_QvTKTCTr;)fS#;31LxDdj?d2TdiJ$fsmEl5h`h#B zrjG;dcW*L1Pd#eFyXk_T?+1D|>@)>*UH_JMgdXn!_~w@pK%hq{#9xvt@@AXyufYbo z?zU>c8+RYZ`_U#nJn&W?eoA5uH+!kaVlIB%TKgb++1eY>aI7D?b3N3F%FL=yZ|jdR zyUS7)MoAoL3K1#H*?3SBk_uBxM#tzifK%_BW-ZwKBcSx<1U4a zgyx9)JU67+pFV$xoH)gmOV@6fzJ~OlQWk7jFz`cIOm@cUUuhy!9`yi#Ab`yA7()?W zdxRbqz$OnA7qCZI1eLhT$pA(iA|${3m^-^KAhFi!Z~MRz*-uG&0~m`jv-M4yx5>dN zl($~wPEG2*!LPe;=S$3MspS>Vw!2OA?6AnW3AX&ls!wk_cA!x*uXCd|vctak#EvW8 z)(_tbgzXt1$b1XRDt1F}&6xyvKMDhp?}{ShhA|LW@0G+d+lE7s`qjHvwf44PD`EGW zdAjDmBHtBC>a*&`8YZ-CFWnT%6&y(tQr*>sM!&vbJ3;M=6V0^0wzpL_QQ)#`bFH0d z@k9WSJ#Iuki@o!FWdmHH_pY7g%k=0C$}aJ8l&{B>l>Ac(c*##bjlHL`+?fI+doE|i9U@7V(I;Qic4dVyTrCkcGhQT> zXnfDor)T4Iji^JnKL`72IdQigeo}aB?@?N^;L3H4gv4#R&R0!pDVyF2XAIH`tA{)9 z`~l+Pdg>_>3jaLX6S+w&(aMwGCdq`v*v-CQz?L_knz|tIz79ecqjN0RxqWD#WpNdu zJ<`tCl*EVcn6aytHtySfKIL**Z?JHL18^(#zBSui3RiNA#mobR#>=YOvk^MahAUOh zZmDWxepWkT67C_+0rV0CE3%0pvoM&bxQ)u?x;}UEtg%$lVwUnzb z7?0b%aA&RTss_n_~OIhAuVG-7!qwyLlC-ds?_ zHtJ^O-ex`BuOf2!{3YYiM&g*~Z24t71G}_MyDQBho-0VXzG)$&4$vM2(ySCj`gmB5 zRVGABR4hJU2CW{)_vtW7*LfV4A5=rf86miNEcOv<@D5gO{*Odi7S zF4wf-%vG!riB-LLoz9&e0-Il+D+eiU~5pTo|5yY8=_bY}x)u2SHlK6t#V z9S9@0Zf7?w_J-{wbl+bd-*=|Y3P6%8l0Q9C#TQlGO_=YZhgG4+zwnn`+ujzq<2bpx z6*&D~e&B%(p{yx#CF`i!IeA1kI*GVE2%T$kuoLY2_&}+; z&5G|EuIZUHY$DxqSV|rPH1CzN`T;#OacXm2Gg)BMZ6S9LZ^|m<0uMEKvxto4MU7Ys zR}{o{g6-pRpSNfQKk!6t?V$+#)tdc7j{J9BWh#U1{RJ-P|A3n>XN#VWiW=$qiiuE? zYpnxGOMV&|d}ZWZlE3zL8?bD>t@-(2HClD)-BnI)Hmz8L9>0A2$je}dMDB1&ujAy$ zy~*NvO_901=`V)o0&`RNSRchXW5^1eHtdMt*CTv_BC7mG98P-mFGKhUn>Eylu~hoz zqkZmDmxKAc7xdiT$n2bi4rEPkeWo*K3;GZaT}Il z!`0~n9V5>_+=n(vrLFiPb5c}>YBfVE&lXfd^G+w`YsFH)%bxlAFK0fLc{a6B3BIGW zuM7SblqF``z|6q91%9KU;j^ec=t5+j?RtijPB?TrS%5`VE#(HhJURyVWp`_stxMc0 z0D$3nRjb#_@l{hyGx533nbXzN`YDRZKdH~lR#li+DuR7pEVK_G-14h2-g&PQT|sUl zd|4LUkhKoYdx8e;YQ<@XCt9>V@x9G5>DHSk#!|DBZj0(xv8>c`&-#%pM(*JOUFAFX zD~s$UGs^C@E39g|Snwp*;Hp1W5gOhuH+1Umr+H_#H7}&iCys>7zp)H&>9i(IXYlC7 z7@EYP{qZ+*ZaOpu>n|LFIrmwIo{V z>#5kgxd73pGC&^}cQTrSLiMVTJKEkEOBAxhI^tZ_0ISVy03jSk4Pc?557u{wW1Vo? zet7InKLb;HKWBSo4B)D|kgAUgS%C|dh!*m3x$8<$@lgZ(rB{VKJ|%+yLVt-6oz(z; zJ7uYFBm{TEV}%reU>SR`B3MWf0))uPL!nS*yC~TM4X$e(5XhWotr074M6tv?+{$v_4WUy*p={4qR1%&`JmlF5Fi-j;&K|- zU(y7k3HE>8__xvoQ(t#1$OKDp^TgYe*TX^N515?0|7_?~knD|$As$Cw6!cw$o4uzC z)|IG(Py>)TKnxC}0#?*gfGC3z5II?}q7nq6q$Lm60z))maLsG-N?@fwI{qD277kN} z!ZhJ3EFoi!@9ajPo?P`zxV;4uZ`w#Zof5fW5@mMs` z4R7k^cK1&O7&*BS-3U%@?n3aJ3PSp5dz|a({B(K#juwH%t6YV);WNSK#UJU!_l; z{A=@IUCBEJPu>~@`C~E^6l|6{2$-qQ#LtKH0UTx*yH50n1oW+Mgqi?BK(@y|fTv|| z?+L;z(`;#!RmT$X@0S^(B^YMw7^=(gK7fYhd$EG5+(!M|lH0{!%?kQ&=;ClWFB^vx zyIW6m#UF~M%Im;$Fvo3ujs?9R{Wrh2tR4!wJxS%v?4c1ganyy`Y5-VuL@ARILMhtR zfEW$YWI6%pun64cSf?U92M!_>5K7d|Tb z=YZLxi&KGH%o6A0QFYM6)r0U*CFbA)8ka#G3#&Vqww5xOkW1%JZ0&U~IcKm&7c-l= zdOhKcmwT^}sv_nkeZ_b&U*140PJ7u%ic>1-F;iu1CRro1g+qaVYrKZ2XTvb=40LOQ z9$^yDaCe#Vzt1;khJb^J{6i(J3os$Cgy+{|zx`M~`?chm$k)+v`!`!d^(jf_E&KQ8 z)sA5BwRa%3_6%Xyt*bh%CZd`H>fDs2L zotg!hpZ-R1$aDXq+^o3jcXjlk=f$lo z`EyP2=lMMzHr0UQ>7$*bniKLE`4(*?D|n4vxvQ3E`e62N3@XzF>HYNDXnKSlf2Kt* zcl_L|Z%c6YKJ3@b|7~7)B>l+7gllp&s=%&S1SJK$vpKf0m_fOtD++$F6U>w9wUevD zGM}X`JDPiB;Ucq7!#o2$m#e>1*<-5O#%bEvA|w)wu^g$~NSCl594VL9N_&^39g=m# zdeO=UPINu$T|{fJvi9UPaO6r4c!XJYkJ8u|PPpV0EY|u`+f|E+UC(a;EpKGZ2C6>! znA7@tl;9U= zb$!At3U^z$!S&U7N6^_X@3d;U{J}-_rao&U!CNkMI5NZr)QV zGUCn*x*_<0MCB#CIWDn$fep{xr9R|n?t$k$RKre#a z>+I?r^xH~_aDL)e$#P|%?l{^qab;1K)iEkTF58Sz;>}VUo-kIPU;P~st!(Gxct_avJ$rx1+KU|vT}ukOW?{`y)Gp%qmPnC(yr4Dc z&|AveP|ulu-mlM}x4O%QUo{7Kg|+7F#rT;Z@yUJ(oNY}CHYawA(cMaqEmL0*55(Le zieW1C(?>zYWqKB0rhfVoK-mr3?eg9cO!gC}yXvCK-><3s;#Tbr4_f&m(Ix;%zV?h9FByL&yP{)G=Z)tk8b1q)ER~GHO6!F@kvlOd0CS1@!Lp7^>TwZNIPk|lr1vKW3*vS~(s2Er&BaPUa$N)6o#|TylgV&% zqreH2_D*Z!Ja;}|yh3SZBPJPC#QBS|dZH1Hsv6G*iUk5(;lyQx@2J|~OPQ!Z|%jW$lX7u=s zjOS-ei^^-jrFs1L_*{u5qn&P`jA?l*kAUL2LPAPvI%jIPbk5_WQl5-^>ph7gz)at6 zv!wb05|pT5kskIfjs^L>g@mB!+Wkn zCnL|OW}Ti!OjzWlw78i!X}qLOzU-_T_xVQL8`H{~p$XLZA(v&)F?X%wZOKUwqYt_8 z@{5}po5(v8L%!gNphLD=IF|8Ioc8>(dN3cbGsL$~;vp44*Joapdy8GX3Y*&|KosdR zxt`>lzya+Y9>_43b5eTmEB#(Uw{gk0M?-Fl@~QuR470Lexx_NC*=nRbTiT8ldxQo& zJz%2#{lp9f+TSnEyX^nLrQjp!vU6OPNy#Wjtnhp_64v$&2j=;yB(+^qlT~{-bsaNW z;pZGD80|@IXNe?%W9b z3-sE`w7+#8GuDwr=uu0$RAcRbZ`pz@zqN0x!`W#WYih(q{(3oll1DEk=E)`n)F84&iB^-} z&5(%GCKVwKkUB=Nbf(OxE4foE;ZYvzxKUDbp)Bd=%#{(1~is|Z}RK!FYzs$CmL5BUrt4;-g<{zFgV3sUq)>Ig+d+XmEJe`#uRg1i%Z}98dq@J zgFkBE=*`NJPcTXZ+BKK~(kvrb>r_W?R7PjmuKJx-pF7wud|~KEi;*?rH=iaYX!6Eq zUv$6VX(n*zSbJnm*QX_6co9wl@ffR~Ibl}6uwn)|xC>ebbP3ya(&(B?dy-Tb=l^rB;w{e&Cx zDI!dy0V6o!i71(#&BgM!zV2^nY|b9P zOSrDFuKH~YxoF+45u!q4Rd^-8z))%r3i zZGR4UeUtC0lfKDe?it%(x4MO^YWmnvU$!?b8yRn9HptB8^N*^x7fh@&^K4xAmEpJ- z$w46u52+Tk0Wt7TEszddcf{=;Kt?^r)~3cBrlQ81W07WQb*ScDt2LF%_+8cJnYlw& zzq^Fois|+?P0k7~E!moZmKd4B;N0jC%rr5v{*!=Wg9EJybAfMLThZF#D*qL60CV*P7lBmu43Cu6k1*s0pAW;fVg&2i|`E5;E}$k==+cLfb> z>lXjyjEV8vNwlN6JP@`e2tqq_t%x7bu4;dHyh8#Z4U)LeCLj^(>LdlZz}fN;eEDm| zy?mQn6n51PXp{A9rAafgiFIFE!pXZS;n3StTwapKzmRrz+o-^l^`u3n zDwDX4X8_&l4AXbleODl=&2(GdhO|Q~h6D?sjo~b&*W;qdB{dXXOx&P?^eZl&WHHUl zqIoe+GGVs$Yf@HrC-yc$RRzO+lPkoGrJT#KO}zErwbtE6O$n=`x*^AIow6+`-6SgHC%c_zP%nci1=9 z?e4rergRFp>w3+yz2PjI@Z0QOxesp*eP#zT`T?y^DoET=9D*2vW~)i$!CQz`gBBUr*U7i^uD^Vd?!HwJVgLgv~6T63~J_ z7Vn20M2v=dj{2*2Jz6n5*%T05lS0NA=RR#6WGb2)V*{(I^E_birnRI!bhLic;8!)e z{S8GOm-sO!Z~Ylnu%cVQ#M~!>uuO1Tc-`|mLodn@zt|+g+i1ErRkkIjklW$eqzz7n zzLgtmO~3m@!o{yi>vZ3UFMf!>(w6UhauleZ^j-h*{*$c$55u0q{D1_*{3_N#t$3z9 z8?a^7tL-BFi#%SB>VAIIOsU~c#97YY%Ka1+)J*(x{(|$0K;^5dK{Z@nR*wXGXKAmr z1IMQ@(oJT5snVkD;3WwCR0Wo!_h=R$By(Ta(F5%9oAX5#n9uAvi^2}6b#OqlK6huo=*l(Z zi3)VQP|@alaxwq02sKwCuA+ZXxPQcZ)MIVUW_HE+HY9r&36NaSURtH!AEWEU^B&U0 zoP8VCBVU+t$%>hDcC&5DTeeBH{^7gug(@I*!wW34s)2jxab={6MB)IiS=os{x;>n|LFIrmwIo{V z>#5kgxd73pGC&^}cQTrSLiMVTJKEkEOBAxhI^tZ_0ISVy03jSk4Pc?557u{wW1Vo? zet7InKLb;HKWBSo4B)D|kgAUgS%C|dh!*m3x$8<$@lgZ(rB{VKJ|%+yLVt-6oz(z; zJ7uYFBm{TEV}%reU>SR`B3MWf0))uPL!nS*yC~TM4X$e(5XhWotr074M6tv?+{$v_4WUy*p={4qR1%&`JmlF5Fi-j;&K|- zU(y7k3HE>8__xvoQ(t#1$OKDp^TgYe*TX^N515?0|7_?~knD|$As$Cw6!cw$o4uzC z)|IG(Py>)TKnxC}0#?*gfGC3z5II?}q7nq6q$Lm60z))maLsG-N?@fwI{qD277kN} z!ZhJ3EFoi!@9ajPo?P`zxV;4uZ`w#Zof5fW5@mMs` z4R7k^cK1&O7&*BS-3U%@?n3aJ3PSp5dz|a({B(K#juwH%t6YV);WNSK#UJU!_l; z{A=@IUCBEJPu>~@`C~E^6l|6{2$-qQ#LtKH0UTx*yH50n1oW+Mgqi?BK(@y|fTv|| z?+L;z(`;#!RmT$X@0S^(B^YMw7^=(gK7fYhd$EG5+(!M|lH0{!%?kQ&=;ClWFB^vx zyIW6m#UF~M%Im;$Fvo3ujs?9R{Wrh2tR4!wJxS%v?4c1ganyy`Y5-VuL@ARILMhtR zfEW$YWI6%pun64cSf?U92M!_>5K7d|Tb z=YZLxi&KGH%o6A0QFYM6)r0U*CFbA)8ka#G3#&Vqww5xOkW1%JZ0&U~IcKm&7c-l= zdOhKcmwT^}sv_nkeZ_b&U*140PJ7u%ic>1-F;iu1CRro1g+qaVYrKZ2XTvb=40LOQ z9$^yDaCe#Vzt1;khJb^J{6i(J3os$Cgy+{|zx`M~`?chm$k)+v`!`!d^(jf_E&KQ8 z)sA5BwRa%3_6%Xyt*bh%CZd`H>fDs2L zotg!hpZ-R1$aDXq+^o3jcXjlk=f$lo z`EyP2=lMMzHr0UQ>7$*bniKLE`4(*?D|n4vxvQ3E`e62N3@XzF>HYNDXnKSlf2Kt* zcl_L|Z%c6YKJ3@b|7~7)B>l+7gllp&s=%&S1SJK$vpKf0m_fOtD++$F6U>w9wUevD zGM}X`JDPiB;Ucq7!#o2$m#e>1*<-5O#%bEvA|w)wu^g$~NSCl594VL9N_&^39g=m# zdeO=UPINu$T|{fJvi9UPaO6r4c!XJYkJ8u|PPpV0EY|u`+f|E+UC(a;EpKGZ2C6>! znA7@tl;9U= zb$!At3U^z$!S&U7N6^_X@3d;U{J}-_rao&U!CNkMI5NZr)QV zGUCn*x*_<0MCB#CIWDn$fep{xr9R|n?t$k$RKre#a z>+I?r^xH~_aDL)e$#P|%?l{^qab;1K)iEkTF58Sz;>}VUo-kIPU;P~st!(Gxct_avJ$rx1+KU|vT}ukOW?{`y)Gp%qmPnC(yr4Dc z&|AveP|ulu-mlM}x4O%QUo{7Kg|+7F#rT;Z@yUJ(oNY}CHYawA(cMaqEmL0*55(Le zieW1C(?>zYWqKB0rhfVoK-mr3?eg9cO!gC}yXvCK-><3s;#Tbr4_f&m(Ix;%zV?h9FByL&yP{)G=Z)tk8b1q)ER~GHO6!F@kvlOd0CS1@!Lp7^>TwZNIPk|lr1vKW3*vS~(s2Er&BaPUa$N)6o#|TylgV&% zqreH2_D*Z!Ja;}|yh3SZBPJPC#QBS|dZH1Hsv6G*iUk5(;lyQx@2J|~OPQ!Z|%jW$lX7u=s zjOS-ei^^-jrFs1L_*{u5qn&P`jA?l*kAUL2LPAPvI%jIPbk5_WQl5-^>ph7gz)at6 zv!wb05|pT5kskIfjs^L>g@mB!+Wkn zCnL|OW}Ti!OjzWlw78i!X}qLOzU-_T_xVQL8`H{~p$XLZA(v&)F?X%wZOKUwqYt_8 z@{5}po5(v8L%!gNphLD=IF|8Ioc8>(dN3cbGsL$~;vp44*Joapdy8GX3Y*&|KosdR zxt`>lzya+Y9>_43b5eTmEB#(Uw{gk0M?-Fl@~QuR470Lexx_NC*=nRbTiT8ldxQo& zJz%2#{lp9f+TSnEyX^nLrQjp!vU6OPNy#Wjtnhp_64v$&2j=;yB(+^qlT~{-bsaNW z;pZGD80|@IXNe?%W9b z3-sE`w7+#8GuDwr=uu0$RAcRbZ`pz@zqN0x!`W#WYih(q{(3oll1DEk=E)`n)F84&iB^-} z&5(%GCKVwKkUB=Nbf(OxE4foE;ZYvzxKUDbp)Bd=%#{(1~is|Z}RK!FYzs$CmL5BUrt4;-g<{zFgV3sUq)>Ig+d+XmEJe`#uRg1i%Z}98dq@J zgFkBE=*`NJPcTXZ+BKK~(kvrb>r_W?R7PjmuKJx-pF7wud|~KEi;*?rH=iaYX!6Eq zUv$6VX(n*zSbJnm*QX_6co9wl@ffR~Ibl}6uwn)|xC>ebbP3ya(&(B?dy-Tb=l^rB;w{e&Cx zDI!dy0V6o!i71(#&BgM!zV2^nY|b9P zOSrDFuKH~YxoF+45u!q4Rd^-8z))%r3i zZGR4UeUtC0lfKDe?it%(x4MO^YWmnvU$!?b8yRn9HptB8^N*^x7fh@&^K4xAmEpJ- z$w46u52+Tk0Wt7TEszddcf{=;Kt?^r)~3cBrlQ81W07WQb*ScDt2LF%_+8cJnYlw& zzq^Fois|+?P0k7~E!moZmKd4B;N0jC%rr5v{*!=Wg9EJybAfMLThZF#D*qL60CV*P7lBmu43Cu6k1*s0pAW;fVg&2i|`E5;E}$k==+cLfb> z>lXjyjEV8vNwlN6JP@`e2tqq_t%x7bu4;dHyh8#Z4U)LeCLj^(>LdlZz}fN;eEDm| zy?mQn6n51PXp{A9rAafgiFIFE!pXZS;n3StTwapKzmRrz+o-^l^`u3n zDwDX4X8_&l4AXbleODl=&2(GdhO|Q~h6D?sjo~b&*W;qdB{dXXOx&P?^eZl&WHHUl zqIoe+GGVs$Yf@HrC-yc$RRzO+lPkoGrJT#KO}zErwbtE6O$n=`x*^AIow6+`-6SgHC%c_zP%nci1=9 z?e4rergRFp>w3+yz2PjI@Z0QOxesp*eP#zT`T?y^DoET=9D*2vW~)i$!CQz`gBBUr*U7i^uD^Vd?!HwJVgLgv~6T63~J_ z7Vn20M2v=dj{2*2Jz6n5*%T05lS0NA=RR#6WGb2)V*{(I^E_birnRI!bhLic;8!)e z{S8GOm-sO!Z~Ylnu%cVQ#M~!>uuO1Tc-`|mLodn@zt|+g+i1ErRkkIjklW$eqzz7n zzLgtmO~3m@!o{yi>vZ3UFMf!>(w6UhauleZ^j-h*{*$c$55u0q{D1_*{3_N#t$3z9 z8?a^7tL-BFi#%SB>VAIIOsU~c#97YY%Ka1+)J*(x{(|$0K;^5dK{Z@nR*wXGXKAmr z1IMQ@(oJT5snVkD;3WwCR0Wo!_h=R$By(Ta(F5%9oAX5#n9uAvi^2}6b#OqlK6huo=*l(Z zi3)VQP|@alaxwq02sKwCuA+ZXxPQcZ)MIVUW_HE+HY9r&36NaSURtH!AEWEU^B&U0 zoP8VCBVU+t$%>hDcC&5DTeeBH{^7gug(@I*!wW34s)2jxab={6MB)IiS=os{x;(|twNScWo-Oh@6e8RBruTh&|L?!9@A|I)`k(85p68tV-1~i>=bZCITrtw)U=?Hq000~Y`e;-7 zJBxn5Vqu~`!I|-%^w(*!js@9_;6V1WbHf5O?FqNBKm%7hN31E<&fbUg9;*rfFgW1M zEyxyzmr)pkE7YDm<^ z-ofenx?#fg+pL)IhYbk9*%-Sfq!2h zx;8g^2b3vV_itVFo*L*5nM_1MAYNWxU@v(v!Oal@Q&v{~B?AtZqf^Ma`{2oT-g0<% z@!t~ASa*yYj!4E4@W5XZ?QRo1$Z8q22Vn%X*A3P>pOw~YV9i$v;Z zD!>(>+PVk?45kCq)YMVXh9Qxyasr8vK=0S{jC>A*ZUW*yzYPHMQOWX z?Z^Z-a{|HTcLiLzLm(5}?+}PUZ8HSW&<=yc|LXrr&tKl6v2Hj|ti7%q!4>#td{Man zpr7s}-AuS5T>EdoH5JilI9!=tNZN3urXuKXUi<$~%pi1QAis*^--_ioie7=gn*WqO zz4OoH!Q$yN#*IETL_l)K0RWz91GJ{O_m`D4A0qEiT6>_D{sP*9`NRoSFUQf~;0wUB z+-+>?00`&gsS)pp`l~HWMPAN%CF2?_smNOqrMFVQbR@2xZP}VWoBxpGC&1;~y(ZfW zz+*M%dP6wLM^WLy(f*A}OAbaj2Ze=XTEHu71NpJFg@6fK1E$8NmYtoQ8-VFL`}8P4 z>=&@`09be~gahcHb&L+&AOJV$5AGv$2xb8UvjEWmI{aTr+mheUc^DolwrpJjjh4x~ zMvsJ=vCHxZ36hP&K`Vmo*e;=_5ZlG+Dg^6Xp)mW+`^(ZpU_Ie^=ERlB&1-MMbU7L( zjU$N{g9&J)N^A&=1ULYce}?@7GssV>`4-jFb8*)>rgd=i@QZuWF4OL+v`%{(era`C z&jWzjihOMttbSiTE36i4ChRmqJoeK!rmAJXjX|$ra}pmY%JHDNoK#s93$Fo+6!HNVW7}8 zaz9J^=)0bgesA|g7Q%T^AQ~!7SJOw<5S=MH%&se3lq`t}S2DiW*F5qzE$CfX3f^NO z@ZbSUqub)@YRHME9MgWkesA5mFd`bt)K#W5RyACBcvWII+;#vaFPF?H7G%=ix|wIM z&}C~0&^tDB6bbr6{3yLeL<24h$FfATwCVIehy(O0F#OTP`p?khpV>2%|93<*%jUw$ zN>+CvI7NgvJP!7ho5U(?tb;}P`_8iMF0~l!?9A6%Q>xuh7@~LI$M&>tml{^!c#QYKU|WRfd|nxk~HLh;)i+ybH65~Ctg$u*gxuX*9S+nM0kxMcyBv9 z%LFd~#>e*r7K0Kks#W8%KyNAM8);iAJVvKo9C^Nerm4#DXAK;c^YRr#`=d}Qxh1b| zhMx`ct6R0PBo8?^W*rrmEMw-EWixfw8kn`E6cuHt@9m#T>#WvqJ%?S|jyO&#+nO3I zv;VG@+JE`tWnwt@uvBT1nm4ZK5r#0SBqL{Anemzt>2`IlxaSQCTctMpIkPG zDu|Z|_AbwQ9I*Rkd7!@^b48mimB{-n%Z$4$@} zHfOnLpC>A~rt#MqF;NX4}fmy8DJ+=yDrs z)z$VKc8>E>URBFhSzYMjj1MlKD`&XrBF3!r?MEj(E;BmXXnkwT)Wyld8{LJSY>HHN z16vCg=Viqpd3J%Eg|!_^f(X}io3c=)?Kk8>=jGt9K z(?vvH49bR%*zHBrGnx;CXfAI-e=J%Lv z0qrkBtd(#bK9SV#aekK``az8?wKt%q0hndcW_Ax2M87_+C3CKugk-69Ub$ND?+ zvE)6^+WjBc`7Hr<-L?J0v05+e$$S=%nNW|-W_ROGs@0{<+8SIAE}G?fs*ba=2UQk} zeK7(Fn2Of;vK!x;eek_qB(XB|Tub{a@w>8nS@#^T-Nrn3J#qWS4q|s<=53kXnD}+@u(?LQ&AT9L2{krq1SoWI-dl@)qTvKoatk8a zqK_IMTY!|-SPw{R>dJNnkGv=sXdGN@l;nl;)vwJS=@K^JJXzOL9ef52Jyf)3hJ{gbK?S(iD(m{=L+!VoYbp2@ zj!<%P^y3=kzrUF)9}2|uzAWWyaFtO|2rjhFDr~Hhv~?TIRZ?X4#iBr$3g! zWVF4!VxDdpTr&8S%*|1IHYJep%d3?SFo7eD1PXnw^#Azd`m^KdcYRC!fD`GsGkPY{ zy8YitFzzgBE3(RZ$|53`S@mWi8;eOyfwAjj8MI}U0{?B{-ZJj*DV7)*epo?bTdeIv zq?Rbpsr3~zp*e`?-j=9v!oIgUsjr#wPRc#0MVu6`;0f6bo2iM2HOZL5fGg^v53^4v zpYwA#?;2>g?4LG1m3qFU6s{0hI2Hc(&GLlHaGfT&p}R+4AOVSAPqn#Kycpr(ox-J6 zmR^;71OBw@eZt9JKjtod{Rc6WE}>5bna?@HEy31x;ib0Bh;k3|dTlAWprnIZ>kUr= zHx%_48Xxn!&vCtiSWTQd8jREe3-G=_z8LvRFlt*_9oiL>^&Dh>QdHn%!H&Bk;;gV? z>GLN_k|s={YdN_&`HG*rJ0AsivzTbiJWX8`pXNn+3*P>CcE^wPjV&X6YxsHi@gy%j zL4WNHFNpHI;W>l$>alv|dM7?geDS0r1{D%=S#;1%p>nAMnzDnUa7*62*E2^ov$m7^ zv6-xXDv)M+&r(@TUM(a`yjeJ9t$gX`tDG96yppeSo82H)?^)-a!%HLS!6{{v;VbH4 z(E)POhvN*Z_h|j+FC5D@LfYTeOJYeQ&vu%{a|`L@!39*#68LFe^I(%Z`j47=+!JZc zMzU!BBv5njB+wV?9{auq=D}gOIp{V20(hxI=Kat}6u+Fl;Eqo3n0$_+b`zs2^r47N z9EX?__O+=j`l^?9<*B<`mwDA_#ERk8sL#cU1-IlX786U~y_bpS^l40<{wlFC3s9I0 zPh#^>%B+cs?6HVfeX&BQ}BN zV2(cDm2u`}Hf5#9D9`WH5AFI{#!MH-kB<$97Qodv4fqB8gDHsL>5Wt;E0wvEvgKA^G>PC)%B zO!KksxsN^-Sr={*JPK{jZO5>3C1Ahy*-%!P44O(mf3k-l-i1MsGc%J11}i;daX<2| zzhgV~oEpn&LO62yR>}oW{z4!>SJVw$;c3eBPep%E__*h;U;1dJxw-ALg}tuSGct#T zCxh&GzHQ6edd^DWwXf$lu-veCn)orS-qakdv-MqI;$vGm*Xj7E-27ajmB8HyZ<49Y zinpc1c-y`H0cE=cUs*q~W3L#LVvR}Fqiq7LNvETcTAOzREb+(6JN7OcT4`hund2x)_0)y-4^;w`gb0!P}ro@B}@;5MbBsksuRuIa`~`RB``ij`BL$M z3Y>) zd&n73giLvyPVzZ;X_(L~U4Kn(`^+hQgnp;qgUy*1&jW8uBhPocZ4OR60@)=G9T}G> z42qpmA+={&^O7JYkn{*BC-I9)*)m>%1NMv*$LG9$@NDKiE1`5vM?xkYngYO?Om=h=x>5)L87^Ym;U^Nv#QDGcxNVuk`(}M~k28MYIB6bbwz> z#Fub~s^Fsuc+p!DWpZ;*^Qn-j29v`L?xLo8pn=Bu0g0~_p69IszfE7M(pXN=p2O` zGs+(#8n=bN6%%?ojy$0FSIhS#JlkZ9Lt7rKZf6@T8BV)}NFAk8`;pNlp_$d2@jYUi zHLQespG(<}g%7ZNgAO(94E!6=%Cw%Q^hV*VdQp+={l|Gsdu}zCOdqrF7R(eFNm};j zZ=Q@}YW?iHp?GG0U&!PMLc+f$=&>{TXI{Tke^NSX==R~l?6Bp1g`a^mqoJpFFA6Az z>NtHZ6!rg{5KsM{Uj^i~Tb>{3^UnR~VqjBr>nE+NtEyIZyQLNGIY&_FaCLxZpZ&-@ebT-AS zeFTj@&%3d)AA6TYt!fkBcoBR@EQ{$z(xZ(DvK*$Ef8c z>o-U6W_s6?^3AvH0%~Sd6Cx`-1tT`hg*#H>OI3x3p8Fc3sBJkxbuB(9+egF(ir5;~xLS{r(|twNScWo-Oh@6e8RBruTh&|L?!9@A|I)`k(85p68tV-1~i>=bZCITrtw)U=?Hq000~Y`e;-7 zJBxn5Vqu~`!I|-%^w(*!js@9_;6V1WbHf5O?FqNBKm%7hN31E<&fbUg9;*rfFgW1M zEyxyzmr)pkE7YDm<^ z-ofenx?#fg+pL)IhYbk9*%-Sfq!2h zx;8g^2b3vV_itVFo*L*5nM_1MAYNWxU@v(v!Oal@Q&v{~B?AtZqf^Ma`{2oT-g0<% z@!t~ASa*yYj!4E4@W5XZ?QRo1$Z8q22Vn%X*A3P>pOw~YV9i$v;Z zD!>(>+PVk?45kCq)YMVXh9Qxyasr8vK=0S{jC>A*ZUW*yzYPHMQOWX z?Z^Z-a{|HTcLiLzLm(5}?+}PUZ8HSW&<=yc|LXrr&tKl6v2Hj|ti7%q!4>#td{Man zpr7s}-AuS5T>EdoH5JilI9!=tNZN3urXuKXUi<$~%pi1QAis*^--_ioie7=gn*WqO zz4OoH!Q$yN#*IETL_l)K0RWz91GJ{O_m`D4A0qEiT6>_D{sP*9`NRoSFUQf~;0wUB z+-+>?00`&gsS)pp`l~HWMPAN%CF2?_smNOqrMFVQbR@2xZP}VWoBxpGC&1;~y(ZfW zz+*M%dP6wLM^WLy(f*A}OAbaj2Ze=XTEHu71NpJFg@6fK1E$8NmYtoQ8-VFL`}8P4 z>=&@`09be~gahcHb&L+&AOJV$5AGv$2xb8UvjEWmI{aTr+mheUc^DolwrpJjjh4x~ zMvsJ=vCHxZ36hP&K`Vmo*e;=_5ZlG+Dg^6Xp)mW+`^(ZpU_Ie^=ERlB&1-MMbU7L( zjU$N{g9&J)N^A&=1ULYce}?@7GssV>`4-jFb8*)>rgd=i@QZuWF4OL+v`%{(era`C z&jWzjihOMttbSiTE36i4ChRmqJoeK!rmAJXjX|$ra}pmY%JHDNoK#s93$Fo+6!HNVW7}8 zaz9J^=)0bgesA|g7Q%T^AQ~!7SJOw<5S=MH%&se3lq`t}S2DiW*F5qzE$CfX3f^NO z@ZbSUqub)@YRHME9MgWkesA5mFd`bt)K#W5RyACBcvWII+;#vaFPF?H7G%=ix|wIM z&}C~0&^tDB6bbr6{3yLeL<24h$FfATwCVIehy(O0F#OTP`p?khpV>2%|93<*%jUw$ zN>+CvI7NgvJP!7ho5U(?tb;}P`_8iMF0~l!?9A6%Q>xuh7@~LI$M&>tml{^!c#QYKU|WRfd|nxk~HLh;)i+ybH65~Ctg$u*gxuX*9S+nM0kxMcyBv9 z%LFd~#>e*r7K0Kks#W8%KyNAM8);iAJVvKo9C^Nerm4#DXAK;c^YRr#`=d}Qxh1b| zhMx`ct6R0PBo8?^W*rrmEMw-EWixfw8kn`E6cuHt@9m#T>#WvqJ%?S|jyO&#+nO3I zv;VG@+JE`tWnwt@uvBT1nm4ZK5r#0SBqL{Anemzt>2`IlxaSQCTctMpIkPG zDu|Z|_AbwQ9I*Rkd7!@^b48mimB{-n%Z$4$@} zHfOnLpC>A~rt#MqF;NX4}fmy8DJ+=yDrs z)z$VKc8>E>URBFhSzYMjj1MlKD`&XrBF3!r?MEj(E;BmXXnkwT)Wyld8{LJSY>HHN z16vCg=Viqpd3J%Eg|!_^f(X}io3c=)?Kk8>=jGt9K z(?vvH49bR%*zHBrGnx;CXfAI-e=J%Lv z0qrkBtd(#bK9SV#aekK``az8?wKt%q0hndcW_Ax2M87_+C3CKugk-69Ub$ND?+ zvE)6^+WjBc`7Hr<-L?J0v05+e$$S=%nNW|-W_ROGs@0{<+8SIAE}G?fs*ba=2UQk} zeK7(Fn2Of;vK!x;eek_qB(XB|Tub{a@w>8nS@#^T-Nrn3J#qWS4q|s<=53kXnD}+@u(?LQ&AT9L2{krq1SoWI-dl@)qTvKoatk8a zqK_IMTY!|-SPw{R>dJNnkGv=sXdGN@l;nl;)vwJS=@K^JJXzOL9ef52Jyf)3hJ{gbK?S(iD(m{=L+!VoYbp2@ zj!<%P^y3=kzrUF)9}2|uzAWWyaFtO|2rjhFDr~Hhv~?TIRZ?X4#iBr$3g! zWVF4!VxDdpTr&8S%*|1IHYJep%d3?SFo7eD1PXnw^#Azd`m^KdcYRC!fD`GsGkPY{ zy8YitFzzgBE3(RZ$|53`S@mWi8;eOyfwAjj8MI}U0{?B{-ZJj*DV7)*epo?bTdeIv zq?Rbpsr3~zp*e`?-j=9v!oIgUsjr#wPRc#0MVu6`;0f6bo2iM2HOZL5fGg^v53^4v zpYwA#?;2>g?4LG1m3qFU6s{0hI2Hc(&GLlHaGfT&p}R+4AOVSAPqn#Kycpr(ox-J6 zmR^;71OBw@eZt9JKjtod{Rc6WE}>5bna?@HEy31x;ib0Bh;k3|dTlAWprnIZ>kUr= zHx%_48Xxn!&vCtiSWTQd8jREe3-G=_z8LvRFlt*_9oiL>^&Dh>QdHn%!H&Bk;;gV? z>GLN_k|s={YdN_&`HG*rJ0AsivzTbiJWX8`pXNn+3*P>CcE^wPjV&X6YxsHi@gy%j zL4WNHFNpHI;W>l$>alv|dM7?geDS0r1{D%=S#;1%p>nAMnzDnUa7*62*E2^ov$m7^ zv6-xXDv)M+&r(@TUM(a`yjeJ9t$gX`tDG96yppeSo82H)?^)-a!%HLS!6{{v;VbH4 z(E)POhvN*Z_h|j+FC5D@LfYTeOJYeQ&vu%{a|`L@!39*#68LFe^I(%Z`j47=+!JZc zMzU!BBv5njB+wV?9{auq=D}gOIp{V20(hxI=Kat}6u+Fl;Eqo3n0$_+b`zs2^r47N z9EX?__O+=j`l^?9<*B<`mwDA_#ERk8sL#cU1-IlX786U~y_bpS^l40<{wlFC3s9I0 zPh#^>%B+cs?6HVfeX&BQ}BN zV2(cDm2u`}Hf5#9D9`WH5AFI{#!MH-kB<$97Qodv4fqB8gDHsL>5Wt;E0wvEvgKA^G>PC)%B zO!KksxsN^-Sr={*JPK{jZO5>3C1Ahy*-%!P44O(mf3k-l-i1MsGc%J11}i;daX<2| zzhgV~oEpn&LO62yR>}oW{z4!>SJVw$;c3eBPep%E__*h;U;1dJxw-ALg}tuSGct#T zCxh&GzHQ6edd^DWwXf$lu-veCn)orS-qakdv-MqI;$vGm*Xj7E-27ajmB8HyZ<49Y zinpc1c-y`H0cE=cUs*q~W3L#LVvR}Fqiq7LNvETcTAOzREb+(6JN7OcT4`hund2x)_0)y-4^;w`gb0!P}ro@B}@;5MbBsksuRuIa`~`RB``ij`BL$M z3Y>) zd&n73giLvyPVzZ;X_(L~U4Kn(`^+hQgnp;qgUy*1&jW8uBhPocZ4OR60@)=G9T}G> z42qpmA+={&^O7JYkn{*BC-I9)*)m>%1NMv*$LG9$@NDKiE1`5vM?xkYngYO?Om=h=x>5)L87^Ym;U^Nv#QDGcxNVuk`(}M~k28MYIB6bbwz> z#Fub~s^Fsuc+p!DWpZ;*^Qn-j29v`L?xLo8pn=Bu0g0~_p69IszfE7M(pXN=p2O` zGs+(#8n=bN6%%?ojy$0FSIhS#JlkZ9Lt7rKZf6@T8BV)}NFAk8`;pNlp_$d2@jYUi zHLQespG(<}g%7ZNgAO(94E!6=%Cw%Q^hV*VdQp+={l|Gsdu}zCOdqrF7R(eFNm};j zZ=Q@}YW?iHp?GG0U&!PMLc+f$=&>{TXI{Tke^NSX==R~l?6Bp1g`a^mqoJpFFA6Az z>NtHZ6!rg{5KsM{Uj^i~Tb>{3^UnR~VqjBr>nE+NtEyIZyQLNGIY&_FaCLxZpZ&-@ebT-AS zeFTj@&%3d)AA6TYt!fkBcoBR@EQ{$z(xZ(DvK*$Ef8c z>o-U6W_s6?^3AvH0%~Sd6Cx`-1tT`hg*#H>OI3x3p8Fc3sBJkxbuB(9+egF(ir5;~xLS{rYo;F@_{cOi_l>nZXc5kKpnS2BVEI6E%bsqZ6cPQ6g%JE`*7U zl4#KdiQXc5l!*3?dvEUd{c)f7kMBIsIeYEB*ZQrxpLNcOG&a&@W#(t5qoZTh!=O!R zV-D?(Jk3aZzIrmfLL2yq+Ezp}f-}(%>w}}ybRsz5Kzg277n~^$>lAR~BTj{mj=>pk zZbh^*G*EIRctWtpJP?0RZ<;h6or=1@H`dV|M+7C6Ulsf(t`dztUWS4}f3gtW zRl$E5Wo2j#LJ@p$AbAK(+7X6;fe>&ATvkp&LE$n;1_p;gVKPv-j5J(9NmfP)1_S+l zfoa-&oSc(YqRmvnu0*1@5)|s^=LhkVg%EsPpl~D-d5j?=BTeIw_6_hNV*RDP zd_{jFpmDyAK6q~;p5O&KM#MT0NJLdI&C}_wPW_LI(B6dPCt57}V4A z*snjieTk;H|25-ZxqZz8ym3%doG*do<4DVgv*>SOTI~M2qGLvyHA+`~@U*00J#&tKl6aX$E)I42z+f+y(D_$uN5 zRX>borVN7S!e4%CBG70V86>TcP%?^|2=L#sPXC{nL21T7kBj5~6wB`=S_K}H|CBy$ z^3UPHdC^Xc5AA5!KD!h|N5_6&53OnLKeF@(6VY&p|B#6<6`<#eu1F*!nWDtVr53n> zoPmhJ{)d5{g_18S@-oFO&fDQh-8sn*t1cH^HPDXcg}ZQwh%oV;NjV2rXxZDQB>DQT z)X&GQ)W6wDKeBOumF~OkzrDM$d^GOz^p?95w=E;XLZ_B6&y*xXqsmNaLh-x3h8C@; z1%F`{-5A_yLcfNuZM#M)@^UaHy^L8TMKkhTfv;WL`<=^6F4+3g82Jk?J;gXVJpjTy z7hk`QyC-ycQ~nV-=(>O0ulWC*%6d{Ad+)kwVkI&8b%bJXy`^-4{gA--=ihKT|E|BS9eA@X6#RWaT^r7 zdHwc?mzRn-a4d6V9@F%_+T1(0#8%;(O$uA*nMp0yIr&__{Rjw?z|bq*67Xk0(WqZ` z!Hklbex+BxY=`d{eT$(`n|s6j!Ik-Kt&Tpq0P zBL)-ui;H$4(sgV4EPCJvj#{ttWgNO2L1AP-ICbLtY+;Z@92w)S7_6d7gpx$ToPumj z5qS_`;)Dty4+7!>-byN7slezaX$m7&X_L^TpN%X0Ye2} zYZYSrcaQ3upc9GYS`AJxAC;h0vQTHM;NnZiD7sHqH6%0~?Q{?ZQ-iCwbxuG*0spDpDE72@f}%Z)YON{Eql z?!?VedB8d8uf5kzKPZw$rh>0UUpdD|sl1Zb!5980q+D2F1rYVEm4GJr8d7nGYcTbluF%*;WPQ>_ za4HjFRX3(ZUETFIDl&`|%MXu9=f0*fk;^*KJ1d2dkdn-)?C}pqm3e#%{mJo%^)K(F zPprzT)9i z$MgE0k>mj~hU;dAQzqg?mWeUPr%^;1D?ov{%w6Dy+FCo|p@5i3C~xOdV@(&l>?R}5 zuxYL{)jB=jC_{-uy%|op?5!0zFhbJtG^#i?`_|e9h{$;rAK%PgT2aw2;z^zSe2(cP z)RsvsSrrHb^00k+l3$*c_4>ogvJ9fx(QTap*mJUHr_hckk8*3Ct;Ej#$gf6mNgv2M zbb;T7O$SXhneb~{xNQ}lQFl}^TI2x-_AmkMSi$Sv=LMy6t1rxyEM&RQTSZ@++Aq6N z{*~gXbJc2P3?`9t`pzj;7Lj=QDslFZ`S5WKE;1Q$CoN5Y82#PhMng*RkW$kP5e$dP z3(Izym_Yn#6|Zc`oM{=qMwhbXq($Z^3$!Npi(xGQB_dNc6sX68l&YdiiP}%uH|E(a z)J#-&lJRDj(hQ=7XB>AGv9U=#Sgawa$k2VE7sZ&I={g$SbHLQNf3vupDzhMC>tg4h6x9OZ=-MrS( zd1>V*1CR7>nf2&xGySI_Dh&Mn?8XL^d0WZBav=8sw>>5Q>D@`HUBMtCosz&_uKouG zRo<&SF$;uhy*htmVB~&GN8j2(>eI6af}3+d*3RH|KH;~@Ol@uE3Bf;ID=Q~|Mw;i^ z^d*8N0R#$?&AQsdF1E;@vCApr0@&@WNw&ysBun2^zDBW|n4@)zg!X1-Kol8Ou7x_F z3w^9cl4&9?8cUwGFvi_zaX8A!pmxJQpTiwWdNdT*ScmFwx?N{^H2pP;X8R9zo6AXhB3cT|y5 z7q#lD64!>`zX_g=Rh?K_VOupy%_>k!2_KVcXr*`UOmBSCkSzE4Elx^Iy=k>-;eq#h z_|>eB)A15T!cg0R!+VUu&DWwCoqvQak~KkMkiA;p`M80ukLh>u9PcrhTM(S+gK7uP zxH(vxyo};;j4GE6=E{(p^I;DrZv_NXwm{Zs?L}D-#{Vg5r*? zWD$lv)bs=h2khZHyY8mPwC@)oPw5?t29`!%QBSb=j?mDr-M(moo0S}nH#aII+ht~U z8-yG0p5)cEu*>E&T|W^L0`Z)l^biJ!L#NFh1(MbBjy|9DN>NW-K<4Iena@p~6>p8WQg-qj|Z8V6b z-(QTp-w|Dsjt)^-ndO}v8s`+*{lEmor>>Rdg01zdbZyyFg%p<@tUE*@l#<>hj(*{= z9pGqbeM@3vty!O}{6*%geWgO1p|y`J(}0hwZaG;NBo&;>?C zztS9hW4pGoakoFo!X2<)6Z+InWxUKn9p4-oHUt+7UW=R4ENp8Fc)|_1&U8|HWTsj1 z%$-vzxgw7=?$+MR~6W zq0=MJf}Jk4`mWbcsk09@a>ouxRS5hj*$vZvN-dG{k#BKd5tqEXS58TN? zc!x@)qYZQ-e*t9g5l9M9}VllyQ=woId;yGPMXs{I2DF z-`~12;6NkFRrl5P8p%9CdRng7LeFC!#-IiyAa7opMZ6>xA+Yt9>Fh_X8b;x$4j%KA z@wuUdrE`eG2BAP=EOriMU(PMu-o57n&n0vNytn5iDFNupDw%JIYdeyhQ?Qsta+fZh z@OJ9E5qktR`@z}eea zwdSU&Ip}r9S%XPq=^$b(!rhXt-K{Ozjv3FF|K?W_t9VtrM2;+_&pfTiNE+C!CwhJ` zRfg0Ps~ZGYzH}8zQOxM?ax-0ztUC;+wn~Ql*v;J;>n%HV@c4kdnAY{dvE=*-%zr$1 zCGms9Dqc4i#)dY8Lk6D-$vTifHh3dy1`o;3m3`j)M}Zcjg@O)Z5)epFQ(i{LU1-CL zk==KUlBT&zmBNFx{K9EE6=@wR)JJe~R)pxHB-* zo=o)#-LG7n4-O(m4z5Dw6%P){kh)p&NR(WNK?>MfK4R0%B`cw@y_KcmwoZr9<&uhF zK%Po_fBwt}>9FmELrwV?bd!$~oL)%nVOzV+udnQZ%hcLEwc)Q>5|ZzdDzW>YO-f=0 zf)(vcw|QCN?NS*aw4aXF%T3E|UWuIHBR#ji<+JLRkw1A)vEN?F$dzwCErt#^;#23b z6SCX#<&B7cjwy(aJo35m$0zpN4fS=U*)=b>)d9+_h!|m6`nM`71`qFu)J*1HKER9_ zh25rS5}>_?T(hb>wYBPKVy~D4UR>UsD9##}(oSRHzN)h80nN${d#2l5W-;2{6Hsar z5ZBZhG&29dChli#kAf6HnQJ|SRTbP@MFhBHG>AxYF2(XYD@pA$)T zvh!jjMm7>~$ppQ4Hhh{p(F09CO#4{E3MBetyqUGdE^>ajF2VuCdtCh8tLBN8rvWa; zX#O-N8U`3F0nX;vTuo&%Qj$vob7FwBRVUi_*Yo;F@_{cOi_l>nZXc5kKpnS2BVEI6E%bsqZ6cPQ6g%JE`*7U zl4#KdiQXc5l!*3?dvEUd{c)f7kMBIsIeYEB*ZQrxpLNcOG&a&@W#(t5qoZTh!=O!R zV-D?(Jk3aZzIrmfLL2yq+Ezp}f-}(%>w}}ybRsz5Kzg277n~^$>lAR~BTj{mj=>pk zZbh^*G*EIRctWtpJP?0RZ<;h6or=1@H`dV|M+7C6Ulsf(t`dztUWS4}f3gtW zRl$E5Wo2j#LJ@p$AbAK(+7X6;fe>&ATvkp&LE$n;1_p;gVKPv-j5J(9NmfP)1_S+l zfoa-&oSc(YqRmvnu0*1@5)|s^=LhkVg%EsPpl~D-d5j?=BTeIw_6_hNV*RDP zd_{jFpmDyAK6q~;p5O&KM#MT0NJLdI&C}_wPW_LI(B6dPCt57}V4A z*snjieTk;H|25-ZxqZz8ym3%doG*do<4DVgv*>SOTI~M2qGLvyHA+`~@U*00J#&tKl6aX$E)I42z+f+y(D_$uN5 zRX>borVN7S!e4%CBG70V86>TcP%?^|2=L#sPXC{nL21T7kBj5~6wB`=S_K}H|CBy$ z^3UPHdC^Xc5AA5!KD!h|N5_6&53OnLKeF@(6VY&p|B#6<6`<#eu1F*!nWDtVr53n> zoPmhJ{)d5{g_18S@-oFO&fDQh-8sn*t1cH^HPDXcg}ZQwh%oV;NjV2rXxZDQB>DQT z)X&GQ)W6wDKeBOumF~OkzrDM$d^GOz^p?95w=E;XLZ_B6&y*xXqsmNaLh-x3h8C@; z1%F`{-5A_yLcfNuZM#M)@^UaHy^L8TMKkhTfv;WL`<=^6F4+3g82Jk?J;gXVJpjTy z7hk`QyC-ycQ~nV-=(>O0ulWC*%6d{Ad+)kwVkI&8b%bJXy`^-4{gA--=ihKT|E|BS9eA@X6#RWaT^r7 zdHwc?mzRn-a4d6V9@F%_+T1(0#8%;(O$uA*nMp0yIr&__{Rjw?z|bq*67Xk0(WqZ` z!Hklbex+BxY=`d{eT$(`n|s6j!Ik-Kt&Tpq0P zBL)-ui;H$4(sgV4EPCJvj#{ttWgNO2L1AP-ICbLtY+;Z@92w)S7_6d7gpx$ToPumj z5qS_`;)Dty4+7!>-byN7slezaX$m7&X_L^TpN%X0Ye2} zYZYSrcaQ3upc9GYS`AJxAC;h0vQTHM;NnZiD7sHqH6%0~?Q{?ZQ-iCwbxuG*0spDpDE72@f}%Z)YON{Eql z?!?VedB8d8uf5kzKPZw$rh>0UUpdD|sl1Zb!5980q+D2F1rYVEm4GJr8d7nGYcTbluF%*;WPQ>_ za4HjFRX3(ZUETFIDl&`|%MXu9=f0*fk;^*KJ1d2dkdn-)?C}pqm3e#%{mJo%^)K(F zPprzT)9i z$MgE0k>mj~hU;dAQzqg?mWeUPr%^;1D?ov{%w6Dy+FCo|p@5i3C~xOdV@(&l>?R}5 zuxYL{)jB=jC_{-uy%|op?5!0zFhbJtG^#i?`_|e9h{$;rAK%PgT2aw2;z^zSe2(cP z)RsvsSrrHb^00k+l3$*c_4>ogvJ9fx(QTap*mJUHr_hckk8*3Ct;Ej#$gf6mNgv2M zbb;T7O$SXhneb~{xNQ}lQFl}^TI2x-_AmkMSi$Sv=LMy6t1rxyEM&RQTSZ@++Aq6N z{*~gXbJc2P3?`9t`pzj;7Lj=QDslFZ`S5WKE;1Q$CoN5Y82#PhMng*RkW$kP5e$dP z3(Izym_Yn#6|Zc`oM{=qMwhbXq($Z^3$!Npi(xGQB_dNc6sX68l&YdiiP}%uH|E(a z)J#-&lJRDj(hQ=7XB>AGv9U=#Sgawa$k2VE7sZ&I={g$SbHLQNf3vupDzhMC>tg4h6x9OZ=-MrS( zd1>V*1CR7>nf2&xGySI_Dh&Mn?8XL^d0WZBav=8sw>>5Q>D@`HUBMtCosz&_uKouG zRo<&SF$;uhy*htmVB~&GN8j2(>eI6af}3+d*3RH|KH;~@Ol@uE3Bf;ID=Q~|Mw;i^ z^d*8N0R#$?&AQsdF1E;@vCApr0@&@WNw&ysBun2^zDBW|n4@)zg!X1-Kol8Ou7x_F z3w^9cl4&9?8cUwGFvi_zaX8A!pmxJQpTiwWdNdT*ScmFwx?N{^H2pP;X8R9zo6AXhB3cT|y5 z7q#lD64!>`zX_g=Rh?K_VOupy%_>k!2_KVcXr*`UOmBSCkSzE4Elx^Iy=k>-;eq#h z_|>eB)A15T!cg0R!+VUu&DWwCoqvQak~KkMkiA;p`M80ukLh>u9PcrhTM(S+gK7uP zxH(vxyo};;j4GE6=E{(p^I;DrZv_NXwm{Zs?L}D-#{Vg5r*? zWD$lv)bs=h2khZHyY8mPwC@)oPw5?t29`!%QBSb=j?mDr-M(moo0S}nH#aII+ht~U z8-yG0p5)cEu*>E&T|W^L0`Z)l^biJ!L#NFh1(MbBjy|9DN>NW-K<4Iena@p~6>p8WQg-qj|Z8V6b z-(QTp-w|Dsjt)^-ndO}v8s`+*{lEmor>>Rdg01zdbZyyFg%p<@tUE*@l#<>hj(*{= z9pGqbeM@3vty!O}{6*%geWgO1p|y`J(}0hwZaG;NBo&;>?C zztS9hW4pGoakoFo!X2<)6Z+InWxUKn9p4-oHUt+7UW=R4ENp8Fc)|_1&U8|HWTsj1 z%$-vzxgw7=?$+MR~6W zq0=MJf}Jk4`mWbcsk09@a>ouxRS5hj*$vZvN-dG{k#BKd5tqEXS58TN? zc!x@)qYZQ-e*t9g5l9M9}VllyQ=woId;yGPMXs{I2DF z-`~12;6NkFRrl5P8p%9CdRng7LeFC!#-IiyAa7opMZ6>xA+Yt9>Fh_X8b;x$4j%KA z@wuUdrE`eG2BAP=EOriMU(PMu-o57n&n0vNytn5iDFNupDw%JIYdeyhQ?Qsta+fZh z@OJ9E5qktR`@z}eea zwdSU&Ip}r9S%XPq=^$b(!rhXt-K{Ozjv3FF|K?W_t9VtrM2;+_&pfTiNE+C!CwhJ` zRfg0Ps~ZGYzH}8zQOxM?ax-0ztUC;+wn~Ql*v;J;>n%HV@c4kdnAY{dvE=*-%zr$1 zCGms9Dqc4i#)dY8Lk6D-$vTifHh3dy1`o;3m3`j)M}Zcjg@O)Z5)epFQ(i{LU1-CL zk==KUlBT&zmBNFx{K9EE6=@wR)JJe~R)pxHB-* zo=o)#-LG7n4-O(m4z5Dw6%P){kh)p&NR(WNK?>MfK4R0%B`cw@y_KcmwoZr9<&uhF zK%Po_fBwt}>9FmELrwV?bd!$~oL)%nVOzV+udnQZ%hcLEwc)Q>5|ZzdDzW>YO-f=0 zf)(vcw|QCN?NS*aw4aXF%T3E|UWuIHBR#ji<+JLRkw1A)vEN?F$dzwCErt#^;#23b z6SCX#<&B7cjwy(aJo35m$0zpN4fS=U*)=b>)d9+_h!|m6`nM`71`qFu)J*1HKER9_ zh25rS5}>_?T(hb>wYBPKVy~D4UR>UsD9##}(oSRHzN)h80nN${d#2l5W-;2{6Hsar z5ZBZhG&29dChli#kAf6HnQJ|SRTbP@MFhBHG>AxYF2(XYD@pA$)T zvh!jjMm7>~$ppQ4Hhh{p(F09CO#4{E3MBetyqUGdE^>ajF2VuCdtCh8tLBN8rvWa; zX#O-N8U`3F0nX;vTuo&%Qj$vob7FwBRVUi_*)vZbZDI>mH9H4e!sCW?@0<(EMH9d~p;o7U$_r&<5sS)dFB|cWuB<)dFha zZ-DdiHV!7?&IDW9xCQ&VX}AMAC@_+y$ppaTD6U`{-j6`mq-g`caW$Fr-nJ3|{>?)1 z)dv1H%HHA>*nmjFfmIcu3T{v}C|C`q2vb&3S67z@!=W&!5)`fkgDb$)HI?C-P$>AH z2ViO=xqE0@qYeMj#aw9vUKEPIrjk-%V4z~4vLcb>sRYx|(AdL(!xfku3gjRH#g(Q& zAVdBjpmAh3lD9v_n@9lfA-ZCT0TgY3Y3biC;QcKu{sktG{|OW`WJ)wwei3bWB1<`?J+W~(X=9YGn3-#hbFoO z;Bf?s30fOqeo=JycGrZe8LGlGplFyf9IA$Z!4QTj28K`=M$Z7FuY!Og{$TtkSv1@L zuCAx7YGA0U4ufG}dU_ZY0~i8fsIR7?uB@l}N7jTurnnN^aDViAGxh!>%T)GXWHk*) zI9CdhWJ4tS{i%RcUPKC!>_zkk8=O%ETe!M;6ZY17>G|7RG>+s=#km`jhmL;Es)-hl{l5UF0M(MoXBy11I3Iw_eZ;+>et zAuWBq5keoVgKV)JrRg$^c0h$y^X**H(z^3?fAuSC_nQQE^?ftB+wtmN<3;Rj1yy5= zR8jSErq_1xWN0}uJ%0GsqCguN^DN znl97lqC7n{H&mrZ4kNds5Ez=(ciK9HcXwpi>Yl(tCvxlVtaQfPbvfR!pUM}b&njWvW#9V?4;8p!y87Q%k6IR^WTK}XCve<1Ar@y%e3r@F8U}Roz4aT;d>N6 z_Z~$z1~Vx%nstu?1h^#XvCCqKEn^PwB*8%tigzjK8%TS1xJBeuxja0ssokSKX(Wm6 z#do_6R~ksGw-hi*$+>l^9w9T@>U5j^?JphTMDCn(F@!ZnanpU9Szwo)kr%iv zqT0Y}a{QAni|*asw&ca{NDTTTguAxC*W+mn#b{Ekbgi#s(}#WTI(KbqP=7&|dq_=D zQ%AHLka>UJ$M?pQ7ZnNJ=Ym~gR4Tn}N<3r0T%+Mb}rK`NX4)Fef z&2{gq_nyK-kGb8x)OOB!CG38!&$(nlexpV$6zWo#7Vm)HAVUEm@}NLrzg4x!P}PuWXco)Gqp;mBUp_+NZKu&rC6XljP+sc zCm$p9N_?r2&FA2V0;4#>zVKyu{@KM&2)e2y^l@Y zoqWJ%VP;2~|ASZa_{$g?<46dI0#7;yi1IuUn;933?nlvHnHq(5p&O}E!Es~s!wqTqo!_1=1&o_(`JQ=4v%`isg^872u}JsJUOj? zZb0LU$jV1|H!x810OSh4gZ?_qDR*FdrCDP`S6|^+NV&?IvyU0N%E;wqfV#I+l_~Ff z)i=fE*tu=CFCcX)*23h(W~N=LJtBK<#*i6L!uSK1OE;eSnt^1cL>~{nIjAbM{phV+ zCCQZW2^Cy}kh4p&lp0y-aEWrv(EJ2se7`0Z9$6`aZTdQs7i{Udl;6`grH_G7t<_~^yhs?=S+mSWC@ z_bB?s7{f^Ean)!UR*4&puZ6?rKHhRx!zuTXszm2e^asusikn-IshKcp3oMj{&kvD3I${(0;{KlBJSk^46<`o zpLAAYahFydr0Hn3r9|qwgMP^6^@jmB4pjb3)Dg}5aAYPxtLb6Pd?TXxoI)c4z$V9& zyQhDqrb|5a#TXXlwfw|qJQUD1WNVKzRN5cquh5D4H4tW@Hp0acAu^t&FE6Y!b1NR# zQ{yG?3&>;$q}>XpFkIeF$f^k*jQya(2KquLU194l<$qJruoNx2+qUa_r7@p$@|8JgjuM0VZ+ z4SdP86e0&1D2@!=rsE@D)3(Rn+{bHQ;*jt6?WfvwXjvjSXLMnab*bEmp*#~DbE>XW z-XqR+uD10dCpI&(;+cu1A?MddmcF2}-94|0{zlm&&;8FY))NR{rR!SQUE&)1~53=R|(!uD!ZbtnYQ$ zKI~#qrH#08OsNqc{6e`)YHU%Ie=xL9r`hDl4{S1g)V5>!DwRFD<2d!<1Mac}v$b*s z%;Q&RFot>IoA7f#-n;%~f$&2&b(vd=}(`LeBy0$d-X0_HVHg(lFQSgIC7w>ocH2v72ICMY#-oe&4zzFn2W{aN(Dj6@a zn3}qkVPm5|Q{L|*;Vq^f7Gw*N7WS!kaY*FLjh*bL+KGgcckQN0y}hGjeNnrg%iQFX z3gtg!P($on2SZDoazZcAqkNPc`&g*2aPFZ(+9_gN^G3&*(G$g$^2>w?wFn z*5{`JN(!sjpJl%Tp~~!GpC+iEMw&X$@c6nz2DWUn2@0Z(eOfv4Zfh>6lQnHJqi(Qw z&xXpUvPH*&+C9z$6zbeChIC$lYhAI^f-S`SO#5p+r*tHrp4vV>HDbAlP#%tnS|P6n zIoYfo=$01NF^hqZZtW{HQboyPd4>2T15@kySHdpEOHzCRXuE$I1DL3kA+iiOpx#bbA7DV61DULca-y8z?$2s&<^T8r$Ag==E& zTzt3E9~i)vck`a$U*AKj5RPSBCyePKy3VpXkByw}2BzI#F_y(@josc!rbi8Ldsvzx zji*;B4AajE773S{E=~@+@^@_0njCcy8lGk)+Kje*O)VqjfP8n`kr5Iam6bPxq`D?i)2i*2%HrzO3aM3rk;ezCMhtn#7`QMC- zJ322^DaIhI?8Y(T$DY9e@zx;nCAo1T?^m*<0!BXY?7NL;Cc<})6qTJMpKN$gW{yf;KP8;(@gqUmg$rBvc82TFXO}^WU^4{ zo#&qsef-$Bp7QOv(-p?gy-}^X`jUMqW)f{}b{mb~7_Nnr%l!%V1pRs+9W_b59BiU6 zTjaSJ5^u2@vEo~!nnKz0^SIiHdOiN3yY2^4uNtR$u@B*{kgg`q^wyo2pu}M?9mk6| ztEDmGep*28v$SCGn8?dF;_}-KMGLm4HY=q=A)T!XH2VSs(%+e8t1%k@3sYr5l-7{J zhi2oGP%6XSRj5fZ4n3OFRD_gupMH;{V(#r%$lzGS$xuc|tL*Lt5gEJkuhE?iJyt>D zrpIoaAut^kj-`)Adzz$V&#KM42U(sdV3V`c<1=L($frtfXgv3Tv|d}pEv53fHx|uI zS?17Qr+5N9Ywo=da!poD4&uEY-3{on32Q(8RY=l|{V;5;JovAq@9JxFpNfR3nLai7 z?;JNImIqc|Jk-;O=D_XfaKM^nz8|nIL0G+?C_tEqgYWj*X9xeaG25c1wExj$R?@Ek zsf_9zhuY)7YJCLu3frmFRIRzldnfw*t{$=EY&-9?A4s9~aI;d}fJ%+m$3rAx42}(a zO`Q5|-U&l1^9qcz?5AeEVnHO)X5wqKj4F1ZIR(kh9x_q|@d6U&Z$bJ$c6fasclNm} zH|l-TF*gB|JWjo6y^ayu9Kq*hF_KX~6{p6hDjwFynBNyN3xxRk30LtY?|944e|$mU z@W!7lZN-0C4`Mu7x~9pxU!NS!sdQ&5R3yBz!nHxFFkD!AA9sd)>Aq>v{Ubvm_a(2t zG<0t6R=x@;D}J&$*gOCBeH>Kd$p;xwxyOkIoag)vZbZDI>mH9H4e!sCW?@0<(EMH9d~p;o7U$_r&<5sS)dFB|cWuB<)dFha zZ-DdiHV!7?&IDW9xCQ&VX}AMAC@_+y$ppaTD6U`{-j6`mq-g`caW$Fr-nJ3|{>?)1 z)dv1H%HHA>*nmjFfmIcu3T{v}C|C`q2vb&3S67z@!=W&!5)`fkgDb$)HI?C-P$>AH z2ViO=xqE0@qYeMj#aw9vUKEPIrjk-%V4z~4vLcb>sRYx|(AdL(!xfku3gjRH#g(Q& zAVdBjpmAh3lD9v_n@9lfA-ZCT0TgY3Y3biC;QcKu{sktG{|OW`WJ)wwei3bWB1<`?J+W~(X=9YGn3-#hbFoO z;Bf?s30fOqeo=JycGrZe8LGlGplFyf9IA$Z!4QTj28K`=M$Z7FuY!Og{$TtkSv1@L zuCAx7YGA0U4ufG}dU_ZY0~i8fsIR7?uB@l}N7jTurnnN^aDViAGxh!>%T)GXWHk*) zI9CdhWJ4tS{i%RcUPKC!>_zkk8=O%ETe!M;6ZY17>G|7RG>+s=#km`jhmL;Es)-hl{l5UF0M(MoXBy11I3Iw_eZ;+>et zAuWBq5keoVgKV)JrRg$^c0h$y^X**H(z^3?fAuSC_nQQE^?ftB+wtmN<3;Rj1yy5= zR8jSErq_1xWN0}uJ%0GsqCguN^DN znl97lqC7n{H&mrZ4kNds5Ez=(ciK9HcXwpi>Yl(tCvxlVtaQfPbvfR!pUM}b&njWvW#9V?4;8p!y87Q%k6IR^WTK}XCve<1Ar@y%e3r@F8U}Roz4aT;d>N6 z_Z~$z1~Vx%nstu?1h^#XvCCqKEn^PwB*8%tigzjK8%TS1xJBeuxja0ssokSKX(Wm6 z#do_6R~ksGw-hi*$+>l^9w9T@>U5j^?JphTMDCn(F@!ZnanpU9Szwo)kr%iv zqT0Y}a{QAni|*asw&ca{NDTTTguAxC*W+mn#b{Ekbgi#s(}#WTI(KbqP=7&|dq_=D zQ%AHLka>UJ$M?pQ7ZnNJ=Ym~gR4Tn}N<3r0T%+Mb}rK`NX4)Fef z&2{gq_nyK-kGb8x)OOB!CG38!&$(nlexpV$6zWo#7Vm)HAVUEm@}NLrzg4x!P}PuWXco)Gqp;mBUp_+NZKu&rC6XljP+sc zCm$p9N_?r2&FA2V0;4#>zVKyu{@KM&2)e2y^l@Y zoqWJ%VP;2~|ASZa_{$g?<46dI0#7;yi1IuUn;933?nlvHnHq(5p&O}E!Es~s!wqTqo!_1=1&o_(`JQ=4v%`isg^872u}JsJUOj? zZb0LU$jV1|H!x810OSh4gZ?_qDR*FdrCDP`S6|^+NV&?IvyU0N%E;wqfV#I+l_~Ff z)i=fE*tu=CFCcX)*23h(W~N=LJtBK<#*i6L!uSK1OE;eSnt^1cL>~{nIjAbM{phV+ zCCQZW2^Cy}kh4p&lp0y-aEWrv(EJ2se7`0Z9$6`aZTdQs7i{Udl;6`grH_G7t<_~^yhs?=S+mSWC@ z_bB?s7{f^Ean)!UR*4&puZ6?rKHhRx!zuTXszm2e^asusikn-IshKcp3oMj{&kvD3I${(0;{KlBJSk^46<`o zpLAAYahFydr0Hn3r9|qwgMP^6^@jmB4pjb3)Dg}5aAYPxtLb6Pd?TXxoI)c4z$V9& zyQhDqrb|5a#TXXlwfw|qJQUD1WNVKzRN5cquh5D4H4tW@Hp0acAu^t&FE6Y!b1NR# zQ{yG?3&>;$q}>XpFkIeF$f^k*jQya(2KquLU194l<$qJruoNx2+qUa_r7@p$@|8JgjuM0VZ+ z4SdP86e0&1D2@!=rsE@D)3(Rn+{bHQ;*jt6?WfvwXjvjSXLMnab*bEmp*#~DbE>XW z-XqR+uD10dCpI&(;+cu1A?MddmcF2}-94|0{zlm&&;8FY))NR{rR!SQUE&)1~53=R|(!uD!ZbtnYQ$ zKI~#qrH#08OsNqc{6e`)YHU%Ie=xL9r`hDl4{S1g)V5>!DwRFD<2d!<1Mac}v$b*s z%;Q&RFot>IoA7f#-n;%~f$&2&b(vd=}(`LeBy0$d-X0_HVHg(lFQSgIC7w>ocH2v72ICMY#-oe&4zzFn2W{aN(Dj6@a zn3}qkVPm5|Q{L|*;Vq^f7Gw*N7WS!kaY*FLjh*bL+KGgcckQN0y}hGjeNnrg%iQFX z3gtg!P($on2SZDoazZcAqkNPc`&g*2aPFZ(+9_gN^G3&*(G$g$^2>w?wFn z*5{`JN(!sjpJl%Tp~~!GpC+iEMw&X$@c6nz2DWUn2@0Z(eOfv4Zfh>6lQnHJqi(Qw z&xXpUvPH*&+C9z$6zbeChIC$lYhAI^f-S`SO#5p+r*tHrp4vV>HDbAlP#%tnS|P6n zIoYfo=$01NF^hqZZtW{HQboyPd4>2T15@kySHdpEOHzCRXuE$I1DL3kA+iiOpx#bbA7DV61DULca-y8z?$2s&<^T8r$Ag==E& zTzt3E9~i)vck`a$U*AKj5RPSBCyePKy3VpXkByw}2BzI#F_y(@josc!rbi8Ldsvzx zji*;B4AajE773S{E=~@+@^@_0njCcy8lGk)+Kje*O)VqjfP8n`kr5Iam6bPxq`D?i)2i*2%HrzO3aM3rk;ezCMhtn#7`QMC- zJ322^DaIhI?8Y(T$DY9e@zx;nCAo1T?^m*<0!BXY?7NL;Cc<})6qTJMpKN$gW{yf;KP8;(@gqUmg$rBvc82TFXO}^WU^4{ zo#&qsef-$Bp7QOv(-p?gy-}^X`jUMqW)f{}b{mb~7_Nnr%l!%V1pRs+9W_b59BiU6 zTjaSJ5^u2@vEo~!nnKz0^SIiHdOiN3yY2^4uNtR$u@B*{kgg`q^wyo2pu}M?9mk6| ztEDmGep*28v$SCGn8?dF;_}-KMGLm4HY=q=A)T!XH2VSs(%+e8t1%k@3sYr5l-7{J zhi2oGP%6XSRj5fZ4n3OFRD_gupMH;{V(#r%$lzGS$xuc|tL*Lt5gEJkuhE?iJyt>D zrpIoaAut^kj-`)Adzz$V&#KM42U(sdV3V`c<1=L($frtfXgv3Tv|d}pEv53fHx|uI zS?17Qr+5N9Ywo=da!poD4&uEY-3{on32Q(8RY=l|{V;5;JovAq@9JxFpNfR3nLai7 z?;JNImIqc|Jk-;O=D_XfaKM^nz8|nIL0G+?C_tEqgYWj*X9xeaG25c1wExj$R?@Ek zsf_9zhuY)7YJCLu3frmFRIRzldnfw*t{$=EY&-9?A4s9~aI;d}fJ%+m$3rAx42}(a zO`Q5|-U&l1^9qcz?5AeEVnHO)X5wqKj4F1ZIR(kh9x_q|@d6U&Z$bJ$c6fasclNm} zH|l-TF*gB|JWjo6y^ayu9Kq*hF_KX~6{p6hDjwFynBNyN3xxRk30LtY?|944e|$mU z@W!7lZN-0C4`Mu7x~9pxU!NS!sdQ&5R3yBz!nHxFFkD!AA9sd)>Aq>v{Ubvm_a(2t zG<0t6R=x@;D}J&$*gOCBeH>Kd$p;xwxyOkIoagc9Ib@1K z+cL*|<{QVkpZP7%oLFQIN6ALcWILiKIoOSaXEE>~y5k|Her{fPTfCb`$fY*CHVX@z zr;oie+1b(pi6i2#QF;L)4UEN;sH045AKKhO4M*XlR^(AYgD96o!Dp5lV0kqzVEFgF*gz z0H!vQhbPh&ZTyce=1d3hCX@Y~I{A3zKw;h6dGl>8&ijNN}%w8zM_25C+5VJ5}xBASQ` z^urU#rf402xufji!8>_)j!q9LP1Wa8M4%akRMH$23Mg}M&Lsd1qN}|I8 zF???6sw{E3tMiUhr-kSA&gjXFPM5{?MaGwn-QCa*bhb7YWaY1AE_wRcU?%6i@q^|? zLX^+xr;#U4f9dGm=fpvxJ~(~b!D>bDsl9&ocm6H1jI?|92vyRYSW%T!xZx_4cx(7s zGzRknTy>($eOBkTF3#sx5&CmWFXfnCg!nbWm!cC&sh^6U+P(f%pf#W%R3LK!qHAo~ z{7vG_r%!pMrKn4-BNF6m#nmGXpL_OMDwSS*VW~W4d;6wymZS;Y@UnEGg9*yhj1_HU z%wON2Pqr7dHj9!O3=)lV_VSLP;wnQ2hwtv|s{9(mc~}icZs@xg^};rl=D?nl+t$xD zRUK#{&%toLe|oY3wFWl%cn4>1$lByYONfg(5z3D?HXd54GdWf=)CtbF#!P37`O?uU z;pSFVquMXl3?0f&faPHlzwC~}hsOyiG?Txx0x`(&`M=$Q8&$cxJB1 zHh1I3{i^d^s$!evX}5B&a-K9ID&9r|MRVVs?zHD!SGS@=!lZHac}=tHy%8q0X9U2_ z$x%g4ov~Xx^$iNazoF6Z9kFxix<2Lgps!oJWV1JR(Up1M#h3WN&7he(!6mXRA3&4tyr$#30s0@c{{DrrfF0zjSu57 zPwu@}za6$@XDhq2V)fyaI=3<_c-Ebzk21;PWMfOWu|a2o=E`2*y&A)QaFWdZ$h~Dc zJ&tCE>MO<(wtKqSz7*-#a-->x$og4@kcPFNAj+^zKGI(w6E>C}cxgYvwX5Vvn%$>O+3qos;JtRQLk?r5k@u=PmB%+XP< zjv1k57jPf-+_1x=8_{$Z6T_vW-J2Q!RO^lDH#1P>1Dyb)3+Cu~WACz~A33lvUUx)g z$mxY@jTQV=))}_$#&h$xqNXqR7$s9WMBPLW#;AcO0?L-d^vR~%^aHG#60XZN>8@MZ z-*{u}Z1OSUaI-sOKTQwzPdIwta80pEe4VEM`iX4*a6i@S-gVg<*NV4GMi~Qyhrt53 z9UzliUAMNR#w=KSMw5J1nNVeEjhsPLw&_VCgt7>hQ<^9#Wn{SEMc=H{- zHKP`nNR0N{f#v6DX+!Xm8je1@kgDk*{&H#~_)Z0OTNgrKi4E;$^%(#dxLVGylMMZ`||mA zklX97nn(qSOyL;|Ijei+RTV9I9Ttb?*a({2LbsIe4i-K&ZEn?+mJA!5>};3K4m$-P zPadk$_{^#!mNCA;_|SAiyaPI1GP7op;16-%Js3K~OW*tupG*BTt(*#Hw59QUvR1l$ z{FwHyd~^YF|4oxGY^Rfi^!7 z(=2c4P*$n3DjqIJ!T6Hdgj!@E$4^EuYPhm5ZyM|J>j>naE9DMPT*8Bf%}!JIyzHc* za+7#>o|o&RE@MSMy90g2-Kjrg!@3*y_iTy9AKkD!;`>(BJVo1`wZM8iv}V0&&F*Nn z>!wtuXCbeC(g806+us?4g~;V!Znd=`FY>!1-4{!04a;TY^Io*E96Asb>>~an0XNIr zX@3Gd%fYZ(+ivEkb-&1Saj0mE6~E3E0&sCzDjYtsM%`*5NK1ZMKK0u9@&lT8mQYr{ zU2on8yT|$)tK%bv^lxkT+J$`)U1G`M^0=TTB&M@b@yRcs#%m^x6u)w!A{XUE(hO(OGRX$w5I;!9Gtm{3+ zKdBotR8Enkd(6mPINt5>>1E&bnqT%F89E0ZNyx2!h21bbW(#zHC?;HS|FXzaFoJx4G_KVB~3*(1`!(bb9%Q(w#8Mb;XiP+L)C zVUb+7jn?;TC=k~8o2=eGcxV}5bWruoV`cq?QS8RcF`YhPFp4qW+wPQeAaVpHB)Xl$ z!;S~Tg$3b=bKDgOYsH%ElTG&dDbS7ur$Wz|s-%Qg*_$?Zby&zXJ29zzNot=%gPEDA z+oj!S9K6;kU9Nc%iv6vrDy~CMpISd)zFQw3bpPjIdf3X9jusiYS45}iizWOwW{gP| z6>O`5LK^!E0cy~@Nyc!kmx$`($o`L4Rs{ysL_YWji0P3vr4nC`<|8u7fA?+VO_eN| zB*U=n#F=mfB|CS7^;4?j>eSk%V&3$~K*{w5$KJC#Q3E=0>1lIGRib3Aev9Ra*e`Dw zlBJE!@4X#%U$<^T#bTeW&iZTfT>SL5v*ufV#%f}C0jTfdR%g=Ah+4^rz&vHTQn#U% zk+^`^zJnjEca2Kw-0dpt(%5#!hW845zWYUe*&pv z7wYiROg^&VW)|XoFZ%3PBb&yF(E5k9JvYTeU-!4({@4#KwR@C^8H~?As?J`Od>4F> zk$vh1m+bTYnTxtXwA3S4Th`&wXCf9e$a%q2pB4BmH7)>l`$Vgrrt*)-9yqohc5yh? zEMFwBacVM;G(e!nL9t(+?psSzy5!AmDy-$t=^c|a{%G(@75gKs%R6iTof{ka8r1x$ zs01mxZthbzEzCotV@-tzRMzHeR54$(V0CvrcBM}FaMxG7zbmyQ&G+yRq>+&TL+ROQ zP;tae+lec&GZhkQl6eYhY^o)^n$q;hI*3-c+k&Kwp6U^P;}N3WgV|U2-f?QNt@Wi3 z^+$(@2#5SA$bWj~V{(;HPCBp8sv~AF7R9aTRP*!DIi4;>{=BI*khxe%`s2svZ^Wc# z&YF_E*SiPYCFbpWWvY!_PZf%v*2XG@*!1gpVAqL34FRE^y3+@W>kp zYJV>ZtdEhu7y7b4q~+{D@(EHPx-vCd);_sPqD$Jz>!2M5Ec2k@n~HHE-uanB>1ocm ziBp>^l=@Tiz_*_>qCBl%=YJ(0C_Tdas3?@tGkmgvSH_so`FM7_E)z0~RlTYqL+SSW zC7rc=*>z~JNgSlR`}EW+igpsafh{c+FaR$D+wWm;6vi-6kZB!%ejQH^RMTzS`vGb}?cTX7QdL)xgl zkpUqW+?(QNok2-4F5PJ>p+iY>gJp~F;>5bR##+)S8}{k3^Y%L!Fq?>4y`5!B)TNMS zeZ3iuSY(ff))pb+?iWrg2C!)2;O7;XSDc7@pn1DGRvuiG0ekI=jF!(1FP;i|kHFu0 z+$!dsHISG{($7x_E6;Y1%?7w65J}%kaw5aAiS~>afC11~;>B6tWgK?ME1g5?RejvY^K+~+g6+hHUx}vx=LMx^CP%_O=`S1uKARd!d4CKb>bI8|J|3+m)^7{VFLI?<6^dv@XS#pdwP^~R zj|^)v_cRRgzk)fl6H(oe1MD;6|N8RQ=?;lYy%(44wP}Jq3Q#2ugoY)u9KsBMUQy_&rCG=QgqEtI0t7%@`0vN+7F1c z1Rn+rGUJd3!kLW*Vzk$L~TPEE+1<-ZBml|t%($0HiJe-8QRDJ@D%+f zF6O=HS*CtG^Kx{Pd4W=40!0{r+tdY^aA>qG+E626QB5GCUo{orXD$`cCINodD9)q^ zq4+x>gFKq5OjNE7`f1nSO)dk&sQ~Z`fIPB5W-YrM!YmD3plY+~2>HDqSEfc*=rY6e G5&r{PQoN}E literal 0 HcmV?d00001 diff --git a/Resources/options_transfer_over~ipad.png b/Resources/options_transfer_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..31bb2a738f583e09578a79607e8b61fd16e1281d GIT binary patch literal 4901 zcmbVQc{r5a`c9Ib@1K z+cL*|<{QVkpZP7%oLFQIN6ALcWILiKIoOSaXEE>~y5k|Her{fPTfCb`$fY*CHVX@z zr;oie+1b(pi6i2#QF;L)4UEN;sH045AKKhO4M*XlR^(AYgD96o!Dp5lV0kqzVEFgF*gz z0H!vQhbPh&ZTyce=1d3hCX@Y~I{A3zKw;h6dGl>8&ijNN}%w8zM_25C+5VJ5}xBASQ` z^urU#rf402xufji!8>_)j!q9LP1Wa8M4%akRMH$23Mg}M&Lsd1qN}|I8 zF???6sw{E3tMiUhr-kSA&gjXFPM5{?MaGwn-QCa*bhb7YWaY1AE_wRcU?%6i@q^|? zLX^+xr;#U4f9dGm=fpvxJ~(~b!D>bDsl9&ocm6H1jI?|92vyRYSW%T!xZx_4cx(7s zGzRknTy>($eOBkTF3#sx5&CmWFXfnCg!nbWm!cC&sh^6U+P(f%pf#W%R3LK!qHAo~ z{7vG_r%!pMrKn4-BNF6m#nmGXpL_OMDwSS*VW~W4d;6wymZS;Y@UnEGg9*yhj1_HU z%wON2Pqr7dHj9!O3=)lV_VSLP;wnQ2hwtv|s{9(mc~}icZs@xg^};rl=D?nl+t$xD zRUK#{&%toLe|oY3wFWl%cn4>1$lByYONfg(5z3D?HXd54GdWf=)CtbF#!P37`O?uU z;pSFVquMXl3?0f&faPHlzwC~}hsOyiG?Txx0x`(&`M=$Q8&$cxJB1 zHh1I3{i^d^s$!evX}5B&a-K9ID&9r|MRVVs?zHD!SGS@=!lZHac}=tHy%8q0X9U2_ z$x%g4ov~Xx^$iNazoF6Z9kFxix<2Lgps!oJWV1JR(Up1M#h3WN&7he(!6mXRA3&4tyr$#30s0@c{{DrrfF0zjSu57 zPwu@}za6$@XDhq2V)fyaI=3<_c-Ebzk21;PWMfOWu|a2o=E`2*y&A)QaFWdZ$h~Dc zJ&tCE>MO<(wtKqSz7*-#a-->x$og4@kcPFNAj+^zKGI(w6E>C}cxgYvwX5Vvn%$>O+3qos;JtRQLk?r5k@u=PmB%+XP< zjv1k57jPf-+_1x=8_{$Z6T_vW-J2Q!RO^lDH#1P>1Dyb)3+Cu~WACz~A33lvUUx)g z$mxY@jTQV=))}_$#&h$xqNXqR7$s9WMBPLW#;AcO0?L-d^vR~%^aHG#60XZN>8@MZ z-*{u}Z1OSUaI-sOKTQwzPdIwta80pEe4VEM`iX4*a6i@S-gVg<*NV4GMi~Qyhrt53 z9UzliUAMNR#w=KSMw5J1nNVeEjhsPLw&_VCgt7>hQ<^9#Wn{SEMc=H{- zHKP`nNR0N{f#v6DX+!Xm8je1@kgDk*{&H#~_)Z0OTNgrKi4E;$^%(#dxLVGylMMZ`||mA zklX97nn(qSOyL;|Ijei+RTV9I9Ttb?*a({2LbsIe4i-K&ZEn?+mJA!5>};3K4m$-P zPadk$_{^#!mNCA;_|SAiyaPI1GP7op;16-%Js3K~OW*tupG*BTt(*#Hw59QUvR1l$ z{FwHyd~^YF|4oxGY^Rfi^!7 z(=2c4P*$n3DjqIJ!T6Hdgj!@E$4^EuYPhm5ZyM|J>j>naE9DMPT*8Bf%}!JIyzHc* za+7#>o|o&RE@MSMy90g2-Kjrg!@3*y_iTy9AKkD!;`>(BJVo1`wZM8iv}V0&&F*Nn z>!wtuXCbeC(g806+us?4g~;V!Znd=`FY>!1-4{!04a;TY^Io*E96Asb>>~an0XNIr zX@3Gd%fYZ(+ivEkb-&1Saj0mE6~E3E0&sCzDjYtsM%`*5NK1ZMKK0u9@&lT8mQYr{ zU2on8yT|$)tK%bv^lxkT+J$`)U1G`M^0=TTB&M@b@yRcs#%m^x6u)w!A{XUE(hO(OGRX$w5I;!9Gtm{3+ zKdBotR8Enkd(6mPINt5>>1E&bnqT%F89E0ZNyx2!h21bbW(#zHC?;HS|FXzaFoJx4G_KVB~3*(1`!(bb9%Q(w#8Mb;XiP+L)C zVUb+7jn?;TC=k~8o2=eGcxV}5bWruoV`cq?QS8RcF`YhPFp4qW+wPQeAaVpHB)Xl$ z!;S~Tg$3b=bKDgOYsH%ElTG&dDbS7ur$Wz|s-%Qg*_$?Zby&zXJ29zzNot=%gPEDA z+oj!S9K6;kU9Nc%iv6vrDy~CMpISd)zFQw3bpPjIdf3X9jusiYS45}iizWOwW{gP| z6>O`5LK^!E0cy~@Nyc!kmx$`($o`L4Rs{ysL_YWji0P3vr4nC`<|8u7fA?+VO_eN| zB*U=n#F=mfB|CS7^;4?j>eSk%V&3$~K*{w5$KJC#Q3E=0>1lIGRib3Aev9Ra*e`Dw zlBJE!@4X#%U$<^T#bTeW&iZTfT>SL5v*ufV#%f}C0jTfdR%g=Ah+4^rz&vHTQn#U% zk+^`^zJnjEca2Kw-0dpt(%5#!hW845zWYUe*&pv z7wYiROg^&VW)|XoFZ%3PBb&yF(E5k9JvYTeU-!4({@4#KwR@C^8H~?As?J`Od>4F> zk$vh1m+bTYnTxtXwA3S4Th`&wXCf9e$a%q2pB4BmH7)>l`$Vgrrt*)-9yqohc5yh? zEMFwBacVM;G(e!nL9t(+?psSzy5!AmDy-$t=^c|a{%G(@75gKs%R6iTof{ka8r1x$ zs01mxZthbzEzCotV@-tzRMzHeR54$(V0CvrcBM}FaMxG7zbmyQ&G+yRq>+&TL+ROQ zP;tae+lec&GZhkQl6eYhY^o)^n$q;hI*3-c+k&Kwp6U^P;}N3WgV|U2-f?QNt@Wi3 z^+$(@2#5SA$bWj~V{(;HPCBp8sv~AF7R9aTRP*!DIi4;>{=BI*khxe%`s2svZ^Wc# z&YF_E*SiPYCFbpWWvY!_PZf%v*2XG@*!1gpVAqL34FRE^y3+@W>kp zYJV>ZtdEhu7y7b4q~+{D@(EHPx-vCd);_sPqD$Jz>!2M5Ec2k@n~HHE-uanB>1ocm ziBp>^l=@Tiz_*_>qCBl%=YJ(0C_Tdas3?@tGkmgvSH_so`FM7_E)z0~RlTYqL+SSW zC7rc=*>z~JNgSlR`}EW+igpsafh{c+FaR$D+wWm;6vi-6kZB!%ejQH^RMTzS`vGb}?cTX7QdL)xgl zkpUqW+?(QNok2-4F5PJ>p+iY>gJp~F;>5bR##+)S8}{k3^Y%L!Fq?>4y`5!B)TNMS zeZ3iuSY(ff))pb+?iWrg2C!)2;O7;XSDc7@pn1DGRvuiG0ekI=jF!(1FP;i|kHFu0 z+$!dsHISG{($7x_E6;Y1%?7w65J}%kaw5aAiS~>afC11~;>B6tWgK?ME1g5?RejvY^K+~+g6+hHUx}vx=LMx^CP%_O=`S1uKARd!d4CKb>bI8|J|3+m)^7{VFLI?<6^dv@XS#pdwP^~R zj|^)v_cRRgzk)fl6H(oe1MD;6|N8RQ=?;lYy%(44wP}Jq3Q#2ugoY)u9KsBMUQy_&rCG=QgqEtI0t7%@`0vN+7F1c z1Rn+rGUJd3!kLW*Vzk$L~TPEE+1<-ZBml|t%($0HiJe-8QRDJ@D%+f zF6O=HS*CtG^Kx{Pd4W=40!0{r+tdY^aA>qG+E626QB5GCUo{orXD$`cCINodD9)q^ zq4+x>gFKq5OjNE7`f1nSO)dk&sQ~Z`fIPB5W-YrM!YmD3plY+~2>HDqSEfc*=rY6e G5&r{PQoN}E literal 0 HcmV?d00001 diff --git a/Resources/pause_off_default_landscape~ipad.png b/Resources/pause_off_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d17c13090e8ee3756d9c9c397c4d3f5e75cf82 GIT binary patch literal 3311 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 literal 0 HcmV?d00001 diff --git a/Resources/settings_default~ipad.png b/Resources/settings_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..0000e246510a4cfa68ef42cb4081ddc577dfa4a6 GIT binary patch literal 7145 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 literal 0 HcmV?d00001 diff --git a/Resources/settings_over_landscape~ipad.png b/Resources/settings_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..62cf3141d8def40f3059f1219755fb37c69b32bc GIT binary patch literal 7739 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 S#R~&akF2DkM7fx8;Qs@7e&Kfj literal 0 HcmV?d00001 diff --git a/Resources/settings_over~ipad.png b/Resources/settings_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..0e93432ee5a28c7fba066c6748c41b5bf7cc6193 GIT binary patch literal 7310 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 literal 0 HcmV?d00001 diff --git a/Resources/settings_selected_landscape~ipad.png b/Resources/settings_selected_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..de988d97a94985916169952e27341c5814476ab4 GIT binary patch literal 7735 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 Wt@2~On|1@Zp`ogyQl?}b`u_mAi~3an literal 0 HcmV?d00001 diff --git a/Resources/settings_selected~ipad.png b/Resources/settings_selected~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f1a10923d823e4d2c1f6fd5af329baee99f165 GIT binary patch literal 7147 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 OlA0P?8dT`H#{2`alL4~; literal 0 HcmV?d00001 diff --git a/Resources/speaker_off_default~ipad.png b/Resources/speaker_off_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..7c6cbd7520deed1a11b0c04d5d05f84a9b6c5a8c GIT binary patch literal 5522 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 OlA0P?8dT`H#{2`alL4~; literal 0 HcmV?d00001 diff --git a/Resources/speaker_off_disabled_landscape~ipad.png b/Resources/speaker_off_disabled_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb0f62bb3d68189c10f4c7dc17aedb13358347d GIT binary patch literal 5126 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 literal 0 HcmV?d00001 diff --git a/Resources/speaker_off_disabled~ipad.png b/Resources/speaker_off_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb0f62bb3d68189c10f4c7dc17aedb13358347d GIT binary patch literal 5126 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 literal 0 HcmV?d00001 diff --git a/Resources/speaker_off_over_landscape~ipad.png b/Resources/speaker_off_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..b2f3a9316a373d96f422160748228036de114930 GIT binary patch literal 5452 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 N>g!z7uGG2{`Ck^~Qn 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 literal 0 HcmV?d00001 diff --git a/Resources/speaker_on_default~ipad.png b/Resources/speaker_on_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..120aa0058db857295419dcb3c57e432f6db5f4f6 GIT binary patch literal 4610 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 literal 0 HcmV?d00001 diff --git a/Resources/speaker_on_disabled_landscape~ipad.png b/Resources/speaker_on_disabled_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa3140872c861affcace29292fa36340b2f33cd GIT binary patch literal 4312 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 F{{fD8cE11s literal 0 HcmV?d00001 diff --git a/Resources/speaker_on_disabled~ipad.png b/Resources/speaker_on_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa3140872c861affcace29292fa36340b2f33cd GIT binary patch literal 4312 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 F{{fD8cE11s literal 0 HcmV?d00001 diff --git a/Resources/speaker_on_over_landscape~ipad.png b/Resources/speaker_on_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..bb82775843b9c4d6c984b9d10b7447f0980ace39 GIT binary patch literal 4532 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 VS^Ge?Fo*w9%+Xe;aw9kL{{Tu$*+&2X literal 0 HcmV?d00001 diff --git a/Resources/speaker_on_over~ipad.png b/Resources/speaker_on_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..bb82775843b9c4d6c984b9d10b7447f0980ace39 GIT binary patch literal 4532 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 VS^Ge?Fo*w9%+Xe;aw9kL{{Tu$*+&2X literal 0 HcmV?d00001 diff --git a/Resources/statebar_background_landscape~ipad.png b/Resources/statebar_background_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..3cef78053ad4a64d0ef51953d08033ed9be14cd2 GIT binary patch literal 1296 zcmd^8y>HV%6u*Ly+NvGc_>@lWO6)twu@kGIIR2oKNL$h%BC+7wm&9uAGxmkJT`IaE zAt5FfMrOo_1Of?l;ScBl6AK#>3lkG(Cn*e72Ua}Xz4!dy?|t0wJ>FQmxj27m9ssb| zT(#N&%yJQkvuF5OeiAwSy2$J<+oU}h% z)qG*)I$X|l4iFON!Ytg0Qa!5+1+LEJ+$;&OaADhZVO&(VwE<0<5LgjW$wMlFDi(2B z(KPKElo3V}k|ivcu%?$~9U(aR1fDJNdwSb)Cb_s)7Y2;Qx+IN8BXLv~Y0{T)tyar1 zWVysWO6hLI+^iI(OH%}kq+SxlET9q05#231WOad8I&LA1TdiZ@D4h(7k4(zkSi&Nb z!Z7cv@J?Bq{3+u^@3gZU6RAy7I!rwN9=)Y$FrVG&iE>9?jlP}){88K;i+aP5M67Am z1^!3$17CME&B0hxkR~IwigDFZOb21xFztp?Mb#pwq-+BO-CtXY-7W)6%$vh zPD53+vQe4FHlviekw>O^1D6~(eutWNqiRLhd(8Yhw|R}EE|#QOg-Gl>@?<>dH_ zEK?I_U@jh0pDV}9Ln6L0311EIYV$GxGdG%+(aFAi|BTNAv~c+P&W07vh@o9Bnder{^oYu2mA{e$0f C&pQbK literal 0 HcmV?d00001 diff --git a/Resources/statebar_background~ipad.png b/Resources/statebar_background~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..a9ba49f1080c58d9367b28c7a24e9ae758d9b47b GIT binary patch literal 1358 zcmb_cPiP!f7=KAfZ8r_%qSPK_m_n-H&b&7}J3BjMEweMbcEL@;W@-0ON+vUJlOdUT z)0r1{vx+RG9_*nKhT3Yd9h6vCH10 zd1?S=y?b^b?#Qw+=3<{cinC@DcRj!%t=I*T-AJDA8Bi-{Q6AbTqd-kZNH42a8KRPD zm5Qnk^#R8)EV6YiqpD@AoG}q9A=50W7Si={QB!jnGdsXm!h|}ZiwALi7PpTrJriqK zF?J}4>x8TgCSZPrP?D^WNU#>NLe+8okn8+;4yv_r?7xY!P5BRoohZ*Ph9z{RhW4Dt)0cO-Zgh&$GZr3o1nOEIrdWwIiEFt83V29F4+5-r*ibWt?p^*rAMD{A2}9WUmT7ZLen#K z|M;YH0f38@3D70yz{t+W?nwZqy3WYlg_(!v-yIKsZKkIG4gJ5^^{e+T@m}oS{EGAK Yelxy*XRLE`|L!tZE2UZcMse}-6Oi9^nE(I) literal 0 HcmV?d00001 diff --git a/Resources/transfer_call_default~ipad.png b/Resources/transfer_call_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2b3579c5d2bb1e312fd2c9299f471a48041cd8 GIT binary patch literal 7533 zcmZX3bzBs{)AxbI(RHMBNXJQshzAIWBHfLYbeEKL$iYcV9w;FVN{4WSdUOdKEhk9l z(Y)vH^FHtAd7tNxo4ebY-I>{)o!y;pg0_|#88H(v001D3f0C0S;zbkgNRy-F|I@b^*?|8ay$R>^ILNQ6;qF?LPJo6feIC+ zYc(Nz5w1X7rm_}}EHz$O1P|eNhXC}=4Y;vgys`cJgE{W@pT{?Eq@MdbO3UweC>$e? zEpekMA%FAtiBlx;Q(bQ65nmSxl+0Y(t4~Al-m0ntIlgd?(9f&<5*c}C0ndLQ->nAb zjZQsBw0_{}szbDB807i5DPx=Rwt7)B4+i{at8h2pR}HS5I%$LSdOLHUVtJ)ad@g{R zrbqSxNPaFPpokCG66)Yi!qZe;L99^u+TCT`OaC{dQ9R4U)wESih7nUA;XuvWx#kSP(a|6O)g3WV)%FJj_H&(in!IGu>G2|P8+!A0J1u*gPuVoE zF54ad!Ds2SSEWbbg~f(Pc2ZV)#X!NC@rW1DAT&6+)S`{+c-Sd7_K>}3B&=A^%w}nZX$lz+a%6N9Ivw?^V4G(%12m_8Sdywl9Dj+zANtXZ$9l(Uh=xJ|SEP zusECMf06z?N(k`(C)kCig!~VJ4MVJ||4vd*RPCrz=h0IY5ZC4UzRMSDM?XdEivLMf z^vaXa+sqxktn;3(EK0ctV9K8cc7~iHSnLMjqoXzIbL(bpuCiY}mdS~V^ajaWZrip4 zCp0?0Nh)dd2BGKv9Q0>dt$py2GWqgc35WyK8zZx5_O-Cx*<1h%@2{rIbu}*)KwFQ| zHkg2r;z}m=2qpFie|n4P@n$HZJdMkk2O(lkwjT*``S?W;`+FCX1JICE zTI}j;ygodfu+P3g9e;|~1SH}bj2D#?3*pC!8I1aF&0LW>7j>LSkUEz}7kMmo;77UN ze@pOgBo@w>8UMl7oi#V8Sb+apG?wCia<_t9en!+3BND0cE?X*;U@6e2fX9It^dg4x znfeMK8&|aSA}>8Pvq%u4`ZP)?J*!}#d+AO(SIQYSmG%?Wyab7ro=i@zvV-X=;X%o$ zAwY@O6Cjc$i?^vM1UtF=hae7LY_`1#DSHG}shy4NmmB<9Oug3$t2uBCStPVn9I2-g>j;|Cy()+6AhY7g7W@dnz-kZRjeEGT2#!mkWT3t=9)UU=18oBPSI> zEr0gpbu0~SEq@DaE!v858BC6ypwQWpA>^##Yy5@}A&#tG??)MlsYeECyX%Q`JSBM9 zRmUvi)co66T84{EA@r=0jA2V(yVJELXeT_Z7ca?LR^F1p+FV)Bj|%}nWbg*kOw4!7Lj1p)onRIW(U#~bbpv{E=w$$+G2n@y*wa;lo{n(&FNQQ9o4SoH7*yNja@ zO0oOiEbofXyeUWQXth(*auSBkzFObi?vFR9k~F!Fzs*R|--TN<5V#3dq@P)M+NxJE`^1s`nwcww`{8)d z*`y!A%`GvDMuv$b4Q4hcwXC z$woR5bIo{wRogX9N24c|l?PX?>oe6YK{^EF4;yVl{miACk5+ zw_`2S|GC(%O1yyo4W(+JzZsiSJ5$~Fu~W4A2y?qke;1qOIQk@~mNb~1()*j&DG|ku zOX!`pitVW&G|)=sS-qOT-nL5llzFFFbhU)!bkwKe-1YBej_|rV%5~Pjhzzm(^)!SE zdTc`Pyd3?-w5eC5=gg|lcE_`|_iwDzuIurZO*7Nwjwcsiv>D#|pOs?eK>LwpueQ=( zf1mN^E%R(vRkuftSwIf5A<}F$m}fF)6z#hQVYYAdtOL4?0wu0=g(n~G(yg2x>M+eoIQ~vz-=8o9+b`=0;ep?X7jD>8}4t5 z7@vsz2<`GT`k`&O$Lz4ru=0Bewu*`Fw*6hizO@&;$yabrNF$pxz^pWVP&JS(@4>ol zH7{S9`}p4`E!z-z0!?>f`~s81n<~BnqutZobwJaJ!~T1hm6q$9>u|+2l7Bkn(sA0F6Hgo0f$L#1?*&!~_%HCNL?Yc{w?lI>fMhwRFFU4oEmLzM2Gpz_uhr^4lszVGftjGtV- zT_&DAx_2Mbn3?)4=b8o{5&$$IY zeE9J7_2P1vBaY&Ys~=K*D5#9Xu2g*-&bie>Q}2-{Ab{Aj2;tC|v=!4iKQAFw#9a}^ z*z}OyfV~l(ShYDBP{bePq@)8!0+0OFH4vxyWsq^klJKV#4Yj{iQw@8IZ8pfwh4H&T zH`M+jaTNCxSNmdTG-Nx^pwb5?NJkD3Ekvgh)!uIu%%n_kM{PHl{B%Le%{XfmKt0_v zoE?Ku{cI>)ZL^cO4(G3=!sZiY;)K1{MbB>+bDQIx^1-J&k;kK>T5~?<*CgS6JF?+% z+WNoRnFl7@RUz;lUvMlLV{*s$_r_4hM*Y5=#@7`sjiz;AlZqC`O;H%qm3O@GE`#og8FZJ7c zQn*;!l;8Q!pJJ!0-x(gBOU+me2ql{^G)^fldVANo%(|CXCPvu&5-HFMu+%}pjRofd z_Lqb=MkkMG1?#O>Ip2H<<09>=3;q_ZmSHHBJv8R$JGz^=svMV1;#s%!(7^@?`TMru zQHb^JTUBiX+OY0rI{F?d*hDCl8?Ke{;cp2OeK+Ri^TI=h>qw<@k$%ZaeM8FT&0s(? zDRacCGGU2NnO2qgKa0d1D&%WA(XW*Nm6dbPo0F-VRme{%283hNwPSi_m#+ysLom<2 zdk10zE&F(W`{3$EOo)Tt>qV%`?Vuzni*g()QG}@ zC76AhRoMRSGareTBKqF*W<#{%7vDTsDXw!pFaNP#*%itGaLOh4gIX9jGL1JM>NO7| z2UrGgOsC78sU~IhSnY|IF_&BK(P1RSAnHxsr7WMG=SG+jlG#35D>3Zg&3eaWz}bEp zG&KDE+o$0VtK$j>?eNSWYjpfL7PG55peo~f>h8`fk-Wl1Ii8fx@)pEbZyo!z#EU#_ zJc31U@mQ3wlVl`eP}9k*Z}9DaBPvbWo?6ZyJ3^mYvIz}MldHKY9l48owW51#5J04(PFNpG zmAm2iG7Clvvk-*_waXT3ALlY)qS1!Jb`RyZSddD6047Blz9 z+`#Mirp{(;WWl3g?i(+`%C~;o(zt+=h`sFInf31xynRs#Gy^s#Lupmq+#=Ld;#Ba` z-@Z)G*rq!~hC*HuD4Mo`ZjZdvGcx7q-qekb3is0FsR7$61;!Lu13N8+vM~=D8b>uR z*A>&PA}&biRu_5pzl{yIsPhRBEXx7=;>a~}2rOU{-UWPMQ4RTxlJr?JeEc}D?TPXE z8^v@GZOl_;!<`W-%c5`8LC{Z6bPUYr{y1h|OwsTg5PXnwBLMtHqw654!Rg+m&iD8# zXiS?GDQ;@Im~bPc#V5V^tLp+Z(+9M1tWR^lWS<`Gqzgo$P|U=#74;X-)jdA1*~mXfCd50&OT3 zPUa7Se9PqH03D2sl#rFn+Z%A`e4mgpL=sBFV=<_o)@F}5umK=<%ymFAynJ46Mq=4R z`)dB*^HZ^eDBr_ii?mYG^8t_W`^m1M-21DPFyie4zC`Dt%%GgQDK4 zgL9ocPhJx4H67>U+kF2Zx%t6)CF^^(g2azMGvgj0yqA8*7P?GV^0aNB*Q5iMV_eB^ zIryXHR*Q-Ly~K2y+$IU)s#;X1n_dqJQv!tn#pMEqwU$wI!ny0Pq|dCa&qu^#m;oTw zD0om&B@<|Ro=yOy8WXLeqeIoT&`5Z^Y!bmD@4uG!>Bab^LZX}oj^pjJUfING&aq|5 z(#2wEc+ZU60(SSV_)whILQtISMU|BsW08+h0isVy?=xXA#;0?R43E7UTB(!ZxDc<~ z7qhBQpAm7b#JO+I6!9k9_h`YHEJGib!c28nRT3`3U+P?{_s)F@k>0x;?o0(}Wr4U> zFh=t3krrb(=CieIpEh13Y=@BEmt?xa>`SYf#~;8Malg9#VZpH$F{-?egLl0F;1+RR zprcp{e;kbY`~AHpOx%I-ZcI7ZM7`H}ri!tF$-$;CwzfD(VeDR*y7B;R^RN71ZL5#z zsWU=JA>DVZ@&S7gcXx8ET>mwBZHFA;XT=-jCG)E1l@=8gy*)SxWlcedKd)m&Tlrzq+UJ4%Ssv;>d?`xxpnZ6+tAU`BkIZI~s| zkOH&4#11}a5L%14d}puveyA?>7O?QktJe}bb_;;#iVeb$3%J7E*lV z;o-w%VVAZ(sh%;adukCBndSG;HU!mDhZTl z>mBzMU)f7qm+)1DJBF~lY{*gIem%&u4-5-d=@F#PRngI&vPrxq4M_c3gB%)x-z z^e=49Dl(_J1HujzSuhy&tHQ!}{<|_3q7~APS}t0D<1{GV5wZ)#Ee+*KHFq#`CJOpz zyZ*F~Oa9uY6Nd?CIVuWh4vpP96AlpBou#~r!?S2LRu>JZhZ%u?2T z+0Seh0dcqNZGX@!6*;5uCx&z&gD(!Iq;1Yyc>=Sas?G|fzTijm40EWt&E6DE$+NWh z@Ded58$%XqZj|ZCF&NHL#XQ+MA3MQqNI>vb1Ia|k#f?{{W(w=i4J2|4292_1rFiAyMI@dhLDZYy9O-&!X{Bx18f=Y!#Y!Ck`xt39;33z z2Fy-+YV>f}t;0(bnb28^qXgF*Ov%1Dc|XRvM+vMD1wX#Nhpk!Hl-J($g8YaWVsXNI zpi1o4liLH5F04N4#hnEn)pv7>i@)cMrK{y{{>~l6WP&Wfe!J1 zaK-=Qs1M~dQer`ojeZ5&MP&$(gP-u9lm?;W2!Zzhm4-2onKreYOEPwpNggjabknUl!Z_l_wgBB;w#EL*(gVeZcZ6u;>enz*bB0-!Sw(&#+Qh z1Ilt~{yAHdfMwE+KhqPxN!Fj{i)8I`zTb3X4)+No$cH7Agg3 MsA{RyK&;>XA6Wl-cK`qY literal 0 HcmV?d00001 diff --git a/Resources/transfer_call_disabled~ipad.png b/Resources/transfer_call_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..948d87cd208f23cc629dc4707394588cfd2015a9 GIT binary patch literal 2974 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 literal 0 HcmV?d00001 diff --git a/Resources/transfer_call_over~ipad.png b/Resources/transfer_call_over~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..94a1faa9fec7d50ea81c371d50012c228aa64914 GIT binary patch literal 5436 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 M4FmNWRi~K$0g^s#Z2$lO literal 0 HcmV?d00001 diff --git a/Resources/transfer_default~ipad.png b/Resources/transfer_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..2f5813ee1305f579165a41f58202244325054e7b GIT binary patch literal 8160 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%0AHinh*>J+QPUr@Ox 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 C(n_WP literal 0 HcmV?d00001 diff --git a/Resources/video_off_default_landscape~ipad.png b/Resources/video_off_default_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..eacab0085ab704435db3273a60ca307f5b8473c6 GIT binary patch literal 5129 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 literal 0 HcmV?d00001 diff --git a/Resources/video_off_default~ipad.png b/Resources/video_off_default~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..eacab0085ab704435db3273a60ca307f5b8473c6 GIT binary patch literal 5129 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 literal 0 HcmV?d00001 diff --git a/Resources/video_off_disabled_landscape~ipad.png b/Resources/video_off_disabled_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..327a67cd4ec2fc343943a93bc5ddd88fccb8e29b GIT binary patch literal 4815 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 D`(IsA literal 0 HcmV?d00001 diff --git a/Resources/video_off_disabled~ipad.png b/Resources/video_off_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..327a67cd4ec2fc343943a93bc5ddd88fccb8e29b GIT binary patch literal 4815 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 D`(IsA literal 0 HcmV?d00001 diff --git a/Resources/video_off_over_landscape~ipad.png b/Resources/video_off_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..5b9598b10674ee30cd8d94d3b80d48a589a1a9fe GIT binary patch literal 5108 zcmbVQc{G&m-yaIoq>NqJ#z-W~*oGPF%ve%L$QCjf`z*#-qofH@BtnZADTI+NJK3^D z8H6l7_KK{PExhA-o}SIHD-o}N-PchF#*>(6062!=?;LDUpr@~$vA3<6hDP*PD|UCCY~iWiXp*=NMM5CbUMP^PDUg@7lSn*Kvf@c%ne%#n3=o(ZfIYT=?(Hc*^5~etgk-N zH2{wzP>l7pq0Bc5ZeDIk7~D`z2?5hrQc;G%HI$Sz3{^3PFeL*N#sICV0n_-+@vm5A zWhH$K8i6rXQ&mzjP(q;$R53~#8ir`Ns=5kF?Kjq#;7`F4TyekcdhOf&3#;*8u}BOV zhoun7Rz#xj?+!5cBvOd}ox>DDF4M|7w=sB4!8fPycCs z=Hj2tgCj6^44Jt#l6eo{008g_V||oW@W+Mpa1!5-V{I8VU5<mSvkRrY{OJ#s|A89Wdr)Vk4=IwLwb*d~# zM)B4OJ;+^$MXA)9-6x+Goqmq5H%V2EY+qH;thiFsFjh16E<9syb8I#!WlLDm-Z=K? z3(N0X2Y*z8TE08S;(x~E8K_@F_N)=7tk52ZU1aYJcAtm8tP|@D;?d$F(aKOJHc7m1 zb<<8(_L_}GcCmr4SS0mP9JG@kw~56j4Zg}9K>>=}RCT()J*AmUS9563kE5@DFe-_8 zfuQyQf?2XcCI;4FpZnN(ma}Z**jJVrm!x7+l1$yabYfK)+YC)P-K)u->42fKkRsgW z=3*hEGPnp>d<0&y+_Ls-w8N0a`zhm$mWLOS4GpODK$#dFFC*{1me!|b9vrf7xO@jg zP-@^Ba+7}DyGhgsHI9H{E|FPV%8tI7*vtOPU{u(aJ5jfqZw06cM}>j0UBWQISl!c@BJV7=Qj-ARMY7i2Wk-j7o>~P z3?D@6)3Jp}1m9cl3N=Ia37c0W#0sUMckSIX;Al?BBL1<3p#o4d9` z3=E?FI5oYep+euIYZP^Wb9Qiagg%XWpvxp-~Jq0&A7wWtr5qLx$8@x$7{_Dc<}h>~RFNUm9GZ#i8>w^HXXN1gg5uN=^To zOOLi5M=hQoKUZDn-_Pb&tZA->3Fn|0Oj9v)iZ%+j2S8w2{dH1Hr)i1##8rK(?)P@5 z!9c2n*00l1%MGU_M0PVHNDk%X3!v4dlIdM~UsYGTJ3lhjZavBcnZ36$De6>HI|va`oi{tKF&}>$EwrSa>=1VBjzj&pmEJ?R z(E_D{A-F#J-UqB4!LKscMG$-nK6>SkL&Mj*V>u>PQg=nxwU<{X%F9VD4&clBQNO@p9j~KMy)8K|)p7Q^q=!2hHN# z$|)rxzS-^APXIRQc9KMnNZc6QNWH`8Si1mN@rCdqXq2WhNI^>aKqyfA^0#M2Hj2qN zjq5>>Kn$nz=Isn)>4LrPcX>N~{ot$fySjHvz0oECqm{U)l%_C2y#;ovNW9$_z1$%5 zRX0H`2brxLyOnk)k)6nf`vou>$iyJtW^!6+V+UEXO>IE?Rl)rv1(w8Dx3AGLdR9h5|!3O;_} zk`X=eqQ*oqA`5}>mvICdn6-O{#iTDEz<|jCZ_R>z9r4~k%-M#Fwc27;@_?mP1A#3) zWT~(;^qPBhV8~Jor}N(YoUEBAxT*2n;9=?777gl!$xFYC#j&@x!1{!F%tL+3PN&q+ zYy`x5hkkdxl(+i42K=yF`A5wHho8hW=`He&*~W168;Did3)fqbwAD=}>^0C#bsf1AR;EaF$Vl6Q*Ey|>p>vs8ahAmbLwZ8J<~ zH7-vRyo%qUXJyq2L+R=><|x&Gfw$l-RiO9|+olD|v%EL6)yF_%H@?hIyTqN($7ofKrc5}st-mx?5C$It(UoZf73kBASB^1P8s=zB9oOmsj zASoiL>S6t{NS#fafL!~<8wHu}@up7IAMHN5{RanY=iSELaPb^AT9;H)aVto2q4d3P ziAlSA=~)vEk_=F4~J(l3kE7mTJWs$=u4M4z5ipw6`koJ`yL zz9_sFUJW{&-ao$h{9ay#IrgGjxz?IcfXLRp1<9VAl98*%KNBxbkbLy}9G1;;Y6P;E+?QYsr2t6ps&!6;ePO9OP_|+%T zH(lGTWPKwdT%HX!QD|~b$TORf>8adtrN!GPxyIdSeR%*G&@o6_VSJjp%^Oz9w*;e> zf$M+7fRn{rK~xvENbo}mzSH1?MpUNkpb@8t?%C_SMl-dpEkY#%&&1x#42_@N#cU_@ zDv@$a!~?{8{05@p^FKxRPN7c*>VKM0{4zAP-VuTreT+Qlr(C5Q9Bt-nFEtk}_vy^| zyPykQhab(XhP>My8S>)_H@=g~W5oS_2UB@Pg1|(1;xCT%4)X`FM;x>HX;+-dgJAo2ExH|ofYwSHF2Udx$mn&c~MdwXn*%)6ufBw5wTn>@0zO0iP=M>Fto! zR^Pp4(JB%7rMVj1Mv8*Hiu{7hcwNos?{VilLh$-_0@2H^J_7CGfyRIuORLUiBO^Z{ zMq~Y*hZzo{SHf5{i-ciU61D1`IK?Y&X{A7~UT)>hv1t9pPiiUPddHj7o98hv^BD`S zNXiejK&wwf4d`4_?dw+QeD}-Q4Y30UW$Rp0B3v}9g6d@;w4;{l1 z>d#HvXyI6m?eiJZjf{$^8J>w348+YYuXieLXG1Sweqvo+#%+e><0$mq7kRtI!^sub z`GL~KT*9WJMnAg_JE|6+=JH<}6$li1L`pV~b$YN|q1MzoiJu44kk!_`ATjx+{_0y< zaYErexj`m5X9OojyP&Un$8DmAavspry*R$QwIRww?i@^P*qsWy>)2Tll)#gsm?5ye zm%W9<>*!;RZU@n)*S6p;ps!aUwWis?yzL0+$g&LoEqWY#!RWaDU{9I)8)Uvud-XHh zc+f2OO|~0(RT7s!L%CBhhaB$m7=7gnk1ZbgQA0569PI2V2s-n0XL6RTpA`7oJ}y@3 z_P4#zJ0A@eFOpkLHgow-Ssrm2kZRzpD8?h9P4vjSKQBIgyZ%DjkWX|g%UC>Ke)7lH z^^QD@mRDP87eSJD=Z^&AYh!3LdRLCDV1mB^J@e5(eeK~!2247ADo@-^(|&z(PPGcMrA>GX5a8Zi5Hag)gRf`c z2LuWdi@Hn(d%S;gZ}81!E*r?1d_A#pj%$1Qf)$+j06?z{yEB6Y=m>joD<=u9gCDigGIRiGwM;9U;n?fnBz=}NqJ#z-W~*oGPF%ve%L$QCjf`z*#-qofH@BtnZADTI+NJK3^D z8H6l7_KK{PExhA-o}SIHD-o}N-PchF#*>(6062!=?;LDUpr@~$vA3<6hDP*PD|UCCY~iWiXp*=NMM5CbUMP^PDUg@7lSn*Kvf@c%ne%#n3=o(ZfIYT=?(Hc*^5~etgk-N zH2{wzP>l7pq0Bc5ZeDIk7~D`z2?5hrQc;G%HI$Sz3{^3PFeL*N#sICV0n_-+@vm5A zWhH$K8i6rXQ&mzjP(q;$R53~#8ir`Ns=5kF?Kjq#;7`F4TyekcdhOf&3#;*8u}BOV zhoun7Rz#xj?+!5cBvOd}ox>DDF4M|7w=sB4!8fPycCs z=Hj2tgCj6^44Jt#l6eo{008g_V||oW@W+Mpa1!5-V{I8VU5<mSvkRrY{OJ#s|A89Wdr)Vk4=IwLwb*d~# zM)B4OJ;+^$MXA)9-6x+Goqmq5H%V2EY+qH;thiFsFjh16E<9syb8I#!WlLDm-Z=K? z3(N0X2Y*z8TE08S;(x~E8K_@F_N)=7tk52ZU1aYJcAtm8tP|@D;?d$F(aKOJHc7m1 zb<<8(_L_}GcCmr4SS0mP9JG@kw~56j4Zg}9K>>=}RCT()J*AmUS9563kE5@DFe-_8 zfuQyQf?2XcCI;4FpZnN(ma}Z**jJVrm!x7+l1$yabYfK)+YC)P-K)u->42fKkRsgW z=3*hEGPnp>d<0&y+_Ls-w8N0a`zhm$mWLOS4GpODK$#dFFC*{1me!|b9vrf7xO@jg zP-@^Ba+7}DyGhgsHI9H{E|FPV%8tI7*vtOPU{u(aJ5jfqZw06cM}>j0UBWQISl!c@BJV7=Qj-ARMY7i2Wk-j7o>~P z3?D@6)3Jp}1m9cl3N=Ia37c0W#0sUMckSIX;Al?BBL1<3p#o4d9` z3=E?FI5oYep+euIYZP^Wb9Qiagg%XWpvxp-~Jq0&A7wWtr5qLx$8@x$7{_Dc<}h>~RFNUm9GZ#i8>w^HXXN1gg5uN=^To zOOLi5M=hQoKUZDn-_Pb&tZA->3Fn|0Oj9v)iZ%+j2S8w2{dH1Hr)i1##8rK(?)P@5 z!9c2n*00l1%MGU_M0PVHNDk%X3!v4dlIdM~UsYGTJ3lhjZavBcnZ36$De6>HI|va`oi{tKF&}>$EwrSa>=1VBjzj&pmEJ?R z(E_D{A-F#J-UqB4!LKscMG$-nK6>SkL&Mj*V>u>PQg=nxwU<{X%F9VD4&clBQNO@p9j~KMy)8K|)p7Q^q=!2hHN# z$|)rxzS-^APXIRQc9KMnNZc6QNWH`8Si1mN@rCdqXq2WhNI^>aKqyfA^0#M2Hj2qN zjq5>>Kn$nz=Isn)>4LrPcX>N~{ot$fySjHvz0oECqm{U)l%_C2y#;ovNW9$_z1$%5 zRX0H`2brxLyOnk)k)6nf`vou>$iyJtW^!6+V+UEXO>IE?Rl)rv1(w8Dx3AGLdR9h5|!3O;_} zk`X=eqQ*oqA`5}>mvICdn6-O{#iTDEz<|jCZ_R>z9r4~k%-M#Fwc27;@_?mP1A#3) zWT~(;^qPBhV8~Jor}N(YoUEBAxT*2n;9=?777gl!$xFYC#j&@x!1{!F%tL+3PN&q+ zYy`x5hkkdxl(+i42K=yF`A5wHho8hW=`He&*~W168;Did3)fqbwAD=}>^0C#bsf1AR;EaF$Vl6Q*Ey|>p>vs8ahAmbLwZ8J<~ zH7-vRyo%qUXJyq2L+R=><|x&Gfw$l-RiO9|+olD|v%EL6)yF_%H@?hIyTqN($7ofKrc5}st-mx?5C$It(UoZf73kBASB^1P8s=zB9oOmsj zASoiL>S6t{NS#fafL!~<8wHu}@up7IAMHN5{RanY=iSELaPb^AT9;H)aVto2q4d3P ziAlSA=~)vEk_=F4~J(l3kE7mTJWs$=u4M4z5ipw6`koJ`yL zz9_sFUJW{&-ao$h{9ay#IrgGjxz?IcfXLRp1<9VAl98*%KNBxbkbLy}9G1;;Y6P;E+?QYsr2t6ps&!6;ePO9OP_|+%T zH(lGTWPKwdT%HX!QD|~b$TORf>8adtrN!GPxyIdSeR%*G&@o6_VSJjp%^Oz9w*;e> zf$M+7fRn{rK~xvENbo}mzSH1?MpUNkpb@8t?%C_SMl-dpEkY#%&&1x#42_@N#cU_@ zDv@$a!~?{8{05@p^FKxRPN7c*>VKM0{4zAP-VuTreT+Qlr(C5Q9Bt-nFEtk}_vy^| zyPykQhab(XhP>My8S>)_H@=g~W5oS_2UB@Pg1|(1;xCT%4)X`FM;x>HX;+-dgJAo2ExH|ofYwSHF2Udx$mn&c~MdwXn*%)6ufBw5wTn>@0zO0iP=M>Fto! zR^Pp4(JB%7rMVj1Mv8*Hiu{7hcwNos?{VilLh$-_0@2H^J_7CGfyRIuORLUiBO^Z{ zMq~Y*hZzo{SHf5{i-ciU61D1`IK?Y&X{A7~UT)>hv1t9pPiiUPddHj7o98hv^BD`S zNXiejK&wwf4d`4_?dw+QeD}-Q4Y30UW$Rp0B3v}9g6d@;w4;{l1 z>d#HvXyI6m?eiJZjf{$^8J>w348+YYuXieLXG1Sweqvo+#%+e><0$mq7kRtI!^sub z`GL~KT*9WJMnAg_JE|6+=JH<}6$li1L`pV~b$YN|q1MzoiJu44kk!_`ATjx+{_0y< zaYErexj`m5X9OojyP&Un$8DmAavspry*R$QwIRww?i@^P*qsWy>)2Tll)#gsm?5ye zm%W9<>*!;RZU@n)*S6p;ps!aUwWis?yzL0+$g&LoEqWY#!RWaDU{9I)8)Uvud-XHh zc+f2OO|~0(RT7s!L%CBhhaB$m7=7gnk1ZbgQA0569PI2V2s-n0XL6RTpA`7oJ}y@3 z_P4#zJ0A@eFOpkLHgow-Ssrm2kZRzpD8?h9P4vjSKQBIgyZ%DjkWX|g%UC>Ke)7lH z^^QD@mRDP87eSJD=Z^&AYh!3LdRLCDV1mB^J@e5(eeK~!2247ADo@-^(|&z(PPGcMrA>GX5a8Zi5Hag)gRf`c z2LuWdi@Hn(d%S;gZ}81!E*r?1d_A#pj%$1Qf)$+j06?z{yEB6Y=m>joD<=u9gCDigGIRiGwM;9U;n?fnBz=}IJmO9q)vv!{{0LpV(| zeGo|0$IsD~?`n0NKxHwIt!XmmfO0c^VJF%078Z2)u8 zu|iw1O=!M;7H7FMhqKm>)U*Cnyf@6q5TYMU000;?J{c0sIK$)-f(>AQ;SzxFjcybS z@)rx=-vIWvQLa|D5EB-c2GK#H5mdA;8lsCqVzjY(dU~1=Ei?v=LTjNgS_q6DL0gM} zMnir)FhCpE+lOFJGW($mXc@qK`Fu73g$fD^LI!CgSzI~_gU91HFtoG~00)8>!sL^K z5lkNZCjyDaqjLS&d_NWwvVlmZumbo7Fu>Bkr@&xaS^WddSFb@jdgy?S~7WjGLuUCsn-wC`$HD@A7u$9TpF3r z;ySWeXMRS2tuKqu;`y@J5EBO-h!vUY$J}UdEYIJwCDFKkfi!P3E{g&A%fAG_f75S< z2F%pb)iU`pZ)05&NlOb41d@ps&R7@rL)QEM<1-Xs3~D1d{ztI<>;fWi!Tb8#F`;-%pC_%-+vwBT%~B6(k>PMot1P2LIYXrv}TlOMF8@53U z4tb7)BXt-MsHd!dAT(@te80UAX|t^osrxZ{Uf(%txI3NQD~L#L3H8X&K#JihM;&UG z%DzRr>(A={K38$k_WimwC2PF-I|K?|db$;(BKfL$dF2GGMNK@j!!`d|&I`&q*8Age zk>0t12-yq0TV+BMi9(L@mHNl#K~90LrJCZJr16eM$%g^h$ZtW)AIc|67^#sLWBQ!MWkNmDpY-4Sc3N%u+}>rN`(R$UYI_#CFTyD`ewg>#8*NU6zI7ohK zj(Gf5a8av2E7cKJeoJOSMtH*!W^649T_E;&Da+j-t#0~Un-Gn6_$?jvKykbmN{XT) z-cD>P&)d;7@#J`T-)VYc%HH4@iCfR!v`yW8BTI}fzX?Bc5-hV1sh?M&4o7skm$$A~ zYUE+-3^$Q&_U{~SkcNR_Wv7hrX|TN4OnF||Vi_u^lC$uH)vngnB@MIC4_y3pY{ivT15g9Km*2?P*y6F~o0*7g_kX{;+n zhJn@QaeBFs>{>&wBXtX-%t}Z;XJyl;6$ z#atNwu3~JtLhyXFX5o(1{Cbp=OfLkhCZbdJOqqvN@^r(M3hd=nV{CPDa$Gs!fIsOp zrhL;NPLhW+>ykWcev97PK`rdI7@a6QBCL_D`jEmvEiR9PpbNR%xX9GLFc1Nb3Ym8Dk8@~f4X}cHzX;2Zv zLj~Z>Z1};IR_x~Mu_GloBiDUe-)n!O%ZhLt zJn3E2VW#5sa~$Xd@l&b#ZngZ22&=icRjD>rv+*}~bMGV`D?Y4Q$jSa7tdR&u&TbjJ zqJL*;Q4QQ;DN!{PlaYOUh(m>v;KDn)cn((MHTDQ@DAC`!Gg=k(Yp=4?Bb#rQ^)psG z4qPVdx%7SaIEYj_HvY!Q>QDM!%77YCTNve9$NFQ2JU_7#Fh3KyO(xwbEicKM`_dG- z6Lw{^FICgiLh&Mmckh1k_7^82;CrDarDLnG*QNEi9HM9GggGZW+<4s<`n2rpc>(3k z6|T-ya%|zvntb4?S;FuhuV(OHTTBhdv{g-R39#hA)29p8L_=Mw>WE^kqyCSi?Q}#PTR?l}qf|GUgJp6QAXrhaOFnyGY?ANO z?5!Z#L!fJoTalZN_)35pw?@D>MNq_VxQakB;l#_JSTHDhH_!nR_-vFo7%<+hr!+gX z9~GjX`e_YeBH>_WcJ{SlQ4!;HaIIS_oknYRp{l~SQC79A#tkV3NZYqEiW%u+m5AQq zwLZ6DY|w&--Kt|Y&hq4`cl$@fYbhF8#YV?M7hRf%^RwM|cXGZXNEPcg;W~?$dtQ4S zyQGqqGm>-bUL_^tEm~FAePS*y#oxYT-Dkf;pL?5tGLMgYv>-f~flY-_xVNUf} z^~u%&9mYMSZdBG1W3S)2#{qY{P4BnBho`Q?xxUWB`HtXMA7;$6NoQX47BQR0?`duB z5MIdPMvqo_5E^W%jgAs1Z*CYnVtug6hnF>+F3;$HuMMp$FY2h*dpH_)PT4x!PdbDW znMUu4xf(QJq}hue*g2?ggJZ^z_Y|vDX;)znmxwHq<#p{Z+lsdj-t6K}G~|yw%IN64 zv)0;FSK4(Pnxt5(pcj}VOYuLc*p-PhHKm$wE+b#ldyxaHpPWcJrS4(WAy6?&|-9x`> zha3-l77b?ZFz18!4_#7SyAgf*;-2D{{!)8-snFM7pmDw8Bf+vCnD!6kN)etj5z-E& zW7UiO9%kX^m@(4rsUp{(S1&A{|C+2kM~^ey$=J@xy{X0Ab-BJ7i4 zNJ>fDdDjZfhNH9n&3Va}q$Zp2=Wc#jlvAY4Rt?cbdV}AwA9ieM9DIDttj2xIP^8*z27F}pL3 zbpA^9GQst2QKP68cFi4(gqwdOhmh87n`L8jO%;+c+$Nb^3vgFTRDZiW57eoh3oeL9*Dv(6q~Q&|RQha92pUdH zh}+$^ye}0vNl%H~v)@fw>wfm^vryXW-Rqs&n-2}TqYk*aMY#(STP3G<+3Jjcji2%p zxN)|>fvVj1J?*dk-s(EbES;9kl=;e%3URJ(QNQ5$C`cpP@IBEw@xT(VevYW=e#`yq ziU)lq=qS<1?+>}O5DFCYC+ya#`QXTv*IbP3p0qn&t}gx0drg$bZ!1@g$v^&9lUXc8 zXCUi1c`76LEO1xUT#If^I|X`hp1*CqJ+dHf?G?$GTNuK7INetyuZ4d^H4PQ}H9Vw4 zz|l(5&UiQ}jrWOkALw~=lvTrv->y=ybxbI}9A+Lm{>13wp>8py$ke#(6?f)npaS=M zI{OREVSasX@=LvSMaX#Jx-GKbVene7#qE1;%hR>w#Zc;WSf^#4jmDOYkDH&{p7P2+ zQ8_{GSz3$faMN3-9g=ElfyQzOLDOW}wns7GeI$X!ao(rx8nSPON0??NXo%;FUVIq0bFwCnUD?(VCHH*Jeym?(QmDVXKP-c`1h>L9 zSwv5!<#~+HNzgkZ=cadUnm4+73Vn`IONo! zR7ApR`NGM{HRvN=^!HgtU&`tpn75i_m$|q(U#IHi%pbRLGhhz;^Cx1xs&gmxOFgrB zm&@~zI=d)=y4M77h5X%U)%4~0s|kIXXTB%qLr5RQphL5AAkiKWU&^;$Mnp;G?^9kH ze7$kA(vT3`vXKOoWS+=~0B1jLXDPqANgrFxf##}rMxrrSiJ$t(il%uebO#WBO zu-ItsN-xBKGNscov0$JBzydS?DM{c10ub>qP{Q(KkSNH^;^kDy TpS;H#zw(x*)}&&h*MIJmO9q)vv!{{0LpV(| zeGo|0$IsD~?`n0NKxHwIt!XmmfO0c^VJF%078Z2)u8 zu|iw1O=!M;7H7FMhqKm>)U*Cnyf@6q5TYMU000;?J{c0sIK$)-f(>AQ;SzxFjcybS z@)rx=-vIWvQLa|D5EB-c2GK#H5mdA;8lsCqVzjY(dU~1=Ei?v=LTjNgS_q6DL0gM} zMnir)FhCpE+lOFJGW($mXc@qK`Fu73g$fD^LI!CgSzI~_gU91HFtoG~00)8>!sL^K z5lkNZCjyDaqjLS&d_NWwvVlmZumbo7Fu>Bkr@&xaS^WddSFb@jdgy?S~7WjGLuUCsn-wC`$HD@A7u$9TpF3r z;ySWeXMRS2tuKqu;`y@J5EBO-h!vUY$J}UdEYIJwCDFKkfi!P3E{g&A%fAG_f75S< z2F%pb)iU`pZ)05&NlOb41d@ps&R7@rL)QEM<1-Xs3~D1d{ztI<>;fWi!Tb8#F`;-%pC_%-+vwBT%~B6(k>PMot1P2LIYXrv}TlOMF8@53U z4tb7)BXt-MsHd!dAT(@te80UAX|t^osrxZ{Uf(%txI3NQD~L#L3H8X&K#JihM;&UG z%DzRr>(A={K38$k_WimwC2PF-I|K?|db$;(BKfL$dF2GGMNK@j!!`d|&I`&q*8Age zk>0t12-yq0TV+BMi9(L@mHNl#K~90LrJCZJr16eM$%g^h$ZtW)AIc|67^#sLWBQ!MWkNmDpY-4Sc3N%u+}>rN`(R$UYI_#CFTyD`ewg>#8*NU6zI7ohK zj(Gf5a8av2E7cKJeoJOSMtH*!W^649T_E;&Da+j-t#0~Un-Gn6_$?jvKykbmN{XT) z-cD>P&)d;7@#J`T-)VYc%HH4@iCfR!v`yW8BTI}fzX?Bc5-hV1sh?M&4o7skm$$A~ zYUE+-3^$Q&_U{~SkcNR_Wv7hrX|TN4OnF||Vi_u^lC$uH)vngnB@MIC4_y3pY{ivT15g9Km*2?P*y6F~o0*7g_kX{;+n zhJn@QaeBFs>{>&wBXtX-%t}Z;XJyl;6$ z#atNwu3~JtLhyXFX5o(1{Cbp=OfLkhCZbdJOqqvN@^r(M3hd=nV{CPDa$Gs!fIsOp zrhL;NPLhW+>ykWcev97PK`rdI7@a6QBCL_D`jEmvEiR9PpbNR%xX9GLFc1Nb3Ym8Dk8@~f4X}cHzX;2Zv zLj~Z>Z1};IR_x~Mu_GloBiDUe-)n!O%ZhLt zJn3E2VW#5sa~$Xd@l&b#ZngZ22&=icRjD>rv+*}~bMGV`D?Y4Q$jSa7tdR&u&TbjJ zqJL*;Q4QQ;DN!{PlaYOUh(m>v;KDn)cn((MHTDQ@DAC`!Gg=k(Yp=4?Bb#rQ^)psG z4qPVdx%7SaIEYj_HvY!Q>QDM!%77YCTNve9$NFQ2JU_7#Fh3KyO(xwbEicKM`_dG- z6Lw{^FICgiLh&Mmckh1k_7^82;CrDarDLnG*QNEi9HM9GggGZW+<4s<`n2rpc>(3k z6|T-ya%|zvntb4?S;FuhuV(OHTTBhdv{g-R39#hA)29p8L_=Mw>WE^kqyCSi?Q}#PTR?l}qf|GUgJp6QAXrhaOFnyGY?ANO z?5!Z#L!fJoTalZN_)35pw?@D>MNq_VxQakB;l#_JSTHDhH_!nR_-vFo7%<+hr!+gX z9~GjX`e_YeBH>_WcJ{SlQ4!;HaIIS_oknYRp{l~SQC79A#tkV3NZYqEiW%u+m5AQq zwLZ6DY|w&--Kt|Y&hq4`cl$@fYbhF8#YV?M7hRf%^RwM|cXGZXNEPcg;W~?$dtQ4S zyQGqqGm>-bUL_^tEm~FAePS*y#oxYT-Dkf;pL?5tGLMgYv>-f~flY-_xVNUf} z^~u%&9mYMSZdBG1W3S)2#{qY{P4BnBho`Q?xxUWB`HtXMA7;$6NoQX47BQR0?`duB z5MIdPMvqo_5E^W%jgAs1Z*CYnVtug6hnF>+F3;$HuMMp$FY2h*dpH_)PT4x!PdbDW znMUu4xf(QJq}hue*g2?ggJZ^z_Y|vDX;)znmxwHq<#p{Z+lsdj-t6K}G~|yw%IN64 zv)0;FSK4(Pnxt5(pcj}VOYuLc*p-PhHKm$wE+b#ldyxaHpPWcJrS4(WAy6?&|-9x`> zha3-l77b?ZFz18!4_#7SyAgf*;-2D{{!)8-snFM7pmDw8Bf+vCnD!6kN)etj5z-E& zW7UiO9%kX^m@(4rsUp{(S1&A{|C+2kM~^ey$=J@xy{X0Ab-BJ7i4 zNJ>fDdDjZfhNH9n&3Va}q$Zp2=Wc#jlvAY4Rt?cbdV}AwA9ieM9DIDttj2xIP^8*z27F}pL3 zbpA^9GQst2QKP68cFi4(gqwdOhmh87n`L8jO%;+c+$Nb^3vgFTRDZiW57eoh3oeL9*Dv(6q~Q&|RQha92pUdH zh}+$^ye}0vNl%H~v)@fw>wfm^vryXW-Rqs&n-2}TqYk*aMY#(STP3G<+3Jjcji2%p zxN)|>fvVj1J?*dk-s(EbES;9kl=;e%3URJ(QNQ5$C`cpP@IBEw@xT(VevYW=e#`yq ziU)lq=qS<1?+>}O5DFCYC+ya#`QXTv*IbP3p0qn&t}gx0drg$bZ!1@g$v^&9lUXc8 zXCUi1c`76LEO1xUT#If^I|X`hp1*CqJ+dHf?G?$GTNuK7INetyuZ4d^H4PQ}H9Vw4 zz|l(5&UiQ}jrWOkALw~=lvTrv->y=ybxbI}9A+Lm{>13wp>8py$ke#(6?f)npaS=M zI{OREVSasX@=LvSMaX#Jx-GKbVene7#qE1;%hR>w#Zc;WSf^#4jmDOYkDH&{p7P2+ zQ8_{GSz3$faMN3-9g=ElfyQzOLDOW}wns7GeI$X!ao(rx8nSPON0??NXo%;FUVIq0bFwCnUD?(VCHH*Jeym?(QmDVXKP-c`1h>L9 zSwv5!<#~+HNzgkZ=cadUnm4+73Vn`IONo! zR7ApR`NGM{HRvN=^!HgtU&`tpn75i_m$|q(U#IHi%pbRLGhhz;^Cx1xs&gmxOFgrB zm&@~zI=d)=y4M77h5X%U)%4~0s|kIXXTB%qLr5RQphL5AAkiKWU&^;$Mnp;G?^9kH ze7$kA(vT3`vXKOoWS+=~0B1jLXDPqANgrFxf##}rMxrrSiJ$t(il%uebO#WBO zu-ItsN-xBKGNscov0$JBzydS?DM{c10ub>qP{Q(KkSNH^;^kDy TpS;H#zw(x*)}&&h*MWU(fei@9VyvnG4o56KTkH2nYm{ zHZvvL0MB&b&IYdoMr2xC0Pxr*pg0O_xgLT*S3VO&bmuadP&2lxC)0-M>MrzcW*UG% z5*{o&M}ecIg`OLijdWebAcNREKpF%xAO!JT-MpCsD1+(A;uykbtLorTmb)RGu49R| z9o9=N9bkhIfY(jGzWVdVm5pQ{V~>V*7CX^nwiGf9cf&=BsQJ9QqeT z;B5&1+bKs&Ybc4!XF_$5Xbm?s77fK>kQgm(U0q#us3sbNMxixP7)=d~uAY{r9vTh( zdBFi|e0L8$8#48$EnsB`_Yw$rdMH$2U?4J33(4hsqA++oepQF2rUrn}@Dp+bu0a|c zKg2H$WTu}RpT!ffxE$!JMpp*cUtkCaJpDTaHqX-XAH^KMpNRreh6-}!p)g1^ip^e) z>o2sQz=ruhZu~3S&rZl=qHLIcTz|eBupb_XU&27{{=1=7AmELj6`uucimMNq>*mj9 zas*~%LpbmT>CST3Lu08r7(AMc(b7a?aTpAas!gJzF%%++Vyulr<9_M*H(6~mjzrd> zQb<%CZ48EjArdLtBn%EmHO6Y|Y7upQ$(nKe1g;!6<}bS}!0u03@_&`pBk`H80xsW< z%k}wH0oGnz0oTuq%Y%|^b)c56ZY<8~dUbpLj+V^ivjUjzR6dst{VTtEtbef&1PQpQ ziPa?ijGKrhlQlK*Kp~MdaYQWqr>y(`CubTP5?sCpZATh;2mnPvR$0O!H_%WjHE6o!^D)WOWOLX^$*>pT=&5L=nFlAnEm zo?Bb9yg(2+6U#iuQGqKoq0#nhCDQc~qYAHLJk{sSE!OAO*fN%_aPdQa5kZRLlEu-z z*SjfSW;N$v&ep{;-s8SE7h`lF-BXS0osr;AaG~>^(W&$?gMdQvktFnW37L@y-@2#c zx#{Yn%3YgQKB45jEFUAXCzNRtjZ&~mdi7WE*%WN74C83wEq~q9&#H9rX&Llq`DE9S~z+;F|9lFh2?(X5+RRTA+o!bVU3B{r^5tJ`Ck18L8#x<$?q|Z z8_G&_2u}Qw?ghC*&+%8K@(k5$ne)vTa-%Ej*}bkYi<0bX+iw8-Z7(sb49(% zOv(*In&`<*S-8Ei{p~(vo7!l(se-cggE%>c#=CR_i_CFv>^{j`&0D8$IX}&NsBZCz zrdXBdaEn;IQHG&WaEA{$R%%t0#dyJFPnUK^memXGKV3IG-SR=TvCa2zfMap)`tIn8 z>6@&xSapx*LR8MTH-{n@_|CgCA@Pt>_?q{VXB&3(*c%&cI^Q&D`+Ju&9rfat>R`2( zIKoQ=ai(X=SmYoNDV2ZB+`=$?lB1vRk2ksCcmVMLAw#)OPQJC(*vI%y>ZVIhen)m! zax)n(bfs7qVNBfCEWv$uipcbfddpKvj(7WFen@hC4&Hhtpx}y3j)jTj|2f^ zED6y66`I=YoT&el&Oc7A4;a>w%U!GUfm7#36;v?BbGHw?Fv)cY|% z^un@I)4;LY4ZLZ-LwxkDe>~JhDbaRv!;d+U$Z~U8_SO0Wc!X3|qIJuNn{1_}mzsl* zF(c4wA|PIw^Yw?xbM8 zgklF=cUc})P5wjX3au`yai$hAcP!lFcbRPX_r(RtcUEshDS@15gmzVgX;2t;RKHZ# zRYP<$;?Hj@t*uAL37z_Te(d)`Li`aAx4LAJ`E~cd4bKHnw)S;NP?a~_7|?*k2eXITca!slHUg~K;Y-ABaaNcAL8Rih7Vrc z7(KUA)xY`OAGgaEo*7L(TR%Os>(2ns6ICJh@3+32&O2W9RWEx0$ty(6fHBoKoMNYw zMjJlUHhC7-#;5AeZef1wJ5lDf?@C5Rrp}k;^Rso?$E(yIXK_8A`_GFg#snGJGQX753XyCE0lyg}) zqDX&Vf&;J4`%3Ih^SHfX=}Nvr<%x*n?D)|BMB{SKlBz*F0(ER+jI4+lK0Q+9QP>lQ zrZx~?Jt+;is$Ex&?9+XE{@FM_oRE~5@c!Y;-1Qw(k?MCRd&jT#iBONHFGLD_lcREX zB+7-FvoFQ$gI`}6>DsE?u{ex>Z8fXN5W=1Y9vDyn)jkVfBJ!Q4UC2B*9 ze^Yq7T?)&etQaK+tJ-!7MkNs|Qt+^VnWo!fLBI{h1nT@7MR7%_A)|6)WNLQ>ZSZb> z2_*yzF?pyjJIp^2G8|r&kslRHSL$nxENGhRYu9$CIs^OP`QJ&LWU)^}E&y+Ic+m0^P zMx5PPhS|ZweZGU`n(7gm;!*J^;_NxUl$oQ?cvA&3!ZM!u``Urp?HJw7hu;P?E$I1^ z#T^RoVrg;x1UZ=CJavO>cC}^2)uWO7=&pZIBMy{=-1mE;d#sE)U%qGuLUIBYKC*ck z3aIMK@;Stc6Pz*#-M*>h1TXT0m;UKb!^B|yI^(3rz8hnrGw&4ME0w-7HlRT_!aNL_ z;ELm`J^f9R+D6jx!dCa+vcR2}Dg2hyA?1R8|AS}ZTdUr^saV|PMtZbU*kKnmVZF7l zAB$40a?dNmW+$51`OcqH%?oeq?+$={zB4L#ve1rSY;pqn*c!+DGD>(k=g@#fB=Q`wAem#2j_u-42THz#{2%3X@xz3kM^y>G`XOj{VTkz8QTDwyAvhmPbu#`{orPCMq1Nrs=v=De~QVeJnogZAtcMjG%8p6J{@Kz6c`7 zP3g=Pb<#0qC*!;$j-??tc!x5TPa}J>wTKUF4f4vP@;H_TB%NtCxk;C zD+|7zp+*~woX!b}9~iV`7Qdej)xv7;FFxRX_gb7^1AnIH%}eu5s`(w4juKv`@ElGu zF~xpPr+&2WDr+L3jFMigY}YE5$y9+kD(;Z7#%oD^?^-J86@B$`3`vRWbNUgNIz3h^ za7PvyUHFpSR&#iiUpExFG12%DCwD|%=vI&e(akvX#U*)K8!w9?sY|I4KK8>!2~(q7 z@k`yn-D8_G>~;lMsTd#WKHHqb9|$I-=wkc18$M+)cc~Z$Jhln#ABs%rEb;$dVJcmK zTPi&M!6Fns|938%!`$Tyw(Of7fnJ19|MuC5hu_Tv+8b z`4dJ4((9^nW)Km`iz#iPA&GwHxV*DKZyr{pf>|NpjG4Gyz7XOKR`-gS>4ce06W!j4bZZ!AFMWUsI~+!0-Cgx zWksN#bVs7sD&)o!2yJZv$?GW&4ty9uY1;rC@F|cfdBD3XPm+eC*7B0F8~{<^TWy literal 0 HcmV?d00001 diff --git a/Resources/video_on_disabled~ipad.png b/Resources/video_on_disabled~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..35c27a72a944fa05a0e5c8d323fa80143bb0ca16 GIT binary patch literal 3987 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 literal 0 HcmV?d00001 diff --git a/Resources/video_on_over_landscape~ipad.png b/Resources/video_on_over_landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..3d04d54237f5fbf7f4dbf88ca34d73aadfd986ad GIT binary patch literal 4127 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 Date: Mon, 30 Jul 2012 18:38:33 +0200 Subject: [PATCH 03/17] Fix bounce animation on screen rotation --- Classes/ChatRoomViewController.m | 1 + Classes/LinphoneUI/UIMainBar.m | 90 +++++++++++++++++++++----------- 2 files changed, 61 insertions(+), 30 deletions(-) diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 21ca2433b..e68a0e096 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -145,6 +145,7 @@ static UICompositeViewDescription *compositeDescription = nil; [remoteAddress release]; } remoteAddress = [aRemoteAddress copy]; + [messageField setText:@""]; [tableController setRemoteAddress: remoteAddress]; [self update]; } diff --git a/Classes/LinphoneUI/UIMainBar.m b/Classes/LinphoneUI/UIMainBar.m index f875e05cd..31c482d80 100644 --- a/Classes/LinphoneUI/UIMainBar.m +++ b/Classes/LinphoneUI/UIMainBar.m @@ -73,7 +73,7 @@ selector:@selector(textReceived:) name:@"LinphoneTextReceived" object:nil]; - [self update]; + [self update:FALSE]; } - (void)viewWillDisappear:(BOOL)animated { @@ -107,21 +107,36 @@ object:nil]; } +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + // Force the animations + [[self.view layer] removeAllAnimations]; + [historyNotificationView.layer setTransform:CATransform3DIdentity]; + [chatNotificationView.layer setTransform:CATransform3DIdentity]; +} + +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { + [chatNotificationView setHidden:TRUE]; + [historyNotificationView setHidden:TRUE]; + [self update:FALSE]; +} + #pragma mark - Event Functions - (void)applicationWillEnterForeground:(NSNotification*)notif { // Force the animations [[self.view layer] removeAllAnimations]; + [historyNotificationView.layer setTransform:CATransform3DIdentity]; + [chatNotificationView.layer setTransform:CATransform3DIdentity]; [chatNotificationView setHidden:TRUE]; [historyNotificationView setHidden:TRUE]; - [self update]; + [self update:FALSE]; } -- (void)callUpdate:(NSNotification*)notif { +- (void)callUpdate:(NSNotification*)notif { //LinphoneCall *call = [[notif.userInfo objectForKey: @"call"] pointerValue]; //LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue]; - [self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc])]; + [self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc]) appear:TRUE]; } - (void)changeViewEvent:(NSNotification*)notif { @@ -131,93 +146,108 @@ } - (void)textReceived:(NSNotification*)notif { - [self updateUnreadMessage:[ChatModel unreadMessages]]; + [self updateUnreadMessage:[ChatModel unreadMessages] appear:TRUE]; } #pragma mark - -- (void)update { +- (void)update:(BOOL)appear{ [self updateView:[[PhoneMainView instance] firstView]]; if([LinphoneManager isLcReady]) { - [self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc])]; + [self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc]) appear:appear]; } else { - [self updateMissedCall:0]; + [self updateMissedCall:0 appear:TRUE]; } - [self updateUnreadMessage:[ChatModel unreadMessages]]; + [self updateUnreadMessage:[ChatModel unreadMessages] appear:appear]; } -- (void)updateUnreadMessage:(int)unreadMessage{ +- (void)updateUnreadMessage:(int)unreadMessage appear:(BOOL)appear{ if (unreadMessage > 0) { if([chatNotificationView isHidden]) { [chatNotificationView setHidden:FALSE]; - [self appearAnimation:@"Appear" target:chatNotificationView completion:^(BOOL finished){ + if(appear) { + [self appearAnimation:@"Appear" target:chatNotificationView completion:^(BOOL finished){ + [self startBounceAnimation:@"Bounce" target:chatNotificationView]; + }]; + } else { [self startBounceAnimation:@"Bounce" target:chatNotificationView]; - }]; + } } [chatNotificationLabel setText:[NSString stringWithFormat:@"%i", unreadMessage]]; } else { if(![chatNotificationView isHidden]) { [self stopBounceAnimation:@"Bounce" target:chatNotificationView]; - [self disappearAnimation:@"Disappear" target:chatNotificationView completion:^(BOOL finished){ + if(appear) { + [self disappearAnimation:@"Disappear" target:chatNotificationView completion:^(BOOL finished){ + [chatNotificationView setHidden:TRUE]; + }]; + } else { [chatNotificationView setHidden:TRUE]; - }]; + } } } } -- (void)updateMissedCall:(int)missedCall{ +- (void)updateMissedCall:(int)missedCall appear:(BOOL)appear{ if (missedCall > 0) { if([historyNotificationView isHidden]) { [historyNotificationView setHidden:FALSE]; - [self appearAnimation:@"Appear" target:historyNotificationView completion:^(BOOL finished){ - [self startBounceAnimation:@"Bounce" target:historyNotificationView]; - }]; + if(appear) { + [self appearAnimation:@"Appear" target:historyNotificationView completion:^(BOOL finished){ + [self startBounceAnimation:@"Bounce" target:historyNotificationView]; + }]; + } else { + [self startBounceAnimation:@"Bounce" target:chatNotificationView]; + } } [historyNotificationLabel setText:[NSString stringWithFormat:@"%i", missedCall]]; } else { if(![historyNotificationView isHidden]) { [self stopBounceAnimation:@"Bounce" target:historyNotificationView]; - [self disappearAnimation:@"Disappear" target:historyNotificationView completion:^(BOOL finished){ - [historyNotificationView setHidden:TRUE]; - } - ]; + if(appear) { + [self disappearAnimation:@"Disappear" target:historyNotificationView completion:^(BOOL finished){ + + }]; + } else { + [historyNotificationView setHidden:TRUE]; + } } } } - (void)appearAnimation:(NSString*)animationID target:(UIView*)target completion:(void (^)(BOOL finished))completion { - target.transform = CGAffineTransformMakeScale(0.01f, 0.01f); + target.layer.transform = CATransform3DMakeScale(0.01f, 0.01f, 1.0f); [UIView animateWithDuration:0.4 delay:0 options:UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAllowUserInteraction animations:^{ - target.transform = CGAffineTransformIdentity; + target.layer.transform = CATransform3DIdentity; } completion:completion]; } - (void)disappearAnimation:(NSString*)animationID target:(UIView*)target completion:(void (^)(BOOL finished))completion { - CGAffineTransform startCGA = [target transform]; + CATransform3D startCGA = target.layer.transform; [UIView animateWithDuration:0.4 delay:0 options:UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAllowUserInteraction animations:^{ - target.transform = CGAffineTransformConcat(startCGA, CGAffineTransformMakeScale(0.01f, 0.01f)); + target.layer.transform = CATransform3DConcat(startCGA, CATransform3DMakeScale(0.01f, 0.01f, 1.0f)); } completion:completion]; } - (void)startBounceAnimation:(NSString *)animationID target:(UIView *)target { - CGAffineTransform startCGA = [target transform]; + CATransform3D startCGA = target.layer.transform; [UIView animateWithDuration: 0.3 delay: 0 options: UIViewAnimationOptionRepeat | - UIViewAnimationOptionAutoreverse | + UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveEaseIn animations:^{ - [target setTransform: CGAffineTransformConcat(startCGA, CGAffineTransformMakeTranslation(0, 8))]; + target.layer.transform = CATransform3DConcat(startCGA, CATransform3DMakeTranslation(0, 8, 0)); } completion:^(BOOL finished){ }]; @@ -232,7 +262,7 @@ // Reset missed call if([view equal:[HistoryViewController compositeViewDescription]]) { linphone_core_reset_missed_calls_count([LinphoneManager getLc]); - [self updateMissedCall:0]; + [self updateMissedCall:0 appear:FALSE]; } // Update buttons From 57879a4b21321a17bf70141fb49dc4587c0d439b Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 31 Jul 2012 10:26:31 +0200 Subject: [PATCH 04/17] add godaddy root ca --- Resources/rootca.pem | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Resources/rootca.pem b/Resources/rootca.pem index cb25772cd..16f4fe95b 100644 --- a/Resources/rootca.pem +++ b/Resources/rootca.pem @@ -3963,3 +3963,27 @@ IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ O+7ETPTsJ3xCwnR8gooJybQDJbw= -----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- From af863e6e8eb374a165e4bf386a3b01a20df203bf Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 31 Jul 2012 11:24:04 +0200 Subject: [PATCH 05/17] Continue iPad work Clean & fix memory leaks --- Classes/ChatRoomViewController.m | 2 +- Classes/ChatViewController.m | 2 +- Classes/ContactDetailsLabelViewController.h | 11 +- Classes/ContactDetailsLabelViewController.m | 46 ++++- Classes/ContactDetailsLabelViewController.xib | 3 +- Classes/ContactDetailsTableViewController.h | 3 +- Classes/ContactDetailsTableViewController.m | 58 +++--- Classes/ContactDetailsViewController.m | 15 +- Classes/ContactsViewController.m | 2 +- Classes/HistoryDetailsViewController.m | 2 +- Classes/HistoryViewController.m | 2 +- Classes/IncomingCallViewController.h | 19 +- Classes/IncomingCallViewController.m | 55 ++++-- Classes/IncomingCallViewController.xib | 166 ++++++++---------- Classes/LinphoneCoreSettingsStore.m | 11 +- Classes/LinphoneManager.m | 3 +- Classes/LinphoneUI/UIMainBar.m | 2 +- Classes/LinphoneUI/UIModalViewController.h | 39 ---- Classes/LinphoneUI/UIModalViewController.m | 90 ---------- Classes/LinphoneUI/UIView+ModalStack.h | 29 --- Classes/LinphoneUI/UIView+ModalStack.m | 49 ------ Classes/PhoneMainView.h | 4 +- Classes/PhoneMainView.m | 38 ++-- Classes/SettingsViewController.m | 2 +- linphone.xcodeproj/project.pbxproj | 16 -- 25 files changed, 258 insertions(+), 411 deletions(-) delete mode 100644 Classes/LinphoneUI/UIModalViewController.h delete mode 100644 Classes/LinphoneUI/UIModalViewController.m delete mode 100644 Classes/LinphoneUI/UIView+ModalStack.h delete mode 100644 Classes/LinphoneUI/UIView+ModalStack.m diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index e68a0e096..8dd06a482 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -74,7 +74,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar:@"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; diff --git a/Classes/ChatViewController.m b/Classes/ChatViewController.m index 390b91d5d..ac91c6d5b 100644 --- a/Classes/ChatViewController.m +++ b/Classes/ChatViewController.m @@ -93,7 +93,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar: @"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; diff --git a/Classes/ContactDetailsLabelViewController.h b/Classes/ContactDetailsLabelViewController.h index cefe72273..f67e4a253 100644 --- a/Classes/ContactDetailsLabelViewController.h +++ b/Classes/ContactDetailsLabelViewController.h @@ -18,18 +18,25 @@ */ #import +#import "UICompositeViewController.h" -#import "UIModalViewController.h" +@protocol ContactDetailsLabelViewDelegate -@interface ContactDetailsLabelViewController : UIModalViewController { +- (void)changeContactDetailsLabel:(NSString*)label; + +@end + +@interface ContactDetailsLabelViewController : UIViewController { NSDictionary *dataList; UITableView *tableView; NSString *selectedData; + id delegate; } @property (nonatomic, copy) NSString *selectedData; @property (nonatomic, retain) NSDictionary *dataList; @property (nonatomic, retain) IBOutlet UITableView *tableView; +@property (nonatomic, retain) id delegate; - (IBAction)onBackClick:(id)event; diff --git a/Classes/ContactDetailsLabelViewController.m b/Classes/ContactDetailsLabelViewController.m index 81cb0ec1c..be5a95f12 100644 --- a/Classes/ContactDetailsLabelViewController.m +++ b/Classes/ContactDetailsLabelViewController.m @@ -21,12 +21,26 @@ #import "UACellBackgroundView.h" #import "UILinphone.h" +#import "PhoneMainView.h" @implementation ContactDetailsLabelViewController @synthesize dataList; @synthesize tableView; @synthesize selectedData; +@synthesize delegate; + + +#pragma mark - Lifecycle Functions + +- (void)dealloc { + [selectedData release]; + [dataList release]; + [tableView release]; + [delegate release]; + + [super dealloc]; +} #pragma mark - ViewController Functions @@ -37,6 +51,34 @@ } +#pragma mark - UICompositeViewDelegate Functions + +static UICompositeViewDescription *compositeDescription = nil; + ++ (UICompositeViewDescription *)compositeViewDescription { + if(compositeDescription == nil) { + compositeDescription = [[UICompositeViewDescription alloc] init:@"ContactDetailsLabel" + content:@"ContactDetailsLabelViewController" + stateBar:nil + stateBarEnabled:false + tabBar:@"UIMainBar" + tabBarEnabled:true + fullscreen:false + landscapeMode:true + portraitMode:true]; + } + return compositeDescription; +} + + +#pragma mark - + +- (void)dismiss { + if([[[PhoneMainView instance] currentView] equal:[ContactDetailsLabelViewController compositeViewDescription]]) { + [[PhoneMainView instance] popCurrentView]; + } +} + #pragma mark - Property Functions - (void)setDataList:(NSDictionary *)adatalist { @@ -56,6 +98,7 @@ [tableView reloadData]; } + #pragma mark - UITableViewDataSource Functions - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { @@ -90,7 +133,8 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSString* key = [[dataList allKeys] objectAtIndex:[indexPath row]]; [self setSelectedData:key]; - [self dismiss:key]; + [delegate changeContactDetailsLabel:key]; + [self dismiss]; } diff --git a/Classes/ContactDetailsLabelViewController.xib b/Classes/ContactDetailsLabelViewController.xib index 8c0a5eb90..838b54351 100644 --- a/Classes/ContactDetailsLabelViewController.xib +++ b/Classes/ContactDetailsLabelViewController.xib @@ -61,7 +61,7 @@ - 292 + 290 {320, 58} @@ -133,7 +133,6 @@ {{0, 59}, {320, 401}} - _NS:9 10 diff --git a/Classes/ContactDetailsTableViewController.h b/Classes/ContactDetailsTableViewController.h index e05883262..24407db95 100644 --- a/Classes/ContactDetailsTableViewController.h +++ b/Classes/ContactDetailsTableViewController.h @@ -24,11 +24,10 @@ #import "UIContactDetailsHeader.h" #import "UIContactDetailsFooter.h" -@interface ContactDetailsTableViewController : UITableViewController { +@interface ContactDetailsTableViewController : UITableViewController { @private ABRecordRef contact; NSMutableArray *dataCache; - ContactDetailsLabelViewController *contactDetailsLabelViewController; NSMutableArray *labelArray; NSIndexPath *editingIndexPath; @public diff --git a/Classes/ContactDetailsTableViewController.m b/Classes/ContactDetailsTableViewController.m index 7b3e36aa1..44b404088 100644 --- a/Classes/ContactDetailsTableViewController.m +++ b/Classes/ContactDetailsTableViewController.m @@ -20,7 +20,6 @@ #import "ContactDetailsTableViewController.h" #import "PhoneMainView.h" #import "UIEditableTableViewCell.h" -#import "UIView+ModalStack.h" #import "UACellBackgroundView.h" #import "UILinphone.h" #import "OrderedDictionary.h" @@ -61,7 +60,6 @@ #pragma mark - Lifecycle Functions - (void)initContactDetailsTableViewController { - dataCache = [[NSMutableArray alloc] init]; labelArray = [[NSMutableArray alloc] initWithObjects: @"Linphone", @@ -70,6 +68,7 @@ [NSString stringWithString:(NSString*)kABPersonPhoneMainLabel], nil]; headerController = [[UIContactDetailsHeader alloc] init]; footerController = [[UIContactDetailsFooter alloc] init]; + editingIndexPath = nil; } - (id)init { @@ -88,7 +87,13 @@ return self; } -- (void)dealloc { +- (void)dealloc { + if(contact != nil && ABRecordGetRecordID(contact) == kABRecordInvalidID) { + CFRelease(contact); + } + if(editingIndexPath != nil) { + [editingIndexPath release]; + } [labelArray release]; [dataCache release]; [headerController release]; @@ -105,27 +110,8 @@ [self.tableView setBackgroundColor:[UIColor clearColor]]; // Can't do it in Xib: issue with ios4 } -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; -} - -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - if(contactDetailsLabelViewController != nil) { - [[[self view] superview] removeModalView:[contactDetailsLabelViewController view]]; - [editingIndexPath release]; - editingIndexPath = nil; - [contactDetailsLabelViewController release]; - contactDetailsLabelViewController = nil; - } -} - - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; - if(contact != nil && ABRecordGetRecordID(contact) == kABRecordInvalidID) { - CFRelease(contact); - } - contact = nil; } @@ -344,6 +330,9 @@ #pragma mark - Property Functions - (void)setContact:(ABRecordRef)acontact { + if(contact != nil && ABRecordGetRecordID(contact) == kABRecordInvalidID) { + CFRelease(contact); + } self->contact = acontact; [self loadData]; } @@ -490,13 +479,16 @@ CFRelease(lMap); } if(key != nil) { - contactDetailsLabelViewController = [[ContactDetailsLabelViewController alloc] initWithNibName:@"ContactDetailsLabelViewController" - bundle:[NSBundle mainBundle]]; - [contactDetailsLabelViewController setSelectedData:key]; - [contactDetailsLabelViewController setDataList:[self getLocalizedLabels]]; - [contactDetailsLabelViewController setModalDelegate:self]; + if(editingIndexPath != nil) { + [editingIndexPath release]; + } editingIndexPath = [indexPath copy]; - [[[self view] superview] addModalView:[contactDetailsLabelViewController view]]; + ContactDetailsLabelViewController *controller = DYNAMIC_CAST([[PhoneMainView instance] changeCurrentView:[ContactDetailsLabelViewController compositeViewDescription] push:TRUE], ContactDetailsLabelViewController); + if(controller != nil) { + [controller setDataList:[self getLocalizedLabels]]; + [controller setSelectedData:key]; + [controller setDelegate:self]; + } } } } @@ -604,11 +596,9 @@ } -#pragma mark - UIModalViewDeletage Functions +#pragma mark - ContactDetailsLabelDelegate Functions -- (void)modalViewDismiss:(UIModalViewController*)controller value:(id)value { - [[[self view]superview] removeModalView:[contactDetailsLabelViewController view]]; - contactDetailsLabelViewController = nil; +- (void)changeContactDetailsLabel:(NSString *)value { if(value != nil) { NSMutableArray *sectionDict = [dataCache objectAtIndex:[editingIndexPath section]]; Entry *entry = [sectionDict objectAtIndex:[editingIndexPath row]]; @@ -617,7 +607,7 @@ ABMutableMultiValueRef lMap = ABMultiValueCreateMutableCopy(lcMap); CFRelease(lcMap); int index = ABMultiValueGetIndexForIdentifier(lMap, [entry identifier]); - ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)((NSString*)value), index); + ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)(value), index); ABRecordSetValue(contact, kABPersonPhoneProperty, lMap, nil); CFRelease(lMap); } else if([editingIndexPath section] == 1) { @@ -625,7 +615,7 @@ ABMutableMultiValueRef lMap = ABMultiValueCreateMutableCopy(lcMap); CFRelease(lcMap); int index = ABMultiValueGetIndexForIdentifier(lMap, [entry identifier]); - ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)((NSString*)value), index); + ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)(value), index); ABRecordSetValue(contact, kABPersonInstantMessageProperty, lMap, nil); CFRelease(lMap); } diff --git a/Classes/ContactDetailsViewController.m b/Classes/ContactDetailsViewController.m index 0c120384f..6a74878a9 100644 --- a/Classes/ContactDetailsViewController.m +++ b/Classes/ContactDetailsViewController.m @@ -141,6 +141,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf - (void)newContact { [LinphoneLogger logc:LinphoneLoggerLog format:"New contact"]; + self->contact = NULL; + [self resetData]; self->contact = ABPersonCreate(); [tableController setContact:self->contact]; [self enableEdit:FALSE]; @@ -149,6 +151,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf - (void)newContact:(NSString*)address { [LinphoneLogger logc:LinphoneLoggerLog format:"New contact"]; + self->contact = NULL; + [self resetData]; self->contact = ABPersonCreate(); [tableController setContact:self->contact]; [tableController addSipField:address]; @@ -158,6 +162,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf - (void)editContact:(ABRecordRef)acontact { [LinphoneLogger logc:LinphoneLoggerLog format:"Edit contact %p", acontact]; + self->contact = NULL; + [self resetData]; self->contact = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(acontact)); [tableController setContact:self->contact]; [self enableEdit:FALSE]; @@ -166,6 +172,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf - (void)editContact:(ABRecordRef)acontact address:(NSString*)address { [LinphoneLogger logc:LinphoneLoggerLog format:"Edit contact %p", acontact]; + self->contact = NULL; + [self resetData]; self->contact = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(acontact)); [tableController setContact:self->contact]; [tableController addSipField:address]; @@ -178,6 +186,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf - (void)setContact:(ABRecordRef)acontact { [LinphoneLogger logc:LinphoneLoggerLog format:"Set contact %p", acontact]; + self->contact = NULL; + [self resetData]; self->contact = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(acontact)); [tableController setContact:self->contact]; [self disableEdit:FALSE]; @@ -211,9 +221,6 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { [tableController viewWillDisappear:animated]; } - [self disableEdit:FALSE]; - self->contact = NULL; - [self resetData]; } - (void)viewWillAppear:(BOOL)animated { @@ -257,7 +264,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar:@"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; diff --git a/Classes/ContactsViewController.m b/Classes/ContactsViewController.m index c23b5967c..13b1eecdf 100644 --- a/Classes/ContactsViewController.m +++ b/Classes/ContactsViewController.m @@ -109,7 +109,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar:@"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; diff --git a/Classes/HistoryDetailsViewController.m b/Classes/HistoryDetailsViewController.m index 8dc60041e..bc171e708 100644 --- a/Classes/HistoryDetailsViewController.m +++ b/Classes/HistoryDetailsViewController.m @@ -69,7 +69,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar:@"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; diff --git a/Classes/HistoryViewController.m b/Classes/HistoryViewController.m index 6db361946..92cb769b3 100644 --- a/Classes/HistoryViewController.m +++ b/Classes/HistoryViewController.m @@ -65,7 +65,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar:@"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; diff --git a/Classes/IncomingCallViewController.h b/Classes/IncomingCallViewController.h index dbdbc41e0..cea938b97 100644 --- a/Classes/IncomingCallViewController.h +++ b/Classes/IncomingCallViewController.h @@ -19,26 +19,29 @@ #import -#import "UIModalViewController.h" - +#import "UICompositeViewController.h" #include "linphonecore.h" -typedef enum _IncomingCallStates { - IncomingCall_Accepted, - IncomingCall_Decline, - IncomingCall_Aborted -} IncomingCallStats; +@protocol IncomingCallViewDelegate -@interface IncomingCallViewController : UIModalViewController { +- (void)incomingCallAccepted:(LinphoneCall*)call; +- (void)incomingCallDeclined:(LinphoneCall*)call; +- (void)incomingCallAborted:(LinphoneCall*)call; + +@end + +@interface IncomingCallViewController : UIViewController { @private UILabel* addressLabel; UIImageView* avatarImage; LinphoneCall *call; + id delegate; } @property (nonatomic, retain) IBOutlet UILabel* addressLabel; @property (nonatomic, retain) IBOutlet UIImageView* avatarImage; @property (nonatomic, assign) LinphoneCall* call; +@property (nonatomic, retain) id delegate; - (IBAction)onAcceptClick:(id) event; - (IBAction)onDeclineClick:(id) event; diff --git a/Classes/IncomingCallViewController.m b/Classes/IncomingCallViewController.m index 7553a0fbe..7ec92fa6b 100644 --- a/Classes/IncomingCallViewController.m +++ b/Classes/IncomingCallViewController.m @@ -20,13 +20,14 @@ #import "IncomingCallViewController.h" #import "LinphoneManager.h" #import "FastAddressBook.h" +#import "PhoneMainView.h" @implementation IncomingCallViewController @synthesize addressLabel; @synthesize avatarImage; @synthesize call; - +@synthesize delegate; #pragma mark - Lifecycle Functions @@ -37,6 +38,9 @@ - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; + [avatarImage release]; + [addressLabel release]; + [delegate release]; [super dealloc]; } @@ -50,7 +54,6 @@ selector:@selector(callUpdateEvent:) name:@"LinphoneCallUpdate" object:nil]; - [self callUpdate:call state:linphone_call_get_state(call)]; } - (void)viewWillDisappear:(BOOL)animated { @@ -62,6 +65,25 @@ } +#pragma mark - UICompositeViewDelegate Functions + +static UICompositeViewDescription *compositeDescription = nil; + ++ (UICompositeViewDescription *)compositeViewDescription { + if(compositeDescription == nil) { + compositeDescription = [[UICompositeViewDescription alloc] init:@"IncomingCall" + content:@"IncomingCallViewController" + stateBar:nil + stateBarEnabled:false + tabBar:nil + tabBarEnabled:false + fullscreen:false + landscapeMode:true + portraitMode:true]; + } + return compositeDescription; +} + #pragma mark - Event Functions @@ -76,16 +98,16 @@ - (void)callUpdate:(LinphoneCall *)acall state:(LinphoneCallState)astate { if(call == acall && (astate == LinphoneCallEnd || astate == LinphoneCallError)) { - [self dismiss: [NSNumber numberWithInt: IncomingCall_Aborted]]; + [delegate incomingCallAborted:call]; + [self dismiss]; } } -#pragma mark - Property Functions - -- (void)setCall:(LinphoneCall*)acall { - call = acall; - [self update]; +- (void)dismiss { + if([[[PhoneMainView instance] currentView] equal:[IncomingCallViewController compositeViewDescription]]) { + [[PhoneMainView instance] popCurrentView]; + } } - (void)update { @@ -131,21 +153,26 @@ [addressLabel setText:address]; } -- (LinphoneCall*) getCall { - return call; + +#pragma mark - Property Functions + +- (void)setCall:(LinphoneCall*)acall { + call = acall; + [self update]; + [self callUpdate:call state:linphone_call_get_state(call)]; } #pragma mark - Action Functions - (IBAction)onAcceptClick:(id)event { - linphone_core_accept_call([LinphoneManager getLc], call); - [self dismiss: [NSNumber numberWithInt:IncomingCall_Accepted]]; + [self dismiss]; + [delegate incomingCallAccepted:call]; } - (IBAction)onDeclineClick:(id)event { - linphone_core_terminate_call([LinphoneManager getLc], call); - [self dismiss: [NSNumber numberWithInt:IncomingCall_Decline]]; + [self dismiss]; + [delegate incomingCallDeclined:call]; } @end diff --git a/Classes/IncomingCallViewController.xib b/Classes/IncomingCallViewController.xib index b2de27e48..435a55df5 100644 --- a/Classes/IncomingCallViewController.xib +++ b/Classes/IncomingCallViewController.xib @@ -33,15 +33,15 @@ IBFirstResponder IBCocoaTouchFramework - + 274 - + 274 - {{0, 20}, {320, 460}} - + {320, 460} + _NS:9 @@ -56,12 +56,12 @@ - + 290 - 292 + 290 {{0, 49}, {320, 63}} @@ -76,7 +76,7 @@ - 292 + 290 {320, 68} @@ -4512,7 +4512,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - 292 + 293 {{0, 96}, {320, 262}} @@ -4527,7 +4527,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - 292 + 293 {{80, 113}, {160, 170}} @@ -4541,8 +4541,8 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - {{0, 20}, {320, 395}} - + {320, 395} + _NS:9 @@ -4550,7 +4550,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE IBCocoaTouchFramework - + 266 @@ -4591,11 +4591,11 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE 3 MC41AA - + NSImage accept_over.png - + NSImage accept_default.png @@ -4615,6 +4615,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE {{160, 0}, {160, 77}} + _NS:9 NO @@ -4624,11 +4625,11 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE 0 0 - + NSImage decline_over.png - + NSImage decline_default.png @@ -4636,41 +4637,26 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - {{0, 403}, {320, 77}} - + {{0, 383}, {320, 77}} + _NS:9 - - 1 - MCAxIDAuMTkxOTQ1NDc1NSAwAA - - NO + IBCocoaTouchFramework - {320, 480} + {320, 460} - - 3 - MAA - - NO + _NS:9 + IBCocoaTouchFramework - - - view - - - - 3 - avatarImage @@ -4687,6 +4673,14 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE 14 + + + view + + + + 26 + onDeclineClick: @@ -4726,55 +4720,32 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - 1 - + 25 + - - + + - 4 - - - - - - - - tabBar - - - 5 - - - mask - - - 6 - - - declineButton - - - 7 - - - acceptButton + 22 + + + background 8 - - - - + + + + - + 21 @@ -4807,10 +4778,33 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE headerBackground - 22 - - - background + 4 + + + + + + + + tabBar + + + 5 + + + mask + + + 6 + + + declineButton + + + 7 + + + acceptButton @@ -4819,18 +4813,18 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -4838,13 +4832,13 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE - 24 + 30 IncomingCallViewController - UIModalViewController + UIViewController id id @@ -4878,14 +4872,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE ./Classes/IncomingCallViewController.h - - UIModalViewController - UIViewController - - IBProjectSource - ./Classes/UIModalViewController.h - - 0 diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index d75a6aefe..4790470b0 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -119,11 +119,12 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); } } { - LinphoneAddress *parsed=linphone_core_get_primary_contact_parsed(lc); + LinphoneAddress *parsed = linphone_core_get_primary_contact_parsed(lc); if(parsed != NULL) { [self setString: linphone_address_get_display_name(parsed) forKey:@"primary_displayname_preference"]; [self setString: linphone_address_get_username(parsed) forKey:@"primary_username_preference"]; } + linphone_address_destroy(parsed); } { LCSipTransports tp; @@ -320,11 +321,11 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); // add username password LinphoneAddress *from = linphone_address_new(identity); LinphoneAuthInfo *info; - if (from !=0){ + if (from != 0){ info=linphone_auth_info_new(linphone_address_get_username(from),NULL,password,NULL,NULL); linphone_core_add_auth_info(lc,info); + linphone_address_destroy(from); } - linphone_address_destroy(from); // configure proxy entries linphone_proxy_config_set_identity(proxyCfg,identity); @@ -425,12 +426,14 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); // Primary contact NSString* displayname = [self stringForKey:@"primary_displayname_preference"]; NSString* username = [self stringForKey:@"primary_username_preference"]; - LinphoneAddress *parsed=linphone_core_get_primary_contact_parsed(lc); + LinphoneAddress *parsed = linphone_core_get_primary_contact_parsed(lc); if(parsed != NULL) { linphone_address_set_display_name(parsed,[displayname cStringUsingEncoding:[NSString defaultCStringEncoding]]); linphone_address_set_username(parsed,[username cStringUsingEncoding:[NSString defaultCStringEncoding]]); char *contact = linphone_address_as_string(parsed); linphone_core_set_primary_contact(lc, contact); + ms_free(contact); + linphone_address_destroy(parsed); } diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 4eb34c7fc..408fee075 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -837,8 +837,9 @@ static LinphoneCoreVTable linphonec_vtable = { if(transfer) { linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), normalizedUserName); } else { - linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress,lcallParams); + linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress, lcallParams); } + linphone_address_destroy(linphoneAddress); } linphone_call_params_destroy(lcallParams); } diff --git a/Classes/LinphoneUI/UIMainBar.m b/Classes/LinphoneUI/UIMainBar.m index 31c482d80..ec2b88989 100644 --- a/Classes/LinphoneUI/UIMainBar.m +++ b/Classes/LinphoneUI/UIMainBar.m @@ -198,7 +198,7 @@ [self startBounceAnimation:@"Bounce" target:historyNotificationView]; }]; } else { - [self startBounceAnimation:@"Bounce" target:chatNotificationView]; + [self startBounceAnimation:@"Bounce" target:historyNotificationView]; } } [historyNotificationLabel setText:[NSString stringWithFormat:@"%i", missedCall]]; diff --git a/Classes/LinphoneUI/UIModalViewController.h b/Classes/LinphoneUI/UIModalViewController.h deleted file mode 100644 index 929414823..000000000 --- a/Classes/LinphoneUI/UIModalViewController.h +++ /dev/null @@ -1,39 +0,0 @@ -/* UIModalViewController.h - * - * Copyright (C) 2012 Belledonne Comunications, Grenoble, France - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#import - -@class UIModalViewController; - -@protocol UIModalViewDelegate - -- (void)modalViewDismiss:(UIModalViewController*)controller value:(id)value; - -@end - -@interface UIModalViewController : UIViewController { - BOOL dismissed; - id modalDelegate; -} - -- (void)setModalDelegate:(id)delegate; -- (void)dismiss:(id)value; -- (void)dismiss; - -@end diff --git a/Classes/LinphoneUI/UIModalViewController.m b/Classes/LinphoneUI/UIModalViewController.m deleted file mode 100644 index dfda1b240..000000000 --- a/Classes/LinphoneUI/UIModalViewController.m +++ /dev/null @@ -1,90 +0,0 @@ -/* UIModalViewController.h - * - * Copyright (C) 2012 Belledonne Comunications, Grenoble, France - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#import "UIModalViewController.h" - -@implementation UIModalViewController - -- (void)initUIModalViewController { - dismissed = FALSE; -} - -- (id)init { - self = [super init]; - if (self) { - [self initUIModalViewController]; - } - return self; -} - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - [self initUIModalViewController]; - } - return self; -} - -- (id)initWithCoder:(NSCoder *)decoder { - self = [super initWithCoder:decoder]; - if (self) { - [self initUIModalViewController]; - } - return self; -} - -- (void)hideView { - if([self.view superview] !=nil) { - if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { - [self viewWillDisappear:NO]; - } - [self.view removeFromSuperview]; - if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { - [self viewDidDisappear:NO]; - } - } -} - -- (void)dismiss:(id)value { - if(modalDelegate != nil) - [modalDelegate modalViewDismiss:self value:value]; - - if(!dismissed) { - [self hideView]; - dismissed = true; - [self autorelease]; - } -} - -- (void)dismiss{ - if(modalDelegate != nil) - [modalDelegate modalViewDismiss:self value:nil]; - - if(!dismissed) { - [self hideView]; - dismissed = true; - [self autorelease]; - } -} - -- (void)setModalDelegate:(id)delegate { - modalDelegate = delegate; -} - -@end diff --git a/Classes/LinphoneUI/UIView+ModalStack.h b/Classes/LinphoneUI/UIView+ModalStack.h deleted file mode 100644 index c036ad7ff..000000000 --- a/Classes/LinphoneUI/UIView+ModalStack.h +++ /dev/null @@ -1,29 +0,0 @@ -/* UIView+ModalStack.h - * - * Copyright (C) 2012 Belledonne Comunications, Grenoble, France - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#import - -#import "UIModalViewController.h" - -@interface UIView (ModalStack) - -- (void)addModalView:(UIView*)view; -- (void)removeModalView:(UIView*)view; - -@end diff --git a/Classes/LinphoneUI/UIView+ModalStack.m b/Classes/LinphoneUI/UIView+ModalStack.m deleted file mode 100644 index 24170c292..000000000 --- a/Classes/LinphoneUI/UIView+ModalStack.m +++ /dev/null @@ -1,49 +0,0 @@ -/* UIView+ModalStack.m - * - * Copyright (C) 2012 Belledonne Comunications, Grenoble, France - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#import - -#import "UIView+ModalStack.h" - -@implementation UIView (ModalStack) - -- (void)addModalView:(UIView*)view { - CATransition* trans = [CATransition animation]; - [trans setType:kCATransitionFade]; - [trans setDuration:0.35]; - [trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; - [trans setSubtype:kCATransitionFromRight]; - [self.layer addAnimation:trans forKey:@"Appear"]; - - [self addSubview:view]; - [self bringSubviewToFront:view]; -} - -- (void)removeModalView:(UIView*)view { - CATransition* trans = [CATransition animation]; - [trans setType:kCATransitionFade]; - [trans setDuration:0.35]; - [trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; - [trans setSubtype:kCATransitionFromRight]; - [self.layer addAnimation:trans forKey:@"Disappear"]; - - [view removeFromSuperview]; -} - -@end diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h index 7cc50ca26..36ffef4d5 100644 --- a/Classes/PhoneMainView.h +++ b/Classes/PhoneMainView.h @@ -21,7 +21,6 @@ #import "LinphoneManager.h" #import "UICompositeViewController.h" -#import "UIModalViewController.h" #import "FirstLoginViewController.h" #import "IncomingCallViewController.h" @@ -36,8 +35,9 @@ #import "SettingsViewController.h" #import "FirstLoginViewController.h" #import "WizardViewController.h" +#import "IncomingCallViewController.h" -@interface PhoneMainView : UIViewController { +@interface PhoneMainView : UIViewController { @private UICompositeViewController *mainViewController; diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index f53928728..61f3a0dcf 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -22,7 +22,6 @@ #import "PhoneMainView.h" #import "Utils.h" -#import "UIView+ModalStack.h" static PhoneMainView* phoneMainViewInstance=nil; @@ -232,6 +231,11 @@ static PhoneMainView* phoneMainViewInstance=nil; bool canHideInCallView = (linphone_core_get_calls([LinphoneManager getLc]) == NULL); + // Don't handle call state during incoming call view + if([[self currentView] equal:[IncomingCallViewController compositeViewDescription]] && state != LinphoneCallError && state != LinphoneCallEnd) { + return; + } + switch (state) { case LinphoneCallIncomingReceived: { @@ -529,18 +533,12 @@ static PhoneMainView* phoneMainViewInstance=nil; [[UIApplication sharedApplication] presentLocalNotificationNow:appData->notification]; } - } else { - IncomingCallViewController *controller = [[IncomingCallViewController alloc] init]; - [controller setWantsFullScreenLayout:TRUE]; - [controller setCall:call]; - [controller setModalDelegate:self]; - if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { - [controller viewWillAppear:NO]; - } - [[self view] addModalView:[controller view]]; - if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { - [controller viewDidAppear:NO]; - } + } else { + IncomingCallViewController *controller = DYNAMIC_CAST([self changeCurrentView:[IncomingCallViewController compositeViewDescription] push:TRUE],IncomingCallViewController); + if(controller != nil) { + [controller setCall:call]; + [controller setDelegate:self]; + } } } @@ -599,11 +597,17 @@ static PhoneMainView* phoneMainViewInstance=nil; } -#pragma mark - Modal Functions +#pragma mark - IncomingCallDelegate Functions -- (void)modalViewDismiss:(UIModalViewController*)controller value:(id)value { - [controller setModalDelegate:nil]; - [[self view] removeModalView:[controller view]]; +- (void)incomingCallAborted:(LinphoneCall*)call { +} + +- (void)incomingCallAccepted:(LinphoneCall*)call { + linphone_core_accept_call([LinphoneManager getLc], call); +} + +- (void)incomingCallDeclined:(LinphoneCall*)call { + linphone_core_terminate_call([LinphoneManager getLc], call); } @end \ No newline at end of file diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m index dc2f054c3..91ea51d15 100644 --- a/Classes/SettingsViewController.m +++ b/Classes/SettingsViewController.m @@ -345,7 +345,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar: @"UIMainBar" tabBarEnabled:true fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index a8ebc6802..7d3f16feb 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -670,8 +670,6 @@ D378906515AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D378906315AC373B00BD776C /* ContactDetailsLabelViewController.m */; }; D378906615AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D378906315AC373B00BD776C /* ContactDetailsLabelViewController.m */; }; D378906715AC373B00BD776C /* ContactDetailsLabelViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D378906415AC373B00BD776C /* ContactDetailsLabelViewController.xib */; }; - D378907515AC448A00BD776C /* UIView+ModalStack.m in Sources */ = {isa = PBXBuildFile; fileRef = D378907415AC448A00BD776C /* UIView+ModalStack.m */; }; - D378907615AC448A00BD776C /* UIView+ModalStack.m in Sources */ = {isa = PBXBuildFile; fileRef = D378907415AC448A00BD776C /* UIView+ModalStack.m */; }; D37B96B715A1A6F20005CCD2 /* call_state_delete_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D37B96B515A1A6F20005CCD2 /* call_state_delete_default.png */; }; D37B96B915A1A6F20005CCD2 /* call_state_delete_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D37B96B615A1A6F20005CCD2 /* call_state_delete_over.png */; }; D37C638E15AAD251009D0BAC /* contact_number_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D37C638C15AAD251009D0BAC /* contact_number_over.png */; }; @@ -1061,8 +1059,6 @@ D3F26BF915986DAD005F9CAB /* history_ok_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F26BF615986DAD005F9CAB /* history_ok_over.png */; }; D3F26BFC15987083005F9CAB /* header_incoming.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F26BFB15987083005F9CAB /* header_incoming.png */; }; D3F34F301599B008005BE94F /* avatar_shadow.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F34F2F1599B008005BE94F /* avatar_shadow.png */; }; - D3F34F351599C354005BE94F /* UIModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F34F341599C354005BE94F /* UIModalViewController.m */; }; - D3F34F361599C354005BE94F /* UIModalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F34F341599C354005BE94F /* UIModalViewController.m */; }; D3F795D615A582810077328B /* ChatRoomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F795D415A582800077328B /* ChatRoomViewController.m */; }; D3F795D715A582810077328B /* ChatRoomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F795D415A582800077328B /* ChatRoomViewController.m */; }; D3F795D815A582810077328B /* ChatRoomViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F795D515A582800077328B /* ChatRoomViewController.xib */; }; @@ -1653,8 +1649,6 @@ D378906215AC373B00BD776C /* ContactDetailsLabelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactDetailsLabelViewController.h; sourceTree = ""; }; D378906315AC373B00BD776C /* ContactDetailsLabelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactDetailsLabelViewController.m; sourceTree = ""; }; D378906415AC373B00BD776C /* ContactDetailsLabelViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ContactDetailsLabelViewController.xib; sourceTree = ""; }; - D378907415AC448A00BD776C /* UIView+ModalStack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ModalStack.m"; sourceTree = ""; }; - D378907715AC44A300BD776C /* UIView+ModalStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ModalStack.h"; sourceTree = ""; }; D37B96B515A1A6F20005CCD2 /* call_state_delete_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = call_state_delete_default.png; path = Resources/call_state_delete_default.png; sourceTree = ""; }; D37B96B615A1A6F20005CCD2 /* call_state_delete_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = call_state_delete_over.png; path = Resources/call_state_delete_over.png; sourceTree = ""; }; D37C638C15AAD251009D0BAC /* contact_number_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_number_over.png; path = Resources/contact_number_over.png; sourceTree = ""; }; @@ -1952,8 +1946,6 @@ D3F26BF615986DAD005F9CAB /* history_ok_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = history_ok_over.png; path = Resources/history_ok_over.png; sourceTree = ""; }; D3F26BFB15987083005F9CAB /* header_incoming.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = header_incoming.png; path = Resources/header_incoming.png; sourceTree = ""; }; D3F34F2F1599B008005BE94F /* avatar_shadow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = avatar_shadow.png; path = Resources/avatar_shadow.png; sourceTree = ""; }; - D3F34F331599C354005BE94F /* UIModalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIModalViewController.h; sourceTree = ""; }; - D3F34F341599C354005BE94F /* UIModalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIModalViewController.m; sourceTree = ""; }; D3F795D315A582800077328B /* ChatRoomViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatRoomViewController.h; sourceTree = ""; }; D3F795D415A582800077328B /* ChatRoomViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatRoomViewController.m; sourceTree = ""; }; D3F795D515A582800077328B /* ChatRoomViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ChatRoomViewController.xib; sourceTree = ""; }; @@ -2462,8 +2454,6 @@ D3A74E5B15C6922A001500B9 /* UIMainBar~ipad.xib */, 2214EBF112F86360002A5394 /* UIMicroButton.h */, 2214EBF212F86360002A5394 /* UIMicroButton.m */, - D3F34F331599C354005BE94F /* UIModalViewController.h */, - D3F34F341599C354005BE94F /* UIModalViewController.m */, D36FB2D31589EF7C0036F6F2 /* UIPauseButton.h */, D36FB2D41589EF7C0036F6F2 /* UIPauseButton.m */, 22968A5D12F875C600588287 /* UISpeakerButton.h */, @@ -2479,8 +2469,6 @@ D32460E5159D9AAD00BA7F3A /* UITransparentView.m */, 340751E5150F38FC00B89C47 /* UIVideoButton.h */, 340751E6150F38FD00B89C47 /* UIVideoButton.m */, - D378907715AC44A300BD776C /* UIView+ModalStack.h */, - D378907415AC448A00BD776C /* UIView+ModalStack.m */, ); path = LinphoneUI; sourceTree = ""; @@ -4223,7 +4211,6 @@ D3EA5411159853750037DC6B /* UIChatCell.m in Sources */, D3F26BF115986B73005F9CAB /* IncomingCallViewController.m in Sources */, D31B4B21159876C0002E6C72 /* UICompositeViewController.m in Sources */, - D3F34F351599C354005BE94F /* UIModalViewController.m in Sources */, D31AAF5E159B3919002C6B02 /* InCallTableViewController.m in Sources */, D3211BB0159C4EF10098460B /* UIConferenceHeader.m in Sources */, D32460E6159D9AAD00BA7F3A /* UITransparentView.m in Sources */, @@ -4241,7 +4228,6 @@ D37C639B15AADEF6009D0BAC /* ContactDetailsTableViewController.m in Sources */, D3C6526715AC1A8F0092A874 /* UIEditableTableViewCell.m in Sources */, D378906515AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */, - D378907515AC448A00BD776C /* UIView+ModalStack.m in Sources */, D3E8F68615ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */, C90FAA7915AF54E6002091CB /* HistoryDetailsViewController.m in Sources */, D3F9A9E215AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */, @@ -4318,7 +4304,6 @@ D3EA5412159853750037DC6B /* UIChatCell.m in Sources */, D3F26BF215986B73005F9CAB /* IncomingCallViewController.m in Sources */, D31B4B22159876C0002E6C72 /* UICompositeViewController.m in Sources */, - D3F34F361599C354005BE94F /* UIModalViewController.m in Sources */, D31AAF5F159B3919002C6B02 /* InCallTableViewController.m in Sources */, D3211BB1159C4EF10098460B /* UIConferenceHeader.m in Sources */, D32460E7159D9AAD00BA7F3A /* UITransparentView.m in Sources */, @@ -4336,7 +4321,6 @@ D37C639C15AADEF6009D0BAC /* ContactDetailsTableViewController.m in Sources */, D3C6526815AC1A8F0092A874 /* UIEditableTableViewCell.m in Sources */, D378906615AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */, - D378907615AC448A00BD776C /* UIView+ModalStack.m in Sources */, D3E8F68715ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */, C90FAA7A15AF54E6002091CB /* HistoryDetailsViewController.m in Sources */, D3F9A9E315AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */, From 33edcdf2659d0eda529d90a90a9e317481e9a0a8 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 31 Jul 2012 14:24:07 +0200 Subject: [PATCH 06/17] Improve rotation --- Classes/LinphoneApp.xib | 93 ++++++++++++++++++- Classes/LinphoneAppDelegate.m | 2 +- Classes/LinphoneCoreSettingsStore.m | 6 +- .../LinphoneUI/UICompositeViewController.m | 79 +++++++++++++--- Classes/PhoneMainView.m | 13 ++- Classes/PhoneMainView.xib | 2 +- Settings/InAppSettings.bundle/Advanced.plist | 20 +++- linphone-Info.plist | 14 +++ 8 files changed, 198 insertions(+), 31 deletions(-) diff --git a/Classes/LinphoneApp.xib b/Classes/LinphoneApp.xib index ea771f481..b446fd98d 100644 --- a/Classes/LinphoneApp.xib +++ b/Classes/LinphoneApp.xib @@ -41,6 +41,7 @@ {320, 480} + 3 MAA @@ -144,7 +145,97 @@ 16 - + + + + LinphoneAppDelegate + NSObject + + window + UIWindow + + + window + + window + UIWindow + + + + IBProjectSource + ./Classes/LinphoneAppDelegate.h + + + + PhoneMainView + UIViewController + + mainViewController + UICompositeViewController + + + mainViewController + + mainViewController + UICompositeViewController + + + + IBProjectSource + ./Classes/PhoneMainView.h + + + + TPMultiLayoutViewController + UIViewController + + UIView + UIView + + + + landscapeView + UIView + + + portraitView + UIView + + + + IBProjectSource + ./Classes/TPMultiLayoutViewController.h + + + + UICompositeViewController + TPMultiLayoutViewController + + UIView + UIView + UIView + + + + contentView + UIView + + + stateBarView + UIView + + + tabBarView + UIView + + + + IBProjectSource + ./Classes/UICompositeViewController.h + + + + 0 IBCocoaTouchFramework diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index ce49f55ce..6b9c27131 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -161,6 +161,7 @@ int __aeabi_idiv(int a, int b) { } - (void)setupUI { + if ([[LinphoneManager instance].settingsStore boolForKey:@"enable_first_login_view_preference"] == true) { // Change to fist login view [[PhoneMainView instance] changeCurrentView: [FirstLoginViewController compositeViewDescription]]; @@ -173,7 +174,6 @@ int __aeabi_idiv(int a, int b) { [[PhoneMainView instance] changeCurrentView: [WizardViewController compositeViewDescription]]; } } - [UIDevice currentDevice].batteryMonitoringEnabled = YES; } diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 4790470b0..23e303f35 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -177,7 +177,7 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); } [self setString:val forKey:@"media_encryption_preference"]; } - [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","landscape_preference", 1) forKey:@"landscape_preference"]; + [self setString: lp_config_get_string(linphone_core_get_config(lc),"app","rotation_preference", "auto") forKey:@"rotation_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","debugenable_preference", 0) forKey:@"debugenable_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","check_config_disable_preference", 0) forKey:@"check_config_disable_preference"]; @@ -452,8 +452,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); BOOL firstloginview = [self boolForKey:@"enable_first_login_view_preference"]; lp_config_set_int(linphone_core_get_config(lc),"app","enable_first_login_view_preference", firstloginview); - BOOL landscape = [self boolForKey:@"landscape_preference"]; - lp_config_set_int(linphone_core_get_config(lc),"app","landscape_preference", landscape); + NSString *landscape = [self stringForKey:@"rotation_preference"]; + lp_config_set_string(linphone_core_get_config(lc),"app","rotation_preference", [landscape UTF8String]); BOOL debugmode = [self boolForKey:@"debugenable_preference"]; lp_config_set_int(linphone_core_get_config(lc),"app","debugenable_preference", debugmode); diff --git a/Classes/LinphoneUI/UICompositeViewController.m b/Classes/LinphoneUI/UICompositeViewController.m index 8891fad2b..5deef5c71 100644 --- a/Classes/LinphoneUI/UICompositeViewController.m +++ b/Classes/LinphoneUI/UICompositeViewController.m @@ -148,12 +148,13 @@ [contentViewController viewWillAppear:animated]; [tabBarViewController viewWillAppear:animated]; [stateBarViewController viewWillAppear:animated]; - [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) - name:UIDeviceOrientationDidChangeNotification + name:UIDeviceOrientationDidChangeNotification object:nil]; + [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; + //currentOrientation = [UIDevice currentDevice].orientation; } - (void)viewDidAppear:(BOOL)animated { @@ -168,8 +169,8 @@ [contentViewController viewWillDisappear:animated]; [tabBarViewController viewWillDisappear:animated]; [stateBarViewController viewWillDisappear:animated]; - [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; + [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil]; @@ -211,15 +212,19 @@ } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - if(currentViewDescription != nil && [[LinphoneManager instance].settingsStore boolForKey:@"landscape_preference"]) { - if (UIInterfaceOrientationIsPortrait(interfaceOrientation) && [currentViewDescription portraitMode]) { + if(currentViewDescription != nil) { + NSString* rotationPreference = [[LinphoneManager instance].settingsStore objectForKey:@"rotation_preference"]; + if (UIInterfaceOrientationIsPortrait(interfaceOrientation) && [currentViewDescription portraitMode] && + ([rotationPreference isEqualToString:@"auto"] || [rotationPreference isEqualToString:@"portrait"])) { return YES; } - if (UIInterfaceOrientationIsLandscape(interfaceOrientation) && [currentViewDescription landscapeMode]) { + if (UIInterfaceOrientationIsLandscape(interfaceOrientation) && [currentViewDescription landscapeMode] && + ([rotationPreference isEqualToString:@"auto"] || [rotationPreference isEqualToString:@"landscape"])) { return YES; } + return NO; } - return NO; + return YES; } @@ -263,17 +268,63 @@ } - (UIInterfaceOrientation)getCorrectInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - if(currentViewDescription != nil && [[LinphoneManager instance].settingsStore boolForKey:@"landscape_preference"]) { - if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) { - if ([currentViewDescription portraitMode]) { - return interfaceOrientation; + if(currentViewDescription != nil) { + NSString* rotationPreference = [[LinphoneManager instance].settingsStore objectForKey:@"rotation_preference"]; + if([rotationPreference isEqualToString:@"auto"]) { + if(currentOrientation == UIDeviceOrientationUnknown) { + return [UIApplication sharedApplication].statusBarOrientation; + } + if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) { + if ([currentViewDescription portraitMode]) { + return interfaceOrientation; + } else { + return UIInterfaceOrientationLandscapeLeft; + } + } + if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { + if ([currentViewDescription landscapeMode]) { + return interfaceOrientation; + } else { + return UIInterfaceOrientationPortrait; + } + } + } else if([rotationPreference isEqualToString:@"portrait"]) { + if ([currentViewDescription landscapeMode]) { + if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) { + if(currentOrientation == UIDeviceOrientationUnknown) { + return [UIApplication sharedApplication].statusBarOrientation; + } + return interfaceOrientation; + } else { + if(UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation)) { + if(currentOrientation == UIDeviceOrientationUnknown) { + return [UIApplication sharedApplication].statusBarOrientation; + } + return [UIApplication sharedApplication].statusBarOrientation; + } else { + return UIInterfaceOrientationPortrait; + } + } } else { return UIInterfaceOrientationLandscapeLeft; } - } - if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { + } else if([rotationPreference isEqualToString:@"landscape"]) { if ([currentViewDescription landscapeMode]) { - return interfaceOrientation; + if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { + if(currentOrientation == UIDeviceOrientationUnknown) { + return [UIApplication sharedApplication].statusBarOrientation; + } + return interfaceOrientation; + } else { + if(UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) { + if(currentOrientation == UIDeviceOrientationUnknown) { + return [UIApplication sharedApplication].statusBarOrientation; + } + return [UIApplication sharedApplication].statusBarOrientation; + } else { + return UIInterfaceOrientationLandscapeLeft; + } + } } else { return UIInterfaceOrientationPortrait; } diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 61f3a0dcf..e81ec6860 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -85,11 +85,6 @@ static PhoneMainView* phoneMainViewInstance=nil; [super viewDidLoad]; [self.view addSubview: mainViewController.view]; - - if ([[UIDevice currentDevice].systemVersion doubleValue] >= 5.0) { - UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation]; - [self willRotateToInterfaceOrientation:interfaceOrientation duration:0.2f]; - } } - (void)viewWillAppear:(BOOL)animated { @@ -162,11 +157,14 @@ static PhoneMainView* phoneMainViewInstance=nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - return [mainViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation]; + if(mainViewController != nil) { + return [mainViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation]; + } else { + return YES; + } } - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { - [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; [mainViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; } @@ -178,6 +176,7 @@ static PhoneMainView* phoneMainViewInstance=nil; } - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { + NSLog(@"%d", fromInterfaceOrientation); [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; [mainViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; } diff --git a/Classes/PhoneMainView.xib b/Classes/PhoneMainView.xib index 119c7ab72..e569e57d7 100644 --- a/Classes/PhoneMainView.xib +++ b/Classes/PhoneMainView.xib @@ -180,7 +180,7 @@ - 216 + 217 diff --git a/Settings/InAppSettings.bundle/Advanced.plist b/Settings/InAppSettings.bundle/Advanced.plist index 6bec34682..13eecede9 100644 --- a/Settings/InAppSettings.bundle/Advanced.plist +++ b/Settings/InAppSettings.bundle/Advanced.plist @@ -16,13 +16,25 @@ DefaultValue - + auto Key - landscape_preference + rotation_preference Title - Landscape + Rotation + Titles + + Automatic + Portrait + Landscape + Type - PSToggleSwitchSpecifier + PSMultiValueSpecifier + Values + + auto + portrait + landscape + DefaultValue diff --git a/linphone-Info.plist b/linphone-Info.plist index 6fcc7adf1..9015e66a1 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -47,5 +47,19 @@ UIRequiresPersistentWiFi + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationPortrait + From 6eb424a5dfa67e810e0be7aa1c377e2f4e8d370a Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 31 Jul 2012 16:26:51 +0200 Subject: [PATCH 07/17] fix IOS camera localized name issue Conflicts: Classes/LinphoneUI/LinphoneManager.m --- Classes/LinphoneManager.m | 4 ++-- submodules/linphone | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 408fee075..2086a32a3 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -47,8 +47,8 @@ extern void libmsamr_init(); #ifdef HAVE_X264 extern void libmsx264_init(); #endif -#define FRONT_CAM_NAME "AV Capture: Front Camera" -#define BACK_CAM_NAME "AV Capture: Back Camera" +#define FRONT_CAM_NAME "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:1" /*"AV Capture: Front Camera"*/ +#define BACK_CAM_NAME "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:0" /*"AV Capture: Back Camera"*/ #if defined (HAVE_SILK) extern void libmssilk_init(); diff --git a/submodules/linphone b/submodules/linphone index 14fc5446d..9a0097a97 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 14fc5446d03d5cf7a62e8884fa99fd7bbe175ecb +Subproject commit 9a0097a9748862b91448bb71c10c619e122e739a From 511cab00c65b9f9ffd7b328867a9578258279ea8 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Wed, 1 Aug 2012 12:37:38 +0200 Subject: [PATCH 08/17] Fix chat scroll bug Fix background glitches when rotating the device Fix Contacts remove button bug --- Classes/ChatRoomTableViewController.m | 3 +- Classes/ChatRoomViewController.m | 33 +++- Classes/ChatRoomViewController.xib | 1 + Classes/ContactDetailsTableViewController.m | 1 + Classes/ContactDetailsViewController.m | 2 +- Classes/ContactDetailsViewController.xib | 10 +- Classes/ContactsTableViewController.m | 10 +- Classes/HistoryDetailsViewController.xib | 6 +- Classes/InCallViewController.m | 46 +++-- Classes/LinphoneApp.xib | 12 ++ Classes/LinphoneAppDelegate.h | 4 + Classes/LinphoneAppDelegate.m | 5 +- Classes/LinphoneUI/UICallBar.xib | 10 +- Classes/LinphoneUI/UIChatRoomCell.m | 56 +++--- Classes/LinphoneUI/UIChatRoomCell.xib | 24 ++- .../LinphoneUI/UICompositeViewController.m | 81 +++----- .../LinphoneUI/UICompositeViewController.xib | 4 - Classes/LinphoneUI/UILinphone.h | 2 +- Classes/LinphoneUI/UILinphone.m | 2 + Classes/LinphoneUI/UIMainBar.xib | 28 ++- Classes/LinphoneUI/UIMainBar~ipad.xib | 54 ++++- Classes/PhoneMainView.h | 1 + Classes/PhoneMainView.m | 49 ++++- Classes/PhoneMainView.xib | 2 +- .../TPKeyboardAvoidingScrollView.h | 17 -- .../TPKeyboardAvoidingScrollView.m | 186 ------------------ .../TPKeyboardAvoidingTableView.h | 16 -- .../TPKeyboardAvoidingTableView.m | 173 ---------------- linphone.xcodeproj/project.pbxproj | 24 --- 29 files changed, 287 insertions(+), 575 deletions(-) delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h delete mode 100755 Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m diff --git a/Classes/ChatRoomTableViewController.m b/Classes/ChatRoomTableViewController.m index f208fc48e..75fd29cce 100644 --- a/Classes/ChatRoomTableViewController.m +++ b/Classes/ChatRoomTableViewController.m @@ -45,7 +45,8 @@ } } -#pragma mark - + +#pragma mark - - (void)loadData { if(data != nil) { diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 8dd06a482..acd316020 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -35,6 +35,7 @@ @synthesize footerView; @synthesize fieldBackgroundImage; + #pragma mark - Lifecycle Functions - (id)init { @@ -300,19 +301,33 @@ static UICompositeViewDescription *compositeDescription = nil; [UIView setAnimationDuration:duration]; [UIView setAnimationCurve:curve]; [UIView setAnimationBeginsFromCurrentState:TRUE]; + + if(UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) { + int width = endFrame.size.height; + endFrame.size.height = endFrame.size.width; + endFrame.size.width = width; + } // Move view - CGRect frame = [[self view] frame]; - frame.origin.y = [self.view convertPoint:endFrame.origin fromView:nil].y - frame.size.height; - [[self view] setFrame:frame]; + { + CGRect frame = [[self view] frame]; + CGRect rect = [PhoneMainView instance].view.bounds; + CGPoint pos = {frame.size.width, frame.size.height}; + CGPoint gPos = [self.view convertPoint:pos toView:[UIApplication sharedApplication].keyWindow.rootViewController.view]; // Bypass IOS bug on landscape mode + frame.origin.y = (rect.size.height - gPos.y - endFrame.size.height); + if(frame.origin.y > 0) frame.origin.y = 0; + [[self view] setFrame:frame]; + } // Resize table view - CGPoint pos = {0, 0}; - CGPoint gPos = [[self.view superview] convertPoint:pos toView:self.view]; - CGRect tableFrame = [tableController.view frame]; - tableFrame.origin.y = gPos.y; - tableFrame.size.height = [footerView frame].origin.y - tableFrame.origin.y; - [tableController.view setFrame:tableFrame]; + { + CGPoint pos = {0, 0}; + CGPoint gPos = [[self.view superview] convertPoint:pos toView:self.view]; + CGRect tableFrame = [tableController.view frame]; + tableFrame.origin.y = gPos.y; + tableFrame.size.height = [footerView frame].origin.y - tableFrame.origin.y; + [tableController.view setFrame:tableFrame]; + } // Scroll int lastSection = [tableController.tableView numberOfSections] -1; diff --git a/Classes/ChatRoomViewController.xib b/Classes/ChatRoomViewController.xib index a0595e88f..140f53cfe 100644 --- a/Classes/ChatRoomViewController.xib +++ b/Classes/ChatRoomViewController.xib @@ -253,6 +253,7 @@ {{250, 0}, {70, 59}} + _NS:9 NO diff --git a/Classes/ContactDetailsTableViewController.m b/Classes/ContactDetailsTableViewController.m index 44b404088..cc6f57bc8 100644 --- a/Classes/ContactDetailsTableViewController.m +++ b/Classes/ContactDetailsTableViewController.m @@ -534,6 +534,7 @@ } [headerController setEditing:editing animated:animated]; + [footerController setEditing:editing animated:animated]; } - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { diff --git a/Classes/ContactDetailsViewController.m b/Classes/ContactDetailsViewController.m index 6a74878a9..dbf758904 100644 --- a/Classes/ContactDetailsViewController.m +++ b/Classes/ContactDetailsViewController.m @@ -57,6 +57,7 @@ #pragma mark - - (void)resetData { + [self disableEdit:FALSE]; if(contact == NULL) { ABAddressBookRevert(addressBook); return; @@ -190,7 +191,6 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf [self resetData]; self->contact = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(acontact)); [tableController setContact:self->contact]; - [self disableEdit:FALSE]; } diff --git a/Classes/ContactDetailsViewController.xib b/Classes/ContactDetailsViewController.xib index bd95658e7..939b1c99b 100644 --- a/Classes/ContactDetailsViewController.xib +++ b/Classes/ContactDetailsViewController.xib @@ -176,6 +176,7 @@ {{0, 59}, {320, 401}} + _NS:9 10 @@ -449,7 +450,6 @@ AAgACAAIAAEAAQABAAE UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - TPKeyboardAvoidingTableView com.apple.InterfaceBuilder.IBCocoaTouchPlugin ContactDetailsTableViewController com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -530,14 +530,6 @@ AAgACAAIAAEAAQABAAE ./Classes/ContactDetailsViewController.h - - TPKeyboardAvoidingTableView - UITableView - - IBProjectSource - ./Classes/TPKeyboardAvoidingTableView.h - - UIToggleButton UIButton diff --git a/Classes/ContactsTableViewController.m b/Classes/ContactsTableViewController.m index 918170d81..1ea4084ef 100644 --- a/Classes/ContactsTableViewController.m +++ b/Classes/ContactsTableViewController.m @@ -82,12 +82,16 @@ ABMultiValueRef lMap = ABRecordCopyValue((ABRecordRef)lPerson, kABPersonInstantMessageProperty); for(int i = 0; i < ABMultiValueGetCount(lMap); ++i) { CFDictionaryRef lDict = ABMultiValueCopyValueAtIndex(lMap, i); - if(CFDictionaryContainsKey(lDict, @"service")) { - if(CFStringCompare((CFStringRef)@"SIP", CFDictionaryGetValue(lDict, @"service"), kCFCompareCaseInsensitive) == 0) { + if(CFDictionaryContainsKey(lDict, kABPersonInstantMessageServiceKey)) { + CFStringRef serviceKey = CFDictionaryGetValue(lDict, kABPersonInstantMessageServiceKey); + if(CFStringCompare((CFStringRef)@"SIP", serviceKey, kCFCompareCaseInsensitive) == 0) { add = true; } } else { - add = true; + NSString* usernameKey = CFDictionaryGetValue(lDict, kABPersonInstantMessageUsernameKey); + if([usernameKey hasPrefix:@"sip:"]) { + add = true; + } } CFRelease(lDict); } diff --git a/Classes/HistoryDetailsViewController.xib b/Classes/HistoryDetailsViewController.xib index d22be8630..9b7dc34e8 100644 --- a/Classes/HistoryDetailsViewController.xib +++ b/Classes/HistoryDetailsViewController.xib @@ -413,8 +413,8 @@ - 269 - {{33, 273}, {255, 50}} + 293 + {{33, 323}, {255, 50}} _NS:9 @@ -610,10 +610,10 @@ - + diff --git a/Classes/InCallViewController.m b/Classes/InCallViewController.m index 51a9a74ac..509d38038 100644 --- a/Classes/InCallViewController.m +++ b/Classes/InCallViewController.m @@ -302,34 +302,38 @@ static UICompositeViewDescription *compositeDescription = nil; hideControlsTimer = nil; } - // show controls - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; - [[PhoneMainView instance] showTabBar: true]; - [videoCameraSwitch setAlpha:1.0]; - [UIView commitAnimations]; - - // hide controls in 5 sec - hideControlsTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 - target:self - selector:@selector(hideControls:) - userInfo:nil - repeats:NO]; + if([[[PhoneMainView instance] currentView] equal:[InCallViewController compositeViewDescription]] && videoShown) { + // show controls + [UIView beginAnimations:nil context:nil]; + [UIView setAnimationDuration:0.3]; + [[PhoneMainView instance] showTabBar: true]; + [videoCameraSwitch setAlpha:1.0]; + [UIView commitAnimations]; + + // hide controls in 5 sec + hideControlsTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 + target:self + selector:@selector(hideControls:) + userInfo:nil + repeats:NO]; + } } - (void)hideControls:(id)sender { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; - [videoCameraSwitch setAlpha:0.0]; - [UIView commitAnimations]; - - if([[[PhoneMainView instance] currentView] equal:[InCallViewController compositeViewDescription]] && videoShown) - [[PhoneMainView instance] showTabBar: false]; - if (hideControlsTimer) { [hideControlsTimer invalidate]; hideControlsTimer = nil; } + + if([[[PhoneMainView instance] currentView] equal:[InCallViewController compositeViewDescription]] && videoShown) { + [UIView beginAnimations:nil context:nil]; + [UIView setAnimationDuration:0.3]; + [videoCameraSwitch setAlpha:0.0]; + [UIView commitAnimations]; + + + [[PhoneMainView instance] showTabBar: false]; + } } #ifdef TEST_VIDEO_VIEW_CHANGE diff --git a/Classes/LinphoneApp.xib b/Classes/LinphoneApp.xib index b446fd98d..d2f9903f2 100644 --- a/Classes/LinphoneApp.xib +++ b/Classes/LinphoneApp.xib @@ -42,6 +42,7 @@ {320, 480} + 3 MAA @@ -49,9 +50,11 @@ NO NO IBCocoaTouchFramework + YES YES + NO PhoneMainView 1 @@ -132,6 +135,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UILinphoneWindow com.apple.InterfaceBuilder.IBCocoaTouchPlugin LinphoneAppDelegate @@ -234,6 +238,14 @@ ./Classes/UICompositeViewController.h + + UILinphoneWindow + UIWindow + + IBProjectSource + ./Classes/UILinphoneWindow.h + + 0 diff --git a/Classes/LinphoneAppDelegate.h b/Classes/LinphoneAppDelegate.h index 767eb32ab..a17a464fd 100644 --- a/Classes/LinphoneAppDelegate.h +++ b/Classes/LinphoneAppDelegate.h @@ -23,6 +23,10 @@ #import "LinphoneCoreSettingsStore.h" +@interface UILinphoneWindow : UIWindow + +@end + @interface LinphoneAppDelegate : NSObject { UIWindow *window; CTCallCenter* callCenter; diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 6b9c27131..58a6a2356 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -38,6 +38,10 @@ int __aeabi_idiv(int a, int b) { } #endif +@implementation UILinphoneWindow + +@end + @implementation LinphoneAppDelegate @synthesize window; @@ -161,7 +165,6 @@ int __aeabi_idiv(int a, int b) { } - (void)setupUI { - if ([[LinphoneManager instance].settingsStore boolForKey:@"enable_first_login_view_preference"] == true) { // Change to fist login view [[PhoneMainView instance] changeCurrentView: [FirstLoginViewController compositeViewDescription]]; diff --git a/Classes/LinphoneUI/UICallBar.xib b/Classes/LinphoneUI/UICallBar.xib index 9b3817fa3..98b9cd14d 100644 --- a/Classes/LinphoneUI/UICallBar.xib +++ b/Classes/LinphoneUI/UICallBar.xib @@ -497,10 +497,10 @@ 290 - {{0, 100}, {320, 2000}} + {{0, 135}, {320, 2000}} - + _NS:9 1 @@ -714,7 +714,7 @@ {{0, 67}, {105, 68}} - + _NS:9 NO 25 @@ -774,7 +774,7 @@ {{215, 67}, {105, 68}} - + _NS:9 NO 27 @@ -1193,7 +1193,7 @@ 290 - {{0, 50}, {480, 2000}} + {{0, 82}, {480, 2000}} diff --git a/Classes/LinphoneUI/UIChatRoomCell.m b/Classes/LinphoneUI/UIChatRoomCell.m index edb6671ce..44b261a31 100644 --- a/Classes/LinphoneUI/UIChatRoomCell.m +++ b/Classes/LinphoneUI/UIChatRoomCell.m @@ -117,35 +117,6 @@ static UIFont *CELL_FONT = nil; } } -- (void)resizeContent { - if(chat != nil) { - // Resize Content - CGRect contentFrame = [contentView frame]; - contentFrame.size = [UIChatRoomCell viewSize:[chat message] width:[self frame].size.width]; - if([[chat direction] intValue]) { // Inverted - contentFrame.origin.x = 0.0f; - contentFrame.origin.y = 0.0f; - } else { - contentFrame.origin.x = [self frame].size.width - contentFrame.size.width; - contentFrame.origin.y = 0.0f; - } - [contentView setFrame:contentFrame]; - - CGRect messageFrame = [messageView frame]; - messageFrame.origin.y = ([contentView frame].size.height - messageFrame.size.height)/2; - if([[chat direction] intValue]) { // Inverted - [backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size - forNinePatchNamed:@"chat_bubble_incoming"]]; - messageFrame.origin.y += 5; - } else { - [backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size - forNinePatchNamed:@"chat_bubble_outgoing"]]; - messageFrame.origin.y -= 5; - } - [messageView setFrame:messageFrame]; - } -} - + (CGSize)viewSize:(NSString*)message width:(int)width { if(CELL_FONT == nil) { CELL_FONT = [UIFont systemFontOfSize:CELL_FONT_SIZE]; @@ -171,7 +142,32 @@ static UIFont *CELL_FONT = nil; - (void)layoutSubviews { [super layoutSubviews]; - [self resizeContent]; + if(chat != nil) { + // Resize Content + CGRect contentFrame = [contentView frame]; + contentFrame.size = [UIChatRoomCell viewSize:[chat message] width:[self frame].size.width]; + if([[chat direction] intValue]) { // Inverted + contentFrame.origin.x = 0.0f; + contentFrame.origin.y = 0.0f; + } else { + contentFrame.origin.x = [self frame].size.width - contentFrame.size.width; + contentFrame.origin.y = 0.0f; + } + [contentView setFrame:contentFrame]; + + CGRect messageFrame = [messageView frame]; + messageFrame.origin.y = ([contentView frame].size.height - messageFrame.size.height)/2; + if([[chat direction] intValue]) { // Inverted + [backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size + forNinePatchNamed:@"chat_bubble_incoming"]]; + messageFrame.origin.y += 5; + } else { + [backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size + forNinePatchNamed:@"chat_bubble_outgoing"]]; + messageFrame.origin.y -= 5; + } + [messageView setFrame:messageFrame]; + } } diff --git a/Classes/LinphoneUI/UIChatRoomCell.xib b/Classes/LinphoneUI/UIChatRoomCell.xib index 822ed6cc6..b5bdba778 100644 --- a/Classes/LinphoneUI/UIChatRoomCell.xib +++ b/Classes/LinphoneUI/UIChatRoomCell.xib @@ -3,19 +3,19 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 + IBProxyObject IBUIButton IBUIImageView - IBUIView IBUILabel - IBProxyObject + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -35,7 +35,7 @@ - 274 + 301 @@ -181,17 +181,21 @@ IBCocoaTouchFramework - - 292 + + 274 {100, 100} + + _NS:9 IBCocoaTouchFramework - - 292 + + 274 {100, 100} + + _NS:9 IBCocoaTouchFramework @@ -443,6 +447,6 @@ {45, 45} {45, 45} - 1181 + 1498 diff --git a/Classes/LinphoneUI/UICompositeViewController.m b/Classes/LinphoneUI/UICompositeViewController.m index 5deef5c71..4d99f1a6b 100644 --- a/Classes/LinphoneUI/UICompositeViewController.m +++ b/Classes/LinphoneUI/UICompositeViewController.m @@ -19,6 +19,8 @@ #import "UICompositeViewController.h" +#import "PhoneMainView.h" + @implementation UICompositeViewDescription @synthesize name; @@ -90,7 +92,7 @@ #pragma mark - Lifecycle Functions - (void)initUICompositeViewController { - self->viewControllerCache = [[NSMutableDictionary alloc] init]; + self->viewControllerCache = [[NSMutableDictionary alloc] init]; self->currentOrientation = UIDeviceOrientationUnknown; } @@ -148,13 +150,8 @@ [contentViewController viewWillAppear:animated]; [tabBarViewController viewWillAppear:animated]; [stateBarViewController viewWillAppear:animated]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(orientationChanged:) - name:UIDeviceOrientationDidChangeNotification - object:nil]; [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; - //currentOrientation = [UIDevice currentDevice].orientation; + currentOrientation = [[UIDevice currentDevice] orientation]; } - (void)viewDidAppear:(BOOL)animated { @@ -171,9 +168,6 @@ [stateBarViewController viewWillDisappear:animated]; [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; - [[NSNotificationCenter defaultCenter] removeObserver:self - name:UIDeviceOrientationDidChangeNotification - object:nil]; } - (void)viewDidDisappear:(BOOL)animated { @@ -183,24 +177,19 @@ [stateBarViewController viewDidDisappear:animated]; } -- (void)orientationChanged:(NSNotification *)notification { - currentOrientation = [[UIDevice currentDevice] orientation]; -} - - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { - UIDeviceOrientation correctOrientation = [self getCorrectInterfaceOrientation:toInterfaceOrientation]; - [super willRotateToInterfaceOrientation:correctOrientation duration:duration]; - [contentViewController willRotateToInterfaceOrientation:correctOrientation duration:duration]; - [tabBarViewController willRotateToInterfaceOrientation:correctOrientation duration:duration]; - [stateBarViewController willRotateToInterfaceOrientation:correctOrientation duration:duration]; + currentOrientation = [self getCorrectInterfaceOrientation:toInterfaceOrientation]; + [super willRotateToInterfaceOrientation:currentOrientation duration:duration]; + [contentViewController willRotateToInterfaceOrientation:currentOrientation duration:duration]; + [tabBarViewController willRotateToInterfaceOrientation:currentOrientation duration:duration]; + [stateBarViewController willRotateToInterfaceOrientation:currentOrientation duration:duration]; } - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { - UIDeviceOrientation correctOrientation = [self getCorrectInterfaceOrientation:toInterfaceOrientation]; - [super willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration]; - [contentViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration]; - [tabBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration]; - [stateBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration]; + [super willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration]; + [contentViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration]; + [tabBarViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration]; + [stateBarViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration]; [self update:nil tabBar:nil fullscreen:nil]; } @@ -267,39 +256,36 @@ return controller; } -- (UIInterfaceOrientation)getCorrectInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { +- (UIInterfaceOrientation)getCorrectInterfaceOrientation:(UIDeviceOrientation)deviceOrientation { if(currentViewDescription != nil) { NSString* rotationPreference = [[LinphoneManager instance].settingsStore objectForKey:@"rotation_preference"]; if([rotationPreference isEqualToString:@"auto"]) { - if(currentOrientation == UIDeviceOrientationUnknown) { + if(deviceOrientation == UIDeviceOrientationUnknown) { return [UIApplication sharedApplication].statusBarOrientation; } - if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) { + if (UIDeviceOrientationIsPortrait(deviceOrientation)) { if ([currentViewDescription portraitMode]) { - return interfaceOrientation; + return deviceOrientation; } else { return UIInterfaceOrientationLandscapeLeft; } } - if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { + if (UIDeviceOrientationIsLandscape(deviceOrientation)) { if ([currentViewDescription landscapeMode]) { - return interfaceOrientation; + return deviceOrientation; } else { return UIInterfaceOrientationPortrait; } } } else if([rotationPreference isEqualToString:@"portrait"]) { if ([currentViewDescription landscapeMode]) { - if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) { - if(currentOrientation == UIDeviceOrientationUnknown) { + if (UIDeviceOrientationIsPortrait(deviceOrientation)) { + if(deviceOrientation == UIDeviceOrientationUnknown) { return [UIApplication sharedApplication].statusBarOrientation; } - return interfaceOrientation; + return deviceOrientation; } else { if(UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation)) { - if(currentOrientation == UIDeviceOrientationUnknown) { - return [UIApplication sharedApplication].statusBarOrientation; - } return [UIApplication sharedApplication].statusBarOrientation; } else { return UIInterfaceOrientationPortrait; @@ -310,16 +296,13 @@ } } else if([rotationPreference isEqualToString:@"landscape"]) { if ([currentViewDescription landscapeMode]) { - if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { - if(currentOrientation == UIDeviceOrientationUnknown) { + if (UIDeviceOrientationIsLandscape(deviceOrientation)) { + if(deviceOrientation == UIDeviceOrientationUnknown) { return [UIApplication sharedApplication].statusBarOrientation; } - return interfaceOrientation; + return deviceOrientation; } else { if(UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) { - if(currentOrientation == UIDeviceOrientationUnknown) { - return [UIApplication sharedApplication].statusBarOrientation; - } return [UIApplication sharedApplication].statusBarOrientation; } else { return UIInterfaceOrientationLandscapeLeft; @@ -393,17 +376,11 @@ tabBarViewController = [self getCachedController:description.tabBar]; // Update rotation - UIDeviceOrientation correctOrientation = [self getCorrectInterfaceOrientation:currentOrientation]; - if([UIApplication sharedApplication].statusBarOrientation != correctOrientation) { - [[NSNotificationCenter defaultCenter] removeObserver:self - name:UIDeviceOrientationDidChangeNotification - object:nil]; - [[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)correctOrientation]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(orientationChanged:) - name:UIDeviceOrientationDidChangeNotification - object:nil]; + UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]]; + if(currentOrientation != correctOrientation) { + [PhoneMainView forceOrientation:correctOrientation]; } + currentOrientation = correctOrientation; [self updateInterfaceOrientation:correctOrientation]; } else { oldViewDescription = (currentViewDescription != nil)? [currentViewDescription copy]: nil; diff --git a/Classes/LinphoneUI/UICompositeViewController.xib b/Classes/LinphoneUI/UICompositeViewController.xib index 2c4175b31..c400fdb98 100644 --- a/Classes/LinphoneUI/UICompositeViewController.xib +++ b/Classes/LinphoneUI/UICompositeViewController.xib @@ -60,7 +60,6 @@ _NS:9 NO - YES 2 IBCocoaTouchFramework @@ -73,7 +72,6 @@ _NS:9 NO - YES 3 IBCocoaTouchFramework @@ -112,7 +110,6 @@ _NS:9 NO - YES 2 IBCocoaTouchFramework @@ -125,7 +122,6 @@ _NS:9 NO - YES 3 IBCocoaTouchFramework diff --git a/Classes/LinphoneUI/UILinphone.h b/Classes/LinphoneUI/UILinphone.h index 7ec0b4bcd..01a93958b 100644 --- a/Classes/LinphoneUI/UILinphone.h +++ b/Classes/LinphoneUI/UILinphone.h @@ -34,4 +34,4 @@ @end -void removeTableBackground(UIView* view); \ No newline at end of file +void removeTableBackground(UIView* view); diff --git a/Classes/LinphoneUI/UILinphone.m b/Classes/LinphoneUI/UILinphone.m index 96347a6ab..b1788b19e 100644 --- a/Classes/LinphoneUI/UILinphone.m +++ b/Classes/LinphoneUI/UILinphone.m @@ -21,6 +21,8 @@ #import "ColorSpaceUtilities.h" #import "Utils.h" +#import + @implementation UIColor (LightAndDark) - (UIColor *)lumColor:(float)mult { diff --git a/Classes/LinphoneUI/UIMainBar.xib b/Classes/LinphoneUI/UIMainBar.xib index bd0bacade..d1f14bc5f 100644 --- a/Classes/LinphoneUI/UIMainBar.xib +++ b/Classes/LinphoneUI/UIMainBar.xib @@ -37,6 +37,21 @@ 292 + + + 290 + {{0, 77}, {320, 2000}} + + + + _NS:9 + + 1 + MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA + + 28 + IBCocoaTouchFramework + -2147483356 @@ -313,6 +328,7 @@ {{2, 2}, {17, 17}} + _NS:9 NO YES @@ -343,7 +359,7 @@ {320, 77} - + _NS:9 1 @@ -520,6 +536,7 @@ + @@ -604,6 +621,12 @@ chatNotificationImage + + 45 + + + background + @@ -620,6 +643,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -635,7 +659,7 @@ - 44 + 45 diff --git a/Classes/LinphoneUI/UIMainBar~ipad.xib b/Classes/LinphoneUI/UIMainBar~ipad.xib index 9f2a932d2..559a0e4b0 100644 --- a/Classes/LinphoneUI/UIMainBar~ipad.xib +++ b/Classes/LinphoneUI/UIMainBar~ipad.xib @@ -37,6 +37,21 @@ 292 + + + 290 + {{0, 77}, {768, 2000}} + + + + _NS:9 + + 1 + MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA + + 28 + IBIPadFramework + -2147483356 @@ -171,7 +186,7 @@ {{175, 0}, {175, 77}} - + _NS:9 NO 3 @@ -364,6 +379,21 @@ 292 + + + 290 + {{0, 86}, {1024, 2000}} + + + + _NS:9 + + 1 + MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA + + 28 + IBIPadFramework + -2147483356 @@ -472,7 +502,7 @@ {{240, 0}, {240, 86}} - + _NS:9 NO 3 @@ -828,6 +858,7 @@ + Portrait View @@ -925,6 +956,7 @@ + Landscape View @@ -1010,6 +1042,18 @@ dialer + + 61 + + + background + + + 62 + + + background + @@ -1049,6 +1093,8 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1060,7 +1106,7 @@ - 60 + 62 @@ -1088,7 +1134,7 @@ UIMainBar - UIViewController + TPMultiLayoutViewController id id diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h index 36ffef4d5..ef034965a 100644 --- a/Classes/PhoneMainView.h +++ b/Classes/PhoneMainView.h @@ -59,6 +59,7 @@ - (UICompositeViewDescription *)firstView; - (void)showTabBar:(BOOL)show; - (void)fullScreen:(BOOL)enabled; ++ (void)forceOrientation:(UIInterfaceOrientation)orientation; + (PhoneMainView*) instance; diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index e81ec6860..d5ae047c5 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -20,6 +20,7 @@ #import #import +#import "LinphoneAppDelegate.h" #import "PhoneMainView.h" #import "Utils.h" @@ -30,6 +31,10 @@ static PhoneMainView* phoneMainViewInstance=nil; @synthesize mainViewController; @synthesize currentView; +// TO READ +// If a Controller set wantFullScreenLayout then DON'T set the autoresize! +// So DON'T set autoresize for PhoneMainView + #pragma mark - Lifecycle Functions - (void)initPhoneMainView { @@ -164,19 +169,59 @@ static PhoneMainView* phoneMainViewInstance=nil; } } +/* + Will simulate a device rotation + */ ++ (void)forceOrientation:(UIInterfaceOrientation)orientation { + for(UIWindow *window in [[UIApplication sharedApplication] windows]) { + UIView *view = window; + UIViewController *controller = nil; + CGRect frame = [view frame]; + if([window isKindOfClass:[UILinphoneWindow class]]) { + controller = window.rootViewController; + view = controller.view; + } + UIInterfaceOrientation oldOrientation = controller.interfaceOrientation; + [controller willRotateToInterfaceOrientation:orientation duration:0.3]; + [UIView beginAnimations:nil context:nil]; + [UIView setAnimationDuration:0.3]; + switch (orientation) { + case UIInterfaceOrientationPortrait: + [view setTransform: CGAffineTransformMakeRotation(0)]; + break; + case UIInterfaceOrientationPortraitUpsideDown: + [view setTransform: CGAffineTransformMakeRotation(M_PI)]; + break; + case UIInterfaceOrientationLandscapeLeft: + [view setTransform: CGAffineTransformMakeRotation(-M_PI / 2)]; + break; + case UIInterfaceOrientationLandscapeRight: + [view setTransform: CGAffineTransformMakeRotation(M_PI / 2)]; + break; + default: + break; + } + if([window isKindOfClass:[UILinphoneWindow class]]) { + [view setFrame:frame]; + } + [controller willAnimateRotationToInterfaceOrientation:orientation duration:0.3]; + [UIView commitAnimations]; + [controller didRotateFromInterfaceOrientation:oldOrientation]; + } + [[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:TRUE]; +} + - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; [mainViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; } - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { - [self.view setFrame:[[UIScreen mainScreen] bounds]]; // Force resize to screen size [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; [mainViewController willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; } - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - NSLog(@"%d", fromInterfaceOrientation); [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; [mainViewController didRotateFromInterfaceOrientation:fromInterfaceOrientation]; } diff --git a/Classes/PhoneMainView.xib b/Classes/PhoneMainView.xib index e569e57d7..fb81bca47 100644 --- a/Classes/PhoneMainView.xib +++ b/Classes/PhoneMainView.xib @@ -37,7 +37,7 @@ - 274 + 301 YES diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h deleted file mode 100755 index 262c841c6..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// TPKeyboardAvoidingScrollView.h -// -// Created by Michael Tyson on 11/04/2011. -// Copyright 2011 A Tasty Pixel. All rights reserved. -// - -@interface TPKeyboardAvoidingScrollView : UIScrollView { - UIEdgeInsets _priorInset; - BOOL _priorInsetSaved; - BOOL _keyboardVisible; - CGRect _keyboardRect; - CGSize _originalContentSize; -} - -- (void)adjustOffsetToIdealIfNeeded; -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m deleted file mode 100755 index ee0372065..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m +++ /dev/null @@ -1,186 +0,0 @@ -// -// TPKeyboardAvoidingScrollView.m -// -// Created by Michael Tyson on 11/04/2011. -// Copyright 2011 A Tasty Pixel. All rights reserved. -// - -#import "TPKeyboardAvoidingScrollView.h" - -#define _UIKeyboardFrameEndUserInfoKey (&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndUserInfoKey : @"UIKeyboardBoundsUserInfoKey") - -@interface TPKeyboardAvoidingScrollView () -- (UIView*)findFirstResponderBeneathView:(UIView*)view; -- (UIEdgeInsets)contentInsetForKeyboard; -- (CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space; -- (CGRect)keyboardRect; -@end - -@implementation TPKeyboardAvoidingScrollView - -- (void)setup { - _priorInsetSaved = NO; - if ( CGSizeEqualToSize(self.contentSize, CGSizeZero) ) { - self.contentSize = self.bounds.size; - } - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; -} - --(id)initWithFrame:(CGRect)frame { - if ( !(self = [super initWithFrame:frame]) ) return nil; - [self setup]; - return self; -} - --(void)awakeFromNib { - [self setup]; -} - --(void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; -#if !__has_feature(objc_arc) - [super dealloc]; -#endif -} - --(void)setFrame:(CGRect)frame { - [super setFrame:frame]; - - CGSize contentSize = _originalContentSize; - contentSize.width = MAX(contentSize.width, self.frame.size.width); - contentSize.height = MAX(contentSize.height, self.frame.size.height); - [super setContentSize:contentSize]; - - if ( _keyboardVisible ) { - self.contentInset = [self contentInsetForKeyboard]; - } -} - --(void)setContentSize:(CGSize)contentSize { - _originalContentSize = contentSize; - - contentSize.width = MAX(contentSize.width, self.frame.size.width); - contentSize.height = MAX(contentSize.height, self.frame.size.height); - [super setContentSize:contentSize]; - - if ( _keyboardVisible ) { - self.contentInset = [self contentInsetForKeyboard]; - } -} - -- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { - [[self findFirstResponderBeneathView:self] resignFirstResponder]; - [super touchesEnded:touches withEvent:event]; -} - -- (void)keyboardWillShow:(NSNotification*)notification { - _keyboardRect = [[[notification userInfo] objectForKey:_UIKeyboardFrameEndUserInfoKey] CGRectValue]; - _keyboardVisible = YES; - - UIView *firstResponder = [self findFirstResponderBeneathView:self]; - if ( !firstResponder ) { - // No child view is the first responder - nothing to do here - return; - } - - if (!_priorInsetSaved) { - _priorInset = self.contentInset; - _priorInsetSaved = YES; - } - - // Shrink view's inset by the keyboard's height, and scroll to show the text field/view being edited - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]]; - [UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]]; - - self.contentInset = [self contentInsetForKeyboard]; - [self setContentOffset:CGPointMake(self.contentOffset.x, - [self idealOffsetForView:firstResponder withSpace:[self keyboardRect].origin.y - self.bounds.origin.y]) - animated:YES]; - [self setScrollIndicatorInsets:self.contentInset]; - - [UIView commitAnimations]; -} - -- (void)keyboardWillHide:(NSNotification*)notification { - _keyboardRect = CGRectZero; - _keyboardVisible = NO; - - // Restore dimensions to prior size - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]]; - [UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]]; - self.contentInset = _priorInset; - [self setScrollIndicatorInsets:self.contentInset]; - _priorInsetSaved = NO; - [UIView commitAnimations]; -} - -- (UIView*)findFirstResponderBeneathView:(UIView*)view { - // Search recursively for first responder - for ( UIView *childView in view.subviews ) { - if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] ) return childView; - UIView *result = [self findFirstResponderBeneathView:childView]; - if ( result ) return result; - } - return nil; -} - -- (UIEdgeInsets)contentInsetForKeyboard { - UIEdgeInsets newInset = self.contentInset; - CGRect keyboardRect = [self keyboardRect]; - newInset.bottom = keyboardRect.size.height - ((keyboardRect.origin.y+keyboardRect.size.height) - (self.bounds.origin.y+self.bounds.size.height)); - return newInset; -} - --(CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space { - - // Convert the rect to get the view's distance from the top of the scrollView. - CGRect rect = [view convertRect:view.bounds toView:self]; - - // Set starting offset to that point - CGFloat offset = rect.origin.y; - - - if ( self.contentSize.height - offset < space ) { - // Scroll to the bottom - offset = self.contentSize.height - space; - } else { - if ( view.bounds.size.height < space ) { - // Center vertically if there's room - offset -= floor((space-view.bounds.size.height)/2.0); - } - if ( offset + space > self.contentSize.height ) { - // Clamp to content size - offset = self.contentSize.height - space; - } - } - - if (offset < 0) offset = 0; - - return offset; -} - --(void)adjustOffsetToIdealIfNeeded { - - // Only do this if the keyboard is already visible - if ( !_keyboardVisible ) return; - - CGFloat visibleSpace = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom; - - CGPoint idealOffset = CGPointMake(0, [self idealOffsetForView:[self findFirstResponderBeneathView:self] withSpace:visibleSpace]); - - [self setContentOffset:idealOffset animated:YES]; -} - -- (CGRect)keyboardRect { - CGRect keyboardRect = [self convertRect:_keyboardRect fromView:nil]; - if ( keyboardRect.origin.y == 0 ) { - CGRect screenBounds = [self convertRect:[UIScreen mainScreen].bounds fromView:nil]; - keyboardRect.origin = CGPointMake(0, screenBounds.size.height - keyboardRect.size.height); - } - return keyboardRect; -} - -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h deleted file mode 100755 index 7485c6005..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// TPKeyboardAvoidingTableView.h -// -// Created by Michael Tyson on 11/04/2011. -// Copyright 2011 A Tasty Pixel. All rights reserved. -// - -@interface TPKeyboardAvoidingTableView : UITableView { - UIEdgeInsets _priorInset; - BOOL _priorInsetSaved; - BOOL _keyboardVisible; - CGRect _keyboardRect; -} - -- (void)adjustOffsetToIdealIfNeeded; -@end diff --git a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m b/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m deleted file mode 100755 index 9eea88c74..000000000 --- a/Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m +++ /dev/null @@ -1,173 +0,0 @@ -// -// TPKeyboardAvoidingTableView.m -// -// Created by Michael Tyson on 11/04/2011. -// Copyright 2011 A Tasty Pixel. All rights reserved. -// - -#import "TPKeyboardAvoidingTableView.h" - -#define _UIKeyboardFrameEndUserInfoKey (&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndUserInfoKey : @"UIKeyboardBoundsUserInfoKey") - -@interface TPKeyboardAvoidingTableView () -- (UIView*)findFirstResponderBeneathView:(UIView*)view; -- (UIEdgeInsets)contentInsetForKeyboard; -- (CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space; -- (CGRect)keyboardRect; -@end - -@implementation TPKeyboardAvoidingTableView - -- (void)setup { - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; -} - --(id)initWithFrame:(CGRect)frame { - if ( !(self = [super initWithFrame:frame]) ) return nil; - [self setup]; - return self; -} - --(id)initWithCoder:(NSCoder *)aDecoder { - if ( !(self = [super initWithCoder:aDecoder]) ) return nil; - [self setup]; - return self; -} - --(void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; -#if !__has_feature(objc_arc) - [super dealloc]; -#endif -} - --(void)setFrame:(CGRect)frame { - [super setFrame:frame]; - if ( _keyboardVisible ) { - self.contentInset = [self contentInsetForKeyboard]; - } -} - --(void)setContentSize:(CGSize)contentSize { - [super setContentSize:contentSize]; - if ( _keyboardVisible ) { - self.contentInset = [self contentInsetForKeyboard]; - } -} - -- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { - [[self findFirstResponderBeneathView:self] resignFirstResponder]; - [super touchesEnded:touches withEvent:event]; -} - -- (void)keyboardWillShow:(NSNotification*)notification { - _keyboardRect = [[[notification userInfo] objectForKey:_UIKeyboardFrameEndUserInfoKey] CGRectValue]; - _keyboardVisible = YES; - - UIView *firstResponder = [self findFirstResponderBeneathView:self]; - if ( !firstResponder ) { - // No child view is the first responder - nothing to do here - return; - } - - if (!_priorInsetSaved) { - _priorInset = self.contentInset; - _priorInsetSaved = YES; - } - - // Shrink view's inset by the keyboard's height, and scroll to show the text field/view being edited - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]]; - [UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]]; - - self.contentInset = [self contentInsetForKeyboard]; - [self setContentOffset:CGPointMake(self.contentOffset.x, - [self idealOffsetForView:firstResponder withSpace:[self keyboardRect].origin.y - self.bounds.origin.y]) - animated:YES]; - [self setScrollIndicatorInsets:self.contentInset]; - - [UIView commitAnimations]; -} - -- (void)keyboardWillHide:(NSNotification*)notification { - _keyboardRect = CGRectZero; - _keyboardVisible = NO; - - // Restore dimensions to prior size - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]]; - [UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]]; - self.contentInset = _priorInset; - [self setScrollIndicatorInsets:self.contentInset]; - _priorInsetSaved = NO; - [UIView commitAnimations]; -} - -- (UIView*)findFirstResponderBeneathView:(UIView*)view { - // Search recursively for first responder - for ( UIView *childView in view.subviews ) { - if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] ) return childView; - UIView *result = [self findFirstResponderBeneathView:childView]; - if ( result ) return result; - } - return nil; -} - -- (UIEdgeInsets)contentInsetForKeyboard { - UIEdgeInsets newInset = self.contentInset; - CGRect keyboardRect = [self keyboardRect]; - newInset.bottom = keyboardRect.size.height - ((keyboardRect.origin.y+keyboardRect.size.height) - (self.bounds.origin.y+self.bounds.size.height)); - return newInset; -} - --(CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space { - - // Convert the rect to get the view's distance from the top of the scrollView. - CGRect rect = [view convertRect:view.bounds toView:self]; - - // Set starting offset to that point - CGFloat offset = rect.origin.y; - - - if ( self.contentSize.height - offset < space ) { - // Scroll to the bottom - offset = self.contentSize.height - space; - } else { - if ( view.bounds.size.height < space ) { - // Center vertically if there's room - offset -= floor((space-view.bounds.size.height)/2.0); - } - if ( offset + space > self.contentSize.height ) { - // Clamp to content size - offset = self.contentSize.height - space; - } - } - - if (offset < 0) offset = 0; - - return offset; -} - --(void)adjustOffsetToIdealIfNeeded { - - // Only do this if the keyboard is already visible - if ( !_keyboardVisible ) return; - - CGFloat visibleSpace = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom; - - CGPoint idealOffset = CGPointMake(0, [self idealOffsetForView:[self findFirstResponderBeneathView:self] withSpace:visibleSpace]); - - [self setContentOffset:idealOffset animated:YES]; -} - -- (CGRect)keyboardRect { - CGRect keyboardRect = [self convertRect:_keyboardRect fromView:nil]; - if ( keyboardRect.origin.y == 0 ) { - CGRect screenBounds = [self convertRect:[UIScreen mainScreen].bounds fromView:nil]; - keyboardRect.origin = CGPointMake(0, screenBounds.size.height - keyboardRect.size.height); - } - return keyboardRect; -} - -@end diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 7d3f16feb..ba7ad0ed8 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -1116,10 +1116,6 @@ D3F83F8F15822ABE00336684 /* PhoneMainView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83F8D15822ABD00336684 /* PhoneMainView.m */; }; D3F83F9215824D3600336684 /* LinphoneApp.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F9115824D3500336684 /* LinphoneApp.xib */; }; D3F9A9DB15AEEB940045320F /* history_notification.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F9A9DA15AEEB940045320F /* history_notification.png */; }; - D3F9A9E215AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */; }; - D3F9A9E315AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */; }; - D3F9A9E415AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */; }; - D3F9A9E515AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */; }; D3F9A9EE15AF277E0045320F /* UACellBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9ED15AF277D0045320F /* UACellBackgroundView.m */; }; D3F9A9EF15AF277E0045320F /* UACellBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9ED15AF277D0045320F /* UACellBackgroundView.m */; }; F476004B147AAF2800FFF19B /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DB911475562600DEE054 /* liblinphone.a */; }; @@ -2003,10 +1999,6 @@ D3F83F8D15822ABD00336684 /* PhoneMainView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneMainView.m; sourceTree = ""; }; D3F83F9115824D3500336684 /* LinphoneApp.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LinphoneApp.xib; sourceTree = ""; }; D3F9A9DA15AEEB940045320F /* history_notification.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = history_notification.png; path = Resources/history_notification.png; sourceTree = ""; }; - D3F9A9DE15AF100D0045320F /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TPKeyboardAvoidingScrollView.h; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h; sourceTree = ""; }; - D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TPKeyboardAvoidingScrollView.m; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m; sourceTree = ""; }; - D3F9A9E015AF100D0045320F /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TPKeyboardAvoidingTableView.h; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h; sourceTree = ""; }; - D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TPKeyboardAvoidingTableView.m; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m; sourceTree = ""; }; D3F9A9EC15AF277D0045320F /* UACellBackgroundView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UACellBackgroundView.h; path = Utils/UACellBackgroundView/UACellBackgroundView.h; sourceTree = ""; }; D3F9A9ED15AF277D0045320F /* UACellBackgroundView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UACellBackgroundView.m; path = Utils/UACellBackgroundView/UACellBackgroundView.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -3050,7 +3042,6 @@ D3B90E1115C2CB5700F64F8C /* NinePatch.xcodeproj */, D326483615887D5200930C67 /* OrderedDictionary.h */, D326483715887D5200930C67 /* OrderedDictionary.m */, - D3F9A9DD15AF0FFE0045320F /* TPKeyboardAvoiding */, D3F7997E15BD31EC0018C273 /* TPMultiLayoutViewController */, D3F9A9EB15AF27620045320F /* UACellBackgroundView */, C9B3A6FD15B485DB006F52EE /* Utils.h */, @@ -3181,17 +3172,6 @@ name = TPMultiLayoutViewController; sourceTree = ""; }; - D3F9A9DD15AF0FFE0045320F /* TPKeyboardAvoiding */ = { - isa = PBXGroup; - children = ( - D3F9A9DE15AF100D0045320F /* TPKeyboardAvoidingScrollView.h */, - D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */, - D3F9A9E015AF100D0045320F /* TPKeyboardAvoidingTableView.h */, - D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */, - ); - name = TPKeyboardAvoiding; - sourceTree = ""; - }; D3F9A9EB15AF27620045320F /* UACellBackgroundView */ = { isa = PBXGroup; children = ( @@ -4230,8 +4210,6 @@ D378906515AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */, D3E8F68615ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */, C90FAA7915AF54E6002091CB /* HistoryDetailsViewController.m in Sources */, - D3F9A9E215AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */, - D3F9A9E415AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */, D3F9A9EE15AF277E0045320F /* UACellBackgroundView.m in Sources */, D35860D615B549B500513429 /* Utils.m in Sources */, D3F7998115BD32370018C273 /* TPMultiLayoutViewController.m in Sources */, @@ -4323,8 +4301,6 @@ D378906615AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */, D3E8F68715ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */, C90FAA7A15AF54E6002091CB /* HistoryDetailsViewController.m in Sources */, - D3F9A9E315AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */, - D3F9A9E515AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */, D3F9A9EF15AF277E0045320F /* UACellBackgroundView.m in Sources */, D35860D715B549B500513429 /* Utils.m in Sources */, D3F7998215BD32370018C273 /* TPMultiLayoutViewController.m in Sources */, From 471e02c342339755be71600e4c5a9e45c9921bc3 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 1 Aug 2012 17:48:49 +0200 Subject: [PATCH 09/17] update README for mountain lion --- README | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README b/README index 096cfdadb..7bb193edd 100644 --- a/README +++ b/README @@ -8,9 +8,11 @@ BUILD PREQUISITES Linphone for iPhone depends on liblinphone sdk. This SDK is generated from makefiles and shell scripts. You must first install both xcode with iPhone OS SDK and MacPorts (www.macports.org) for these scripts to work. +Make sure that /opt/local/bin (macport tools) arrives first in your PATH env variable, so that the macport tools are taken in place of the versions brought by Apple in /usr/bin. Otherwise the build will fail with obscure errors. + Once xccode and macports are installed, open a terminal and install the required build-time tools with: - $ sudo port install nawk coreutils automake autoconf libtool intltool wget pkgconfig cmake yasm doxygen + $ sudo port install coreutils automake autoconf libtool intltool wget pkgconfig cmake gmake yasm grep doxygen Install gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin : From 1d48b9002d5e6690deea0b4185053ff214a32bd1 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Thu, 2 Aug 2012 09:24:09 +0200 Subject: [PATCH 10/17] Fix preview bugs Improve InCallView --- Classes/InCallViewController.h | 4 ++ Classes/InCallViewController.m | 44 +++++++++++++++++-- Classes/InCallViewController.xib | 21 ++++++--- .../LinphoneUI/UICompositeViewController.h | 1 + .../LinphoneUI/UICompositeViewController.m | 30 +++++++++---- Classes/PhoneMainView.h | 1 + Classes/PhoneMainView.m | 4 ++ submodules/linphone | 2 +- 8 files changed, 89 insertions(+), 18 deletions(-) diff --git a/Classes/InCallViewController.h b/Classes/InCallViewController.h index b11f30ae3..0808ebeac 100644 --- a/Classes/InCallViewController.h +++ b/Classes/InCallViewController.h @@ -28,6 +28,10 @@ @class VideoViewController; +@interface UIPreviewView : UIView + +@end + @interface InCallViewController : UIViewController { InCallTableViewController* callTableController; diff --git a/Classes/InCallViewController.m b/Classes/InCallViewController.m index 509d38038..15926c9ff 100644 --- a/Classes/InCallViewController.m +++ b/Classes/InCallViewController.m @@ -35,6 +35,17 @@ const NSInteger SECURE_BUTTON_TAG=5; +@implementation UIPreviewView + +- (void)layoutSubviews { + [super layoutSubviews]; + [self.layer setFrame:self.frame]; + for(CALayer *layer in self.layer.sublayers) { + [layer setFrame:self.bounds]; + } +} + +@end @implementation InCallViewController @@ -102,6 +113,22 @@ static UICompositeViewDescription *compositeDescription = nil; #pragma mark - ViewController Functions +// Resize preview view keep same ratio +- (void)viewWillLayoutSubviews { + [super viewWillLayoutSubviews]; + CGRect frame = [videoPreview frame]; + frame.origin.x += frame.size.width; + frame.origin.y += frame.size.height; + + CGRect selfFrame = [self.view frame]; + int size = 100.0f/460.0f * MAX(selfFrame.size.width, selfFrame.size.height); + frame.origin.x -= size; + frame.origin.y -= size; + frame.size.height = size; + frame.size.width = size; + [videoPreview setFrame:frame]; +} + - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; @@ -204,14 +231,20 @@ static UICompositeViewDescription *compositeDescription = nil; UIDeviceOrientation orientation = [UIDevice currentDevice].orientation; int newRotation = 0; switch (orientation) { - case UIInterfaceOrientationLandscapeRight: - newRotation = 270; + case UIDeviceOrientationPortrait: + newRotation = 0; break; - case UIInterfaceOrientationLandscapeLeft: + case UIDeviceOrientationPortraitUpsideDown: + newRotation = 180; + break; + case UIDeviceOrientationLandscapeRight: newRotation = 90; break; + case UIDeviceOrientationLandscapeLeft: + newRotation = 270; + break; default: - newRotation = 0; + newRotation = oldLinphoneOrientation; } if (oldLinphoneOrientation != newRotation) { linphone_core_set_device_rotation([LinphoneManager getLc], newRotation); @@ -307,6 +340,7 @@ static UICompositeViewDescription *compositeDescription = nil; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.3]; [[PhoneMainView instance] showTabBar: true]; + [[PhoneMainView instance] showStateBar: true]; [videoCameraSwitch setAlpha:1.0]; [UIView commitAnimations]; @@ -333,6 +367,7 @@ static UICompositeViewDescription *compositeDescription = nil; [[PhoneMainView instance] showTabBar: false]; + [[PhoneMainView instance] showStateBar: false]; } } @@ -383,6 +418,7 @@ static UICompositeViewDescription *compositeDescription = nil; [[PhoneMainView instance] fullScreen: true]; [[PhoneMainView instance] showTabBar: false]; + [[PhoneMainView instance] showStateBar: false]; #ifdef TEST_VIDEO_VIEW_CHANGE [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(_debugChangeVideoView) userInfo:nil repeats:YES]; diff --git a/Classes/InCallViewController.xib b/Classes/InCallViewController.xib index e25d6a35b..8d6106c7d 100644 --- a/Classes/InCallViewController.xib +++ b/Classes/InCallViewController.xib @@ -67,7 +67,7 @@ {320, 460} - + _NS:196 3 @@ -77,12 +77,13 @@ - 283 - {{214, 354}, {106, 106}} + 265 + {{220, 360}, {100, 100}} - + + 1 IBCocoaTouchFramework @@ -91,7 +92,7 @@ {{141, 212}, {37, 37}} - + _NS:1030 NO IBCocoaTouchFramework @@ -399,6 +400,7 @@ -2.IBPluginDependency 106.IBPluginDependency 126.IBPluginDependency + 127.CustomClassName 127.IBPluginDependency 132.IBPluginDependency 144.IBPluginDependency @@ -418,6 +420,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIPreviewView com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -556,6 +559,14 @@ ./Classes/UICamSwitch.h + + UIPreviewView + UIView + + IBProjectSource + ./Classes/UIPreviewView.h + + 0 diff --git a/Classes/LinphoneUI/UICompositeViewController.h b/Classes/LinphoneUI/UICompositeViewController.h index d19634296..f4ad7f907 100644 --- a/Classes/LinphoneUI/UICompositeViewController.h +++ b/Classes/LinphoneUI/UICompositeViewController.h @@ -87,6 +87,7 @@ - (void)changeView:(UICompositeViewDescription *)description; - (void)setFullScreen:(BOOL) enabled; +- (void)setStateBarHidden:(BOOL) hidden; - (void)setToolBarHidden:(BOOL) hidden; - (UIViewController *)getCurrentViewController; diff --git a/Classes/LinphoneUI/UICompositeViewController.m b/Classes/LinphoneUI/UICompositeViewController.m index 4d99f1a6b..598a50483 100644 --- a/Classes/LinphoneUI/UICompositeViewController.m +++ b/Classes/LinphoneUI/UICompositeViewController.m @@ -190,7 +190,7 @@ [contentViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration]; [tabBarViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration]; [stateBarViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration]; - [self update:nil tabBar:nil fullscreen:nil]; + [self update:nil tabBar:nil stateBar:nil fullscreen:nil]; } - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { @@ -342,7 +342,7 @@ #define IPHONE_STATUSBAR_HEIGHT 20 -- (void)update: (UICompositeViewDescription*) description tabBar:(NSNumber*)tabBar fullscreen:(NSNumber*)fullscreen { +- (void)update: (UICompositeViewDescription*) description tabBar:(NSNumber*)tabBar stateBar:(NSNumber*)stateBar fullscreen:(NSNumber*)fullscreen { // Copy view description UICompositeViewDescription *oldViewDescription = nil; @@ -398,6 +398,14 @@ } } + if(stateBar != nil) { + if(currentViewDescription.stateBarEnabled != [stateBar boolValue]) { + currentViewDescription.stateBarEnabled = [stateBar boolValue]; + } else { + stateBar = nil; // No change = No Update + } + } + if(fullscreen != nil) { if(currentViewDescription.fullscreen != [fullscreen boolValue]) { currentViewDescription.fullscreen = [fullscreen boolValue]; @@ -410,7 +418,7 @@ } // Start animation - if(tabBar != nil || fullscreen != nil) { + if(tabBar != nil || stateBar != nil || fullscreen != nil) { [UIView beginAnimations:@"resize" context:nil]; [UIView setAnimationDuration:0.35]; [UIView setAnimationBeginsFromCurrentState:TRUE]; @@ -454,8 +462,10 @@ tabFrame.origin.y = viewFrame.size.height; } - if(currentViewDescription.fullscreen) + if(currentViewDescription.fullscreen) { + contentFrame.origin.y = origin; contentFrame.size.height = viewFrame.size.height - contentFrame.origin.y; + } // Set frames [contentView setFrame: contentFrame]; @@ -470,7 +480,7 @@ [stateBarViewController.view setFrame:frame]; // Commit animation - if(tabBar != nil || fullscreen != nil) { + if(tabBar != nil || stateBar != nil || fullscreen != nil) { [UIView commitAnimations]; } @@ -493,15 +503,19 @@ - (void) changeView:(UICompositeViewDescription *)description { [self view]; // Force view load - [self update:description tabBar:nil fullscreen:nil]; + [self update:description tabBar:nil stateBar:nil fullscreen:nil]; } - (void) setFullScreen:(BOOL) enabled { - [self update:nil tabBar:nil fullscreen:[NSNumber numberWithBool:enabled]]; + [self update:nil tabBar:nil stateBar:nil fullscreen:[NSNumber numberWithBool:enabled]]; } - (void) setToolBarHidden:(BOOL) hidden { - [self update:nil tabBar:[NSNumber numberWithBool:!hidden] fullscreen:nil]; + [self update:nil tabBar:[NSNumber numberWithBool:!hidden] stateBar:nil fullscreen:nil]; +} + +- (void) setStateBarHidden:(BOOL) hidden { + [self update:nil tabBar: nil stateBar:[NSNumber numberWithBool:!hidden] fullscreen:nil]; } - (UIViewController *) getCurrentViewController { diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h index ef034965a..9d5150131 100644 --- a/Classes/PhoneMainView.h +++ b/Classes/PhoneMainView.h @@ -57,6 +57,7 @@ - (UIViewController*)popCurrentView; - (void)popToView:(UICompositeViewDescription *)currentView; - (UICompositeViewDescription *)firstView; +- (void)showStateBar:(BOOL)show; - (void)showTabBar:(BOOL)show; - (void)fullScreen:(BOOL)enabled; + (void)forceOrientation:(UIInterfaceOrientation)orientation; diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index d5ae047c5..b8695218f 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -398,6 +398,10 @@ static PhoneMainView* phoneMainViewInstance=nil; [mainViewController setToolBarHidden:!show]; } +- (void) showStateBar:(BOOL) show { + [mainViewController setStateBarHidden:!show]; +} + - (void)fullScreen:(BOOL) enabled { [mainViewController setFullScreen:enabled]; } diff --git a/submodules/linphone b/submodules/linphone index 9a0097a97..78fae7aca 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 9a0097a9748862b91448bb71c10c619e122e739a +Subproject commit 78fae7acaf65bf083a8d35ae0c0bdddc87b649cc From c34f09e2d1a5a4d5efe2cee8c4a7889b35d99119 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Thu, 2 Aug 2012 11:24:13 +0200 Subject: [PATCH 11/17] Working Wizard --- Classes/ChatRoomViewController.m | 1 + Classes/FirstLoginViewController.m | 17 +- Classes/LinphoneManager.h | 1 + Classes/LinphoneManager.m | 8 + .../LinphoneUI/UICompositeViewController.m | 2 +- Classes/PhoneMainView.h | 2 +- Classes/PhoneMainView.m | 21 +- .../XMLRPC/Configurations/Common.xcconfig | 16 + .../Configurations/CommonDevelopment.xcconfig | 6 + .../Configurations/CommonRelease.xcconfig | 3 + .../XMLRPC/Configurations/XMLRPC.xcconfig | 12 + .../Configurations/XMLRPCDevelopment.xcconfig | 2 + .../Configurations/XMLRPCRelease.xcconfig | 2 + .../Configurations/XMLRPCUnitTests.xcconfig | 7 + .../XMLRPCUnitTestsDevelopment.xcconfig | 2 + .../XMLRPCUnitTestsRelease.xcconfig | 2 + Classes/Utils/XMLRPC/LICENSE.md | 23 + .../Languages/English.lproj/InfoPlist.strings | Bin 0 -> 274 bytes Classes/Utils/XMLRPC/NSData+Base64.h | 42 + Classes/Utils/XMLRPC/NSData+Base64.m | 313 ++ Classes/Utils/XMLRPC/NSStringAdditions.h | 13 + Classes/Utils/XMLRPC/NSStringAdditions.m | 46 + Classes/Utils/XMLRPC/README.md | 87 + .../Resources/Property Lists/TestCases.plist | 41 + .../Property Lists/XMLRPC-Info.plist | 24 + .../Property Lists/XMLRPCUnitTests-Info.plist | 22 + .../AlternativeDateFormatsTestCase.xml | 15 + .../Test Cases/DefaultTypeTestCase.xml | 8 + .../Test Cases/EmptyBooleanTestCase.xml | 8 + .../Test Cases/EmptyDataTestCase.xml | 8 + .../Test Cases/EmptyDoubleTestCase.xml | 8 + .../Test Cases/EmptyIntegerTestCase.xml | 8 + .../Test Cases/EmptyStringTestCase.xml | 8 + .../Test Cases/SimpleArrayTestCase.xml | 19 + .../Test Cases/SimpleStructTestCase.xml | 23 + .../Configurations/Common.xcconfig | 14 + .../Configurations/CommonDevelopment.xcconfig | 7 + .../Configurations/CommonRelease.xcconfig | 5 + .../Configurations/TestClient.xcconfig | 7 + .../TestClientDevelopment.xcconfig | 2 + .../Configurations/TestClientRelease.xcconfig | 2 + .../Languages/English.lproj/InfoPlist.strings | Bin 0 -> 264 bytes .../Languages/English.lproj/TestClient.xib | 3617 +++++++++++++++++ .../English.lproj/TestClientMainWindow.xib | 1992 +++++++++ .../TestClientXMLParserWindow.xib | 1228 ++++++ .../Test Client.xcodeproj/project.pbxproj | 401 ++ .../Tools/Test Client/TestClient-Info.plist | 30 + .../XMLRPC/Tools/Test Client/TestClient.pch | 4 + .../TestClientApplicationController.h | 11 + .../TestClientApplicationController.m | 21 + .../TestClientMainWindowController.h | 48 + .../TestClientMainWindowController.m | 241 ++ .../TestClientXMLParserWindowController.h | 25 + .../TestClientXMLParserWindowController.m | 215 + Classes/Utils/XMLRPC/Tools/Test Client/main.m | 5 + .../Utils/XMLRPC/Tools/Test Server/README.md | 51 + .../XMLRPC/Tools/Test Server/build.properties | 17 + .../Utils/XMLRPC/Tools/Test Server/build.xml | 48 + .../Test Server/lib/commons-logging-1.1.1.jar | Bin 0 -> 60841 bytes .../Tools/Test Server/lib/log4j-1.2.15.jar | Bin 0 -> 391834 bytes .../Test Server/lib/ws-commons-util-1.0.2.jar | Bin 0 -> 34407 bytes .../Test Server/lib/xmlrpc-common-3.1.jar | Bin 0 -> 104038 bytes .../Test Server/lib/xmlrpc-server-3.1.jar | Bin 0 -> 75310 bytes .../Test Server/resources/handlers.properties | 5 + .../Tools/Test Server/resources/log4j.xml | 14 + .../Utils/XMLRPC/Tools/Test Server/server.sh | 3 + .../divisiblebyzero/xmlrpc/Application.java | 25 + .../XmlRpcServerControlPanelController.java | 67 + .../divisiblebyzero/xmlrpc/model/Server.java | 60 + .../xmlrpc/model/handlers/Echo.java | 7 + .../xmlrpc/view/XmlRpcServerControlPanel.java | 155 + .../XMLRPC/Unit Tests/XMLRPCParserTest.h | 9 + .../XMLRPC/Unit Tests/XMLRPCParserTest.m | 150 + Classes/Utils/XMLRPC/XMLRPC.h | 5 + Classes/Utils/XMLRPC/XMLRPC.pch | 3 + .../XMLRPC/XMLRPC.xcodeproj/project.pbxproj | 931 +++++ .../xcschemes/xcschememanagement.plist | 26 + Classes/Utils/XMLRPC/XMLRPCConnection.h | 33 + Classes/Utils/XMLRPC/XMLRPCConnection.m | 214 + .../Utils/XMLRPC/XMLRPCConnectionDelegate.h | 27 + .../Utils/XMLRPC/XMLRPCConnectionManager.h | 32 + .../Utils/XMLRPC/XMLRPCConnectionManager.m | 115 + Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.h | 8 + Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.m | 253 ++ Classes/Utils/XMLRPC/XMLRPCEncoder.h | 15 + Classes/Utils/XMLRPC/XMLRPCEventBasedParser.h | 27 + Classes/Utils/XMLRPC/XMLRPCEventBasedParser.m | 81 + .../XMLRPC/XMLRPCEventBasedParserDelegate.h | 52 + .../XMLRPC/XMLRPCEventBasedParserDelegate.m | 352 ++ Classes/Utils/XMLRPC/XMLRPCRequest.h | 51 + Classes/Utils/XMLRPC/XMLRPCRequest.m | 165 + Classes/Utils/XMLRPC/XMLRPCResponse.h | 33 + Classes/Utils/XMLRPC/XMLRPCResponse.m | 97 + Classes/WizardViewController.h | 19 +- Classes/WizardViewController.m | 390 +- Classes/WizardViewController.xib | 564 ++- linphone.xcodeproj/project.pbxproj | 108 + 97 files changed, 12758 insertions(+), 149 deletions(-) create mode 100755 Classes/Utils/XMLRPC/Configurations/Common.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/CommonDevelopment.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/CommonRelease.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/XMLRPC.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/XMLRPCDevelopment.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/XMLRPCRelease.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTests.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsDevelopment.xcconfig create mode 100755 Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsRelease.xcconfig create mode 100755 Classes/Utils/XMLRPC/LICENSE.md create mode 100755 Classes/Utils/XMLRPC/Languages/English.lproj/InfoPlist.strings create mode 100755 Classes/Utils/XMLRPC/NSData+Base64.h create mode 100755 Classes/Utils/XMLRPC/NSData+Base64.m create mode 100755 Classes/Utils/XMLRPC/NSStringAdditions.h create mode 100755 Classes/Utils/XMLRPC/NSStringAdditions.m create mode 100755 Classes/Utils/XMLRPC/README.md create mode 100755 Classes/Utils/XMLRPC/Resources/Property Lists/TestCases.plist create mode 100755 Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPC-Info.plist create mode 100755 Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPCUnitTests-Info.plist create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/AlternativeDateFormatsTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/DefaultTypeTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/EmptyBooleanTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDataTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDoubleTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/EmptyIntegerTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/EmptyStringTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/SimpleArrayTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Resources/Test Cases/SimpleStructTestCase.xml create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Configurations/Common.xcconfig create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonDevelopment.xcconfig create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonRelease.xcconfig create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClient.xcconfig create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientDevelopment.xcconfig create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientRelease.xcconfig create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/InfoPlist.strings create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClient.xib create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientMainWindow.xib create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientXMLParserWindow.xib create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/Test Client.xcodeproj/project.pbxproj create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClient-Info.plist create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClient.pch create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.h create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.m create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.h create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.m create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.h create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.m create mode 100755 Classes/Utils/XMLRPC/Tools/Test Client/main.m create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/README.md create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/build.properties create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/build.xml create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/lib/commons-logging-1.1.1.jar create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/lib/log4j-1.2.15.jar create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/lib/ws-commons-util-1.0.2.jar create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/lib/xmlrpc-common-3.1.jar create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/lib/xmlrpc-server-3.1.jar create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/resources/handlers.properties create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/resources/log4j.xml create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/server.sh create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/Application.java create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/controller/XmlRpcServerControlPanelController.java create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/Server.java create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/handlers/Echo.java create mode 100755 Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/view/XmlRpcServerControlPanel.java create mode 100755 Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.h create mode 100755 Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.m create mode 100755 Classes/Utils/XMLRPC/XMLRPC.h create mode 100755 Classes/Utils/XMLRPC/XMLRPC.pch create mode 100755 Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj create mode 100644 Classes/Utils/XMLRPC/XMLRPC.xcodeproj/xcuserdata/ydiorcet.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 Classes/Utils/XMLRPC/XMLRPCConnection.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCConnection.m create mode 100755 Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCConnectionManager.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCConnectionManager.m create mode 100755 Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.m create mode 100755 Classes/Utils/XMLRPC/XMLRPCEncoder.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCEventBasedParser.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCEventBasedParser.m create mode 100755 Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.m create mode 100755 Classes/Utils/XMLRPC/XMLRPCRequest.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCRequest.m create mode 100755 Classes/Utils/XMLRPC/XMLRPCResponse.h create mode 100755 Classes/Utils/XMLRPC/XMLRPCResponse.m diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index acd316020..7e3744458 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -266,6 +266,7 @@ static UICompositeViewDescription *compositeDescription = nil; } } + #pragma mark - Keyboard Event Functions - (void)keyboardWillHide:(NSNotification *)notif { diff --git a/Classes/FirstLoginViewController.m b/Classes/FirstLoginViewController.m index 47a4c9ebe..c5c02ef0f 100644 --- a/Classes/FirstLoginViewController.m +++ b/Classes/FirstLoginViewController.m @@ -122,22 +122,19 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)registrationUpdate:(LinphoneRegistrationState)state { switch (state) { - case LinphoneRegistrationOk: - { + case LinphoneRegistrationOk: { [[LinphoneManager instance].settingsStore setBool:false forKey:@"enable_first_login_view_preference"]; - [self.waitView setHidden:true]; + [waitView setHidden:true]; [[PhoneMainView instance] changeCurrentView:[DialerViewController compositeViewDescription]]; break; } case LinphoneRegistrationNone: - case LinphoneRegistrationCleared: - { - [self.waitView setHidden:true]; + case LinphoneRegistrationCleared: { + [waitView setHidden:true]; break; } - case LinphoneRegistrationFailed: - { - [self.waitView setHidden:true]; + case LinphoneRegistrationFailed: { + [waitView setHidden:true]; //default behavior if no registration delegates /*UIAlertView* error = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"Registration failure for user %@", usernameField.text] @@ -153,7 +150,7 @@ static UICompositeViewDescription *compositeDescription = nil; break; } case LinphoneRegistrationProgress: { - [self.waitView setHidden:false]; + [waitView setHidden:false]; break; } default: break; diff --git a/Classes/LinphoneManager.h b/Classes/LinphoneManager.h index 6dcb8fe49..34a82c210 100644 --- a/Classes/LinphoneManager.h +++ b/Classes/LinphoneManager.h @@ -82,6 +82,7 @@ typedef struct _LinphoneCallAppData { + (BOOL)isNotIphone3G; + (NSString *)getPreferenceForCodec: (const char*) name withRate: (int) rate; + (NSSet *)unsupportedCodecs; ++ (NSString *)getUserAgent; - (void)startLibLinphone; - (void)destroyLibLinphone; diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 2086a32a3..d1b400faa 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -138,6 +138,14 @@ struct codec_name_pref_table codec_pref_table[]={ return result; } ++ (NSString *)getUserAgent { + return [NSString stringWithFormat:@"LinphoneIphone/%@ (Linphone/%s; Apple %@/%@)", + [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey], + linphone_core_get_version(), + [UIDevice currentDevice].systemName, + [UIDevice currentDevice].systemVersion]; +} + + (LinphoneManager*)instance { if(theLinphoneManager == nil) { theLinphoneManager = [LinphoneManager alloc]; diff --git a/Classes/LinphoneUI/UICompositeViewController.m b/Classes/LinphoneUI/UICompositeViewController.m index 598a50483..2068160e1 100644 --- a/Classes/LinphoneUI/UICompositeViewController.m +++ b/Classes/LinphoneUI/UICompositeViewController.m @@ -378,7 +378,7 @@ // Update rotation UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]]; if(currentOrientation != correctOrientation) { - [PhoneMainView forceOrientation:correctOrientation]; + [PhoneMainView forceOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown]; } currentOrientation = correctOrientation; [self updateInterfaceOrientation:correctOrientation]; diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h index 9d5150131..038db2155 100644 --- a/Classes/PhoneMainView.h +++ b/Classes/PhoneMainView.h @@ -60,7 +60,7 @@ - (void)showStateBar:(BOOL)show; - (void)showTabBar:(BOOL)show; - (void)fullScreen:(BOOL)enabled; -+ (void)forceOrientation:(UIInterfaceOrientation)orientation; ++ (void)forceOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated; + (PhoneMainView*) instance; diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index b8695218f..9fc5479af 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -172,7 +172,7 @@ static PhoneMainView* phoneMainViewInstance=nil; /* Will simulate a device rotation */ -+ (void)forceOrientation:(UIInterfaceOrientation)orientation { ++ (void)forceOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated { for(UIWindow *window in [[UIApplication sharedApplication] windows]) { UIView *view = window; UIViewController *controller = nil; @@ -182,9 +182,16 @@ static PhoneMainView* phoneMainViewInstance=nil; view = controller.view; } UIInterfaceOrientation oldOrientation = controller.interfaceOrientation; - [controller willRotateToInterfaceOrientation:orientation duration:0.3]; - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:0.3]; + + NSTimeInterval animationDuration = 0.0; + if(animated) { + animationDuration = 0.3f; + } + [controller willRotateToInterfaceOrientation:orientation duration:animationDuration]; + if(animated) { + [UIView beginAnimations:nil context:nil]; + [UIView setAnimationDuration:animationDuration]; + } switch (orientation) { case UIInterfaceOrientationPortrait: [view setTransform: CGAffineTransformMakeRotation(0)]; @@ -204,8 +211,10 @@ static PhoneMainView* phoneMainViewInstance=nil; if([window isKindOfClass:[UILinphoneWindow class]]) { [view setFrame:frame]; } - [controller willAnimateRotationToInterfaceOrientation:orientation duration:0.3]; - [UIView commitAnimations]; + [controller willAnimateRotationToInterfaceOrientation:orientation duration:animationDuration]; + if(animated) { + [UIView commitAnimations]; + } [controller didRotateFromInterfaceOrientation:oldOrientation]; } [[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:TRUE]; diff --git a/Classes/Utils/XMLRPC/Configurations/Common.xcconfig b/Classes/Utils/XMLRPC/Configurations/Common.xcconfig new file mode 100755 index 000000000..c1aba3d78 --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/Common.xcconfig @@ -0,0 +1,16 @@ +ARCHS = $(ARCHS_STANDARD_32_64_BIT) +VALID_ARCHS = i386 ppc x86_64 +SDKROOT = macosx10.6 + +RUN_CLANG_STATIC_ANALYZER = YES + +GCC_C_LANGUAGE_STANDARD = gnu99 +GCC_PRECOMPILE_PREFIX_HEADER = YES +GCC_MODEL_TUNING = G5 + +GCC_WARN_ABOUT_MISSING_NEWLINE = YES +GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES +GCC_WARN_ABOUT_RETURN_TYPE = YES +GCC_WARN_UNUSED_VARIABLE = YES +GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO +GCC_TREAT_WARNINGS_AS_ERRORS = YES diff --git a/Classes/Utils/XMLRPC/Configurations/CommonDevelopment.xcconfig b/Classes/Utils/XMLRPC/Configurations/CommonDevelopment.xcconfig new file mode 100755 index 000000000..fd2066210 --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/CommonDevelopment.xcconfig @@ -0,0 +1,6 @@ +#include "Common.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf + +GCC_DYNAMIC_NO_PIC = NO +GCC_OPTIMIZATION_LEVEL = 0 diff --git a/Classes/Utils/XMLRPC/Configurations/CommonRelease.xcconfig b/Classes/Utils/XMLRPC/Configurations/CommonRelease.xcconfig new file mode 100755 index 000000000..54ace760e --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/CommonRelease.xcconfig @@ -0,0 +1,3 @@ +#include "Common.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym diff --git a/Classes/Utils/XMLRPC/Configurations/XMLRPC.xcconfig b/Classes/Utils/XMLRPC/Configurations/XMLRPC.xcconfig new file mode 100755 index 000000000..a4cc02a92 --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/XMLRPC.xcconfig @@ -0,0 +1,12 @@ +PRODUCT_NAME = XMLRPC +INFOPLIST_FILE = Resources/Property Lists/XMLRPC-Info.plist + +FRAMEWORK_VERSION = A +DYLIB_CURRENT_VERSION = 1 +DYLIB_COMPATIBILITY_VERSION = 1 + +GCC_PRECOMPILE_PREFIX_HEADER = YES +GCC_PREFIX_HEADER = XMLRPC.pch +GCC_ENABLE_OBJC_GC = supported + +INSTALL_PATH = @loader_path/../Frameworks diff --git a/Classes/Utils/XMLRPC/Configurations/XMLRPCDevelopment.xcconfig b/Classes/Utils/XMLRPC/Configurations/XMLRPCDevelopment.xcconfig new file mode 100755 index 000000000..399d47fff --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/XMLRPCDevelopment.xcconfig @@ -0,0 +1,2 @@ +#include "XMLRPC.xcconfig" +#include "CommonDevelopment.xcconfig" diff --git a/Classes/Utils/XMLRPC/Configurations/XMLRPCRelease.xcconfig b/Classes/Utils/XMLRPC/Configurations/XMLRPCRelease.xcconfig new file mode 100755 index 000000000..5a87b922d --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/XMLRPCRelease.xcconfig @@ -0,0 +1,2 @@ +#include "XMLRPC.xcconfig" +#include "CommonRelease.xcconfig" diff --git a/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTests.xcconfig b/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTests.xcconfig new file mode 100755 index 000000000..b4c830f44 --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTests.xcconfig @@ -0,0 +1,7 @@ +PRODUCT_NAME = XMLRPCUnitTests +INFOPLIST_FILE = Resources/Property Lists/XMLRPCUnitTests-Info.plist + +WRAPPER_EXTENSION=octest + +GCC_PRECOMPILE_PREFIX_HEADER = YES +GCC_PREFIX_HEADER = XMLRPC.pch diff --git a/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsDevelopment.xcconfig b/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsDevelopment.xcconfig new file mode 100755 index 000000000..b7ffa9c43 --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsDevelopment.xcconfig @@ -0,0 +1,2 @@ +#include "XMLRPCUnitTests.xcconfig" +#include "CommonDevelopment.xcconfig" diff --git a/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsRelease.xcconfig b/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsRelease.xcconfig new file mode 100755 index 000000000..1c1b03264 --- /dev/null +++ b/Classes/Utils/XMLRPC/Configurations/XMLRPCUnitTestsRelease.xcconfig @@ -0,0 +1,2 @@ +#include "XMLRPCUnitTests.xcconfig" +#include "CommonRelease.xcconfig" diff --git a/Classes/Utils/XMLRPC/LICENSE.md b/Classes/Utils/XMLRPC/LICENSE.md new file mode 100755 index 000000000..63faaeb29 --- /dev/null +++ b/Classes/Utils/XMLRPC/LICENSE.md @@ -0,0 +1,23 @@ +# License + +## The Cocoa XML-RPC Framework is distributed under the MIT License: + +Copyright (c) 2012 Eric Czarny + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Classes/Utils/XMLRPC/Languages/English.lproj/InfoPlist.strings b/Classes/Utils/XMLRPC/Languages/English.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..0bddbc34488616b54cbd8312e6610418a50348e1 GIT binary patch literal 274 zcmX|+$qoTQ6h+V4S5zz|#;sTpAwh(V*frV^Lra^|{>V?_Ad$+eTd&?7s$S1B1p+-1 z=0xn+a3^Nr-BnCEd6RGugSd1*vvv}g&{sENNYkz>XDOq^@#}Ju7ud?o)RsIKD3fyy z7}Mdx-n@hQSX@{$b+KNF4w=atRwjL18dm;0nLCZ_e%Zx;dRu;^W6VuPYHr|R)u>Q) Y1zP%Dt + +void *NewBase64Decode( + const char *inputBuffer, + size_t length, + size_t *outputLength); + +char *NewBase64Encode( + const void *inputBuffer, + size_t length, + bool separateLines, + size_t *outputLength); + +@interface NSData (Base64) + ++ (NSData *)dataFromBase64String:(NSString *)aString; +- (NSString *)base64EncodedString; + +@end diff --git a/Classes/Utils/XMLRPC/NSData+Base64.m b/Classes/Utils/XMLRPC/NSData+Base64.m new file mode 100755 index 000000000..2d719f2f1 --- /dev/null +++ b/Classes/Utils/XMLRPC/NSData+Base64.m @@ -0,0 +1,313 @@ +// +// NSData+Base64.m +// base64 +// +// Created by Matt Gallagher on 2009/06/03. +// Copyright 2009 Matt Gallagher. All rights reserved. +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. Permission is granted to anyone to +// use this software for any purpose, including commercial applications, and to +// alter it and redistribute it freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source +// distribution. +// + +#import "NSData+Base64.h" + +// +// Mapping from 6 bit pattern to ASCII character. +// +static unsigned char base64EncodeLookup[65] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + +// +// Definition for "masked-out" areas of the base64DecodeLookup mapping +// +#define xx 65 + +// +// Mapping from ASCII character to 6 bit pattern. +// +static unsigned char base64DecodeLookup[256] = +{ + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, 62, xx, xx, xx, 63, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, xx, xx, xx, xx, xx, xx, + xx, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, xx, xx, xx, xx, xx, + xx, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, + xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, +}; + +// +// Fundamental sizes of the binary and base64 encode/decode units in bytes +// +#define BINARY_UNIT_SIZE 3 +#define BASE64_UNIT_SIZE 4 + +// +// NewBase64Decode +// +// Decodes the base64 ASCII string in the inputBuffer to a newly malloced +// output buffer. +// +// inputBuffer - the source ASCII string for the decode +// length - the length of the string or -1 (to specify strlen should be used) +// outputLength - if not-NULL, on output will contain the decoded length +// +// returns the decoded buffer. Must be free'd by caller. Length is given by +// outputLength. +// +void *NewBase64Decode( + const char *inputBuffer, + size_t length, + size_t *outputLength) +{ + if (length == -1) + { + length = strlen(inputBuffer); + } + + size_t outputBufferSize = + ((length+BASE64_UNIT_SIZE-1) / BASE64_UNIT_SIZE) * BINARY_UNIT_SIZE; + unsigned char *outputBuffer = (unsigned char *)malloc(outputBufferSize); + + size_t i = 0; + size_t j = 0; + while (i < length) + { + // + // Accumulate 4 valid characters (ignore everything else) + // + unsigned char accumulated[BASE64_UNIT_SIZE]; + size_t accumulateIndex = 0; + while (i < length) + { + unsigned char decode = base64DecodeLookup[inputBuffer[i++]]; + if (decode != xx) + { + accumulated[accumulateIndex] = decode; + accumulateIndex++; + + if (accumulateIndex == BASE64_UNIT_SIZE) + { + break; + } + } + } + + // + // Store the 6 bits from each of the 4 characters as 3 bytes + // + // (Uses improved bounds checking suggested by Alexandre Colucci) + // + if(accumulateIndex >= 2) + outputBuffer[j] = (accumulated[0] << 2) | (accumulated[1] >> 4); + if(accumulateIndex >= 3) + outputBuffer[j + 1] = (accumulated[1] << 4) | (accumulated[2] >> 2); + if(accumulateIndex >= 4) + outputBuffer[j + 2] = (accumulated[2] << 6) | accumulated[3]; + j += accumulateIndex - 1; + } + + if (outputLength) + { + *outputLength = j; + } + return outputBuffer; +} + +// +// NewBase64Encode +// +// Encodes the arbitrary data in the inputBuffer as base64 into a newly malloced +// output buffer. +// +// inputBuffer - the source data for the encode +// length - the length of the input in bytes +// separateLines - if zero, no CR/LF characters will be added. Otherwise +// a CR/LF pair will be added every 64 encoded chars. +// outputLength - if not-NULL, on output will contain the encoded length +// (not including terminating 0 char) +// +// returns the encoded buffer. Must be free'd by caller. Length is given by +// outputLength. +// +char *NewBase64Encode( + const void *buffer, + size_t length, + bool separateLines, + size_t *outputLength) +{ + const unsigned char *inputBuffer = (const unsigned char *)buffer; + + #define MAX_NUM_PADDING_CHARS 2 + #define OUTPUT_LINE_LENGTH 64 + #define INPUT_LINE_LENGTH ((OUTPUT_LINE_LENGTH / BASE64_UNIT_SIZE) * BINARY_UNIT_SIZE) + #define CR_LF_SIZE 2 + + // + // Byte accurate calculation of final buffer size + // + size_t outputBufferSize = + ((length / BINARY_UNIT_SIZE) + + ((length % BINARY_UNIT_SIZE) ? 1 : 0)) + * BASE64_UNIT_SIZE; + if (separateLines) + { + outputBufferSize += + (outputBufferSize / OUTPUT_LINE_LENGTH) * CR_LF_SIZE; + } + + // + // Include space for a terminating zero + // + outputBufferSize += 1; + + // + // Allocate the output buffer + // + char *outputBuffer = (char *)malloc(outputBufferSize); + if (!outputBuffer) + { + return NULL; + } + + size_t i = 0; + size_t j = 0; + const size_t lineLength = separateLines ? INPUT_LINE_LENGTH : length; + size_t lineEnd = lineLength; + + while (true) + { + if (lineEnd > length) + { + lineEnd = length; + } + + for (; i + BINARY_UNIT_SIZE - 1 < lineEnd; i += BINARY_UNIT_SIZE) + { + // + // Inner loop: turn 48 bytes into 64 base64 characters + // + outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0xFC) >> 2]; + outputBuffer[j++] = base64EncodeLookup[((inputBuffer[i] & 0x03) << 4) + | ((inputBuffer[i + 1] & 0xF0) >> 4)]; + outputBuffer[j++] = base64EncodeLookup[((inputBuffer[i + 1] & 0x0F) << 2) + | ((inputBuffer[i + 2] & 0xC0) >> 6)]; + outputBuffer[j++] = base64EncodeLookup[inputBuffer[i + 2] & 0x3F]; + } + + if (lineEnd == length) + { + break; + } + + // + // Add the newline + // + outputBuffer[j++] = '\r'; + outputBuffer[j++] = '\n'; + lineEnd += lineLength; + } + + if (i + 1 < length) + { + // + // Handle the single '=' case + // + outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0xFC) >> 2]; + outputBuffer[j++] = base64EncodeLookup[((inputBuffer[i] & 0x03) << 4) + | ((inputBuffer[i + 1] & 0xF0) >> 4)]; + outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i + 1] & 0x0F) << 2]; + outputBuffer[j++] = '='; + } + else if (i < length) + { + // + // Handle the double '=' case + // + outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0xFC) >> 2]; + outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0x03) << 4]; + outputBuffer[j++] = '='; + outputBuffer[j++] = '='; + } + outputBuffer[j] = 0; + + // + // Set the output length and return the buffer + // + if (outputLength) + { + *outputLength = j; + } + return outputBuffer; +} + +@implementation NSData (Base64) + +// +// dataFromBase64String: +// +// Creates an NSData object containing the base64 decoded representation of +// the base64 string 'aString' +// +// Parameters: +// aString - the base64 string to decode +// +// returns the autoreleased NSData representation of the base64 string +// ++ (NSData *)dataFromBase64String:(NSString *)aString +{ + NSData *data = [aString dataUsingEncoding:NSASCIIStringEncoding]; + size_t outputLength; + void *outputBuffer = NewBase64Decode([data bytes], [data length], &outputLength); + NSData *result = [NSData dataWithBytes:outputBuffer length:outputLength]; + free(outputBuffer); + return result; +} + +// +// base64EncodedString +// +// Creates an NSString object that contains the base 64 encoding of the +// receiver's data. Lines are broken at 64 characters long. +// +// returns an autoreleased NSString being the base 64 representation of the +// receiver. +// +- (NSString *)base64EncodedString +{ + size_t outputLength; + char *outputBuffer = + NewBase64Encode([self bytes], [self length], true, &outputLength); + + NSString *result =[[NSString alloc] initWithBytes:outputBuffer + length:outputLength + encoding:NSASCIIStringEncoding]; +#if ! __has_feature(objc_arc) + [result autorelease]; +#endif + free(outputBuffer); + return result; +} + +@end diff --git a/Classes/Utils/XMLRPC/NSStringAdditions.h b/Classes/Utils/XMLRPC/NSStringAdditions.h new file mode 100755 index 000000000..26f0937bd --- /dev/null +++ b/Classes/Utils/XMLRPC/NSStringAdditions.h @@ -0,0 +1,13 @@ +#import + +@interface NSString (NSStringAdditions) + ++ (NSString *)stringByGeneratingUUID; + +#pragma mark - + +- (NSString *)unescapedString; + +- (NSString *)escapedString; + +@end diff --git a/Classes/Utils/XMLRPC/NSStringAdditions.m b/Classes/Utils/XMLRPC/NSStringAdditions.m new file mode 100755 index 000000000..9c728b79f --- /dev/null +++ b/Classes/Utils/XMLRPC/NSStringAdditions.m @@ -0,0 +1,46 @@ +#import "NSStringAdditions.h" + +@implementation NSString (NSStringAdditions) + ++ (NSString *)stringByGeneratingUUID { + CFUUIDRef UUIDReference = CFUUIDCreate(nil); + CFStringRef temporaryUUIDString = CFUUIDCreateString(nil, UUIDReference); + + CFRelease(UUIDReference); +#if ! __has_feature(objc_arc) + return [NSMakeCollectable(temporaryUUIDString) autorelease]; +#else + return (__bridge_transfer NSString*)temporaryUUIDString; +#endif +} + +#pragma mark - + +- (NSString *)unescapedString { + NSMutableString *string = [NSMutableString stringWithString: self]; + + [string replaceOccurrencesOfString: @"&" withString: @"&" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @""" withString: @"\"" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @"'" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @"9" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @"’" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @"–" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @">" withString: @">" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @"<" withString: @"<" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + + return [NSString stringWithString: string]; +} + +- (NSString *)escapedString { + NSMutableString *string = [NSMutableString stringWithString: self]; + + // NOTE: we use unicode entities instead of & > < etc. since some hosts (powweb, fatcow, and similar) + // have a weird PHP/libxml2 combination that ignores regular entities + [string replaceOccurrencesOfString: @"&" withString: @"&" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @">" withString: @">" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + [string replaceOccurrencesOfString: @"<" withString: @"<" options: NSLiteralSearch range: NSMakeRange(0, [string length])]; + + return [NSString stringWithString: string]; +} + +@end diff --git a/Classes/Utils/XMLRPC/README.md b/Classes/Utils/XMLRPC/README.md new file mode 100755 index 000000000..3bcc0736e --- /dev/null +++ b/Classes/Utils/XMLRPC/README.md @@ -0,0 +1,87 @@ +# The Cocoa XML-RPC Framework + +The Cocoa XML-RPC Framework is a simple, and lightweight, XML-RPC client framework written in Objective-C. + +# Requirements + +The Cocoa XML-RPC Framework has been built, and designed, for Mac OS X 10.5 or later. This release should provide basic iPhone and iPod touch support. + +This version of the Cocoa XML-RPC Framework includes a new event-based XML parser. The previous tree-based XML parser still exists, but is no longer the default XML-RPC response parser nor included in the Xcode build. This should hopefully provide better compatibility with the iPhone SDK. + +# Usage + +The following example of the Cocoa XML-RPC Framework assumes that the included XML-RPC test server is available. More information on the test server can be found in the README under: + + XMLRPC\Tools\Test Server + +Please review this document before moving forward. + +## Invoking XML-RPC requests through the XML-RPC connection manager + +Invoking an XML-RPC request through the XML-RPC connection manager is easy: + + NSURL *URL = [NSURL URLWithString: @"http://127.0.0.1:8080/"]; + XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithURL: URL]; + XMLRPCConnectionManager *manager = [XMLRPCConnectionManager sharedManager]; + + [request setMethod: @"Echo.echo" withParameter: @"Hello World!"]; + + NSLog(@"Request body: %@", [request body]); + + [manager spawnConnectionWithXMLRPCRequest: request delegate: self]; + + [request release]; + +This spawns a new XML-RPC connection, assigning that connection with a unique identifer and returning it to the sender. This unique identifier, a UUID expressed as an NSString, can then be used to obtain the XML-RPC connection from the XML-RPC connection manager, as long as it is still active. + +The XML-RPC connection manager has been designed to ease the management of active XML-RPC connections. For example, the following method obtains an NSArray of active XML-RPC connection identifiers: + + - (NSArray *)activeConnectionIdentifiers; + +The NSArray returned by this method contains a list of each active connection identifier. Provided with a connection identifier, the following method will return an instance of the requested XML-RPC connection: + + - (XMLRPCConnection *)connectionForIdentifier: (NSString *)connectionIdentifier; + +Finally, for a delegate to receive XML-RPC responses, authentication challenges, or errors, the XMLRPCConnectionDelegate protocol must be implemented. For example, the following will handle successful XML-RPC responses: + + - (void)request: (XMLRPCRequest *)request didReceiveResponse: (XMLRPCResponse *)response { + if ([response isFault]) { + NSLog(@"Fault code: %@", [response faultCode]); + + NSLog(@"Fault string: %@", [response faultString]); + } else { + NSLog(@"Parsed response: %@", [response object]); + } + + NSLog(@"Response body: %@", [response body]); + } + +Refer to XMLRPCConnectionDelegate.h for a full list of methods a delegate must implement. Each of these delegate methods plays a role in the life of an active XML-RPC connection. + +## Sending synchronous XML-RPC requests + +There are situations where it may be desirable to invoke XML-RPC requests synchronously in another thread or background process. The following method declared in XMLRPCConnection.h will invoke an XML-RPC request synchronously: + + + (XMLRPCResponse *)sendSynchronousXMLRPCRequest: (XMLRPCRequest *)request error: (NSError **)error; + +If there is a problem sending the XML-RPC request expect nil to be returned. + +# What if I find a bug, or what if I want to help? + +Please, contact me with any questions, comments, suggestions, or problems. I try to make the time to answer every request. + +Those wishing to contribute to the project should begin by obtaining the latest source with Git. The project is hosted on GitHub, making it easy for anyone to make contributions. Simply create a fork and make your changes. + +# Acknowledgments + +The Base64 encoder/decoder found in NSData+Base64 is created by [Matt Gallagher](http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html). + +The idea for this framework came from examples provided by Brent Simmons, the creator of NetNewsWire. + +# License + +Copyright (c) 2012 Eric Czarny. + +The Cocoa XML-RPC Framework should be accompanied by a LICENSE file, this file contains the license relevant to this distribution. + +If no LICENSE exists please contact Eric Czarny . diff --git a/Classes/Utils/XMLRPC/Resources/Property Lists/TestCases.plist b/Classes/Utils/XMLRPC/Resources/Property Lists/TestCases.plist new file mode 100755 index 000000000..65f7caf03 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Property Lists/TestCases.plist @@ -0,0 +1,41 @@ + + + + + AlternativeDateFormatsTestCase + + 2009-12-02T01:49:00Z + 2009-12-02T01:50:00Z + + DefaultTypeTestCase + Hello World! + EmptyBooleanTestCase + 0 + EmptyDataTestCase + + EmptyDoubleTestCase + 0 + EmptyIntegerTestCase + 0 + EmptyStringTestCase + + SimpleArrayTestCase + + Hello World! + 42 + 3.14 + 1 + 2009-07-18T21:34:00Z + eW91IGNhbid0IHJlYWQgdGhpcyE= + + SimpleStructTestCase + + Name + Eric Czarny + Birthday + 1984-04-15T05:00:00Z + Age + 25 + + + diff --git a/Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPC-Info.plist b/Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPC-Info.plist new file mode 100755 index 000000000..f9624ae91 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPC-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + XMLRPC + CFBundleIdentifier + com.divisiblebyzero.XMLRPC + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + XMLRPC + CFBundlePackageType + FMWK + CFBundleSignature + ZERO + CFBundleVersion + 2.2.1 + CFBundleShortVersionString + 2.2.1 + + diff --git a/Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPCUnitTests-Info.plist b/Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPCUnitTests-Info.plist new file mode 100755 index 000000000..492f334bb --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Property Lists/XMLRPCUnitTests-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.divisiblebyzero.XMLRPCUnitTests + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + XMLRPCUnitTests + CFBundlePackageType + BNDL + CFBundleSignature + ZERO + CFBundleVersion + 1.0 + CFBundleShortVersionString + 1.0 + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/AlternativeDateFormatsTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/AlternativeDateFormatsTestCase.xml new file mode 100755 index 000000000..2e197f1eb --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/AlternativeDateFormatsTestCase.xml @@ -0,0 +1,15 @@ + + + + + + + + 20091201T20:49:00 + 2009-12-01T20:50:00 + + + + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/DefaultTypeTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/DefaultTypeTestCase.xml new file mode 100755 index 000000000..8375ba6d3 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/DefaultTypeTestCase.xml @@ -0,0 +1,8 @@ + + + + + Hello World! + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyBooleanTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyBooleanTestCase.xml new file mode 100755 index 000000000..dd0a4f980 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyBooleanTestCase.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDataTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDataTestCase.xml new file mode 100755 index 000000000..a055d2d57 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDataTestCase.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDoubleTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDoubleTestCase.xml new file mode 100755 index 000000000..1d82be425 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyDoubleTestCase.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyIntegerTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyIntegerTestCase.xml new file mode 100755 index 000000000..99c93d799 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyIntegerTestCase.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyStringTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyStringTestCase.xml new file mode 100755 index 000000000..3813759fd --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/EmptyStringTestCase.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/SimpleArrayTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/SimpleArrayTestCase.xml new file mode 100755 index 000000000..41388ccc8 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/SimpleArrayTestCase.xml @@ -0,0 +1,19 @@ + + + + + + + + Hello World! + 42 + 3.14 + 1 + 20090718T17:34:00 + eW91IGNhbid0IHJlYWQgdGhpcyE= + + + + + + diff --git a/Classes/Utils/XMLRPC/Resources/Test Cases/SimpleStructTestCase.xml b/Classes/Utils/XMLRPC/Resources/Test Cases/SimpleStructTestCase.xml new file mode 100755 index 000000000..d2552c311 --- /dev/null +++ b/Classes/Utils/XMLRPC/Resources/Test Cases/SimpleStructTestCase.xml @@ -0,0 +1,23 @@ + + + + + + + + Name + Eric Czarny + + + Birthday + 1984-04-15T00:00:00 + + + Age + 25 + + + + + + diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/Common.xcconfig b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/Common.xcconfig new file mode 100755 index 000000000..587996846 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/Common.xcconfig @@ -0,0 +1,14 @@ +ARCHS = $(ARCHS_STANDARD_32_64_BIT) +VALID_ARCHS = i386 ppc x86_64 +SDKROOT = macosx10.6 +PREBINDING = NO + +GCC_C_LANGUAGE_STANDARD = gnu99 +GCC_PRECOMPILE_PREFIX_HEADER = YES +GCC_MODEL_TUNING = G5 + +GCC_WARN_ABOUT_MISSING_NEWLINE = YES +GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES +GCC_WARN_ABOUT_RETURN_TYPE = YES +GCC_WARN_UNUSED_VARIABLE = YES +GCC_TREAT_WARNINGS_AS_ERRORS = YES diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonDevelopment.xcconfig b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonDevelopment.xcconfig new file mode 100755 index 000000000..a4de0d06d --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonDevelopment.xcconfig @@ -0,0 +1,7 @@ +#include "Common.xcconfig" + +ONLY_ACTIVE_ARCH = YES + +DEBUG_INFORMATION_FORMAT = dwarf + +GCC_OPTIMIZATION_LEVEL = 0 diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonRelease.xcconfig b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonRelease.xcconfig new file mode 100755 index 000000000..d49f88eed --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/CommonRelease.xcconfig @@ -0,0 +1,5 @@ +#include "Common.xcconfig" + +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym + +GCC_OPTIMIZATION_LEVEL = s diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClient.xcconfig b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClient.xcconfig new file mode 100755 index 000000000..fb2896703 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClient.xcconfig @@ -0,0 +1,7 @@ +PRODUCT_NAME = Test Client +INFOPLIST_FILE = TestClient-Info.plist + +GCC_PRECOMPILE_PREFIX_HEADER = YES +GCC_PREFIX_HEADER = TestClient.pch + +INSTALL_PATH = /Applications diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientDevelopment.xcconfig b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientDevelopment.xcconfig new file mode 100755 index 000000000..35a8b9a27 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientDevelopment.xcconfig @@ -0,0 +1,2 @@ +#include "TestClient.xcconfig" +#include "CommonDevelopment.xcconfig" diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientRelease.xcconfig b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientRelease.xcconfig new file mode 100755 index 000000000..3835f9903 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Configurations/TestClientRelease.xcconfig @@ -0,0 +1,2 @@ +#include "TestClient.xcconfig" +#include "CommonRelease.xcconfig" diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/InfoPlist.strings b/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..58481ab2694d2bf7dafccfcbd5dc3b1fe2b83ee2 GIT binary patch literal 264 zcmZvX%MJlS5Jk`0S9B~To?EeEL4pVtA~u5=#53cO@JD_U$Jk1xtGcUhovMDn$`lB6 zIkF&P$A$+nOLI44%Gu13gE1HreaBbgy~HWgpShUbs=jBc0%dYqpAl`Y?ByO9T94#L z% + + + 1050 + 10C540 + 740 + 1038.25 + 458.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 740 + + + YES + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + Test Client + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + Test Client + + YES + + + About Test Client + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide Test Client + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit Test Client + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + YES + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + Spelling and Grammar + + YES + + + Show Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Main Window + 0 + 1048576 + 2147483647 + + + + + + XML Parser + 1 + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + Test Client Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + NSFontManager + + + TestClientApplicationController + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + print: + + + + 86 + + + + runPageLayout: + + + + 87 + + + + clearRecentDocuments: + + + + 127 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + performClose: + + + + 193 + + + + toggleContinuousSpellChecking: + + + + 222 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + checkSpelling: + + + + 225 + + + + paste: + + + + 226 + + + + stopSpeaking: + + + + 227 + + + + cut: + + + + 228 + + + + showGuessPanel: + + + + 230 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + startSpeaking: + + + + 233 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + performFindPanelAction: + + + + 241 + + + + centerSelectionInVisibleArea: + + + + 245 + + + + toggleGrammarChecking: + + + + 347 + + + + toggleSmartInsertDelete: + + + + 355 + + + + toggleAutomaticQuoteSubstitution: + + + + 356 + + + + toggleAutomaticLinkDetection: + + + + 357 + + + + showHelp: + + + + 360 + + + + saveDocument: + + + + 362 + + + + saveDocumentAs: + + + + 363 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + newDocument: + + + + 373 + + + + openDocument: + + + + 374 + + + + addFontTrait: + + + + 421 + + + + addFontTrait: + + + + 422 + + + + modifyFont: + + + + 423 + + + + orderFrontFontPanel: + + + + 424 + + + + modifyFont: + + + + 425 + + + + raiseBaseline: + + + + 426 + + + + lowerBaseline: + + + + 427 + + + + copyFont: + + + + 428 + + + + subscript: + + + + 429 + + + + superscript: + + + + 430 + + + + tightenKerning: + + + + 431 + + + + underline: + + + + 432 + + + + orderFrontColorPanel: + + + + 433 + + + + useAllLigatures: + + + + 434 + + + + loosenKerning: + + + + 435 + + + + pasteFont: + + + + 436 + + + + unscript: + + + + 437 + + + + useStandardKerning: + + + + 438 + + + + useStandardLigatures: + + + + 439 + + + + turnOffLigatures: + + + + 440 + + + + turnOffKerning: + + + + 441 + + + + alignLeft: + + + + 442 + + + + alignJustified: + + + + 443 + + + + copyRuler: + + + + 444 + + + + alignCenter: + + + + 445 + + + + toggleRuler: + + + + 446 + + + + alignRight: + + + + 447 + + + + pasteRuler: + + + + 448 + + + + terminate: + + + + 449 + + + + delegate + + + + 457 + + + + toggleTestClientWindow: + + + + 461 + + + + toggleXMLParserWindow: + + + + 462 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + Main Menu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 103 + + + YES + + + + 1 + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + + + + + + + + + 75 + + + 3 + + + 80 + + + 8 + + + 78 + + + 6 + + + 72 + + + + + 82 + + + 9 + + + 124 + + + YES + + + + + + 77 + + + 5 + + + 73 + + + 1 + + + 79 + + + 7 + + + 112 + + + 10 + + + 74 + + + 2 + + + 125 + + + YES + + + + + + 126 + + + + + 205 + + + YES + + + + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 214 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 218 + + + YES + + + + + + 216 + + + YES + + + + + + 200 + + + YES + + + + + + + + + 219 + + + + + 201 + + + + + 204 + + + + + 220 + + + YES + + + + + + + + + + 213 + + + + + 210 + + + + + 221 + + + + + 208 + + + + + 209 + + + + + 106 + + + YES + + + + 2 + + + 111 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + 297 + + + + + 298 + + + + + 211 + + + YES + + + + + + 212 + + + YES + + + + + + + 195 + + + + + 196 + + + + + 346 + + + + + 348 + + + YES + + + + + + 349 + + + YES + + + + + + + + 350 + + + + + 351 + + + + + 354 + + + + + 375 + + + YES + + + + + + 376 + + + YES + + + + + + + 377 + + + YES + + + + + + 378 + + + YES + + + + + + 379 + + + YES + + + + + + + + + + + + + 380 + + + + + 381 + + + + + 382 + + + + + 383 + + + + + 384 + + + + + 385 + + + + + 386 + + + + + 387 + + + + + 388 + + + YES + + + + + + + + + + + + + + + + + + + + + 389 + + + + + 390 + + + + + 391 + + + + + 392 + + + + + 393 + + + + + 394 + + + + + 395 + + + + + 396 + + + + + 397 + + + YES + + + + + + 398 + + + YES + + + + + + 399 + + + YES + + + + + + 400 + + + + + 401 + + + + + 402 + + + + + 403 + + + + + 404 + + + + + 405 + + + YES + + + + + + + + + + 406 + + + + + 407 + + + + + 408 + + + + + 409 + + + + + 410 + + + + + 411 + + + YES + + + + + + + + 412 + + + + + 413 + + + + + 414 + + + + + 415 + + + YES + + + + + + + + + 416 + + + + + 417 + + + + + 418 + + + + + 419 + + + + + 420 + + + + + 450 + + + + + 451 + + + + + 455 + + + Application Controller + + + 458 + + + + + + + YES + + YES + -3.IBPluginDependency + 103.IBPluginDependency + 103.ImportedFromIB2 + 106.IBEditorWindowLastContentRect + 106.IBPluginDependency + 106.ImportedFromIB2 + 106.editorWindowContentRectSynchronizationRect + 111.IBPluginDependency + 111.ImportedFromIB2 + 112.IBPluginDependency + 112.ImportedFromIB2 + 124.IBPluginDependency + 124.ImportedFromIB2 + 125.IBPluginDependency + 125.ImportedFromIB2 + 125.editorWindowContentRectSynchronizationRect + 126.IBPluginDependency + 126.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 195.IBPluginDependency + 195.ImportedFromIB2 + 196.IBPluginDependency + 196.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 200.IBPluginDependency + 200.ImportedFromIB2 + 200.editorWindowContentRectSynchronizationRect + 201.IBPluginDependency + 201.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 204.IBPluginDependency + 204.ImportedFromIB2 + 205.IBEditorWindowLastContentRect + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 208.IBPluginDependency + 208.ImportedFromIB2 + 209.IBPluginDependency + 209.ImportedFromIB2 + 210.IBPluginDependency + 210.ImportedFromIB2 + 211.IBPluginDependency + 211.ImportedFromIB2 + 212.IBPluginDependency + 212.ImportedFromIB2 + 212.editorWindowContentRectSynchronizationRect + 213.IBPluginDependency + 213.ImportedFromIB2 + 214.IBPluginDependency + 214.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 216.IBPluginDependency + 216.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 218.IBPluginDependency + 218.ImportedFromIB2 + 219.IBPluginDependency + 219.ImportedFromIB2 + 220.IBPluginDependency + 220.ImportedFromIB2 + 220.editorWindowContentRectSynchronizationRect + 221.IBPluginDependency + 221.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBEditorWindowLastContentRect + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 346.IBPluginDependency + 346.ImportedFromIB2 + 348.IBPluginDependency + 348.ImportedFromIB2 + 349.IBPluginDependency + 349.ImportedFromIB2 + 349.editorWindowContentRectSynchronizationRect + 350.IBPluginDependency + 350.ImportedFromIB2 + 351.IBPluginDependency + 351.ImportedFromIB2 + 354.IBPluginDependency + 354.ImportedFromIB2 + 375.IBPluginDependency + 376.IBEditorWindowLastContentRect + 376.IBPluginDependency + 377.IBPluginDependency + 378.IBPluginDependency + 379.IBPluginDependency + 380.IBPluginDependency + 381.IBPluginDependency + 382.IBPluginDependency + 383.IBPluginDependency + 384.IBPluginDependency + 385.IBPluginDependency + 386.IBPluginDependency + 387.IBPluginDependency + 388.IBEditorWindowLastContentRect + 388.IBPluginDependency + 389.IBPluginDependency + 390.IBPluginDependency + 391.IBPluginDependency + 392.IBPluginDependency + 393.IBPluginDependency + 394.IBPluginDependency + 395.IBPluginDependency + 396.IBPluginDependency + 397.IBPluginDependency + 398.IBPluginDependency + 399.IBPluginDependency + 400.IBPluginDependency + 401.IBPluginDependency + 402.IBPluginDependency + 403.IBPluginDependency + 404.IBPluginDependency + 405.IBPluginDependency + 406.IBPluginDependency + 407.IBPluginDependency + 408.IBPluginDependency + 409.IBPluginDependency + 410.IBPluginDependency + 411.IBPluginDependency + 412.IBPluginDependency + 413.IBPluginDependency + 414.IBPluginDependency + 415.IBPluginDependency + 416.IBPluginDependency + 417.IBPluginDependency + 418.IBPluginDependency + 419.IBPluginDependency + 450.IBPluginDependency + 450.ImportedFromIB2 + 451.IBPluginDependency + 458.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 72.IBPluginDependency + 72.ImportedFromIB2 + 73.IBPluginDependency + 73.ImportedFromIB2 + 74.IBPluginDependency + 74.ImportedFromIB2 + 75.IBPluginDependency + 75.ImportedFromIB2 + 77.IBPluginDependency + 77.ImportedFromIB2 + 78.IBPluginDependency + 78.ImportedFromIB2 + 79.IBPluginDependency + 79.ImportedFromIB2 + 80.IBPluginDependency + 80.ImportedFromIB2 + 81.IBEditorWindowLastContentRect + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 82.IBPluginDependency + 82.ImportedFromIB2 + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{698, 824}, {183, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{596, 852}, {216, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{522, 812}, {146, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {275, 83}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{494, 604}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{187, 434}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {167, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {241, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{627, 724}, {197, 123}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{316, 847}, {443, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + {{604, 804}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{608, 612}, {215, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + {{538, 804}, {86, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{523, 2}, {178, 283}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{328, 664}, {212, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{452, 644}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + YES + + + + + YES + + + YES + + + + 462 + + + + YES + + TestClientApplicationController + NSObject + + YES + + YES + toggleTestClientWindow: + toggleXMLParserWindow: + + + YES + id + id + + + + IBProjectSource + TestClientApplicationController.h + + + + + YES + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSBrowser + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSBrowser.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSDocument + NSObject + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + id + id + id + id + id + id + + + + IBFrameworkSource + AppKit.framework/Headers/NSDocument.h + + + + NSDocument + + IBFrameworkSource + AppKit.framework/Headers/NSDocumentScripting.h + + + + NSDocumentController + NSObject + + YES + + YES + clearRecentDocuments: + newDocument: + openDocument: + saveAllDocuments: + + + YES + id + id + id + id + + + + IBFrameworkSource + AppKit.framework/Headers/NSDocumentController.h + + + + NSFontManager + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSMatrix + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSMatrix.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSMovieView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMovieView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSTableView + NSControl + + + + NSText + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + + 0 + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../../Test Client.xcodeproj + 3 + + diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientMainWindow.xib b/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientMainWindow.xib new file mode 100755 index 000000000..bc486b4d2 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientMainWindow.xib @@ -0,0 +1,1992 @@ + + + + 1050 + 10C540 + 740 + 1038.25 + 458.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 740 + + + YES + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + TestClientMainWindowController + + + FirstResponder + + + NSApplication + + + 3 + 2 + {{600, 416}, {500, 442}} + 880280576 + Test Client + NSWindow + + {3.40282e+38, 3.40282e+38} + + + 268 + + YES + + + 1284 + + {{20, 8}, {16, 16}} + + 28938 + 16 + 100 + + + + 260 + {{361, 296}, {125, 32}} + + YES + + 67239424 + 134217728 + Send Request + + LucidaGrande + 13 + 1044 + + + -2034876161 + 129 + + + + 200 + 25 + + + + + 268 + {{134, 400}, {346, 22}} + + YES + + -1804468671 + 268436480 + http://127.0.0.1:8080/ + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 268 + {{17, 343}, {112, 16}} + + YES + + 68288064 + 71304192 + Parameter: + + LucidaGrande + 12 + 16 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2ODY1AA + + + + 6 + System + controlTextColor + + + + + + + 268 + {{335, 344}, {148, 13}} + + YES + + 68288064 + 4195328 + Type: String + + LucidaGrande + 10 + 16 + + + + + + + + + 268 + {{17, 373}, {112, 16}} + + YES + + 68288064 + 71304192 + Method: + + + + + + + + + 268 + {{134, 340}, {196, 22}} + + YES + + -1804468671 + 268436480 + Hello World! + + + YES + + + + + + + 268 + {{134, 370}, {196, 22}} + + YES + + -1804468671 + 268436480 + Echo.echo + + + YES + + + + + + + 268 + {{17, 403}, {112, 16}} + + YES + + 68288064 + 71304192 + Request URL: + + + + + + + + + 12 + {{-8, 22}, {516, 268}} + + + YES + + 1 + + + 256 + + YES + + + 268 + + YES + + + 2304 + + YES + + + 2322 + {460, 14} + + + + + + + + + + + YES + + + 6 + + + + 460 + 1 + + + 12129 + 0 + + + + YES + + YES + NSBackgroundColor + NSColor + + + YES + + 6 + System + selectedTextBackgroundColor + + + + 6 + System + selectedTextColor + + + + + + + YES + + YES + NSColor + NSUnderline + + + YES + + 1 + MCAwIDEAA + + + + + + + 6 + {922, 1e+07} + {223, 0} + + + + {{1, 1}, {460, 200}} + + + + + + {4, -5} + 1 + + 4 + + + + -2147483392 + {{434, 1}, {15, 217}} + + + _doScroller: + 0.98750001192092896 + + + + -2147483392 + {{-100, -100}, {87, 18}} + + 1 + + _doScroller: + 1 + 0.94565218687057495 + + + {{17, 17}, {462, 202}} + + + 530 + + + + + + {{10, 33}, {496, 222}} + + + Request Body + + + + + 2 + + + 256 + + YES + + + 268 + + YES + + + 2304 + + YES + + + 2322 + {460, 14} + + + + + + + + + + + YES + + + 6 + + + + 460 + 1 + + + 12129 + 0 + + + + YES + + YES + NSBackgroundColor + NSColor + + + YES + + + + + + + YES + + YES + NSColor + NSUnderline + + + YES + + + + + + + 6 + {922, 1e+07} + {223, 0} + + + + {{1, 1}, {460, 200}} + + + + + + 4 + + + + -2147483392 + {{434, 1}, {15, 217}} + + + _doScroller: + 0.98750001192092896 + + + + -2147483392 + {{-100, -100}, {87, 18}} + + 1 + + _doScroller: + 1 + 0.94565218687057495 + + + {{17, 17}, {462, 202}} + + + 530 + + + + + + {{10, 33}, {496, 222}} + + Response Body + + + + + 3 + + + 256 + + YES + + + 4364 + + YES + + + 2304 + + YES + + + 4352 + {460, 200} + + YES + + + -2147483392 + {{444, 0}, {16, 17}} + + + YES + + type + 125 + 16 + 1000 + + 75628096 + 2048 + + + LucidaGrande + 11 + 3100 + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + + + + 67239488 + 2048 + Text Cell + + + + 6 + System + controlBackgroundColor + + + + + + + + value + 331 + 40 + 1000 + + 75628096 + 2048 + + + + + + + 67239488 + 2048 + Text Cell + + + + + + + + + 2 + 3 + + + 1 + MC45MDE5NjA3OTAyIDAuOTAxOTYwNzkwMiAwLjkwMTk2MDc5MDIAA + + 17 + 314572800 + + + 1 + 4 + 15 + 0 + NO + 0 + 12 + + + {{1, 1}, {460, 200}} + + + + + 4 + + + + -2147483392 + {{450, 1}, {15, 172}} + + + _doScroller: + 0.91978609561920166 + + + + -2147483392 + {{1, 173}, {449, 15}} + + 1 + + _doScroller: + 0.96506547927856445 + + + {{17, 17}, {462, 202}} + + + 562 + + + + QSAAAEEgAABBoAAAQaAAAA + + + {{10, 33}, {496, 222}} + + Parsed Response + + + + + + + 0 + YES + YES + + YES + + + + + + -2147483388 + {{41, 9}, {442, 13}} + + YES + + 68288064 + 4195328 + + + Active Connection: 00000000-0000-0000-000000000000 + + + + + + + + 12 + {{20, 311}, {339, 5}} + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + {500, 442} + + {{0, 0}, {1280, 1002}} + {3.40282e+38, 3.40282e+38} + + + + + YES + + + myProgressIndicator + + + + 42 + + + + myRequestURL + + + + 44 + + + + window + + + + 47 + + + + sendRequest: + + + + 53 + + + + initialFirstResponder + + + + 54 + + + + sendRequest: + + + + 55 + + + + myMethod + + + + 65 + + + + sendRequest: + + + + 66 + + + + nextKeyView + + + + 67 + + + + myParameter + + + + 76 + + + + nextKeyView + + + + 77 + + + + nextKeyView + + + + 78 + + + + sendRequest: + + + + 79 + + + + mySendRequest + + + + 103 + + + + myActiveConnection + + + + 136 + + + + myRequestBody + + + + 137 + + + + myResponseBody + + + + 151 + + + + myParsedResponse + + + + 152 + + + + dataSource + + + + 153 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + YES + + + + Test Client + + + 2 + + + YES + + + + + + + + + + + + + + + + + 4 + + + + + 6 + + + YES + + + + + + 27 + + + + + 70 + + + YES + + + + + + 73 + + + + + 74 + + + YES + + + + + + 75 + + + + + 8 + + + YES + + + + + + 21 + + + + + 63 + + + YES + + + + + + 64 + + + + + 9 + + + YES + + + + + + 20 + + + + + 50 + + + YES + + + + + + 51 + + + + + 109 + + + YES + + + + + + + + 110 + + + YES + + + + + + 111 + + + YES + + + + + + 112 + + + YES + + + + + + 113 + + + YES + + + + + + 122 + + + YES + + + + + + + + 123 + + + + + 124 + + + + + 125 + + + + + 126 + + + YES + + + + + + 127 + + + YES + + + + + + 71 + + + YES + + + + + + 72 + + + + + 134 + + + YES + + + + + + 135 + + + + + 139 + + + YES + + + + + + + + 140 + + + + + 141 + + + + + 142 + + + YES + + + + + + + 143 + + + YES + + + + + + 144 + + + YES + + + + + + 145 + + + + + 146 + + + + + 147 + + + YES + + + + + + + + 148 + + + + + 149 + + + + + 150 + + + + + 154 + + + + + + + YES + + YES + -3.IBPluginDependency + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.IBViewEditorWindowController.showingBoundsRectangles + 1.IBViewEditorWindowController.showingLayoutRectangles + 1.IBWindowTemplateEditedContentRect + 1.NSWindowTemplate.visibleAtLaunch + 1.editorWindowContentRectSynchronizationRect + 1.windowTemplate.maxSize + 109.IBAttributePlaceholdersKey + 109.IBPluginDependency + 110.IBPluginDependency + 111.IBPluginDependency + 112.IBPluginDependency + 113.IBPluginDependency + 122.IBPluginDependency + 123.IBPluginDependency + 124.IBPluginDependency + 125.IBPluginDependency + 126.IBPluginDependency + 127.IBPluginDependency + 134.IBPluginDependency + 135.IBPluginDependency + 139.IBPluginDependency + 140.IBPluginDependency + 141.IBPluginDependency + 142.IBPluginDependency + 143.IBPluginDependency + 144.IBPluginDependency + 145.IBPluginDependency + 146.IBPluginDependency + 147.IBPluginDependency + 148.IBPluginDependency + 149.IBPluginDependency + 150.IBPluginDependency + 154.IBPluginDependency + 2.IBPluginDependency + 20.IBPluginDependency + 21.IBPluginDependency + 27.IBPluginDependency + 4.IBPluginDependency + 50.IBPluginDependency + 51.IBPluginDependency + 6.IBPluginDependency + 63.IBPluginDependency + 64.IBPluginDependency + 70.IBPluginDependency + 71.IBPluginDependency + 72.IBPluginDependency + 73.IBPluginDependency + 74.IBPluginDependency + 75.IBPluginDependency + 8.IBPluginDependency + 9.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + {{521, 272}, {500, 442}} + com.apple.InterfaceBuilder.CocoaPlugin + + + {{521, 272}, {500, 442}} + + {{642, 270}, {480, 514}} + {3.40282e+38, 3.40282e+38} + + YES + + + YES + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 154 + + + + YES + + TestClientMainWindowController + NSWindowController + + YES + + YES + hideTestClientWindow: + sendRequest: + showTestClientWindow: + toggleTestClientWindow: + + + YES + id + id + id + id + + + + YES + + YES + myActiveConnection + myMethod + myParameter + myParsedResponse + myProgressIndicator + myRequestBody + myRequestURL + myResponseBody + mySendRequest + + + YES + NSTextField + NSTextField + NSTextField + NSOutlineView + NSProgressIndicator + NSTextView + NSTextField + NSTextView + NSButton + + + + IBProjectSource + TestClientMainWindowController.h + + + + + YES + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSBox + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSBox.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSOutlineView + NSTableView + + + + NSProgressIndicator + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSProgressIndicator.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSTabView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTabView.h + + + + NSTabViewItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTabViewItem.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableView + NSControl + + + + NSText + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + NSWindowController + NSResponder + + showWindow: + id + + + IBFrameworkSource + AppKit.framework/Headers/NSWindowController.h + + + + + 0 + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../../Test Client.xcodeproj + 3 + + diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientXMLParserWindow.xib b/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientXMLParserWindow.xib new file mode 100755 index 000000000..7eef35218 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Languages/English.lproj/TestClientXMLParserWindow.xib @@ -0,0 +1,1228 @@ + + + + 1050 + 10C540 + 740 + 1038.25 + 458.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 740 + + + YES + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + TestClientXMLParserWindowController + + + FirstResponder + + + NSApplication + + + 3 + 2 + {{196, 13}, {490, 497}} + 872416256 + XML Parser + NSWindow + + {3.40282e+38, 3.40282e+38} + + + 288 + + YES + + + 268 + {{380, 12}, {96, 32}} + + YES + + 67239424 + 134217728 + Parse + + LucidaGrande + 13 + 1044 + + + -2038284033 + 129 + + + 200 + 25 + + + + + 256 + + YES + + + 268 + + YES + + + 2304 + + YES + + + 2322 + + YES + + YES + Apple HTML pasteboard type + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + Apple URL pasteboard type + CorePasteboardFlavorType 0x6D6F6F76 + CorePasteboardFlavorType 0x75726C20 + NSColor pasteboard type + NSFilenamesPboardType + NSStringPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT RTFD pasteboard type + NeXT Rich Text Format v1.0 pasteboard type + NeXT TIFF v4.0 pasteboard type + NeXT font pasteboard type + NeXT ruler pasteboard type + WebURLsWithTitlesPboardType + public.url + + + {448, 14} + + + + + + + + + + + YES + + + 6 + + + + 448 + 1 + + + 12131 + 0 + + + 3 + MQA + + + YES + + YES + NSBackgroundColor + NSColor + + + YES + + 6 + System + selectedTextBackgroundColor + + 3 + MC42NjY2NjY2ODY1AA + + + + 6 + System + selectedTextColor + + 3 + MAA + + + + + + + YES + + YES + NSColor + NSUnderline + + + YES + + 1 + MCAwIDEAA + + + + + + + 6 + {922, 1e+07} + {223, 0} + + + + {{1, 1}, {448, 205}} + + + + + + {4, -5} + 1 + + 4 + + + + -2147483392 + {{434, 1}, {15, 217}} + + + _doScroller: + 0.98750001192092896 + + + + -2147483392 + {{-100, -100}, {87, 18}} + + 1 + + _doScroller: + 1 + 0.94565218687057495 + + + {450, 207} + + + 530 + + + + + + + 4364 + + YES + + + 2304 + + YES + + + 4352 + {448, 200} + + YES + + + -2147483392 + {{434, 0}, {16, 17}} + + + YES + + type + 125 + 16 + 1000 + + 75628096 + 2048 + + + LucidaGrande + 11 + 3100 + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + + + + 67239488 + 2048 + Text Cell + + + + 6 + System + controlBackgroundColor + + + + 6 + System + controlTextColor + + + + 3 + YES + + + + value + 319 + 40 + 1000 + + 75628096 + 2048 + + + + + + + 67239488 + 2048 + Text Cell + + + + + + 3 + YES + + + + 2 + 3 + + + 1 + MC45MDE5NjA3OTAyIDAuOTAxOTYwNzkwMiAwLjkwMTk2MDc5MDIAA + + 17 + 1119879168 + + + 1 + 4 + 15 + 0 + NO + 0 + 12 + + + {{1, 1}, {448, 200}} + + + + + 4 + + + + -2147483392 + {{434, 1}, {15, 185}} + + + _doScroller: + 0.9950249195098877 + + + + -2147483392 + {{1, 186}, {433, 15}} + + 1 + + _doScroller: + 0.99777281284332275 + + + {{0, 216}, {450, 202}} + + + 562 + + + + QSAAAEEgAABBoAAAQaAAAA + + + {{20, 59}, {450, 418}} + + + + {490, 497} + + {{0, 0}, {1280, 1002}} + {3.40282e+38, 3.40282e+38} + + + + + YES + + + window + + + + 3 + + + + myXML + + + + 28 + + + + parse: + + + + 29 + + + + dataSource + + + + 40 + + + + myParserResult + + + + 41 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + YES + + + + XML Parser + + + 2 + + + YES + + + + + + + 16 + + + YES + + + + + + 17 + + + + + 38 + + + YES + + + + + + + 24 + + + YES + + + + + + + + 27 + + + + + 26 + + + + + 25 + + + + + 30 + + + YES + + + + + + + + 33 + + + + + 32 + + + + + 31 + + + YES + + + + + + + 35 + + + YES + + + + + + 34 + + + YES + + + + + + 37 + + + + + 36 + + + + + + + YES + + YES + -3.IBPluginDependency + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.IBWindowTemplateEditedContentRect + 1.NSWindowTemplate.visibleAtLaunch + 16.IBPluginDependency + 17.IBPluginDependency + 2.IBPluginDependency + 24.IBPluginDependency + 25.IBPluginDependency + 26.IBPluginDependency + 27.IBPluginDependency + 30.IBPluginDependency + 31.IBPluginDependency + 32.IBPluginDependency + 33.IBPluginDependency + 34.IBPluginDependency + 35.IBPluginDependency + 36.IBPluginDependency + 37.IBPluginDependency + 38.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + {{431, 342}, {490, 497}} + com.apple.InterfaceBuilder.CocoaPlugin + {{431, 342}, {490, 497}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 43 + + + + YES + + TestClientXMLParserWindowController + NSWindowController + + YES + + YES + hideXMLParserWindow: + parse: + showXMLParserWindow: + toggleXMLParserWindow: + + + YES + id + id + id + id + + + + YES + + YES + myParsedObject + myParserResult + myXML + + + YES + id + NSOutlineView + NSTextView + + + + IBProjectSource + TestClientXMLParserWindowController.h + + + + + YES + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSOutlineView + NSTableView + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSSplitView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSSplitView.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableView + NSControl + + + + NSText + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSText.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSTextView + NSText + + IBFrameworkSource + AppKit.framework/Headers/NSTextView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + NSWindowController + NSResponder + + showWindow: + id + + + IBFrameworkSource + AppKit.framework/Headers/NSWindowController.h + + + + + 0 + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../../Test Client.xcodeproj + 3 + + diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/Test Client.xcodeproj/project.pbxproj b/Classes/Utils/XMLRPC/Tools/Test Client/Test Client.xcodeproj/project.pbxproj new file mode 100755 index 000000000..39e38edce --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/Test Client.xcodeproj/project.pbxproj @@ -0,0 +1,401 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 070043021144653D000D05B6 /* TestClient.xib in Resources */ = {isa = PBXBuildFile; fileRef = 070043001144653D000D05B6 /* TestClient.xib */; }; + 070043051144656D000D05B6 /* TestClientXMLParserWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 070043031144656D000D05B6 /* TestClientXMLParserWindow.xib */; }; + 0700430C11446593000D05B6 /* TestClientMainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0700430A11446593000D05B6 /* TestClientMainWindow.xib */; }; + 070043131144667B000D05B6 /* TestClientApplicationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0700430E1144667B000D05B6 /* TestClientApplicationController.m */; }; + 070043141144667B000D05B6 /* TestClientMainWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 070043101144667B000D05B6 /* TestClientMainWindowController.m */; }; + 070043151144667B000D05B6 /* TestClientXMLParserWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 070043121144667B000D05B6 /* TestClientXMLParserWindowController.m */; }; + 07E6DAB013679C6E00454D31 /* XMLRPC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07E6DAA513679B7600454D31 /* XMLRPC.framework */; }; + 07E6DAB213679F3000454D31 /* XMLRPC.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 07E6DAA513679B7600454D31 /* XMLRPC.framework */; }; + 2DC70E311004D90100BBEEA6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2DC70E2F1004D90100BBEEA6 /* InfoPlist.strings */; }; + 2DC70E381004D90F00BBEEA6 /* Common.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2DC70E321004D90F00BBEEA6 /* Common.xcconfig */; }; + 2DC70E391004D90F00BBEEA6 /* CommonDevelopment.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2DC70E331004D90F00BBEEA6 /* CommonDevelopment.xcconfig */; }; + 2DC70E3A1004D90F00BBEEA6 /* CommonRelease.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2DC70E341004D90F00BBEEA6 /* CommonRelease.xcconfig */; }; + 2DC70E3B1004D90F00BBEEA6 /* TestClientDevelopment.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2DC70E351004D90F00BBEEA6 /* TestClientDevelopment.xcconfig */; }; + 2DC70E3C1004D90F00BBEEA6 /* TestClientRelease.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2DC70E361004D90F00BBEEA6 /* TestClientRelease.xcconfig */; }; + 2DC70E3D1004D90F00BBEEA6 /* TestClient.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2DC70E371004D90F00BBEEA6 /* TestClient.xcconfig */; }; + 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 07E6DAB113679F1400454D31 /* Copy Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 07E6DAB213679F3000454D31 /* XMLRPC.framework in Copy Frameworks */, + ); + name = "Copy Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 070043011144653D000D05B6 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Languages/English.lproj/TestClient.xib; sourceTree = ""; }; + 070043041144656D000D05B6 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Languages/English.lproj/TestClientXMLParserWindow.xib; sourceTree = ""; }; + 0700430B11446593000D05B6 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Languages/English.lproj/TestClientMainWindow.xib; sourceTree = ""; }; + 0700430D1144667B000D05B6 /* TestClientApplicationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestClientApplicationController.h; sourceTree = ""; }; + 0700430E1144667B000D05B6 /* TestClientApplicationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestClientApplicationController.m; sourceTree = ""; }; + 0700430F1144667B000D05B6 /* TestClientMainWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestClientMainWindowController.h; sourceTree = ""; }; + 070043101144667B000D05B6 /* TestClientMainWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestClientMainWindowController.m; sourceTree = ""; }; + 070043111144667B000D05B6 /* TestClientXMLParserWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestClientXMLParserWindowController.h; sourceTree = ""; }; + 070043121144667B000D05B6 /* TestClientXMLParserWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestClientXMLParserWindowController.m; sourceTree = ""; }; + 0759A73511434C0D000DFE98 /* XMLRPCEventBasedParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLRPCEventBasedParser.h; path = ../../XMLRPCEventBasedParser.h; sourceTree = SOURCE_ROOT; }; + 0759A73C11434C3C000DFE98 /* XMLRPCEventBasedParserDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLRPCEventBasedParserDelegate.h; path = ../../XMLRPCEventBasedParserDelegate.h; sourceTree = SOURCE_ROOT; }; + 07E6DAA513679B7600454D31 /* XMLRPC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XMLRPC.framework; path = "../../../../../../Library/Developer/Xcode/DerivedData/XMLRPC-gcawxlhfrkyvgjeolligeasrfeux/Build/Products/Development/XMLRPC.framework"; sourceTree = ""; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 2DC70E301004D90100BBEEA6 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = Languages/English.lproj/InfoPlist.strings; sourceTree = ""; }; + 2DC70E321004D90F00BBEEA6 /* Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Common.xcconfig; path = Configurations/Common.xcconfig; sourceTree = ""; }; + 2DC70E331004D90F00BBEEA6 /* CommonDevelopment.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonDevelopment.xcconfig; path = Configurations/CommonDevelopment.xcconfig; sourceTree = ""; }; + 2DC70E341004D90F00BBEEA6 /* CommonRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonRelease.xcconfig; path = Configurations/CommonRelease.xcconfig; sourceTree = ""; }; + 2DC70E351004D90F00BBEEA6 /* TestClientDevelopment.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = TestClientDevelopment.xcconfig; path = Configurations/TestClientDevelopment.xcconfig; sourceTree = ""; }; + 2DC70E361004D90F00BBEEA6 /* TestClientRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = TestClientRelease.xcconfig; path = Configurations/TestClientRelease.xcconfig; sourceTree = ""; }; + 2DC70E371004D90F00BBEEA6 /* TestClient.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = TestClient.xcconfig; path = Configurations/TestClient.xcconfig; sourceTree = ""; }; + 32CA4F630368D1EE00C91783 /* TestClient.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestClient.pch; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* TestClient-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "TestClient-Info.plist"; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* Test Client.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Test Client.app"; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + 07E6DAB013679C6E00454D31 /* XMLRPC.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0759A75B11434CC8000DFE98 /* Private Headers */ = { + isa = PBXGroup; + children = ( + 0759A73511434C0D000DFE98 /* XMLRPCEventBasedParser.h */, + 0759A73C11434C3C000DFE98 /* XMLRPCEventBasedParserDelegate.h */, + ); + name = "Private Headers"; + sourceTree = ""; + }; + 080E96DDFE201D6D7F000001 /* Classes */ = { + isa = PBXGroup; + children = ( + 0700430D1144667B000D05B6 /* TestClientApplicationController.h */, + 0700430E1144667B000D05B6 /* TestClientApplicationController.m */, + 0700430F1144667B000D05B6 /* TestClientMainWindowController.h */, + 070043101144667B000D05B6 /* TestClientMainWindowController.m */, + 070043111144667B000D05B6 /* TestClientXMLParserWindowController.h */, + 070043121144667B000D05B6 /* TestClientXMLParserWindowController.m */, + ); + name = Classes; + sourceTree = ""; + }; + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + 07E6DAA513679B7600454D31 /* XMLRPC.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* Test Client.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* Test Client */ = { + isa = PBXGroup; + children = ( + 080E96DDFE201D6D7F000001 /* Classes */, + 0759A75B11434CC8000DFE98 /* Private Headers */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = "Test Client"; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 29B97316FDCFA39411CA2CEA /* main.m */, + 32CA4F630368D1EE00C91783 /* TestClient.pch */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 2DC70E201004D85400BBEEA6 /* Configurations */, + 2DC70E211004D85C00BBEEA6 /* Interface Builder */, + 2DC70E221004D86F00BBEEA6 /* Localized Strings */, + 2DC70E231004D87A00BBEEA6 /* Property Lists */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 2DC70E201004D85400BBEEA6 /* Configurations */ = { + isa = PBXGroup; + children = ( + 2DC70E321004D90F00BBEEA6 /* Common.xcconfig */, + 2DC70E331004D90F00BBEEA6 /* CommonDevelopment.xcconfig */, + 2DC70E341004D90F00BBEEA6 /* CommonRelease.xcconfig */, + 2DC70E351004D90F00BBEEA6 /* TestClientDevelopment.xcconfig */, + 2DC70E361004D90F00BBEEA6 /* TestClientRelease.xcconfig */, + 2DC70E371004D90F00BBEEA6 /* TestClient.xcconfig */, + ); + name = Configurations; + sourceTree = ""; + }; + 2DC70E211004D85C00BBEEA6 /* Interface Builder */ = { + isa = PBXGroup; + children = ( + 070043001144653D000D05B6 /* TestClient.xib */, + 0700430A11446593000D05B6 /* TestClientMainWindow.xib */, + 070043031144656D000D05B6 /* TestClientXMLParserWindow.xib */, + ); + name = "Interface Builder"; + sourceTree = ""; + }; + 2DC70E221004D86F00BBEEA6 /* Localized Strings */ = { + isa = PBXGroup; + children = ( + 2DC70E2F1004D90100BBEEA6 /* InfoPlist.strings */, + ); + name = "Localized Strings"; + sourceTree = ""; + }; + 2DC70E231004D87A00BBEEA6 /* Property Lists */ = { + isa = PBXGroup; + children = ( + 8D1107310486CEB800E47090 /* TestClient-Info.plist */, + ); + name = "Property Lists"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D1107260486CEB800E47090 /* Test Client */ = { + isa = PBXNativeTarget; + buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Test Client" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 07E6DAB113679F1400454D31 /* Copy Frameworks */, + 8D11072C0486CEB800E47090 /* Sources */, + 8D11072E0486CEB800E47090 /* Frameworks */, + 0759A72C11434B8D000DFE98 /* Run Script: Include Git commit hash */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Test Client"; + productInstallPath = "$(HOME)/Applications"; + productName = "XMLRPC Client"; + productReference = 8D1107320486CEB800E47090 /* Test Client.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Test Client" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + en, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* Test Client */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* Test Client */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2DC70E381004D90F00BBEEA6 /* Common.xcconfig in Resources */, + 2DC70E391004D90F00BBEEA6 /* CommonDevelopment.xcconfig in Resources */, + 2DC70E3A1004D90F00BBEEA6 /* CommonRelease.xcconfig in Resources */, + 2DC70E311004D90100BBEEA6 /* InfoPlist.strings in Resources */, + 2DC70E3D1004D90F00BBEEA6 /* TestClient.xcconfig in Resources */, + 070043021144653D000D05B6 /* TestClient.xib in Resources */, + 2DC70E3B1004D90F00BBEEA6 /* TestClientDevelopment.xcconfig in Resources */, + 0700430C11446593000D05B6 /* TestClientMainWindow.xib in Resources */, + 2DC70E3C1004D90F00BBEEA6 /* TestClientRelease.xcconfig in Resources */, + 070043051144656D000D05B6 /* TestClientXMLParserWindow.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 0759A72C11434B8D000DFE98 /* Run Script: Include Git commit hash */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script: Include Git commit hash"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /usr/bin/ruby; + shellScript = "raise \"Must be executed from within Xcode.\" unless ENV['XCODE_VERSION_ACTUAL']\n\ninfo_plist = \"#{ENV['BUILT_PRODUCTS_DIR']}/#{ENV['WRAPPER_NAME']}/Contents/Info.plist\"\n\nif !File.exist?('/usr/local/bin/git')\n exit\nend\n\ncommit = `/usr/local/bin/git rev-parse --short HEAD`.chomp!\n\nif commit.nil? or commit.empty?\n exit\nend\n\nlines = IO.readlines(info_plist).join\n\nlines.gsub! /(CFBundleShortVersionString<\\/key>\\n\\t)(\\d+\\.\\d+(?:\\.\\d)*[a-z])<\\/string>/, \"\\\\1\\\\2 rev. #{commit}\"\n\nFile.open(info_plist, 'w') { |f| f.puts lines }"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072D0486CEB800E47090 /* main.m in Sources */, + 070043131144667B000D05B6 /* TestClientApplicationController.m in Sources */, + 070043141144667B000D05B6 /* TestClientMainWindowController.m in Sources */, + 070043151144667B000D05B6 /* TestClientXMLParserWindowController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 070043001144653D000D05B6 /* TestClient.xib */ = { + isa = PBXVariantGroup; + children = ( + 070043011144653D000D05B6 /* English */, + ); + name = TestClient.xib; + sourceTree = ""; + }; + 070043031144656D000D05B6 /* TestClientXMLParserWindow.xib */ = { + isa = PBXVariantGroup; + children = ( + 070043041144656D000D05B6 /* English */, + ); + name = TestClientXMLParserWindow.xib; + sourceTree = ""; + }; + 0700430A11446593000D05B6 /* TestClientMainWindow.xib */ = { + isa = PBXVariantGroup; + children = ( + 0700430B11446593000D05B6 /* English */, + ); + name = TestClientMainWindow.xib; + sourceTree = ""; + }; + 2DC70E2F1004D90100BBEEA6 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 2DC70E301004D90100BBEEA6 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C01FCF4B08A954540054247B /* Development */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2DC70E351004D90F00BBEEA6 /* TestClientDevelopment.xcconfig */; + buildSettings = { + INFOPLIST_FILE = "TestClient-Info.plist"; + }; + name = Development; + }; + C01FCF4C08A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2DC70E361004D90F00BBEEA6 /* TestClientRelease.xcconfig */; + buildSettings = { + INFOPLIST_FILE = "TestClient-Info.plist"; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Development */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2DC70E331004D90F00BBEEA6 /* CommonDevelopment.xcconfig */; + buildSettings = { + }; + name = Development; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2DC70E341004D90F00BBEEA6 /* CommonRelease.xcconfig */; + buildSettings = { + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Test Client" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4B08A954540054247B /* Development */, + C01FCF4C08A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Test Client" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Development */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClient-Info.plist b/Classes/Utils/XMLRPC/Tools/Test Client/TestClient-Info.plist new file mode 100755 index 000000000..99b1457be --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClient-Info.plist @@ -0,0 +1,30 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + Test Client + CFBundleIconFile + + CFBundleIdentifier + com.divisiblebyzero.Test Client + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Test Client + CFBundlePackageType + APPL + CFBundleSignature + ZERO + CFBundleVersion + 100.0 + CFBundleShortVersionString + 1.0.0d + NSMainNibFile + TestClient + NSPrincipalClass + NSApplication + + diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClient.pch b/Classes/Utils/XMLRPC/Tools/Test Client/TestClient.pch new file mode 100755 index 000000000..564186ff6 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClient.pch @@ -0,0 +1,4 @@ +#ifdef __OBJC__ + #import + #import +#endif diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.h b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.h new file mode 100755 index 000000000..000d43cd6 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.h @@ -0,0 +1,11 @@ +#import + +@interface TestClientApplicationController : NSObject { + +} + +- (void)toggleTestClientWindow: (id)sender; + +- (void)toggleXMLParserWindow: (id)sender; + +@end diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.m b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.m new file mode 100755 index 000000000..cadfe8ba8 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientApplicationController.m @@ -0,0 +1,21 @@ +#import "TestClientApplicationController.h" +#import "TestClientMainWindowController.h" +#import "TestClientXMLParserWindowController.h" + +@implementation TestClientApplicationController + +- (void)applicationDidFinishLaunching: (NSNotification *)notification { + [self toggleTestClientWindow: self]; +} + +#pragma mark - + +- (void)toggleTestClientWindow: (id)sender { + [[TestClientMainWindowController sharedController] toggleTestClientWindow: self]; +} + +- (void)toggleXMLParserWindow: (id)sender { + [[TestClientXMLParserWindowController sharedController] toggleXMLParserWindow: self]; +} + +@end diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.h b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.h new file mode 100755 index 000000000..0f2374bda --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.h @@ -0,0 +1,48 @@ +#import + +@interface TestClientMainWindowController : NSWindowController { + XMLRPCResponse *myResponse; + IBOutlet NSTextField *myRequestURL; + IBOutlet NSTextField *myMethod; + IBOutlet NSTextField *myParameter; + IBOutlet NSProgressIndicator *myProgressIndicator; + IBOutlet NSTextField *myActiveConnection; + IBOutlet NSButton *mySendRequest; + IBOutlet NSTextView *myRequestBody; + IBOutlet NSTextView *myResponseBody; + IBOutlet NSOutlineView *myParsedResponse; +} + ++ (TestClientMainWindowController *)sharedController; + +#pragma mark - + +- (void)showTestClientWindow: (id)sender; + +- (void)hideTestClientWindow: (id)sender; + +#pragma mark - + +- (void)toggleTestClientWindow: (id)sender; + +#pragma mark - + +- (void)sendRequest: (id)sender; + +@end + +#pragma mark - + +@interface TestClientMainWindowController (XMLRPCConnectionDelegate) + +- (void)request: (XMLRPCRequest *)request didReceiveResponse: (XMLRPCResponse *)response; + +- (void)request: (XMLRPCRequest *)request didFailWithError: (NSError *)error; + +- (void)request: (XMLRPCRequest *)request didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; + +- (void)request: (XMLRPCRequest *)request didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; + +- (BOOL)request: (XMLRPCRequest *)request canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace; + +@end diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.m b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.m new file mode 100755 index 000000000..c4cefa125 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientMainWindowController.m @@ -0,0 +1,241 @@ +#import "TestClientMainWindowController.h" + +@implementation TestClientMainWindowController + +static TestClientMainWindowController *sharedInstance = nil; + +- (id)init { + if ((self = [super initWithWindowNibName: @"TestClientMainWindow"])) { + myResponse = nil; + } + + return self; +} + +#pragma mark - + ++ (id)allocWithZone: (NSZone *)zone { + @synchronized(self) { + if (!sharedInstance) { + sharedInstance = [super allocWithZone: zone]; + + return sharedInstance; + } + } + + return nil; +} + +#pragma mark - + ++ (TestClientMainWindowController *)sharedController { + @synchronized(self) { + if (!sharedInstance) { + [[self alloc] init]; + } + } + + return sharedInstance; +} + +#pragma mark - + +- (void)awakeFromNib { + [[self window] center]; +} + +#pragma mark - + +- (void)showTestClientWindow: (id)sender { + [self showWindow: sender]; +} + +- (void)hideTestClientWindow: (id)sender { + [self close]; +} + +#pragma mark - + +- (void)toggleTestClientWindow: (id)sender { + if ([[self window] isKeyWindow]) { + [self hideTestClientWindow: sender]; + } else { + [self showTestClientWindow: sender]; + } +} + +#pragma mark - + +- (void)sendRequest: (id)sender { + NSURL *URL = [NSURL URLWithString: [myRequestURL stringValue]]; + XMLRPCRequest *request = [[[XMLRPCRequest alloc] initWithURL: URL] autorelease]; + NSString *connectionIdentifier; + + [request setMethod: [myMethod stringValue] withParameter: [myParameter stringValue]]; + + [myProgressIndicator startAnimation: self]; + + [myRequestBody setString: [request body]]; + + connectionIdentifier = [[XMLRPCConnectionManager sharedManager] spawnConnectionWithXMLRPCRequest: request delegate: self]; + + [myActiveConnection setHidden: NO]; + + [myActiveConnection setStringValue: [NSString stringWithFormat: @"Active Connection: %@", connectionIdentifier]]; + + [mySendRequest setEnabled: NO]; +} + +#pragma mark - + +- (void)dealloc { + [myResponse release]; + + [super dealloc]; +} + +#pragma mark - + +#pragma mark Outline View Data Source Methods + +#pragma mark - + +- (id)outlineView: (NSOutlineView *)outlineView child: (NSInteger)index ofItem: (id)item { + if (item == nil) { + item = [myResponse object]; + } + + if ([item isKindOfClass: [NSDictionary class]]) { + return [item objectForKey: [[item allKeys] objectAtIndex: index]]; + } else if ([item isKindOfClass: [NSArray class]]) { + return [item objectAtIndex: index]; + } + + return item; +} + +- (BOOL)outlineView: (NSOutlineView *)outlineView isItemExpandable: (id)item { + if ([item isKindOfClass: [NSDictionary class]] || [item isKindOfClass: [NSArray class]]) { + if ([item count] > 0) { + return YES; + } + } + + return NO; +} + +- (NSInteger)outlineView: (NSOutlineView *)outlineView numberOfChildrenOfItem: (id)item { + if (item == nil) { + item = [myResponse object]; + } + + if ([item isKindOfClass: [NSDictionary class]] || [item isKindOfClass: [NSArray class]]) { + return [item count]; + } else if (item != nil) { + return 1; + } + + return 0; +} + +- (id)outlineView: (NSOutlineView *)outlineView objectValueForTableColumn: (NSTableColumn *)tableColumn byItem: (id)item { + NSString *columnIdentifier = (NSString *)[tableColumn identifier]; + + if ([columnIdentifier isEqualToString: @"type"]) { + id parentObject = [outlineView parentForItem: item] ? [outlineView parentForItem: item] : [myResponse object]; + + if ([parentObject isKindOfClass: [NSDictionary class]]) { + return [[parentObject allKeysForObject: item] objectAtIndex: 0]; + } else if ([parentObject isKindOfClass: [NSArray class]]) { + return [NSString stringWithFormat: @"Item %d", [parentObject indexOfObject: item]]; + } else if ([item isKindOfClass: [NSString class]]) { + return @"String"; + } else { + return @"Object"; + } + } else { + if ([item isKindOfClass: [NSDictionary class]] || [item isKindOfClass: [NSArray class]]) { + return [NSString stringWithFormat: @"%d items", [item count]]; + } else { + return item; + } + } + + return nil; +} + +#pragma mark - + +#pragma mark XMLRPC Connection Delegate Methods + +#pragma mark - + +- (void)request: (XMLRPCRequest *)request didReceiveResponse: (XMLRPCResponse *)response { + [myProgressIndicator stopAnimation: self]; + + [myActiveConnection setHidden: YES]; + + [mySendRequest setEnabled: YES]; + + if ([response isFault]) { + NSAlert *alert = [[[NSAlert alloc] init] autorelease]; + + [alert addButtonWithTitle: @"OK"]; + [alert setMessageText: @"The XML-RPC response returned a fault."]; + [alert setInformativeText: [NSString stringWithFormat: @"Fault String: %@", [response faultString]]]; + [alert setAlertStyle: NSCriticalAlertStyle]; + + [alert runModal]; + } else { + [response retain]; + + [myResponse release]; + + myResponse = response; + } + + [myParsedResponse reloadData]; + + [myResponseBody setString: [response body]]; +} + +- (void)request: (XMLRPCRequest *)request didFailWithError: (NSError *)error { + NSAlert *alert = [[[NSAlert alloc] init] autorelease]; + + [[NSApplication sharedApplication] requestUserAttention: NSCriticalRequest]; + + [alert addButtonWithTitle: @"OK"]; + [alert setMessageText: @"The request failed!"]; + [alert setInformativeText: @"The request failed to return a valid response."]; + [alert setAlertStyle: NSCriticalAlertStyle]; + + [alert runModal]; + + [myParsedResponse reloadData]; + + [myProgressIndicator stopAnimation: self]; + + [myActiveConnection setHidden: YES]; + + [mySendRequest setEnabled: YES]; +} + +- (void)request: (XMLRPCRequest *)request didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { + if ([challenge previousFailureCount] == 0) { + NSURLCredential *credential = [NSURLCredential credentialWithUser: @"user" password: @"password" persistence: NSURLCredentialPersistenceNone]; + + [[challenge sender] useCredential: credential forAuthenticationChallenge: challenge]; + } else { + [[challenge sender] cancelAuthenticationChallenge: challenge]; + } +} + +- (void)request: (XMLRPCRequest *)request didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { + +} + +- (BOOL)request: (XMLRPCRequest *)request canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace { + return NO; +} + +@end diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.h b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.h new file mode 100755 index 000000000..516d23365 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.h @@ -0,0 +1,25 @@ +#import + +@interface TestClientXMLParserWindowController : NSWindowController { + id myParsedObject; + IBOutlet NSTextView *myXML; + IBOutlet NSOutlineView *myParserResult; +} + ++ (TestClientXMLParserWindowController *)sharedController; + +#pragma mark - + +- (void)showXMLParserWindow: (id)sender; + +- (void)hideXMLParserWindow: (id)sender; + +#pragma mark - + +- (void)toggleXMLParserWindow: (id)sender; + +#pragma mark - + +- (void)parse: (id)sender; + +@end diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.m b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.m new file mode 100755 index 000000000..82a59aca1 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/TestClientXMLParserWindowController.m @@ -0,0 +1,215 @@ +#import "TestClientXMLParserWindowController.h" +#import "XMLRPCEventBasedParser.h" + +@interface TestClientXMLParserWindowController (TestClientXMLParserWindowControllerPrivate) + +- (NSString *)typeForItem: (id)item; + +@end + +#pragma mark - + +@implementation TestClientXMLParserWindowController + +static TestClientXMLParserWindowController *sharedInstance = nil; + +- (id)init { + if (self = [super initWithWindowNibName: @"TestClientXMLParserWindow"]) { + myParsedObject = nil; + } + + return self; +} + +#pragma mark - + ++ (id)allocWithZone: (NSZone *)zone { + @synchronized(self) { + if (!sharedInstance) { + sharedInstance = [super allocWithZone: zone]; + + return sharedInstance; + } + } + + return nil; +} + +#pragma mark - + ++ (TestClientXMLParserWindowController *)sharedController { + @synchronized(self) { + if (!sharedInstance) { + [[self alloc] init]; + } + } + + return sharedInstance; +} + +#pragma mark - + +- (void)awakeFromNib { + [[self window] center]; +} + +#pragma mark - + +- (void)showXMLParserWindow: (id)sender { + [self showWindow: sender]; +} + +- (void)hideXMLParserWindow: (id)sender { + [self close]; +} + +#pragma mark - + +- (void)toggleXMLParserWindow: (id)sender { + if ([[self window] isKeyWindow]) { + [self hideXMLParserWindow: sender]; + } else { + [self showXMLParserWindow: sender]; + } +} + +#pragma mark - + +- (void)parse: (id)sender { + NSData *data = [[myXML string] dataUsingEncoding: NSUTF8StringEncoding]; + XMLRPCEventBasedParser *parser = (XMLRPCEventBasedParser *)[[XMLRPCEventBasedParser alloc] initWithData: data]; + + if (!parser) { + NSAlert *alert = [[[NSAlert alloc] init] autorelease]; + + [alert addButtonWithTitle: @"OK"]; + [alert setMessageText: @"The parser encountered an error."]; + [alert setInformativeText: @"There was a problem creating the XML parser."]; + [alert setAlertStyle: NSCriticalAlertStyle]; + + [alert runModal]; + + return; + } + + [myParsedObject release]; + + myParsedObject = [[parser parse] retain]; + + NSError *parserError = [[[parser parserError] retain] autorelease]; + + [parser release]; + + if (!myParsedObject) { + NSAlert *alert = [[[NSAlert alloc] init] autorelease]; + + [alert addButtonWithTitle: @"OK"]; + [alert setMessageText: @"The parser encountered an error."]; + [alert setInformativeText: [parserError localizedDescription]]; + [alert setAlertStyle: NSCriticalAlertStyle]; + + [alert runModal]; + + return; + } + + [myParserResult reloadData]; +} + +#pragma mark - + +#pragma mark Outline View Data Source Methods + +#pragma mark - + +- (id)outlineView: (NSOutlineView *)outlineView child: (NSInteger)index ofItem: (id)item { + if (item == nil) { + item = myParsedObject; + } + + if ([item isKindOfClass: [NSDictionary class]]) { + return [item objectForKey: [[item allKeys] objectAtIndex: index]]; + } else if ([item isKindOfClass: [NSArray class]]) { + return [item objectAtIndex: index]; + } + + return item; +} + +- (BOOL)outlineView: (NSOutlineView *)outlineView isItemExpandable: (id)item { + if ([item isKindOfClass: [NSDictionary class]] || [item isKindOfClass: [NSArray class]]) { + if ([item count] > 0) { + return YES; + } + } + + return NO; +} + +- (NSInteger)outlineView: (NSOutlineView *)outlineView numberOfChildrenOfItem: (id)item { + if (item == nil) { + item = myParsedObject; + } + + if ([item isKindOfClass: [NSDictionary class]] || [item isKindOfClass: [NSArray class]]) { + return [item count]; + } else if (item != nil) { + return 1; + } + + return 0; +} + +- (id)outlineView: (NSOutlineView *)outlineView objectValueForTableColumn: (NSTableColumn *)tableColumn byItem: (id)item { + NSString *columnIdentifier = (NSString *)[tableColumn identifier]; + + if ([columnIdentifier isEqualToString: @"type"]) { + id parentObject = [outlineView parentForItem: item] ? [outlineView parentForItem: item] : myParsedObject; + + if ([parentObject isKindOfClass: [NSDictionary class]]) { + return [NSString stringWithFormat: @"\"%@\", %@", [[parentObject allKeysForObject: item] objectAtIndex: 0], [self typeForItem: item]]; + } else if ([parentObject isKindOfClass: [NSArray class]]) { + return [NSString stringWithFormat: @"Item %d, %@", [parentObject indexOfObject: item], [self typeForItem: item]]; + } else { + return [self typeForItem: item]; + } + } else { + if ([item isKindOfClass: [NSDictionary class]] || [item isKindOfClass: [NSArray class]]) { + return [NSString stringWithFormat: @"%d items", [item count]]; + } else { + return [NSString stringWithFormat: @"\"%@\"", item]; + } + } + + return nil; +} + +@end + +#pragma mark - + +@implementation TestClientXMLParserWindowController (TestClientXMLParserWindowControllerPrivate) + +- (NSString *)typeForItem: (id)item { + NSString *type; + + if ([item isKindOfClass: [NSArray class]]) { + type = @"Array"; + } else if ([item isKindOfClass: [NSDictionary class]]) { + type = @"Dictionary"; + } else if ([item isKindOfClass: [NSString class]]) { + type = @"String"; + } else if ([item isKindOfClass: [NSNumber class]]) { + type = @"Number"; + } else if ([item isKindOfClass: [NSDate class]]) { + type = @"Date"; + } else if ([item isKindOfClass: [NSData class]]) { + type = @"Data"; + } else { + type = @"Object"; + } + + return type; +} + +@end diff --git a/Classes/Utils/XMLRPC/Tools/Test Client/main.m b/Classes/Utils/XMLRPC/Tools/Test Client/main.m new file mode 100755 index 000000000..632c47ed0 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Client/main.m @@ -0,0 +1,5 @@ +#import + +int main(int argc, char *argv[]) { + return NSApplicationMain(argc, (const char **)argv); +} diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/README.md b/Classes/Utils/XMLRPC/Tools/Test Server/README.md new file mode 100755 index 000000000..b8c84b0ed --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/README.md @@ -0,0 +1,51 @@ +# The XML-RPC Test Server + +The XML-RPC test server is written in Java and utilizes the Apache XML-RPC server library. This test server can be useful when debugging problems with the XML-RPC framework. + +# Usage + +To start the server simply call Ant from the XML-RPC test server directory: + + $ ant + +This will invoke Ant with the default target. The default target will issue the following targets in the following order, the last target is the default invoked by Ant: + + - init + - compile + - pre-jar + - jar + - run + +These targets each play a role in building and running the Java project. The details of each target can be found in the Ant build script. + +Finally, the XML-RPC test server should now be running. To start the server simply click on the "Start" button. This will start the test server on port 8080, available for any incoming XML-RPC requests. + +## Creating XML-RPC server handlers + +The XML-RPC test server exposes XML-RPC methods through server handlers. Each server handler is simply a Java class that is registered with the Apache XML-RPC library. Here is an example of the Echo handler provided in the distribution: + + public class Echo { + public String echo(String message) { + return message; + } + } + +This handler simply takes a message provided in the XML-RPC request and returns it in the XML-RPC response. To register this handler with the XML-RPC server simply add it to the propertyHandlerMapping in Server.java: + + try { + propertyHandlerMapping.addHandler("Echo", Echo.class); + + this.embeddedXmlRpcServer.setHandlerMapping(propertyHandlerMapping); + } catch (Exception e) { + this.controlPanel.addLogMessage(e.getMessage()); + } + +The handler is now available to any incoming XML-RPC requests. + +# License + +Copyright (c) 2012 Eric Czarny. + +The Cocoa XML-RPC Framework should be accompanied by a LICENSE file, this file contains the license relevant to this distribution. + +If no LICENSE exists please contact Eric Czarny . diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/build.properties b/Classes/Utils/XMLRPC/Tools/Test Server/build.properties new file mode 100755 index 000000000..d87bc741d --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/build.properties @@ -0,0 +1,17 @@ +project.name = test-server +project.main = com.divisiblebyzero.xmlrpc.Application +project.base.directory = . +project.source.directory = ${project.base.directory}/src +project.libraries = commons-logging-1.1.1.jar log4j-1.2.15.jar ws-commons-util-1.0.2.jar xmlrpc-common-3.1.jar xmlrpc-server-3.1.jar + +build.directory = ${project.base.directory} +build.classes.directory = ${build.directory}/classes + +distribution.directory = ${project.base.directory}/lib +distribution.jar = ${distribution.directory}/${project.name}.jar + +resources.directory = ${project.base.directory}/resources + +jar.compress = true + +compiler.debug = true diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/build.xml b/Classes/Utils/XMLRPC/Tools/Test Server/build.xml new file mode 100755 index 000000000..494c7a583 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/build.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stub for project installation. + + + + + + + diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/lib/commons-logging-1.1.1.jar b/Classes/Utils/XMLRPC/Tools/Test Server/lib/commons-logging-1.1.1.jar new file mode 100755 index 0000000000000000000000000000000000000000..8758a96b70cfba9466bacca19c0d99b87cf53734 GIT binary patch literal 60841 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
    {@^= z#dJv%@%X>ez!qkL<$^8Ta>+I5`CqwyDB}W41Y3UNlE}{IKN9_OaG)@<*OvqjLjIND zr^^mj{rM6xJM>qGz-s%c7BuY8z>4)=^5{qWiU&rz7Zw^;TlNwf^~LW(|72IlhfyiL zgeHmlUFe@|2CyQQm(ZFqzYG0M(h_z+UG%U%y{<>G0nlTrO{4FP;WW`u}qK`u!mK@;)5) z-1_1u`j2*D9PxMKzn>-l9PDz>xd0pZHQ3L=|M{r;yRVs^!~=ipCM+22`)>!=mqUsC mzf*kJ$Jk2_fNyjEB|~A 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 z≫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

    sl*CtvD7j$_;?KD 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

    {0o23%x0zG^lL-+)0hE&z$21eha>paa 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 LL+IIXJH`J1EdB>a literal 0 HcmV?d00001 diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/lib/ws-commons-util-1.0.2.jar b/Classes/Utils/XMLRPC/Tools/Test Server/lib/ws-commons-util-1.0.2.jar new file mode 100755 index 0000000000000000000000000000000000000000..3fc364e7f605b580850530c281998a1f861cc0c5 GIT binary patch literal 34407 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 G0R4YsfpO>n literal 0 HcmV?d00001 diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/resources/handlers.properties b/Classes/Utils/XMLRPC/Tools/Test Server/resources/handlers.properties new file mode 100755 index 000000000..0f32a8e80 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/resources/handlers.properties @@ -0,0 +1,5 @@ +# +# XML-RPC Server Handlers +# + +Echo=com.divisiblebyzero.xmlrpc.model.handlers.Echo diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/resources/log4j.xml b/Classes/Utils/XMLRPC/Tools/Test Server/resources/log4j.xml new file mode 100755 index 000000000..f1e19c3d7 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/resources/log4j.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/server.sh b/Classes/Utils/XMLRPC/Tools/Test Server/server.sh new file mode 100755 index 000000000..d23346a72 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/server.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +java -jar lib/test-server.jar $* diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/Application.java b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/Application.java new file mode 100755 index 000000000..c8ff3dfff --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/Application.java @@ -0,0 +1,25 @@ +package com.divisiblebyzero.xmlrpc; + +import javax.swing.UIManager; + +import org.apache.log4j.Logger; + +import com.divisiblebyzero.xmlrpc.view.XmlRpcServerControlPanel; + +class Application { + private static Logger logger = Logger.getLogger(Application.class); + + private Application() { + new XmlRpcServerControlPanel(); + } + + public static void main(String args[]) { + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e) { + logger.error("Unable to modify application look and feel."); + } + + new Application(); + } +} diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/controller/XmlRpcServerControlPanelController.java b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/controller/XmlRpcServerControlPanelController.java new file mode 100755 index 000000000..043f718f9 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/controller/XmlRpcServerControlPanelController.java @@ -0,0 +1,67 @@ +package com.divisiblebyzero.xmlrpc.controller; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import com.divisiblebyzero.xmlrpc.model.Server; +import com.divisiblebyzero.xmlrpc.view.XmlRpcServerControlPanel; + +public class XmlRpcServerControlPanelController implements ActionListener { + private XmlRpcServerControlPanel controlPanel; + private Server xmlRpcServer; + + public XmlRpcServerControlPanelController(XmlRpcServerControlPanel controlPanel) { + this.controlPanel = controlPanel; + this.xmlRpcServer = new Server(this.controlPanel); + } + + public void actionPerformed(ActionEvent actionEvent) { + String actionCommand = actionEvent.getActionCommand(); + + if (actionCommand.equals("Start")) { + this.startXmlRpcServer(); + } else if (actionCommand.equals("Stop")) { + this.stopXmlRpcServer(); + } else if (actionCommand.equals("Restart")) { + this.restartXmlRpcServer(); + } + + this.controlPanel.refreshControls(); + } + + public boolean isXmlRpcServerRunning() { + return this.xmlRpcServer.isRunning(); + } + + private void startXmlRpcServer() { + this.controlPanel.addLogMessage("Starting the XML-RPC server."); + + this.xmlRpcServer.startEmbeddedWebServer(); + } + + private void stopXmlRpcServer() { + if (this.xmlRpcServer == null) { + this.controlPanel.addLogMessage("Unable to stop the XML-RPC server, none could be found."); + + return; + } + + this.controlPanel.addLogMessage("Stopping the XML-RPC server."); + + this.xmlRpcServer.stopEmbeddedWebServer(); + } + + private void restartXmlRpcServer() { + if (this.xmlRpcServer == null) { + this.controlPanel.addLogMessage("Unable to restart the XML-RPC server, none could be found."); + + return; + } + + this.controlPanel.addLogMessage("Restarting the XML-RPC server."); + + this.xmlRpcServer.stopEmbeddedWebServer(); + + this.xmlRpcServer.startEmbeddedWebServer(); + } +} diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/Server.java b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/Server.java new file mode 100755 index 000000000..8704bf214 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/Server.java @@ -0,0 +1,60 @@ +package com.divisiblebyzero.xmlrpc.model; + +import com.divisiblebyzero.xmlrpc.view.XmlRpcServerControlPanel; + +import org.apache.xmlrpc.server.PropertyHandlerMapping; +import org.apache.xmlrpc.server.XmlRpcServer; +import org.apache.xmlrpc.webserver.WebServer; + +public class Server { + private static final int port = 8080; + private WebServer embeddedWebServer; + private XmlRpcServer embeddedXmlRpcServer; + private boolean running; + private XmlRpcServerControlPanel controlPanel; + + public Server(XmlRpcServerControlPanel controlPanel) { + this.embeddedWebServer = new WebServer(Server.port); + this.embeddedXmlRpcServer = this.embeddedWebServer.getXmlRpcServer(); + this.running = false; + this.controlPanel = controlPanel; + + PropertyHandlerMapping propertyHandlerMapping = new PropertyHandlerMapping(); + + try { + propertyHandlerMapping.load(Thread.currentThread().getContextClassLoader(), "handlers.properties"); + } catch (Exception e) { + this.controlPanel.addLogMessage(e.getMessage()); + } + + this.embeddedXmlRpcServer.setHandlerMapping(propertyHandlerMapping); + } + + public void startEmbeddedWebServer() { + try { + this.embeddedWebServer.start(); + + this.controlPanel.addLogMessage("The XML-RPC server has been started on port " + Server.port + "."); + } catch (Exception e) { + this.controlPanel.addLogMessage(e.getMessage()); + } + + this.running = true; + } + + public void stopEmbeddedWebServer() { + try { + this.embeddedWebServer.shutdown(); + + this.controlPanel.addLogMessage("The XML-RPC server has been stopped."); + } catch (Exception e) { + this.controlPanel.addLogMessage(e.getMessage()); + } + + this.running = false; + } + + public boolean isRunning() { + return this.running; + } +} diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/handlers/Echo.java b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/handlers/Echo.java new file mode 100755 index 000000000..852f6102b --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/model/handlers/Echo.java @@ -0,0 +1,7 @@ +package com.divisiblebyzero.xmlrpc.model.handlers; + +public class Echo { + public String echo(String message) { + return message; + } +} diff --git a/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/view/XmlRpcServerControlPanel.java b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/view/XmlRpcServerControlPanel.java new file mode 100755 index 000000000..c40779024 --- /dev/null +++ b/Classes/Utils/XMLRPC/Tools/Test Server/src/com/divisiblebyzero/xmlrpc/view/XmlRpcServerControlPanel.java @@ -0,0 +1,155 @@ +package com.divisiblebyzero.xmlrpc.view; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Toolkit; + +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextPane; + +import com.divisiblebyzero.xmlrpc.controller.XmlRpcServerControlPanelController; + +public class XmlRpcServerControlPanel extends JFrame { + private static final long serialVersionUID = -7835812670356078909L; + private XmlRpcServerControlPanelController xmlRpcServerControlPanelController; + private JTextPane logMessageTextPane; + private JButton startButton; + private JButton stopButton; + private JButton restartButton; + + public XmlRpcServerControlPanel() { + super("Control Panel"); + + this.xmlRpcServerControlPanelController = new XmlRpcServerControlPanelController(this); + + int x = Toolkit.getDefaultToolkit().getScreenSize().width; + int y = Toolkit.getDefaultToolkit().getScreenSize().height; + + int width, height; + + width = 500; + height = 500; + + this.setBounds(((x - (width)) / 2), ((y - (height)) / 2) - (height / 4), width, height); + + this.setResizable(false); + + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + this.initialize(); + + this.setVisible(true); + } + + private void initialize() { + Container container = this.getContentPane(); + + container.setLayout(new BorderLayout()); + + /* North Panel */ + container.add(new JPanel(), BorderLayout.NORTH); + + /* East Panel */ + container.add(new JPanel(), BorderLayout.EAST); + + /* Center Panel */ + JPanel center = new JPanel(); + center.setBorder(BorderFactory.createTitledBorder(" " + "Server Log" + " ")); + + this.logMessageTextPane = new JTextPane(); + + this.logMessageTextPane.setEditable(false); + this.logMessageTextPane.setBackground(Color.WHITE); + this.logMessageTextPane.setFont(new Font("Monospaced", Font.PLAIN, 12)); + + this.logMessageTextPane.setText("Server awaiting action..."); + + JScrollPane scrollableTextPane = new JScrollPane(this.logMessageTextPane); + scrollableTextPane.setBorder(BorderFactory.createLineBorder(Color.GRAY)); + scrollableTextPane.setPreferredSize(new Dimension(435, 374)); + + center.add(scrollableTextPane); + + container.add(center, BorderLayout.CENTER); + + /* South Panel */ + container.add(this.createSouthernPanel(), BorderLayout.SOUTH); + + /* West Panel */ + container.add(new JPanel(), BorderLayout.WEST); + } + + private JPanel createSouthernPanel() { + JPanel south = new JPanel(); + + south.setPreferredSize(new Dimension(425, 47)); + + /* Start & Stop Panel */ + JPanel startAndStopPanel = new JPanel(); + + startButton = new JButton("Start"); + + startButton.setPreferredSize(new Dimension(85, 25)); + startButton.addActionListener(this.xmlRpcServerControlPanelController); + + startAndStopPanel.add(startButton); + + startAndStopPanel.add(new JLabel(" / ")); + + stopButton = new JButton("Stop"); + + stopButton.setPreferredSize(new Dimension(85, 25)); + stopButton.addActionListener(this.xmlRpcServerControlPanelController); + + startAndStopPanel.add(stopButton); + + south.add(startAndStopPanel); + + JPanel padding = new JPanel(); + padding.setPreferredSize(new Dimension(150, 25)); + + south.add(padding); + + /* Restart Panel */ + JPanel restartPanel = new JPanel(); + + restartButton = new JButton("Restart"); + + restartButton.setPreferredSize(new Dimension(95, 25)); + restartButton.addActionListener(this.xmlRpcServerControlPanelController); + + restartPanel.add(restartButton); + + south.add(restartPanel); + + this.refreshControls(); + + return south; + } + + public void addLogMessage(String message) { + String existingLogMessages = this.logMessageTextPane.getText() + "\n"; + + this.logMessageTextPane.setText(existingLogMessages + message); + } + + public void refreshControls() { + if (this.xmlRpcServerControlPanelController.isXmlRpcServerRunning()) { + this.startButton.setEnabled(false); + this.stopButton.setEnabled(true); + this.restartButton.setEnabled(true); + } else { + this.startButton.setEnabled(true); + this.stopButton.setEnabled(false); + this.restartButton.setEnabled(false); + } + } +} diff --git a/Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.h b/Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.h new file mode 100755 index 000000000..36d87abde --- /dev/null +++ b/Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.h @@ -0,0 +1,9 @@ +#import + +@interface XMLRPCParserTest : SenTestCase { + NSDictionary *myTestCases; +} + +- (void)testEventBasedParser; + +@end diff --git a/Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.m b/Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.m new file mode 100755 index 000000000..45cbb48c8 --- /dev/null +++ b/Classes/Utils/XMLRPC/Unit Tests/XMLRPCParserTest.m @@ -0,0 +1,150 @@ +#import "XMLRPCParserTest.h" +#import "XMLRPCEventBasedParser.h" + +@interface XMLRPCParserTest (XMLRPCParserTestPrivate) + +- (NSBundle *)unitTestBundle; + +#pragma mark - + +- (NSDictionary *)testCases; + +#pragma mark - + +- (BOOL)parsedResult: (id)parsedResult isEqualToTestCaseResult: (id)testCaseResult; + +#pragma mark - + +- (BOOL)parsedResult: (id)parsedResult isEqualToArray: (NSArray *)array; + +- (BOOL)parsedResult: (id)parsedResult isEqualToDictionary: (NSDictionary *)dictionary; + +@end + +#pragma mark - + +@implementation XMLRPCParserTest + +- (void)setUp { + myTestCases = [[self testCases] retain]; +} + +#pragma mark - + +- (void)testEventBasedParser { + NSEnumerator *testCaseEnumerator = [myTestCases keyEnumerator]; + id testCaseName; + + while (testCaseName = [testCaseEnumerator nextObject]) { + NSString *testCase = [[self unitTestBundle] pathForResource: testCaseName ofType: @"xml"]; + NSData *testCaseData =[[[NSData alloc] initWithContentsOfFile: testCase] autorelease]; + XMLRPCEventBasedParser *parser = [[[XMLRPCEventBasedParser alloc] initWithData: testCaseData] autorelease]; + id testCaseResult = [myTestCases objectForKey: testCaseName]; + id parsedResult = [parser parse]; + + STAssertTrue([self parsedResult: parsedResult isEqualToTestCaseResult: testCaseResult], @"The test case failed: %@", testCaseName); + } +} + +#pragma mark - + +- (void)tearDown { + [myTestCases release]; +} + +@end + +#pragma mark - + +@implementation XMLRPCParserTest (XMLRPCParserTestPrivate) + +- (NSBundle *)unitTestBundle { + return [NSBundle bundleForClass: [XMLRPCParserTest class]]; +} + +#pragma mark - + +- (NSDictionary *)testCases { + NSString *file = [[self unitTestBundle] pathForResource: @"TestCases" ofType: @"plist"]; + NSDictionary *testCases = [[[NSDictionary alloc] initWithContentsOfFile: file] autorelease]; + + return testCases; +} + +#pragma mark - + +- (BOOL)parsedResult: (id)parsedResult isEqualToTestCaseResult: (id)testCaseResult { + if ([testCaseResult isKindOfClass: [NSArray class]]) { + return [self parsedResult: parsedResult isEqualToArray: testCaseResult]; + } else if ([testCaseResult isKindOfClass: [NSDictionary class]]) { + return [self parsedResult: parsedResult isEqualToDictionary: testCaseResult]; + } + + if ([testCaseResult isKindOfClass: [NSNumber class]]) { + return [parsedResult isEqualToNumber: testCaseResult]; + } else if ([testCaseResult isKindOfClass: [NSString class]]) { + return [parsedResult isEqualToString: testCaseResult]; + } else if ([testCaseResult isKindOfClass: [NSDate class]]) { + return [parsedResult isEqualToDate: testCaseResult]; + } else if ([testCaseResult isKindOfClass: [NSData class]]) { + return [parsedResult isEqualToData: testCaseResult]; + } + + return YES; +} + +#pragma mark - + +- (BOOL)parsedResult: (id)parsedResult isEqualToArray: (NSArray *)array { + NSEnumerator *arrayEnumerator = [array objectEnumerator]; + id arrayElement; + + if (![parsedResult isKindOfClass: [NSArray class]]) { + return NO; + } + + if ([parsedResult count] != [array count]) { + return NO; + } + + if ([parsedResult isEqualToArray: array]) { + return YES; + } + + while (arrayElement = [arrayEnumerator nextObject]) { + NSInteger index = [array indexOfObject: arrayElement]; + + if (![self parsedResult: [parsedResult objectAtIndex: index] isEqualToTestCaseResult: arrayElement]) { + return NO; + } + } + + return YES; +} + +- (BOOL)parsedResult: (id)parsedResult isEqualToDictionary: (NSDictionary *)dictionary { + NSEnumerator *keyEnumerator = [dictionary keyEnumerator]; + id key; + + if (![parsedResult isKindOfClass: [NSDictionary class]]) { + return NO; + } + + if ([parsedResult count] != [dictionary count]) { + return NO; + } + + if ([parsedResult isEqualToDictionary: dictionary]) { + return YES; + } + + while (key = [keyEnumerator nextObject]) { + if (![self parsedResult: [parsedResult objectForKey: key] isEqualToTestCaseResult: [dictionary objectForKey: key]]) { + return NO; + } + } + + return YES; +} + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPC.h b/Classes/Utils/XMLRPC/XMLRPC.h new file mode 100755 index 000000000..d5ded9b67 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPC.h @@ -0,0 +1,5 @@ +#import +#import +#import +#import +#import diff --git a/Classes/Utils/XMLRPC/XMLRPC.pch b/Classes/Utils/XMLRPC/XMLRPC.pch new file mode 100755 index 000000000..60070a9c9 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPC.pch @@ -0,0 +1,3 @@ +#ifdef __OBJC__ + #import +#endif diff --git a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj new file mode 100755 index 000000000..7e2cae629 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj @@ -0,0 +1,931 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 033836831527905D00EF8E8A /* NSData+Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 033836811527905D00EF8E8A /* NSData+Base64.h */; }; + 033836841527905D00EF8E8A /* NSData+Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 033836811527905D00EF8E8A /* NSData+Base64.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 033836851527905D00EF8E8A /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 033836821527905D00EF8E8A /* NSData+Base64.m */; }; + 033836861527905D00EF8E8A /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 033836821527905D00EF8E8A /* NSData+Base64.m */; }; + 0707047810114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0707047610114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h */; }; + 0707047910114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0707047710114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m */; }; + 07075BAE10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07075BAD10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml */; }; + 07452BE30E469C9000A57686 /* XMLRPCConnectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07452BE20E469C9000A57686 /* XMLRPCConnectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 075137FB0E429E560019E4F6 /* XMLRPCConnectionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 075137F90E429E560019E4F6 /* XMLRPCConnectionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 075137FC0E429E560019E4F6 /* XMLRPCConnectionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 075137FA0E429E560019E4F6 /* XMLRPCConnectionManager.m */; }; + 0759A6F31143495E000DFE98 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0759A6F11143495E000DFE98 /* InfoPlist.strings */; }; + 0799AF270F6724E300B71B22 /* XMLRPC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */; }; + 0799AF5E0F67266400B71B22 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0799AF5D0F67266400B71B22 /* SenTestingKit.framework */; }; + 07A0A9071016A51000CEE3C7 /* EmptyBooleanTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9021016A51000CEE3C7 /* EmptyBooleanTestCase.xml */; }; + 07A0A9081016A51000CEE3C7 /* EmptyDataTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9031016A51000CEE3C7 /* EmptyDataTestCase.xml */; }; + 07A0A9091016A51000CEE3C7 /* EmptyDoubleTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9041016A51000CEE3C7 /* EmptyDoubleTestCase.xml */; }; + 07A0A90A1016A51000CEE3C7 /* EmptyIntegerTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9051016A51000CEE3C7 /* EmptyIntegerTestCase.xml */; }; + 07A0A90B1016A51000CEE3C7 /* EmptyStringTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9061016A51000CEE3C7 /* EmptyStringTestCase.xml */; }; + 07B0C6070E33A659006453B4 /* NSStringAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5F80E33A659006453B4 /* NSStringAdditions.h */; }; + 07B0C6080E33A659006453B4 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C5F90E33A659006453B4 /* NSStringAdditions.m */; }; + 07B0C6090E33A659006453B4 /* XMLRPC.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FA0E33A659006453B4 /* XMLRPC.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07B0C60A0E33A659006453B4 /* XMLRPCConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FB0E33A659006453B4 /* XMLRPCConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07B0C60B0E33A659006453B4 /* XMLRPCConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C5FC0E33A659006453B4 /* XMLRPCConnection.m */; }; + 07B0C60E0E33A659006453B4 /* XMLRPCDefaultEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FF0E33A659006453B4 /* XMLRPCDefaultEncoder.h */; }; + 07B0C60F0E33A659006453B4 /* XMLRPCDefaultEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6000E33A659006453B4 /* XMLRPCDefaultEncoder.m */; }; + 07B0C6100E33A659006453B4 /* XMLRPCRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6010E33A659006453B4 /* XMLRPCRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07B0C6110E33A659006453B4 /* XMLRPCRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6020E33A659006453B4 /* XMLRPCRequest.m */; }; + 07B0C6120E33A659006453B4 /* XMLRPCResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6030E33A659006453B4 /* XMLRPCResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07B0C6130E33A659006453B4 /* XMLRPCResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6040E33A659006453B4 /* XMLRPCResponse.m */; }; + 07B0C6170E33A672006453B4 /* XMLRPC.pch in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6160E33A672006453B4 /* XMLRPC.pch */; }; + 07B52BE7101004670015AD8B /* SimpleArrayTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07B52BE5101004670015AD8B /* SimpleArrayTestCase.xml */; }; + 07B52BE8101004670015AD8B /* SimpleStructTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07B52BE6101004670015AD8B /* SimpleStructTestCase.xml */; }; + 07B52BEA101004810015AD8B /* TestCases.plist in Resources */ = {isa = PBXBuildFile; fileRef = 07B52BE9101004810015AD8B /* TestCases.plist */; }; + 07B52C03101008670015AD8B /* XMLRPCParserTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B52C02101008670015AD8B /* XMLRPCParserTest.m */; }; + 07BB09891316B65A00E1911C /* DefaultTypeTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07BB09881316B65A00E1911C /* DefaultTypeTestCase.xml */; }; + 07E761001011788B00E9BDEE /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; + 07EF453B0E721A5D009F2708 /* XMLRPCEventBasedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 07EF45390E721A5D009F2708 /* XMLRPCEventBasedParser.h */; }; + 07EF453C0E721A5D009F2708 /* XMLRPCEventBasedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 07EF453A0E721A5D009F2708 /* XMLRPCEventBasedParser.m */; }; + 2DCADEDB1529E24300B47A4F /* XMLRPCEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DCADED91529E06900B47A4F /* XMLRPCEncoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; + 903B0DC212F7581200BD6E09 /* NSStringAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5F80E33A659006453B4 /* NSStringAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DC312F7581200BD6E09 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C5F90E33A659006453B4 /* NSStringAdditions.m */; }; + 903B0DC412F7581200BD6E09 /* XMLRPCConnectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07452BE20E469C9000A57686 /* XMLRPCConnectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DC512F7581200BD6E09 /* XMLRPC.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FA0E33A659006453B4 /* XMLRPC.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DC612F7581200BD6E09 /* XMLRPCConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FB0E33A659006453B4 /* XMLRPCConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DC712F7581200BD6E09 /* XMLRPCConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C5FC0E33A659006453B4 /* XMLRPCConnection.m */; }; + 903B0DC812F7581200BD6E09 /* XMLRPCConnectionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 075137F90E429E560019E4F6 /* XMLRPCConnectionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DC912F7581200BD6E09 /* XMLRPCConnectionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 075137FA0E429E560019E4F6 /* XMLRPCConnectionManager.m */; }; + 903B0DCA12F7581200BD6E09 /* XMLRPCDefaultEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FF0E33A659006453B4 /* XMLRPCDefaultEncoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DCB12F7581200BD6E09 /* XMLRPCDefaultEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6000E33A659006453B4 /* XMLRPCDefaultEncoder.m */; }; + 903B0DCC12F7581200BD6E09 /* XMLRPCEventBasedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 07EF45390E721A5D009F2708 /* XMLRPCEventBasedParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DCD12F7581200BD6E09 /* XMLRPCEventBasedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 07EF453A0E721A5D009F2708 /* XMLRPCEventBasedParser.m */; }; + 903B0DCE12F7581200BD6E09 /* XMLRPCEventBasedParserDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0707047610114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DCF12F7581200BD6E09 /* XMLRPCEventBasedParserDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0707047710114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m */; }; + 903B0DD012F7581200BD6E09 /* XMLRPCRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6010E33A659006453B4 /* XMLRPCRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DD112F7581200BD6E09 /* XMLRPCRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6020E33A659006453B4 /* XMLRPCRequest.m */; }; + 903B0DD212F7581200BD6E09 /* XMLRPCResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6030E33A659006453B4 /* XMLRPCResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 903B0DD312F7581200BD6E09 /* XMLRPCResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6040E33A659006453B4 /* XMLRPCResponse.m */; }; + 903B0DD412F7581F00BD6E09 /* XMLRPC.pch in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6160E33A672006453B4 /* XMLRPC.pch */; settings = {ATTRIBUTES = (Public, ); }; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 0799AF180F67240B00B71B22 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8DC2EF4F0486A6940098B216; + remoteInfo = XMLRPC; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 033836811527905D00EF8E8A /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Base64.h"; sourceTree = ""; }; + 033836821527905D00EF8E8A /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Base64.m"; sourceTree = ""; }; + 0707047610114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCEventBasedParserDelegate.h; sourceTree = ""; }; + 0707047710114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCEventBasedParserDelegate.m; sourceTree = ""; }; + 07075BAD10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = AlternativeDateFormatsTestCase.xml; path = "Resources/Test Cases/AlternativeDateFormatsTestCase.xml"; sourceTree = ""; }; + 07127C580F4266F4009C7476 /* Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Common.xcconfig; path = Configurations/Common.xcconfig; sourceTree = ""; }; + 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonDevelopment.xcconfig; path = Configurations/CommonDevelopment.xcconfig; sourceTree = ""; }; + 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonRelease.xcconfig; path = Configurations/CommonRelease.xcconfig; sourceTree = ""; }; + 07452BE20E469C9000A57686 /* XMLRPCConnectionDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCConnectionDelegate.h; sourceTree = ""; }; + 075137F90E429E560019E4F6 /* XMLRPCConnectionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCConnectionManager.h; sourceTree = ""; }; + 075137FA0E429E560019E4F6 /* XMLRPCConnectionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCConnectionManager.m; sourceTree = ""; }; + 0759A6F21143495E000DFE98 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = Languages/English.lproj/InfoPlist.strings; sourceTree = ""; }; + 0799AF030F6721FF00B71B22 /* XMLRPCUnitTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = XMLRPCUnitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; + 0799AF040F6721FF00B71B22 /* XMLRPCUnitTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "XMLRPCUnitTests-Info.plist"; path = "Resources/Property Lists/XMLRPCUnitTests-Info.plist"; sourceTree = ""; }; + 0799AF0A0F67227F00B71B22 /* XMLRPCUnitTests.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPCUnitTests.xcconfig; path = Configurations/XMLRPCUnitTests.xcconfig; sourceTree = ""; }; + 0799AF0B0F67227F00B71B22 /* XMLRPCUnitTestsDevelopment.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPCUnitTestsDevelopment.xcconfig; path = Configurations/XMLRPCUnitTestsDevelopment.xcconfig; sourceTree = ""; }; + 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPCUnitTestsRelease.xcconfig; path = Configurations/XMLRPCUnitTestsRelease.xcconfig; sourceTree = ""; }; + 0799AF0F0F6722D600B71B22 /* XMLRPC.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPC.xcconfig; path = Configurations/XMLRPC.xcconfig; sourceTree = ""; }; + 0799AF100F6722D600B71B22 /* XMLRPCDevelopment.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPCDevelopment.xcconfig; path = Configurations/XMLRPCDevelopment.xcconfig; sourceTree = ""; }; + 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPCRelease.xcconfig; path = Configurations/XMLRPCRelease.xcconfig; sourceTree = ""; }; + 0799AF280F67254B00B71B22 /* XMLRPC-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "XMLRPC-Info.plist"; path = "Resources/Property Lists/XMLRPC-Info.plist"; sourceTree = ""; }; + 0799AF5D0F67266400B71B22 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; + 07A0A9021016A51000CEE3C7 /* EmptyBooleanTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = EmptyBooleanTestCase.xml; path = "Resources/Test Cases/EmptyBooleanTestCase.xml"; sourceTree = ""; }; + 07A0A9031016A51000CEE3C7 /* EmptyDataTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = EmptyDataTestCase.xml; path = "Resources/Test Cases/EmptyDataTestCase.xml"; sourceTree = ""; }; + 07A0A9041016A51000CEE3C7 /* EmptyDoubleTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = EmptyDoubleTestCase.xml; path = "Resources/Test Cases/EmptyDoubleTestCase.xml"; sourceTree = ""; }; + 07A0A9051016A51000CEE3C7 /* EmptyIntegerTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = EmptyIntegerTestCase.xml; path = "Resources/Test Cases/EmptyIntegerTestCase.xml"; sourceTree = ""; }; + 07A0A9061016A51000CEE3C7 /* EmptyStringTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = EmptyStringTestCase.xml; path = "Resources/Test Cases/EmptyStringTestCase.xml"; sourceTree = ""; }; + 07B0C5F80E33A659006453B4 /* NSStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSStringAdditions.h; sourceTree = ""; }; + 07B0C5F90E33A659006453B4 /* NSStringAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringAdditions.m; sourceTree = ""; }; + 07B0C5FA0E33A659006453B4 /* XMLRPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPC.h; sourceTree = ""; }; + 07B0C5FB0E33A659006453B4 /* XMLRPCConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCConnection.h; sourceTree = ""; }; + 07B0C5FC0E33A659006453B4 /* XMLRPCConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCConnection.m; sourceTree = ""; }; + 07B0C5FF0E33A659006453B4 /* XMLRPCDefaultEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCDefaultEncoder.h; sourceTree = ""; }; + 07B0C6000E33A659006453B4 /* XMLRPCDefaultEncoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCDefaultEncoder.m; sourceTree = ""; }; + 07B0C6010E33A659006453B4 /* XMLRPCRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCRequest.h; sourceTree = ""; }; + 07B0C6020E33A659006453B4 /* XMLRPCRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCRequest.m; sourceTree = ""; }; + 07B0C6030E33A659006453B4 /* XMLRPCResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCResponse.h; sourceTree = ""; }; + 07B0C6040E33A659006453B4 /* XMLRPCResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCResponse.m; sourceTree = ""; }; + 07B0C6160E33A672006453B4 /* XMLRPC.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPC.pch; sourceTree = ""; }; + 07B52BE5101004670015AD8B /* SimpleArrayTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = SimpleArrayTestCase.xml; path = "Resources/Test Cases/SimpleArrayTestCase.xml"; sourceTree = ""; }; + 07B52BE6101004670015AD8B /* SimpleStructTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = SimpleStructTestCase.xml; path = "Resources/Test Cases/SimpleStructTestCase.xml"; sourceTree = ""; }; + 07B52BE9101004810015AD8B /* TestCases.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = TestCases.plist; path = "Resources/Property Lists/TestCases.plist"; sourceTree = ""; }; + 07B52C01101008670015AD8B /* XMLRPCParserTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLRPCParserTest.h; path = "Unit Tests/XMLRPCParserTest.h"; sourceTree = ""; }; + 07B52C02101008670015AD8B /* XMLRPCParserTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = XMLRPCParserTest.m; path = "Unit Tests/XMLRPCParserTest.m"; sourceTree = ""; }; + 07BB09881316B65A00E1911C /* DefaultTypeTestCase.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = DefaultTypeTestCase.xml; path = "Resources/Test Cases/DefaultTypeTestCase.xml"; sourceTree = ""; }; + 07EF45390E721A5D009F2708 /* XMLRPCEventBasedParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCEventBasedParser.h; sourceTree = ""; }; + 07EF453A0E721A5D009F2708 /* XMLRPCEventBasedParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCEventBasedParser.m; sourceTree = ""; }; + 0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 2DCADED91529E06900B47A4F /* XMLRPCEncoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XMLRPCEncoder.h; sourceTree = ""; }; + 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = XMLRPC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 903B0DB612F7574800BD6E09 /* libXMLRPC.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libXMLRPC.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D2F7E79907B2D74100F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0799AF000F6721FF00B71B22 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 07E761001011788B00E9BDEE /* Cocoa.framework in Frameworks */, + 0799AF5E0F67266400B71B22 /* SenTestingKit.framework in Frameworks */, + 0799AF270F6724E300B71B22 /* XMLRPC.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8DC2EF560486A6940098B216 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 903B0DB412F7574800BD6E09 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 034768DFFF38A50411DB9C8B /* Products */ = { + isa = PBXGroup; + children = ( + 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */, + 0799AF030F6721FF00B71B22 /* XMLRPCUnitTests.octest */, + 903B0DB612F7574800BD6E09 /* libXMLRPC.a */, + ); + name = Products; + sourceTree = ""; + }; + 07127C570F4266E2009C7476 /* Configurations */ = { + isa = PBXGroup; + children = ( + 07127C580F4266F4009C7476 /* Common.xcconfig */, + 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */, + 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */, + 0799AF0F0F6722D600B71B22 /* XMLRPC.xcconfig */, + 0799AF100F6722D600B71B22 /* XMLRPCDevelopment.xcconfig */, + 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */, + 0799AF0A0F67227F00B71B22 /* XMLRPCUnitTests.xcconfig */, + 0799AF0B0F67227F00B71B22 /* XMLRPCUnitTestsDevelopment.xcconfig */, + 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */, + ); + name = Configurations; + sourceTree = ""; + }; + 07452BDC0E469C6900A57686 /* Delegates */ = { + isa = PBXGroup; + children = ( + 07452BE20E469C9000A57686 /* XMLRPCConnectionDelegate.h */, + ); + name = Delegates; + sourceTree = ""; + }; + 074E8A200F6D8D6E00BE0B22 /* Localized Strings */ = { + isa = PBXGroup; + children = ( + 0759A6F11143495E000DFE98 /* InfoPlist.strings */, + ); + name = "Localized Strings"; + sourceTree = ""; + }; + 074E8A220F6D8D8300BE0B22 /* Property Lists */ = { + isa = PBXGroup; + children = ( + 07B52BE9101004810015AD8B /* TestCases.plist */, + 0799AF280F67254B00B71B22 /* XMLRPC-Info.plist */, + 0799AF040F6721FF00B71B22 /* XMLRPCUnitTests-Info.plist */, + ); + name = "Property Lists"; + sourceTree = ""; + }; + 0799AF2F0F67258600B71B22 /* Unit Tests */ = { + isa = PBXGroup; + children = ( + 07B52C01101008670015AD8B /* XMLRPCParserTest.h */, + 07B52C02101008670015AD8B /* XMLRPCParserTest.m */, + ); + name = "Unit Tests"; + sourceTree = ""; + }; + 07B0C6140E33A65E006453B4 /* Additions */ = { + isa = PBXGroup; + children = ( + 033836811527905D00EF8E8A /* NSData+Base64.h */, + 033836821527905D00EF8E8A /* NSData+Base64.m */, + 07B0C5F80E33A659006453B4 /* NSStringAdditions.h */, + 07B0C5F90E33A659006453B4 /* NSStringAdditions.m */, + ); + name = Additions; + sourceTree = ""; + }; + 07B52BE4101004270015AD8B /* Test Cases */ = { + isa = PBXGroup; + children = ( + 07075BAD10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml */, + 07BB09881316B65A00E1911C /* DefaultTypeTestCase.xml */, + 07A0A9021016A51000CEE3C7 /* EmptyBooleanTestCase.xml */, + 07A0A9031016A51000CEE3C7 /* EmptyDataTestCase.xml */, + 07A0A9041016A51000CEE3C7 /* EmptyDoubleTestCase.xml */, + 07A0A9051016A51000CEE3C7 /* EmptyIntegerTestCase.xml */, + 07A0A9061016A51000CEE3C7 /* EmptyStringTestCase.xml */, + 07B52BE5101004670015AD8B /* SimpleArrayTestCase.xml */, + 07B52BE6101004670015AD8B /* SimpleStructTestCase.xml */, + ); + name = "Test Cases"; + sourceTree = ""; + }; + 0867D691FE84028FC02AAC07 /* XMLRPC */ = { + isa = PBXGroup; + children = ( + 08FB77AEFE84172EC02AAC07 /* Classes */, + 32C88DFF0371C24200C91783 /* Other Sources */, + 089C1665FE841158C02AAC07 /* Resources */, + 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, + 034768DFFF38A50411DB9C8B /* Products */, + ); + name = XMLRPC; + sourceTree = ""; + }; + 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */, + 1058C7B2FEA5585E11CA2CBB /* Other Frameworks */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C1665FE841158C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 07127C570F4266E2009C7476 /* Configurations */, + 074E8A200F6D8D6E00BE0B22 /* Localized Strings */, + 074E8A220F6D8D8300BE0B22 /* Property Lists */, + 07B52BE4101004270015AD8B /* Test Cases */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77AEFE84172EC02AAC07 /* Classes */ = { + isa = PBXGroup; + children = ( + 07B0C6140E33A65E006453B4 /* Additions */, + 07452BDC0E469C6900A57686 /* Delegates */, + 07B0C5FA0E33A659006453B4 /* XMLRPC.h */, + 07B0C5FB0E33A659006453B4 /* XMLRPCConnection.h */, + 07B0C5FC0E33A659006453B4 /* XMLRPCConnection.m */, + 075137F90E429E560019E4F6 /* XMLRPCConnectionManager.h */, + 075137FA0E429E560019E4F6 /* XMLRPCConnectionManager.m */, + 2DCADED91529E06900B47A4F /* XMLRPCEncoder.h */, + 07B0C5FF0E33A659006453B4 /* XMLRPCDefaultEncoder.h */, + 07B0C6000E33A659006453B4 /* XMLRPCDefaultEncoder.m */, + 07EF45390E721A5D009F2708 /* XMLRPCEventBasedParser.h */, + 07EF453A0E721A5D009F2708 /* XMLRPCEventBasedParser.m */, + 0707047610114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h */, + 0707047710114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m */, + 07B0C6010E33A659006453B4 /* XMLRPCRequest.h */, + 07B0C6020E33A659006453B4 /* XMLRPCRequest.m */, + 07B0C6030E33A659006453B4 /* XMLRPCResponse.h */, + 07B0C6040E33A659006453B4 /* XMLRPCResponse.m */, + ); + name = Classes; + sourceTree = ""; + }; + 1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */, + 0799AF5D0F67266400B71B22 /* SenTestingKit.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 0867D6A5FE840307C02AAC07 /* AppKit.framework */, + D2F7E79907B2D74100F64583 /* CoreData.framework */, + 0867D69BFE84028FC02AAC07 /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 32C88DFF0371C24200C91783 /* Other Sources */ = { + isa = PBXGroup; + children = ( + 0799AF2F0F67258600B71B22 /* Unit Tests */, + 07B0C6160E33A672006453B4 /* XMLRPC.pch */, + ); + name = "Other Sources"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8DC2EF500486A6940098B216 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 07B0C6070E33A659006453B4 /* NSStringAdditions.h in Headers */, + 07B0C6090E33A659006453B4 /* XMLRPC.h in Headers */, + 07B0C6170E33A672006453B4 /* XMLRPC.pch in Headers */, + 07B0C60A0E33A659006453B4 /* XMLRPCConnection.h in Headers */, + 07452BE30E469C9000A57686 /* XMLRPCConnectionDelegate.h in Headers */, + 075137FB0E429E560019E4F6 /* XMLRPCConnectionManager.h in Headers */, + 07B0C60E0E33A659006453B4 /* XMLRPCDefaultEncoder.h in Headers */, + 07EF453B0E721A5D009F2708 /* XMLRPCEventBasedParser.h in Headers */, + 0707047810114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h in Headers */, + 07B0C6100E33A659006453B4 /* XMLRPCRequest.h in Headers */, + 07B0C6120E33A659006453B4 /* XMLRPCResponse.h in Headers */, + 033836831527905D00EF8E8A /* NSData+Base64.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 903B0DB212F7574800BD6E09 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 903B0DC212F7581200BD6E09 /* NSStringAdditions.h in Headers */, + 903B0DC412F7581200BD6E09 /* XMLRPCConnectionDelegate.h in Headers */, + 903B0DC512F7581200BD6E09 /* XMLRPC.h in Headers */, + 903B0DC612F7581200BD6E09 /* XMLRPCConnection.h in Headers */, + 903B0DC812F7581200BD6E09 /* XMLRPCConnectionManager.h in Headers */, + 2DCADEDB1529E24300B47A4F /* XMLRPCEncoder.h in Headers */, + 903B0DCA12F7581200BD6E09 /* XMLRPCDefaultEncoder.h in Headers */, + 903B0DCC12F7581200BD6E09 /* XMLRPCEventBasedParser.h in Headers */, + 903B0DCE12F7581200BD6E09 /* XMLRPCEventBasedParserDelegate.h in Headers */, + 903B0DD012F7581200BD6E09 /* XMLRPCRequest.h in Headers */, + 903B0DD212F7581200BD6E09 /* XMLRPCResponse.h in Headers */, + 903B0DD412F7581F00BD6E09 /* XMLRPC.pch in Headers */, + 033836841527905D00EF8E8A /* NSData+Base64.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 0799AF020F6721FF00B71B22 /* XMLRPCUnitTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0799AF070F67220000B71B22 /* Build configuration list for PBXNativeTarget "XMLRPCUnitTests" */; + buildPhases = ( + 0799AEFE0F6721FF00B71B22 /* Resources */, + 0799AEFF0F6721FF00B71B22 /* Sources */, + 0799AF000F6721FF00B71B22 /* Frameworks */, + 0799AF010F6721FF00B71B22 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 0799AF190F67240B00B71B22 /* PBXTargetDependency */, + ); + name = XMLRPCUnitTests; + productName = XMLRPCUnitTests; + productReference = 0799AF030F6721FF00B71B22 /* XMLRPCUnitTests.octest */; + productType = "com.apple.product-type.bundle"; + }; + 8DC2EF4F0486A6940098B216 /* XMLRPC */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "XMLRPC" */; + buildPhases = ( + 8DC2EF500486A6940098B216 /* Headers */, + 8DC2EF520486A6940098B216 /* Resources */, + 8DC2EF540486A6940098B216 /* Sources */, + 8DC2EF560486A6940098B216 /* Frameworks */, + 0715852011432A78003D3454 /* Run Script: Include Git commit hash */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = XMLRPC; + productInstallPath = "$(HOME)/Library/Frameworks"; + productName = XMLRPC; + productReference = 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */; + productType = "com.apple.product-type.framework"; + }; + 903B0DB512F7574800BD6E09 /* libXMLRPC */ = { + isa = PBXNativeTarget; + buildConfigurationList = 903B0DB912F7577B00BD6E09 /* Build configuration list for PBXNativeTarget "libXMLRPC" */; + buildPhases = ( + 903B0DB212F7574800BD6E09 /* Headers */, + 903B0DB312F7574800BD6E09 /* Sources */, + 903B0DB412F7574800BD6E09 /* Frameworks */, + 903B0DFB12F75B2300BD6E09 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libXMLRPC; + productName = iOSXMLRPC; + productReference = 903B0DB612F7574800BD6E09 /* libXMLRPC.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0867D690FE84028FC02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0440; + }; + buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "XMLRPC" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 0867D691FE84028FC02AAC07 /* XMLRPC */; + productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8DC2EF4F0486A6940098B216 /* XMLRPC */, + 903B0DB512F7574800BD6E09 /* libXMLRPC */, + 0799AF020F6721FF00B71B22 /* XMLRPCUnitTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 0799AEFE0F6721FF00B71B22 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 07075BAE10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml in Resources */, + 07BB09891316B65A00E1911C /* DefaultTypeTestCase.xml in Resources */, + 07A0A9071016A51000CEE3C7 /* EmptyBooleanTestCase.xml in Resources */, + 07A0A9081016A51000CEE3C7 /* EmptyDataTestCase.xml in Resources */, + 07A0A9091016A51000CEE3C7 /* EmptyDoubleTestCase.xml in Resources */, + 07A0A90A1016A51000CEE3C7 /* EmptyIntegerTestCase.xml in Resources */, + 07A0A90B1016A51000CEE3C7 /* EmptyStringTestCase.xml in Resources */, + 07B52BE7101004670015AD8B /* SimpleArrayTestCase.xml in Resources */, + 07B52BE8101004670015AD8B /* SimpleStructTestCase.xml in Resources */, + 07B52BEA101004810015AD8B /* TestCases.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8DC2EF520486A6940098B216 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0759A6F31143495E000DFE98 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 0715852011432A78003D3454 /* Run Script: Include Git commit hash */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script: Include Git commit hash"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /usr/bin/ruby; + shellScript = "raise \"Must be executed from within Xcode.\" unless ENV['XCODE_VERSION_ACTUAL']\n\ninfo_plist = \"#{ENV['BUILT_PRODUCTS_DIR']}/#{ENV['WRAPPER_NAME']}/Resources/Info.plist\"\n\nif !File.exist?('/usr/local/bin/git')\n exit\nend\n\ncommit = `/usr/local/bin/git rev-parse --short HEAD`.chomp!\n\nif commit.nil? or commit.empty?\n exit\nend\n\nlines = IO.readlines(info_plist).join\n\nlines.gsub! /(CFBundleShortVersionString<\\/key>\\W*)(\\d+\\.\\d+(?:\\.\\d)*[a-z]?)<\\/string>/, \"\\\\1\\\\2 rev. #{commit}\"\n\nFile.open(info_plist, 'w') { |f| f.puts lines }"; + }; + 0799AF010F6721FF00B71B22 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; + }; + 903B0DFB12F75B2300BD6E09 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#\n# Version 2.0 (updated for Xcode 4, with some fixes)\n#\n# Author: Adam Martin - http://twitter.com/redglassesapps\n#\n# For more information see this Stack Overflow question:\n# http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4\n#\nDEBUG_THIS_SCRIPT=\"false\"\n\nif [ $DEBUG_THIS_SCRIPT = \"true\" ]\nthen\necho \"########### TESTS #############\"\necho \"Use the following variables when debugging this script; note that they may change\"\necho \"BUILD_DIR = $BUILD_DIR\"\necho \"BUILD_ROOT = $BUILD_ROOT\"\necho \"CONFIGURATION_BUILD_DIR = $CONFIGURATION_BUILD_DIR\"\necho \"BUILT_PRODUCTS_DIR = $BUILT_PRODUCTS_DIR\"\necho \"CONFIGURATION_TEMP_DIR = $CONFIGURATION_TEMP_DIR\"\necho \"TARGET_BUILD_DIR = $TARGET_BUILD_DIR\"\nfi\n\n########################################################\n\nSDK_VERSION=$(echo ${SDK_NAME} | grep -o '.\\{3\\}$')\n\nif [ ${PLATFORM_NAME} = \"iphonesimulator\" ]\nthen\nOTHER_SDK_TO_BUILD=iphoneos${SDK_VERSION}\nelse\nOTHER_SDK_TO_BUILD=iphonesimulator${SDK_VERSION}\nfi\n\necho \"XCode has selected SDK: ${PLATFORM_NAME} with version: ${SDK_VERSION} (although back-targetting: ${IPHONEOS_DEPLOYMENT_TARGET})\"\necho \"...therefore, OTHER_SDK_TO_BUILD = ${OTHER_SDK_TO_BUILD}\"\n\n########################################################\n\nif [ \"true\" == ${ALREADYINVOKED:-false} ]\nthen\necho \"RECURSION: I am NOT the root invocation, so I'm NOT going to recurse\"\nelse\nexport ALREADYINVOKED=\"true\"\n\necho \"RECURSION: I am the root ... recursing all missing build targets NOW...\"\necho \"RECURSION: ...about to invoke: xcodebuild -configuration \\\"${CONFIGURATION}\\\" -target \\\"${TARGET_NAME}\\\" -sdk \\\"${OTHER_SDK_TO_BUILD}\\\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO\"\n\nxcodebuild -configuration \"${CONFIGURATION}\" -target \"${TARGET_NAME}\" -sdk \"${OTHER_SDK_TO_BUILD}\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO BUILD_DIR=\"${BUILD_DIR}\" BUILD_ROOT=\"${BUILD_ROOT}\"\n\nACTION=\"build\"\n\nCURRENTCONFIG_DEVICE_DIR=${SYMROOT}/${CONFIGURATION}-iphoneos\nCURRENTCONFIG_SIMULATOR_DIR=${SYMROOT}/${CONFIGURATION}-iphonesimulator\n\necho \"Taking device build from: ${CURRENTCONFIG_DEVICE_DIR}\"\necho \"Taking simulator build from: ${CURRENTCONFIG_SIMULATOR_DIR}\"\n\nCREATING_UNIVERSAL_DIR=${SYMROOT}/${CONFIGURATION}-universal\n\necho \"...I will output a universal build to: ${CREATING_UNIVERSAL_DIR}\"\n\nrm -rf \"${CREATING_UNIVERSAL_DIR}\"\nmkdir \"${CREATING_UNIVERSAL_DIR}\"\n\necho \"lipo: for current configuration (${CONFIGURATION}) creating output file: ${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\"\n\nlipo -create -output \"${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_DEVICE_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_SIMULATOR_DIR}/${EXECUTABLE_NAME}\"\n\nif [ -d \"${CURRENTCONFIG_DEVICE_DIR}/usr/local/include\" ]\nthen\nmkdir -p \"${CREATING_UNIVERSAL_DIR}/usr/local/include\"\ncp \"${CURRENTCONFIG_DEVICE_DIR}/usr/local/include/\"* \"${CREATING_UNIVERSAL_DIR}/usr/local/include\"\nfi\nfi"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 0799AEFF0F6721FF00B71B22 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 07B52C03101008670015AD8B /* XMLRPCParserTest.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8DC2EF540486A6940098B216 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 07B0C6080E33A659006453B4 /* NSStringAdditions.m in Sources */, + 07B0C60B0E33A659006453B4 /* XMLRPCConnection.m in Sources */, + 075137FC0E429E560019E4F6 /* XMLRPCConnectionManager.m in Sources */, + 07B0C60F0E33A659006453B4 /* XMLRPCDefaultEncoder.m in Sources */, + 07EF453C0E721A5D009F2708 /* XMLRPCEventBasedParser.m in Sources */, + 0707047910114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m in Sources */, + 07B0C6110E33A659006453B4 /* XMLRPCRequest.m in Sources */, + 07B0C6130E33A659006453B4 /* XMLRPCResponse.m in Sources */, + 033836851527905D00EF8E8A /* NSData+Base64.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 903B0DB312F7574800BD6E09 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 903B0DC312F7581200BD6E09 /* NSStringAdditions.m in Sources */, + 903B0DC712F7581200BD6E09 /* XMLRPCConnection.m in Sources */, + 903B0DC912F7581200BD6E09 /* XMLRPCConnectionManager.m in Sources */, + 903B0DCB12F7581200BD6E09 /* XMLRPCDefaultEncoder.m in Sources */, + 903B0DCD12F7581200BD6E09 /* XMLRPCEventBasedParser.m in Sources */, + 903B0DCF12F7581200BD6E09 /* XMLRPCEventBasedParserDelegate.m in Sources */, + 903B0DD112F7581200BD6E09 /* XMLRPCRequest.m in Sources */, + 903B0DD312F7581200BD6E09 /* XMLRPCResponse.m in Sources */, + 033836861527905D00EF8E8A /* NSData+Base64.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 0799AF190F67240B00B71B22 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 8DC2EF4F0486A6940098B216 /* XMLRPC */; + targetProxy = 0799AF180F67240B00B71B22 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 0759A6F11143495E000DFE98 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 0759A6F21143495E000DFE98 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 0799AF050F67220000B71B22 /* Development */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF0B0F67227F00B71B22 /* XMLRPCUnitTestsDevelopment.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + ); + VERSION_INFO_FILE = ""; + }; + name = Development; + }; + 0799AF060F67220000B71B22 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + ); + VERSION_INFO_FILE = ""; + }; + name = Release; + }; + 1DEB91AE08733DA50010E9CD /* Development */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF100F6722D600B71B22 /* XMLRPCDevelopment.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + VERSION_INFO_FILE = ""; + }; + name = Development; + }; + 1DEB91AF08733DA50010E9CD /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + VERSION_INFO_FILE = ""; + }; + name = Release; + }; + 1DEB91B208733DA50010E9CD /* Development */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + OTHER_LDFLAGS = "-ObjC"; + SDKROOT = iphoneos; + }; + name = Development; + }; + 1DEB91B308733DA50010E9CD /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + OTHER_LDFLAGS = "-ObjC"; + SDKROOT = iphoneos; + }; + name = Release; + }; + 903B0DB712F7574900BD6E09 /* Development */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + IPHONEOS_DEPLOYMENT_TARGET = 3.0; + PRODUCT_NAME = XMLRPC; + PUBLIC_HEADERS_FOLDER_PATH = /headers/; + SDKROOT = iphoneos; + VALID_ARCHS = "armv7 armv6"; + }; + name = Development; + }; + 903B0DB812F7574900BD6E09 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + IPHONEOS_DEPLOYMENT_TARGET = 3.0; + PRODUCT_NAME = XMLRPC; + PUBLIC_HEADERS_FOLDER_PATH = /headers/; + SDKROOT = iphoneos; + VALID_ARCHS = "armv7 armv6"; + ZERO_LINK = NO; + }; + name = Release; + }; + D3554ED915CA7E4500478841 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + OTHER_LDFLAGS = "-ObjC"; + SDKROOT = iphoneos; + }; + name = Debug; + }; + D3554EDA15CA7E4500478841 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF100F6722D600B71B22 /* XMLRPCDevelopment.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + VERSION_INFO_FILE = ""; + }; + name = Debug; + }; + D3554EDB15CA7E4500478841 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + IPHONEOS_DEPLOYMENT_TARGET = 3.0; + PRODUCT_NAME = XMLRPC; + PUBLIC_HEADERS_FOLDER_PATH = /headers/; + SDKROOT = iphoneos; + VALID_ARCHS = "armv7 armv6"; + }; + name = Debug; + }; + D3554EDC15CA7E4500478841 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF0B0F67227F00B71B22 /* XMLRPCUnitTestsDevelopment.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + ); + VERSION_INFO_FILE = ""; + }; + name = Debug; + }; + D3554EDD15CA7E5600478841 /* Distribution */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + OTHER_LDFLAGS = "-ObjC"; + SDKROOT = iphoneos; + }; + name = Distribution; + }; + D3554EDE15CA7E5600478841 /* Distribution */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + VERSION_INFO_FILE = ""; + }; + name = Distribution; + }; + D3554EDF15CA7E5600478841 /* Distribution */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + IPHONEOS_DEPLOYMENT_TARGET = 3.0; + PRODUCT_NAME = XMLRPC; + PUBLIC_HEADERS_FOLDER_PATH = /headers/; + SDKROOT = iphoneos; + VALID_ARCHS = "armv7 armv6"; + ZERO_LINK = NO; + }; + name = Distribution; + }; + D3554EE015CA7E5600478841 /* Distribution */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + ); + VERSION_INFO_FILE = ""; + }; + name = Distribution; + }; + D3554EE115CA7E6000478841 /* DistributionAdhoc */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + OTHER_LDFLAGS = "-ObjC"; + SDKROOT = iphoneos; + }; + name = DistributionAdhoc; + }; + D3554EE215CA7E6000478841 /* DistributionAdhoc */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + VERSION_INFO_FILE = ""; + }; + name = DistributionAdhoc; + }; + D3554EE315CA7E6000478841 /* DistributionAdhoc */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + IPHONEOS_DEPLOYMENT_TARGET = 3.0; + PRODUCT_NAME = XMLRPC; + PUBLIC_HEADERS_FOLDER_PATH = /headers/; + SDKROOT = iphoneos; + VALID_ARCHS = "armv7 armv6"; + ZERO_LINK = NO; + }; + name = DistributionAdhoc; + }; + D3554EE415CA7E6000478841 /* DistributionAdhoc */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", + ); + VERSION_INFO_FILE = ""; + }; + name = DistributionAdhoc; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 0799AF070F67220000B71B22 /* Build configuration list for PBXNativeTarget "XMLRPCUnitTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0799AF050F67220000B71B22 /* Development */, + D3554EDC15CA7E4500478841 /* Debug */, + 0799AF060F67220000B71B22 /* Release */, + D3554EE015CA7E5600478841 /* Distribution */, + D3554EE415CA7E6000478841 /* DistributionAdhoc */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "XMLRPC" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB91AE08733DA50010E9CD /* Development */, + D3554EDA15CA7E4500478841 /* Debug */, + 1DEB91AF08733DA50010E9CD /* Release */, + D3554EDE15CA7E5600478841 /* Distribution */, + D3554EE215CA7E6000478841 /* DistributionAdhoc */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "XMLRPC" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1DEB91B208733DA50010E9CD /* Development */, + D3554ED915CA7E4500478841 /* Debug */, + 1DEB91B308733DA50010E9CD /* Release */, + D3554EDD15CA7E5600478841 /* Distribution */, + D3554EE115CA7E6000478841 /* DistributionAdhoc */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 903B0DB912F7577B00BD6E09 /* Build configuration list for PBXNativeTarget "libXMLRPC" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 903B0DB712F7574900BD6E09 /* Development */, + D3554EDB15CA7E4500478841 /* Debug */, + 903B0DB812F7574900BD6E09 /* Release */, + D3554EDF15CA7E5600478841 /* Distribution */, + D3554EE315CA7E6000478841 /* DistributionAdhoc */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 0867D690FE84028FC02AAC07 /* Project object */; +} diff --git a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/xcuserdata/ydiorcet.xcuserdatad/xcschemes/xcschememanagement.plist b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/xcuserdata/ydiorcet.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..a941b5698 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/xcuserdata/ydiorcet.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,26 @@ + + + + + SchemeUserState + + SuppressBuildableAutocreation + + 0799AF020F6721FF00B71B22 + + primary + + + 8DC2EF4F0486A6940098B216 + + primary + + + 903B0DB512F7574800BD6E09 + + primary + + + + + diff --git a/Classes/Utils/XMLRPC/XMLRPCConnection.h b/Classes/Utils/XMLRPC/XMLRPCConnection.h new file mode 100755 index 000000000..d84186dd9 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCConnection.h @@ -0,0 +1,33 @@ +#import +#import "XMLRPCConnectionDelegate.h" + +@class XMLRPCConnectionManager, XMLRPCRequest, XMLRPCResponse; + +@interface XMLRPCConnection : NSObject { + XMLRPCConnectionManager *myManager; + XMLRPCRequest *myRequest; + NSString *myIdentifier; + NSMutableData *myData; + NSURLConnection *myConnection; + id myDelegate; +} + +- (id)initWithXMLRPCRequest: (XMLRPCRequest *)request delegate: (id)delegate manager: (XMLRPCConnectionManager *)manager; + +#pragma mark - + ++ (XMLRPCResponse *)sendSynchronousXMLRPCRequest: (XMLRPCRequest *)request error: (NSError **)error; + +#pragma mark - + +- (NSString *)identifier; + +#pragma mark - + +- (id)delegate; + +#pragma mark - + +- (void)cancel; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCConnection.m b/Classes/Utils/XMLRPC/XMLRPCConnection.m new file mode 100755 index 000000000..a7d17a505 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCConnection.m @@ -0,0 +1,214 @@ +#import "XMLRPCConnection.h" +#import "XMLRPCConnectionManager.h" +#import "XMLRPCRequest.h" +#import "XMLRPCResponse.h" +#import "NSStringAdditions.h" + +@interface XMLRPCConnection (XMLRPCConnectionPrivate) + +- (void)connection: (NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response; + +- (void)connection: (NSURLConnection *)connection didReceiveData: (NSData *)data; + +- (void)connection:(NSURLConnection *)connection + didSendBodyData:(NSInteger)bytesWritten + totalBytesWritten:(NSInteger)totalBytesWritten +totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; + +- (void)connection: (NSURLConnection *)connection didFailWithError: (NSError *)error; + +#pragma mark - + +- (BOOL)connection: (NSURLConnection *)connection canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace; + +- (void)connection: (NSURLConnection *)connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; + +- (void)connection: (NSURLConnection *)connection didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; + +- (void)connectionDidFinishLoading: (NSURLConnection *)connection; + +@end + +#pragma mark - + +@implementation XMLRPCConnection + +- (id)initWithXMLRPCRequest: (XMLRPCRequest *)request delegate: (id)delegate manager: (XMLRPCConnectionManager *)manager { + self = [super init]; + if (self) { +#if ! __has_feature(objc_arc) + myManager = [manager retain]; + myRequest = [request retain]; + myIdentifier = [[NSString stringByGeneratingUUID] retain]; +#else + myManager = manager; + myRequest = request; + myIdentifier = [NSString stringByGeneratingUUID]; +#endif + myData = [[NSMutableData alloc] init]; + + myConnection = [[NSURLConnection alloc] initWithRequest: [request request] delegate: self]; + +#if ! __has_feature(objc_arc) + myDelegate = [delegate retain]; +#else + myDelegate = delegate; +#endif + + if (myConnection) { + NSLog(@"The connection, %@, has been established!", myIdentifier); + } else { + NSLog(@"The connection, %@, could not be established!", myIdentifier); +#if ! __has_feature(objc_arc) + [self release]; +#endif + return nil; + } + } + + return self; +} + +#pragma mark - + ++ (XMLRPCResponse *)sendSynchronousXMLRPCRequest: (XMLRPCRequest *)request error: (NSError **)error { + NSHTTPURLResponse *response = nil; +#if ! __has_feature(objc_arc) + NSData *data = [[[NSURLConnection sendSynchronousRequest: [request request] returningResponse: &response error: error] retain] autorelease]; +#else + NSData *data = [NSURLConnection sendSynchronousRequest: [request request] returningResponse: &response error: error]; +#endif + + if (response) { + NSInteger statusCode = [response statusCode]; + + if ((statusCode < 400) && data) { +#if ! __has_feature(objc_arc) + return [[[XMLRPCResponse alloc] initWithData: data] autorelease]; +#else + return [[XMLRPCResponse alloc] initWithData: data]; +#endif + } + } + + return nil; +} + +#pragma mark - + +- (NSString *)identifier { +#if ! __has_feature(objc_arc) + return [[myIdentifier retain] autorelease]; +#else + return myIdentifier; +#endif +} + +#pragma mark - + +- (id)delegate { + return myDelegate; +} + +#pragma mark - + +- (void)cancel { + [myConnection cancel]; +} + +#pragma mark - + +- (void)dealloc { +#if ! __has_feature(objc_arc) + [myManager release]; + [myRequest release]; + [myIdentifier release]; + [myData release]; + [myConnection release]; + [myDelegate release]; + + [super dealloc]; +#endif +} + +@end + +#pragma mark - + +@implementation XMLRPCConnection (XMLRPCConnectionPrivate) + +- (void)connection: (NSURLConnection *)connection didReceiveResponse: (NSURLResponse *)response { + if([response respondsToSelector: @selector(statusCode)]) { + int statusCode = [(NSHTTPURLResponse *)response statusCode]; + + if(statusCode >= 400) { + NSError *error = [NSError errorWithDomain: @"HTTP" code: statusCode userInfo: nil]; + + [myDelegate request: myRequest didFailWithError: error]; + } else if (statusCode == 304) { + [myManager closeConnectionForIdentifier: myIdentifier]; + } + } + + [myData setLength: 0]; +} + +- (void)connection: (NSURLConnection *)connection didReceiveData: (NSData *)data { + [myData appendData: data]; +} + +- (void)connection:(NSURLConnection *)connection + didSendBodyData:(NSInteger)bytesWritten + totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite +{ + if ([myDelegate respondsToSelector:@selector(request:didSendBodyData:)]) { + float percent = totalBytesWritten / (float)totalBytesExpectedToWrite; + [myDelegate request:myRequest didSendBodyData:percent]; + } +} + +- (void)connection: (NSURLConnection *)connection didFailWithError: (NSError *)error { +#if ! __has_feature(objc_arc) + XMLRPCRequest *request = [[myRequest retain] autorelease]; +#else + XMLRPCRequest *request = myRequest; +#endif + + NSLog(@"The connection, %@, failed with the following error: %@", myIdentifier, [error localizedDescription]); + + [myDelegate request: request didFailWithError: error]; + + [myManager closeConnectionForIdentifier: myIdentifier]; +} + +#pragma mark - + +- (BOOL)connection: (NSURLConnection *)connection canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace { + return [myDelegate request: myRequest canAuthenticateAgainstProtectionSpace: protectionSpace]; +} + +- (void)connection: (NSURLConnection *)connection didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { + [myDelegate request: myRequest didReceiveAuthenticationChallenge: challenge]; +} + +- (void)connection: (NSURLConnection *)connection didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { + [myDelegate request: myRequest didCancelAuthenticationChallenge: challenge]; +} + +- (void)connectionDidFinishLoading: (NSURLConnection *)connection { + if (myData && ([myData length] > 0)) { +#if ! __has_feature(objc_arc) + XMLRPCResponse *response = [[[XMLRPCResponse alloc] initWithData: myData] autorelease]; + XMLRPCRequest *request = [[myRequest retain] autorelease]; +#else + XMLRPCResponse *response = [[XMLRPCResponse alloc] initWithData: myData]; + XMLRPCRequest *request = myRequest; +#endif + + [myDelegate request: request didReceiveResponse: response]; + } + + [myManager closeConnectionForIdentifier: myIdentifier]; +} + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h b/Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h new file mode 100755 index 000000000..4c1e7d2c3 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCConnectionDelegate.h @@ -0,0 +1,27 @@ +#import + +@class XMLRPCConnection, XMLRPCRequest, XMLRPCResponse; + +@protocol XMLRPCConnectionDelegate + +@required +- (void)request: (XMLRPCRequest *)request didReceiveResponse: (XMLRPCResponse *)response; + +@optional +- (void)request: (XMLRPCRequest *)request didSendBodyData: (float)percent; + +@required +- (void)request: (XMLRPCRequest *)request didFailWithError: (NSError *)error; + +#pragma mark - + +@required +- (BOOL)request: (XMLRPCRequest *)request canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace; + +@required +- (void)request: (XMLRPCRequest *)request didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; + +@required +- (void)request: (XMLRPCRequest *)request didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCConnectionManager.h b/Classes/Utils/XMLRPC/XMLRPCConnectionManager.h new file mode 100755 index 000000000..ae3a6f23b --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCConnectionManager.h @@ -0,0 +1,32 @@ +#import +#import "XMLRPCConnectionDelegate.h" + +@class XMLRPCConnection, XMLRPCRequest; + +@interface XMLRPCConnectionManager : NSObject { + NSMutableDictionary *myConnections; +} + ++ (XMLRPCConnectionManager *)sharedManager; + +#pragma mark - + +- (NSString *)spawnConnectionWithXMLRPCRequest: (XMLRPCRequest *)request delegate: (id)delegate; + +#pragma mark - + +- (NSArray *)activeConnectionIdentifiers; + +- (int)numberOfActiveConnections; + +#pragma mark - + +- (XMLRPCConnection *)connectionForIdentifier: (NSString *)identifier; + +#pragma mark - + +- (void)closeConnectionForIdentifier: (NSString *)identifier; + +- (void)closeConnections; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCConnectionManager.m b/Classes/Utils/XMLRPC/XMLRPCConnectionManager.m new file mode 100755 index 000000000..ada3678c0 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCConnectionManager.m @@ -0,0 +1,115 @@ +#import "XMLRPCConnectionManager.h" +#import "XMLRPCConnection.h" +#import "XMLRPCRequest.h" + +@implementation XMLRPCConnectionManager + +static XMLRPCConnectionManager *sharedInstance = nil; + +- (id)init { + self = [super init]; + if (self) { + myConnections = [[NSMutableDictionary alloc] init]; + } + + return self; +} + +#pragma mark - + ++ (id)allocWithZone: (NSZone *)zone { + @synchronized(self) { + if (!sharedInstance) { + sharedInstance = [super allocWithZone: zone]; + + return sharedInstance; + } + } + + return nil; +} + +#pragma mark - + ++ (XMLRPCConnectionManager *)sharedManager { + @synchronized(self) { + if (!sharedInstance) { + sharedInstance = [[self alloc] init]; + } + } + + return sharedInstance; +} + +#pragma mark - + +- (NSString *)spawnConnectionWithXMLRPCRequest: (XMLRPCRequest *)request delegate: (id)delegate { + XMLRPCConnection *newConnection = [[XMLRPCConnection alloc] initWithXMLRPCRequest: request delegate: delegate manager: self]; +#if ! __has_feature(objc_arc) + NSString *identifier = [[[newConnection identifier] retain] autorelease]; +#else + NSString *identifier = [newConnection identifier]; +#endif + + [myConnections setObject: newConnection forKey: identifier]; + +#if ! __has_feature(objc_arc) + [newConnection release]; +#endif + + return identifier; +} + +#pragma mark - + +- (NSArray *)activeConnectionIdentifiers { + return [myConnections allKeys]; +} + +- (int)numberOfActiveConnections { + return [myConnections count]; +} + +#pragma mark - + +- (XMLRPCConnection *)connectionForIdentifier: (NSString *)identifier { + return [myConnections objectForKey: identifier]; +} + +#pragma mark - + +- (void)closeConnectionForIdentifier: (NSString *)identifier { + XMLRPCConnection *selectedConnection = [self connectionForIdentifier: identifier]; + + if (selectedConnection) { + [selectedConnection cancel]; + + [myConnections removeObjectForKey: identifier]; + } +} + +- (void)closeConnections { + [[myConnections allValues] makeObjectsPerformSelector: @selector(cancel)]; + + [myConnections removeAllObjects]; +} + +#pragma mark - + +- (void)finalize { + [self closeConnections]; + + [super finalize]; +} + +#pragma mark - + +- (void)dealloc { + [self closeConnections]; +#if ! __has_feature(objc_arc) + [myConnections release]; + [super dealloc]; +#endif +} + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.h b/Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.h new file mode 100755 index 000000000..b620f8c0b --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.h @@ -0,0 +1,8 @@ +#import +#import "XMLRPCEncoder.h" + +@interface XMLRPCDefaultEncoder : NSObject { + NSString *myMethod; + NSArray *myParameters; +} +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.m b/Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.m new file mode 100755 index 000000000..16296047e --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCDefaultEncoder.m @@ -0,0 +1,253 @@ +#import "XMLRPCDefaultEncoder.h" +#import "NSStringAdditions.h" +#import "NSData+Base64.h" + +@interface XMLRPCDefaultEncoder (XMLRPCEncoderPrivate) + +- (NSString *)valueTag: (NSString *)tag value: (NSString *)value; + +#pragma mark - + +- (NSString *)replaceTarget: (NSString *)target withValue: (NSString *)value inString: (NSString *)string; + +#pragma mark - + +- (NSString *)encodeObject: (id)object; + +#pragma mark - + +- (NSString *)encodeArray: (NSArray *)array; + +- (NSString *)encodeDictionary: (NSDictionary *)dictionary; + +#pragma mark - + +- (NSString *)encodeBoolean: (CFBooleanRef)boolean; + +- (NSString *)encodeNumber: (NSNumber *)number; + +- (NSString *)encodeString: (NSString *)string omitTag: (BOOL)omitTag; + +- (NSString *)encodeDate: (NSDate *)date; + +- (NSString *)encodeData: (NSData *)data; + +@end + +#pragma mark - + +@implementation XMLRPCDefaultEncoder + +- (id)init { + self = [super init]; + if (self) { + myMethod = [[NSString alloc] init]; + myParameters = [[NSArray alloc] init]; + } + + return self; +} + +#pragma mark - + +- (NSString *)encode { + NSMutableString *buffer = [NSMutableString stringWithString: @""]; + + [buffer appendFormat: @"%@", [self encodeString: myMethod omitTag: YES]]; + + [buffer appendString: @""]; + + if (myParameters) { + NSEnumerator *enumerator = [myParameters objectEnumerator]; + id parameter = nil; + + while ((parameter = [enumerator nextObject])) { + [buffer appendString: @""]; + [buffer appendString: [self encodeObject: parameter]]; + [buffer appendString: @""]; + } + } + + [buffer appendString: @""]; + + [buffer appendString: @""]; + + return buffer; +} + +#pragma mark - + +- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters { +#if ! __has_feature(objc_arc) + if (myMethod) { + [myMethod release]; + } + + if (!method) { + myMethod = nil; + } else { + myMethod = [method retain]; + } + + if (myParameters) { + [myParameters release]; + } + + if (!parameters) { + myParameters = nil; + } else { + myParameters = [parameters retain]; + } +#else + myMethod = method; + myParameters = parameters; +#endif +} + +#pragma mark - + +- (NSString *)method { + return myMethod; +} + +- (NSArray *)parameters { + return myParameters; +} + +#pragma mark - + +- (void)dealloc { +#if ! __has_feature(objc_arc) + [myMethod release]; + [myParameters release]; + + [super dealloc]; +#endif +} + +@end + +#pragma mark - + +@implementation XMLRPCDefaultEncoder (XMLRPCEncoderPrivate) + +- (NSString *)valueTag: (NSString *)tag value: (NSString *)value { + return [NSString stringWithFormat: @"<%@>%@", tag, value, tag]; +} + +#pragma mark - + +- (NSString *)replaceTarget: (NSString *)target withValue: (NSString *)value inString: (NSString *)string { + return [[string componentsSeparatedByString: target] componentsJoinedByString: value]; +} + +#pragma mark - + +- (NSString *)encodeObject: (id)object { + if (!object) { + return nil; + } + + if ([object isKindOfClass: [NSArray class]]) { + return [self encodeArray: object]; + } else if ([object isKindOfClass: [NSDictionary class]]) { + return [self encodeDictionary: object]; + } else if (((/*__bridge_retained*/ CFBooleanRef)object == kCFBooleanTrue) || ((/*__bridge_retained*/ CFBooleanRef)object == kCFBooleanFalse)) { + return [self encodeBoolean: (CFBooleanRef)object]; + } else if ([object isKindOfClass: [NSNumber class]]) { + return [self encodeNumber: object]; + } else if ([object isKindOfClass: [NSString class]]) { + return [self encodeString: object omitTag: NO]; + } else if ([object isKindOfClass: [NSDate class]]) { + return [self encodeDate: object]; + } else if ([object isKindOfClass: [NSData class]]) { + return [self encodeData: object]; + } else { + return [self encodeString: object omitTag: NO]; + } +} + +#pragma mark - + +- (NSString *)encodeArray: (NSArray *)array { + NSMutableString *buffer = [NSMutableString string]; + NSEnumerator *enumerator = [array objectEnumerator]; + + [buffer appendString: @""]; + + id object = nil; + + while (object = [enumerator nextObject]) { + [buffer appendString: [self encodeObject: object]]; + } + + [buffer appendString: @""]; + + return (NSString *)buffer; +} + +- (NSString *)encodeDictionary: (NSDictionary *)dictionary { + NSMutableString * buffer = [NSMutableString string]; + NSEnumerator *enumerator = [dictionary keyEnumerator]; + + [buffer appendString: @""]; + + NSString *key = nil; + NSObject *val; + + while (key = [enumerator nextObject]) { + [buffer appendString: @""]; + [buffer appendFormat: @"%@", [self encodeString: key omitTag: YES]]; + + val = [dictionary objectForKey: key]; + if (val != [NSNull null]) { + [buffer appendString: [self encodeObject: val]]; + } else { + [buffer appendString:@""]; + } + + [buffer appendString: @""]; + } + + [buffer appendString: @""]; + + return (NSString *)buffer; +} + +#pragma mark - + +- (NSString *)encodeBoolean: (CFBooleanRef)boolean { + if (boolean == kCFBooleanTrue) { + return [self valueTag: @"boolean" value: @"1"]; + } else { + return [self valueTag: @"boolean" value: @"0"]; + } +} + +- (NSString *)encodeNumber: (NSNumber *)number { + NSString *numberType = [NSString stringWithCString: [number objCType] encoding: NSUTF8StringEncoding]; + + if ([numberType isEqualToString: @"d"]) { + return [self valueTag: @"double" value: [number stringValue]]; + } else { + return [self valueTag: @"i4" value: [number stringValue]]; + } +} + +- (NSString *)encodeString: (NSString *)string omitTag: (BOOL)omitTag { + return omitTag ? [string escapedString] : [self valueTag: @"string" value: [string escapedString]]; +} + +- (NSString *)encodeDate: (NSDate *)date { + unsigned components = kCFCalendarUnitYear | kCFCalendarUnitMonth | kCFCalendarUnitDay | kCFCalendarUnitHour | kCFCalendarUnitMinute | kCFCalendarUnitSecond; + NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components: components fromDate: date]; + NSString *buffer = [NSString stringWithFormat: @"%.4d%.2d%.2dT%.2d:%.2d:%.2d", [dateComponents year], [dateComponents month], [dateComponents day], [dateComponents hour], [dateComponents minute], [dateComponents second], nil]; + + return [self valueTag: @"dateTime.iso8601" value: buffer]; +} + +- (NSString *)encodeData: (NSData *)data { + return [self valueTag: @"base64" value: [data base64EncodedString]]; +} + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCEncoder.h b/Classes/Utils/XMLRPC/XMLRPCEncoder.h new file mode 100755 index 000000000..14a596824 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCEncoder.h @@ -0,0 +1,15 @@ +#import + +@protocol XMLRPCEncoder +- (NSString *)encode; + +#pragma mark - + +- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters; +#pragma mark - + +- (NSString *)method; + +- (NSArray *)parameters; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCEventBasedParser.h b/Classes/Utils/XMLRPC/XMLRPCEventBasedParser.h new file mode 100755 index 000000000..1d43d70d5 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCEventBasedParser.h @@ -0,0 +1,27 @@ +#import + +@class XMLRPCEventBasedParserDelegate; + +@interface XMLRPCEventBasedParser : NSObject { + NSXMLParser *myParser; + XMLRPCEventBasedParserDelegate *myParserDelegate; + BOOL isFault; +} + +- (id)initWithData: (NSData *)data; + +#pragma mark - + +- (id)parse; + +- (void)abortParsing; + +#pragma mark - + +- (NSError *)parserError; + +#pragma mark - + +- (BOOL)isFault; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCEventBasedParser.m b/Classes/Utils/XMLRPC/XMLRPCEventBasedParser.m new file mode 100755 index 000000000..b044c91fa --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCEventBasedParser.m @@ -0,0 +1,81 @@ +#import "XMLRPCEventBasedParser.h" +#import "XMLRPCEventBasedParserDelegate.h" + +@implementation XMLRPCEventBasedParser + +- (id)initWithData: (NSData *)data { + if (!data) { + return nil; + } + + if (self = [self init]) { + myParser = [[NSXMLParser alloc] initWithData: data]; + myParserDelegate = nil; + isFault = NO; + } + + return self; +} + +#pragma mark - + +- (id)parse { + [myParser setDelegate: self]; + + [myParser parse]; + + if ([myParser parserError]) { + return nil; + } + + return [myParserDelegate elementValue]; +} + +- (void)abortParsing { + [myParser abortParsing]; +} + +#pragma mark - + +- (NSError *)parserError { + return [myParser parserError]; +} + +#pragma mark - + +- (BOOL)isFault { + return isFault; +} + +#pragma mark - + +- (void)dealloc { +#if ! __has_feature(objc_arc) + [myParser release]; + [myParserDelegate release]; + + [super dealloc]; +#endif +} + +@end + +#pragma mark - + +@implementation XMLRPCEventBasedParser (NSXMLParserDelegate) + +- (void)parser: (NSXMLParser *)parser didStartElement: (NSString *)element namespaceURI: (NSString *)namespaceURI qualifiedName: (NSString *)qualifiedName attributes: (NSDictionary *)attributes { + if ([element isEqualToString: @"fault"]) { + isFault = YES; + } else if ([element isEqualToString: @"value"]) { + myParserDelegate = [[XMLRPCEventBasedParserDelegate alloc] initWithParent: nil]; + + [myParser setDelegate: myParserDelegate]; + } +} + +- (void)parser: (NSXMLParser *)parser parseErrorOccurred: (NSError *)parseError { + [self abortParsing]; +} + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.h b/Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.h new file mode 100755 index 000000000..08d963577 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.h @@ -0,0 +1,52 @@ +#import + +typedef enum { + XMLRPCElementTypeArray, + XMLRPCElementTypeDictionary, + XMLRPCElementTypeMember, + XMLRPCElementTypeName, + XMLRPCElementTypeInteger, + XMLRPCElementTypeDouble, + XMLRPCElementTypeBoolean, + XMLRPCElementTypeString, + XMLRPCElementTypeDate, + XMLRPCElementTypeData +} XMLRPCElementType; + +#pragma mark - + +@interface XMLRPCEventBasedParserDelegate : NSObject { + XMLRPCEventBasedParserDelegate *myParent; + NSMutableArray *myChildren; + XMLRPCElementType myElementType; + NSString *myElementKey; + id myElementValue; +} + +- (id)initWithParent: (XMLRPCEventBasedParserDelegate *)parent; + +#pragma mark - + +- (void)setParent: (XMLRPCEventBasedParserDelegate *)parent; + +- (XMLRPCEventBasedParserDelegate *)parent; + +#pragma mark - + +- (void)setElementType: (XMLRPCElementType)elementType; + +- (XMLRPCElementType)elementType; + +#pragma mark - + +- (void)setElementKey: (NSString *)elementKey; + +- (NSString *)elementKey; + +#pragma mark - + +- (void)setElementValue: (id)elementValue; + +- (id)elementValue; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.m b/Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.m new file mode 100755 index 000000000..54f020fe5 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCEventBasedParserDelegate.m @@ -0,0 +1,352 @@ +#import "XMLRPCEventBasedParserDelegate.h" +#import "NSData+Base64.h" + +@interface XMLRPCEventBasedParserDelegate (XMLRPCEventBasedParserDelegatePrivate) + +- (BOOL)isDictionaryElementType: (XMLRPCElementType)elementType; + +#pragma mark - + +- (void)addElementValueToParent; + +#pragma mark - + +- (NSDate *)parseDateString: (NSString *)dateString withFormat: (NSString *)format; + +#pragma mark - + +- (NSNumber *)parseInteger: (NSString *)value; + +- (NSNumber *)parseDouble: (NSString *)value; + +- (NSNumber *)parseBoolean: (NSString *)value; + +- (NSString *)parseString: (NSString *)value; + +- (NSDate *)parseDate: (NSString *)value; + +- (NSData *)parseData: (NSString *)value; + +@end + +#pragma mark - + +@implementation XMLRPCEventBasedParserDelegate + +- (id)initWithParent: (XMLRPCEventBasedParserDelegate *)parent { + self = [super init]; + if (self) { + myParent = parent; + myChildren = [[NSMutableArray alloc] initWithCapacity: 1]; + myElementType = XMLRPCElementTypeString; + myElementKey = nil; + myElementValue = [[NSMutableString alloc] init]; + } + + return self; +} + +#pragma mark - + +- (void)setParent: (XMLRPCEventBasedParserDelegate *)parent { +#if ! __has_feature(objc_arc) + [parent retain]; + [myParent release]; +#endif + + myParent = parent; +} + +- (XMLRPCEventBasedParserDelegate *)parent { + return myParent; +} + +#pragma mark - + +- (void)setElementType: (XMLRPCElementType)elementType { + myElementType = elementType; +} + +- (XMLRPCElementType)elementType { + return myElementType; +} + +#pragma mark - + +- (void)setElementKey: (NSString *)elementKey { +#if ! __has_feature(objc_arc) + [elementKey retain]; + [myElementKey release]; +#endif + + myElementKey = elementKey; +} + +- (NSString *)elementKey { + return myElementKey; +} + +#pragma mark - + +- (void)setElementValue: (id)elementValue { +#if ! __has_feature(objc_arc) + [elementValue retain]; + [myElementValue release]; +#endif + + myElementValue = elementValue; +} + +- (id)elementValue { + return myElementValue; +} + +#pragma mark - + +- (void)dealloc { +#if ! __has_feature(objc_arc) + [myChildren release]; + [myElementKey release]; + [myElementValue release]; + + [super dealloc]; +#endif +} + +@end + +#pragma mark - + +@implementation XMLRPCEventBasedParserDelegate (NSXMLParserDelegate) + +- (void)parser: (NSXMLParser *)parser didStartElement: (NSString *)element namespaceURI: (NSString *)namespaceURI qualifiedName: (NSString *)qualifiedName attributes: (NSDictionary *)attributes { + if ([element isEqualToString: @"value"] || [element isEqualToString: @"member"] || [element isEqualToString: @"name"]) { + XMLRPCEventBasedParserDelegate *parserDelegate = [[XMLRPCEventBasedParserDelegate alloc] initWithParent: self]; + + if ([element isEqualToString: @"member"]) { + [parserDelegate setElementType: XMLRPCElementTypeMember]; + } else if ([element isEqualToString: @"name"]) { + [parserDelegate setElementType: XMLRPCElementTypeName]; + } + + [myChildren addObject: parserDelegate]; + + [parser setDelegate: parserDelegate]; +#if ! __has_feature(objc_arc) + [parserDelegate release]; +#endif + return; + } + + if ([element isEqualToString: @"array"]) { + NSMutableArray *array = [[NSMutableArray alloc] init]; + + [self setElementValue: array]; +#if ! __has_feature(objc_arc) + [array release]; +#endif + [self setElementType: XMLRPCElementTypeArray]; + } else if ([element isEqualToString: @"struct"]) { + NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; + + [self setElementValue: dictionary]; +#if ! __has_feature(objc_arc) + [dictionary release]; +#endif + [self setElementType: XMLRPCElementTypeDictionary]; + } else if ([element isEqualToString: @"int"] || [element isEqualToString: @"i4"]) { + [self setElementType: XMLRPCElementTypeInteger]; + } else if ([element isEqualToString: @"double"]) { + [self setElementType: XMLRPCElementTypeDouble]; + } else if ([element isEqualToString: @"boolean"]) { + [self setElementType: XMLRPCElementTypeBoolean]; + } else if ([element isEqualToString: @"string"]) { + [self setElementType: XMLRPCElementTypeString]; + } else if ([element isEqualToString: @"dateTime.iso8601"]) { + [self setElementType: XMLRPCElementTypeDate]; + } else if ([element isEqualToString: @"base64"]) { + [self setElementType: XMLRPCElementTypeData]; + } +} + +- (void)parser: (NSXMLParser *)parser didEndElement: (NSString *)element namespaceURI: (NSString *)namespaceURI qualifiedName: (NSString *)qualifiedName { + if ([element isEqualToString: @"value"] || [element isEqualToString: @"member"] || [element isEqualToString: @"name"]) { + NSString *elementValue = nil; + + if ((myElementType != XMLRPCElementTypeArray) && ![self isDictionaryElementType: myElementType]) { + elementValue = [self parseString: myElementValue]; +#if ! __has_feature(objc_arc) + [myElementValue release]; +#endif + myElementValue = nil; + } + + switch (myElementType) { + case XMLRPCElementTypeInteger: + myElementValue = [self parseInteger: elementValue]; +#if ! __has_feature(objc_arc) + [myElementValue retain]; +#endif + break; + case XMLRPCElementTypeDouble: + myElementValue = [self parseDouble: elementValue]; +#if ! __has_feature(objc_arc) + [myElementValue retain]; +#endif + break; + case XMLRPCElementTypeBoolean: + myElementValue = [self parseBoolean: elementValue]; +#if ! __has_feature(objc_arc) + [myElementValue retain]; +#endif + break; + case XMLRPCElementTypeString: + case XMLRPCElementTypeName: + myElementValue = elementValue; +#if ! __has_feature(objc_arc) + [myElementValue retain]; +#endif + break; + case XMLRPCElementTypeDate: + myElementValue = [self parseDate: elementValue]; +#if ! __has_feature(objc_arc) + [myElementValue retain]; +#endif + break; + case XMLRPCElementTypeData: + myElementValue = [self parseData: elementValue]; +#if ! __has_feature(objc_arc) + [myElementValue retain]; +#endif + break; + default: + break; + } + + if (myParent && myElementValue) { + [self addElementValueToParent]; + } + + [parser setDelegate: myParent]; + } +} + +- (void)parser: (NSXMLParser *)parser foundCharacters: (NSString *)string { + if ((myElementType == XMLRPCElementTypeArray) || [self isDictionaryElementType: myElementType]) { + return; + } + + if (!myElementValue) { + myElementValue = [[NSMutableString alloc] initWithString: string]; + } else { + [myElementValue appendString: string]; + } +} + +- (void)parser: (NSXMLParser *)parser parseErrorOccurred: (NSError *)parseError { + [parser abortParsing]; +} + +@end + +#pragma mark - + +@implementation XMLRPCEventBasedParserDelegate (XMLRPCEventBasedParserDelegatePrivate) + +- (BOOL)isDictionaryElementType: (XMLRPCElementType)elementType { + if ((myElementType == XMLRPCElementTypeDictionary) || (myElementType == XMLRPCElementTypeMember)) { + return YES; + } + + return NO; +} + +#pragma mark - + +- (void)addElementValueToParent { + id parentElementValue = [myParent elementValue]; + + switch ([myParent elementType]) { + case XMLRPCElementTypeArray: + [parentElementValue addObject: myElementValue]; + + break; + case XMLRPCElementTypeDictionary: + if ([myElementValue isEqual:[NSNull null]]) { + [parentElementValue removeObjectForKey:myElementKey]; + } else { + [parentElementValue setObject: myElementValue forKey: myElementKey]; + } + + break; + case XMLRPCElementTypeMember: + if (myElementType == XMLRPCElementTypeName) { + [myParent setElementKey: myElementValue]; + } else { + [myParent setElementValue: myElementValue]; + } + + break; + default: + break; + } +} + +#pragma mark - + +- (NSDate *)parseDateString: (NSString *)dateString withFormat: (NSString *)format { + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + NSDate *result = nil; + + [dateFormatter setDateFormat: format]; + + result = [dateFormatter dateFromString: dateString]; +#if ! __has_feature(objc_arc) + [dateFormatter release]; +#endif + return result; +} + +#pragma mark - + +- (NSNumber *)parseInteger: (NSString *)value { + return [NSNumber numberWithInteger: [value integerValue]]; +} + +- (NSNumber *)parseDouble: (NSString *)value { + return [NSNumber numberWithDouble: [value doubleValue]]; +} + +- (NSNumber *)parseBoolean: (NSString *)value { + if ([value isEqualToString: @"1"]) { + return [NSNumber numberWithBool: YES]; + } + + return [NSNumber numberWithBool: NO]; +} + +- (NSString *)parseString: (NSString *)value { + return [value stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; +} + +- (NSDate *)parseDate: (NSString *)value { + NSDate *result = nil; + + result = [self parseDateString: value withFormat: @"yyyyMMdd'T'HH:mm:ss"]; + + if (!result) { + result = [self parseDateString: value withFormat: @"yyyy'-'MM'-'dd'T'HH:mm:ss"]; + } + + if (!result) { + result = (NSDate *)[NSNull null]; + } + + return result; +} + +- (NSData *)parseData: (NSString *)value { + return [NSData dataFromBase64String: value]; +} + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCRequest.h b/Classes/Utils/XMLRPC/XMLRPCRequest.h new file mode 100755 index 000000000..250dfb975 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCRequest.h @@ -0,0 +1,51 @@ +#import + +#import "XMLRPCEncoder.h" + +@interface XMLRPCRequest : NSObject { + NSMutableURLRequest *myRequest; + id myXMLEncoder; +} + +- (id)initWithURL: (NSURL *)URL; + +#pragma mark - + +- (void)setURL: (NSURL *)URL; + +- (NSURL *)URL; + +#pragma mark - + +- (void)setUserAgent: (NSString *)userAgent; + +- (NSString *)userAgent; + +#pragma mark - +- (void)setEncoder: (id) encoder; + +- (void)setMethod: (NSString *)method; + +- (void)setMethod: (NSString *)method withParameter: (id)parameter; + +- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters; + +#pragma mark - + +- (NSString *)method; + +- (NSArray *)parameters; + +#pragma mark - + +- (NSString *)body; + +#pragma mark - + +- (NSURLRequest *)request; + +#pragma mark - + +- (void)setValue: (NSString *)value forHTTPHeaderField: (NSString *)header; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCRequest.m b/Classes/Utils/XMLRPC/XMLRPCRequest.m new file mode 100755 index 000000000..825823977 --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCRequest.m @@ -0,0 +1,165 @@ +#import "XMLRPCRequest.h" +#import "XMLRPCEncoder.h" +#import "XMLRPCDefaultEncoder.h" + +@implementation XMLRPCRequest + +- (id)initWithURL: (NSURL *)URL withEncoder: (id)encoder { + self = [super init]; + if (self) { + if (URL) { + myRequest = [[NSMutableURLRequest alloc] initWithURL: URL]; + } else { + myRequest = [[NSMutableURLRequest alloc] init]; + } + + myXMLEncoder = encoder; +#if ! __has_feature(objc_arc) + [myXMLEncoder retain]; +#endif + } + + return self; +} + +- (id)initWithURL: (NSURL *)URL { +#if ! __has_feature(objc_arc) + return [self initWithURL:URL withEncoder:[[[XMLRPCDefaultEncoder alloc] init] autorelease]]; +#else + return [self initWithURL:URL withEncoder:[[XMLRPCDefaultEncoder alloc] init]]; +#endif +} + +#pragma mark - + +- (void)setURL: (NSURL *)URL { + [myRequest setURL: URL]; +} + +- (NSURL *)URL { + return [myRequest URL]; +} + +#pragma mark - + +- (void)setUserAgent: (NSString *)userAgent { + if (![self userAgent]) { + [myRequest addValue: userAgent forHTTPHeaderField: @"User-Agent"]; + } else { + [myRequest setValue: userAgent forHTTPHeaderField: @"User-Agent"]; + } +} + +- (NSString *)userAgent { + return [myRequest valueForHTTPHeaderField: @"User-Agent"]; +} + +#pragma mark - + +- (void)setEncoder:(id)encoder { + //Copy the old method and parameters to the new encoder. + NSString *method = [myXMLEncoder method]; + NSArray *parameters = [myXMLEncoder parameters]; +#if ! __has_feature(objc_arc) + [myXMLEncoder release]; + myXMLEncoder = [encoder retain]; +#else + myXMLEncoder = encoder; +#endif + [myXMLEncoder setMethod:method withParameters:parameters]; +} + +- (void)setMethod: (NSString *)method { + [myXMLEncoder setMethod: method withParameters: nil]; +} + +- (void)setMethod: (NSString *)method withParameter: (id)parameter { + NSArray *parameters = nil; + + if (parameter) { + parameters = [NSArray arrayWithObject: parameter]; + } + + [myXMLEncoder setMethod: method withParameters: parameters]; +} + +- (void)setMethod: (NSString *)method withParameters: (NSArray *)parameters { + [myXMLEncoder setMethod: method withParameters: parameters]; +} + +#pragma mark - + +- (NSString *)method { + return [myXMLEncoder method]; +} + +- (NSArray *)parameters { + return [myXMLEncoder parameters]; +} + +#pragma mark - + +- (NSString *)body { + return [myXMLEncoder encode]; +} + +#pragma mark - + +- (NSURLRequest *)request { + NSData *content = [[self body] dataUsingEncoding: NSUTF8StringEncoding]; + NSNumber *contentLength = [NSNumber numberWithInt: [content length]]; + + if (!myRequest) { + return nil; + } + + [myRequest setHTTPMethod: @"POST"]; + + if (![myRequest valueForHTTPHeaderField: @"Content-Type"]) { + [myRequest addValue: @"text/xml" forHTTPHeaderField: @"Content-Type"]; + } else { + [myRequest setValue: @"text/xml" forHTTPHeaderField: @"Content-Type"]; + } + + if (![myRequest valueForHTTPHeaderField: @"Content-Length"]) { + [myRequest addValue: [contentLength stringValue] forHTTPHeaderField: @"Content-Length"]; + } else { + [myRequest setValue: [contentLength stringValue] forHTTPHeaderField: @"Content-Length"]; + } + + if (![myRequest valueForHTTPHeaderField: @"Accept"]) { + [myRequest addValue: @"text/xml" forHTTPHeaderField: @"Accept"]; + } else { + [myRequest setValue: @"text/xml" forHTTPHeaderField: @"Accept"]; + } + + if (![self userAgent]) { + NSString *userAgent = [[NSUserDefaults standardUserDefaults] objectForKey:@"UserAgent"]; + if (userAgent) { + [self setUserAgent:userAgent]; + } + } + + [myRequest setHTTPBody: content]; + + return (NSURLRequest *)myRequest; +} + +#pragma mark - + +- (void)setValue: (NSString *)value forHTTPHeaderField: (NSString *)header { + [myRequest setValue: value forHTTPHeaderField: header]; +} + +#pragma mark - + +- (void)dealloc { +#if ! __has_feature(objc_arc) + [myRequest release]; + [myXMLEncoder release]; + + [super dealloc]; +#endif +} + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCResponse.h b/Classes/Utils/XMLRPC/XMLRPCResponse.h new file mode 100755 index 000000000..a5509323b --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCResponse.h @@ -0,0 +1,33 @@ +#import + +@class XMLRPCDecoder; + +@interface XMLRPCResponse : NSObject { + NSString *myBody; + id myObject; + BOOL isFault; +} + +- (id)initWithData: (NSData *)data; + +#pragma mark - + +- (BOOL)isFault; + +- (NSNumber *)faultCode; + +- (NSString *)faultString; + +#pragma mark - + +- (id)object; + +#pragma mark - + +- (NSString *)body; + +#pragma mark - + +- (NSString *)description; + +@end diff --git a/Classes/Utils/XMLRPC/XMLRPCResponse.m b/Classes/Utils/XMLRPC/XMLRPCResponse.m new file mode 100755 index 000000000..38b84678b --- /dev/null +++ b/Classes/Utils/XMLRPC/XMLRPCResponse.m @@ -0,0 +1,97 @@ +#import "XMLRPCResponse.h" +#import "XMLRPCEventBasedParser.h" + +@implementation XMLRPCResponse + +- (id)initWithData: (NSData *)data { + if (!data) { + return nil; + } + + self = [super init]; + if (self) { + XMLRPCEventBasedParser *parser = [[XMLRPCEventBasedParser alloc] initWithData: data]; + + if (!parser) { +#if ! __has_feature(objc_arc) + [self release]; +#endif + return nil; + } + + myBody = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding]; + myObject = [parser parse]; +#if ! __has_feature(objc_arc) + [myObject retain]; +#endif + + isFault = [parser isFault]; + +#if ! __has_feature(objc_arc) + [parser release]; +#endif + } + + return self; +} + +#pragma mark - + +- (BOOL)isFault { + return isFault; +} + +- (NSNumber *)faultCode { + if (isFault) { + return [myObject objectForKey: @"faultCode"]; + } + + return nil; +} + +- (NSString *)faultString { + if (isFault) { + return [myObject objectForKey: @"faultString"]; + } + + return nil; +} + +#pragma mark - + +- (id)object { + return myObject; +} + +#pragma mark - + +- (NSString *)body { + return myBody; +} + +#pragma mark - + +- (NSString *)description { + NSMutableString *msg = [NSMutableString stringWithCapacity:128]; + [msg appendFormat:@"[body=%@", myBody]; + if (isFault) { + [msg appendFormat:@", fault[%@]='%@'", [self faultCode], [self faultString]]; + } else { + [msg appendFormat:@", obj=%@", myObject]; + } + [msg appendString:@"]"]; + return msg; +} + +#pragma mark - + +- (void)dealloc { +#if ! __has_feature(objc_arc) + [myBody release]; + [myObject release]; + + [super dealloc]; +#endif +} + +@end diff --git a/Classes/WizardViewController.h b/Classes/WizardViewController.h index 0326f5b07..bbb3fc9a7 100644 --- a/Classes/WizardViewController.h +++ b/Classes/WizardViewController.h @@ -18,17 +18,22 @@ */ #import - +#import #import "UICompositeViewController.h" -@interface WizardViewController : UIViewController { - UIView *contentView; +@interface WizardViewController : UIViewController { + UIScrollView *contentView; UIView *welcomeView; UIView *choiceView; UIView *createAccountView; UIView *connectAccountView; UIView *externalAccountView; + UIView *validateAccountView; + + UIView *waitView; + UIView *currentView; + UITextField *activeTextField; UIButton *backButton; UIButton *startButton; @@ -43,6 +48,9 @@ @property (nonatomic, retain) IBOutlet UIView *createAccountView; @property (nonatomic, retain) IBOutlet UIView *connectAccountView; @property (nonatomic, retain) IBOutlet UIView *externalAccountView; +@property (nonatomic, retain) IBOutlet UIView *validateAccountView; + +@property (nonatomic, retain) IBOutlet UIView *waitView; @property (nonatomic, retain) IBOutlet UIButton *backButton; @property (nonatomic, retain) IBOutlet UIButton *startButton; @@ -54,5 +62,10 @@ - (IBAction)onCreateAccountClick:(id)sender; - (IBAction)onConnectAccountClick:(id)sender; - (IBAction)onExternalAccountClick:(id)sender; +- (IBAction)onCheckValidationClick:(id)sender; + +- (IBAction)onSignInClick:(id)sender; +- (IBAction)onSignInExternalClick:(id)sender; +- (IBAction)onRegisterClick:(id)sender; @end diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index 3f452c51d..6eb22f833 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -18,13 +18,14 @@ */ #import "WizardViewController.h" - -#import - #import "LinphoneManager.h" - #import "PhoneMainView.h" +#import +#import +#import +#import + typedef enum _ViewElement { ViewElement_Username = 100, ViewElement_Password = 101, @@ -44,21 +45,33 @@ typedef enum _ViewElement { @synthesize createAccountView; @synthesize connectAccountView; @synthesize externalAccountView; +@synthesize validateAccountView; + +@synthesize waitView; @synthesize backButton; @synthesize startButton; +static int LINPHONE_WIZARD_MIN_PASSWORD_LENGTH = 6; +static int LINPHONE_WIZARD_MIN_USERNAME_LENGTH = 4; +static NSString *LINPHONE_WIZARD_URL = @"https://www.linphone.org/wizard.php"; +static NSString *LINPHONE_WIZARD_DOMAIN = @"sip.linphone.org"; + + #pragma mark - Lifecycle Functions - (id)init { self = [super initWithNibName:@"WizardViewController" bundle:[NSBundle mainBundle]]; if (self != nil) { self->historyViews = [[NSMutableArray alloc] init]; + self->currentView = nil; } return self; } - (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [contentView release]; [welcomeView release]; @@ -66,6 +79,9 @@ typedef enum _ViewElement { [createAccountView release]; [connectAccountView release]; [externalAccountView release]; + [validateAccountView release]; + + [waitView release]; [backButton release]; [startButton release]; @@ -89,7 +105,7 @@ static UICompositeViewDescription *compositeDescription = nil; tabBar:nil tabBarEnabled:false fullscreen:false - landscapeMode:false + landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; } return compositeDescription; @@ -100,11 +116,48 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)viewDidLoad { [super viewDidLoad]; - [self changeView:welcomeView back:FALSE animation:FALSE]; } -#pragma mark - +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + + [self clearProxyConfig]; + [self changeView:welcomeView back:FALSE animation:FALSE]; + [waitView setHidden:TRUE]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(registrationUpdateEvent:) + name:@"LinphoneRegistrationUpdate" + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillShow:) + name:UIKeyboardWillShowNotification + object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillHide:) + name:UIKeyboardWillHideNotification + object:nil]; +} + +- (void)viewWillDisappear:(BOOL)animated { + [super viewWillDisappear:animated]; + [[NSNotificationCenter defaultCenter] removeObserver:self + name:@"LinphoneRegistrationUpdate" + object:nil]; + + + [[NSNotificationCenter defaultCenter] removeObserver:self + name:UIKeyboardWillShowNotification + object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self + name:UIKeyboardWillHideNotification + object:nil]; +} + + +#pragma mark - + (UIView*)findTextField:(ViewElement)tag view:(UIView*)view { for(UIView *child in [view subviews]) { @@ -133,7 +186,12 @@ static UICompositeViewDescription *compositeDescription = nil; return nil; } +- (void)clearHistory { + [historyViews removeAllObjects]; +} + - (void)changeView:(UIView *)view back:(BOOL)back animation:(BOOL)animation { + // Change toolbar buttons following view if (view == welcomeView) { [startButton setHidden:false]; [backButton setHidden:true]; @@ -142,6 +200,13 @@ static UICompositeViewDescription *compositeDescription = nil; [backButton setHidden:false]; } + if (view == validateAccountView) { + [backButton setEnabled:FALSE]; + } else { + [backButton setEnabled:TRUE]; + } + + // Animation if(animation) { CATransition* trans = [CATransition animation]; [trans setType:kCATransitionPush]; @@ -155,16 +220,101 @@ static UICompositeViewDescription *compositeDescription = nil; [contentView.layer addAnimation:trans forKey:@"Transition"]; } - NSArray *childs = [contentView subviews]; - if([childs count]> 0) { - UIView *childView = [childs objectAtIndex:0]; + // Stack current view + if(currentView != nil) { if(!back) - [historyViews addObject:childView]; - [childView removeFromSuperview]; + [historyViews addObject:currentView]; + [currentView removeFromSuperview]; } - [contentView addSubview:view]; + // Set current view + currentView = view; + [contentView insertSubview:view atIndex:0]; + [view setFrame:[contentView bounds]]; + [contentView setContentSize:[view bounds].size]; +} + +- (void)clearProxyConfig { + [[LinphoneManager instance].settingsStore setObject:@"" forKey:@"username_preference"]; + [[LinphoneManager instance].settingsStore setObject:@"" forKey:@"password_preference"]; + [[LinphoneManager instance].settingsStore setObject:@"" forKey:@"domain_preference"]; + [[LinphoneManager instance].settingsStore synchronize]; +} + +- (void)addProxyConfig:(NSString*)username password:(NSString*)password domain:(NSString*)domain { + [[LinphoneManager instance].settingsStore setObject:username forKey:@"username_preference"]; + [[LinphoneManager instance].settingsStore setObject:password forKey:@"password_preference"]; + [[LinphoneManager instance].settingsStore setObject:domain forKey:@"domain_preference"]; + [[LinphoneManager instance].settingsStore synchronize]; +} + +- (void)checkUserExist:(NSString*)username { + [LinphoneLogger log:LinphoneLoggerDebug format:@"XMLRPC check_account %@", username]; + NSURL *URL = [NSURL URLWithString: LINPHONE_WIZARD_URL]; + XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithURL: URL]; + [request setMethod: @"check_account" withParameters:[NSArray arrayWithObjects:username, nil]]; + + XMLRPCConnectionManager *manager = [XMLRPCConnectionManager sharedManager]; + [manager spawnConnectionWithXMLRPCRequest: request delegate: self]; + + [request release]; + [waitView setHidden:false]; +} + +- (void)createAccount:(NSString*)identity password:(NSString*)password email:(NSString*)email { + NSString *useragent = [LinphoneManager getUserAgent]; + [LinphoneLogger log:LinphoneLoggerDebug format:@"XMLRPC create_account_with_useragent %@ %@ %@ %@", identity, password, email, useragent]; + + NSURL *URL = [NSURL URLWithString: LINPHONE_WIZARD_URL]; + XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithURL: URL]; + [request setMethod: @"create_account_with_useragent" withParameters:[NSArray arrayWithObjects:identity, password, email, useragent, nil]]; + + XMLRPCConnectionManager *manager = [XMLRPCConnectionManager sharedManager]; + [manager spawnConnectionWithXMLRPCRequest: request delegate: self]; + + [request release]; + [waitView setHidden:false]; +} + +- (void)checkAccountValidation:(NSString*)identity { + [LinphoneLogger log:LinphoneLoggerDebug format:@"XMLRPC check_account_validated %@", identity]; + + NSURL *URL = [NSURL URLWithString: LINPHONE_WIZARD_URL]; + XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithURL: URL]; + [request setMethod: @"check_account_validated" withParameters:[NSArray arrayWithObjects:identity, nil]]; + + XMLRPCConnectionManager *manager = [XMLRPCConnectionManager sharedManager]; + [manager spawnConnectionWithXMLRPCRequest: request delegate: self]; + + [request release]; + [waitView setHidden:false]; +} + +- (void)registrationUpdate:(LinphoneRegistrationState)state { + switch (state) { + case LinphoneRegistrationOk: { + [[LinphoneManager instance].settingsStore setBool:false forKey:@"enable_first_login_view_preference"]; + [waitView setHidden:true]; + [[PhoneMainView instance] changeCurrentView:[DialerViewController compositeViewDescription]]; + break; + } + case LinphoneRegistrationNone: + case LinphoneRegistrationCleared: { + [waitView setHidden:true]; + break; + } + case LinphoneRegistrationFailed: { + [waitView setHidden:true]; + break; + } + case LinphoneRegistrationProgress: { + [waitView setHidden:false]; + break; + } + default: + break; + } } @@ -175,6 +325,10 @@ static UICompositeViewDescription *compositeDescription = nil; return YES; } +- (void)textFieldDidBeginEditing:(UITextField *)textField { + activeTextField = textField; +} + #pragma mark - Action Functions @@ -206,4 +360,214 @@ static UICompositeViewDescription *compositeDescription = nil; [self changeView:externalAccountView back:FALSE animation:TRUE]; } +- (IBAction)onCheckValidationClick:(id)sender { + NSString *username = [self findTextField:ViewElement_Username].text; + [self checkAccountValidation:[NSString stringWithFormat:@"%@@%@", username, LINPHONE_WIZARD_DOMAIN]]; +} + +- (IBAction)onSignInExternalClick:(id)sender { + [self.waitView setHidden:false]; + NSString *username = [self findTextField:ViewElement_Username].text; + NSString *password = [self findTextField:ViewElement_Password].text; + NSString *domain = [self findTextField:ViewElement_Domain].text; + [self addProxyConfig:username password:password domain:domain]; +} + +- (IBAction)onSignInClick:(id)sender { + [self.waitView setHidden:false]; + NSString *username = [self findTextField:ViewElement_Username].text; + NSString *password = [self findTextField:ViewElement_Password].text; + [self addProxyConfig:username password:password domain:LINPHONE_WIZARD_DOMAIN]; +} + +- (IBAction)onRegisterClick:(id)sender { + NSString *username = [self findTextField:ViewElement_Username].text; + NSString *password = [self findTextField:ViewElement_Password].text; + NSString *password2 = [self findTextField:ViewElement_Password2].text; + NSString *email = [self findTextField:ViewElement_Email].text; + NSMutableString *errors = [NSMutableString string]; + + if ([username length] < LINPHONE_WIZARD_MIN_USERNAME_LENGTH) { + [errors appendString:[NSString stringWithFormat:@"The username is too short (minimum %d characters).\n", LINPHONE_WIZARD_MIN_USERNAME_LENGTH]]; + } + + if ([password length] < LINPHONE_WIZARD_MIN_PASSWORD_LENGTH) { + [errors appendString:[NSString stringWithFormat:@"The password is too short (minimum %d characters).\n", LINPHONE_WIZARD_MIN_PASSWORD_LENGTH]]; + } + + if (![password2 isEqualToString:password]) { + [errors appendString:@"The passwords are different.\n"]; + } + + NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @".+@.+\\.[A-Za-z]{2}[A-Za-z]*"]; + if(![emailTest evaluateWithObject:email]) { + [errors appendString:@"The email is invalid.\n"]; + } + + if([errors length]) { + UIAlertView* errorView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Check error",nil) + message:[errors substringWithRange:NSMakeRange(0, [errors length] - 1)] + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil,nil]; + [errorView show]; + [errorView release]; + } else { + [self checkUserExist:username]; + } +} + + +#pragma mark - Event Functions + +- (void)registrationUpdateEvent:(NSNotification*)notif { + [self registrationUpdate:[[notif.userInfo objectForKey: @"state"] intValue]]; +} + +#pragma mark - Keyboard Event Functions + +- (void)keyboardWillHide:(NSNotification *)notif { + //CGRect beginFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue]; + //CGRect endFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; + UIViewAnimationCurve curve = [[[notif userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]; + NSTimeInterval duration = [[[notif userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + [UIView beginAnimations:@"resize" context:nil]; + [UIView setAnimationDuration:duration]; + [UIView setAnimationCurve:curve]; + [UIView setAnimationBeginsFromCurrentState:TRUE]; + + // Move view + UIEdgeInsets inset = {0,0,0,0}; + [contentView setContentInset:inset]; + [contentView setScrollIndicatorInsets:inset]; + [contentView setShowsVerticalScrollIndicator:FALSE]; + + [UIView commitAnimations]; +} + +- (void)keyboardWillShow:(NSNotification *)notif { + //CGRect beginFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue]; + CGRect endFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; + UIViewAnimationCurve curve = [[[notif userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]; + NSTimeInterval duration = [[[notif userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + [UIView beginAnimations:@"resize" context:nil]; + [UIView setAnimationDuration:duration]; + [UIView setAnimationCurve:curve]; + [UIView setAnimationBeginsFromCurrentState:TRUE]; + + if(UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) { + int width = endFrame.size.height; + endFrame.size.height = endFrame.size.width; + endFrame.size.width = width; + } + + // Change inset + { + UIEdgeInsets inset = {0,0,0,0}; + CGRect frame = [contentView frame]; + CGRect rect = [PhoneMainView instance].view.bounds; + CGPoint pos = {frame.size.width, frame.size.height}; + CGPoint gPos = [contentView convertPoint:pos toView:[UIApplication sharedApplication].keyWindow.rootViewController.view]; // Bypass IOS bug on landscape mode + inset.bottom = -(rect.size.height - gPos.y - endFrame.size.height); + if(inset.bottom < 0) inset.bottom = 0; + + [contentView setContentInset:inset]; + [contentView setScrollIndicatorInsets:inset]; + CGRect fieldFrame = activeTextField.frame; + fieldFrame.origin.y += fieldFrame.size.height; + [contentView scrollRectToVisible:fieldFrame animated:TRUE]; + [contentView setShowsVerticalScrollIndicator:TRUE]; + } + [UIView commitAnimations]; +} + + +#pragma mark - XMLRPCConnectionDelegate Functions + +- (void)request: (XMLRPCRequest *)request didReceiveResponse: (XMLRPCResponse *)response { + [LinphoneLogger log:LinphoneLoggerDebug format:@"XMLRPC %@: %@", [request method], [response body]]; + [waitView setHidden:true]; + if ([response isFault]) { + NSString *errorString = [NSString stringWithFormat:@"Can't create account: Communication issue (%@)", [response faultString]]; + UIAlertView* errorView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Communication issue",nil) + message:errorString + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil,nil]; + [errorView show]; + [errorView release]; + } else { + if([[request method] isEqualToString:@"check_account"]) { + if([response object] == [NSNumber numberWithInt:1]) { + UIAlertView* errorView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Check issue",nil) + message:@"Username already exists" + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil,nil]; + [errorView show]; + [errorView release]; + } else { + NSString *username = [self findTextField:ViewElement_Username].text; + NSString *password = [self findTextField:ViewElement_Password].text; + NSString *email = [self findTextField:ViewElement_Email].text; + [self createAccount:[NSString stringWithFormat:@"%@@%@", username, LINPHONE_WIZARD_DOMAIN] password:password email:email]; + } + } else if([[request method] isEqualToString:@"create_account_with_useragent"]) { + if([response object] == [NSNumber numberWithInt:0]) { + NSString *username = [self findTextField:ViewElement_Username].text; + NSString *password = [self findTextField:ViewElement_Password].text; + [self changeView:validateAccountView back:FALSE animation:TRUE]; + [self findTextField:ViewElement_Username].text = username; + [self findTextField:ViewElement_Password].text = password; + } else { + UIAlertView* errorView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Account creation issue",nil) + message:@"Can't create the account. Please try again." + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil,nil]; + [errorView show]; + [errorView release]; + } + } else if([[request method] isEqualToString:@"check_account_validated"]) { + if([response object] == [NSNumber numberWithInt:1]) { + NSString *username = [self findTextField:ViewElement_Username].text; + NSString *password = [self findTextField:ViewElement_Password].text; + [self addProxyConfig:username password:password domain:LINPHONE_WIZARD_DOMAIN]; + } else { + UIAlertView* errorView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Account validation issue",nil) + message:@"Your account is not validate yet." + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil,nil]; + [errorView show]; + [errorView release]; + } + } + } +} + +- (void)request: (XMLRPCRequest *)request didFailWithError: (NSError *)error { + NSString *errorString = [NSString stringWithFormat:@"Can't create account: Communication issue (%@)", [error localizedDescription]]; + UIAlertView* errorView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Communication issue",nil) + message:errorString + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue",nil) + otherButtonTitles:nil,nil]; + [errorView show]; + [errorView release]; + [waitView setHidden:true]; +} + +- (BOOL)request: (XMLRPCRequest *)request canAuthenticateAgainstProtectionSpace: (NSURLProtectionSpace *)protectionSpace { + return FALSE; +} + +- (void)request: (XMLRPCRequest *)request didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { + +} + +- (void)request: (XMLRPCRequest *)request didCancelAuthenticationChallenge: (NSURLAuthenticationChallenge *)challenge { + +} + @end diff --git a/Classes/WizardViewController.xib b/Classes/WizardViewController.xib index 4ea29b5c0..9d175e6d6 100644 --- a/Classes/WizardViewController.xib +++ b/Classes/WizardViewController.xib @@ -3,20 +3,22 @@ 1296 11E53 - 2182 + 2549 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1498 - IBUITextField + IBProxyObject + IBUIActivityIndicatorView IBUIButton IBUIImageView - IBUIView IBUILabel - IBProxyObject + IBUIScrollView + IBUITextField + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -38,28 +40,27 @@ 292 - + - 292 + 268 {320, 394} - + _NS:9 - - 3 - MCAwAA - - NO + YES + YES IBCocoaTouchFramework + NO + NO - 274 + 266 - 292 + 294 {160, 77} @@ -75,15 +76,15 @@ 3 MC41AA - + NSImage setup_cancel_over.png - + NSImage setup_cancel_disabled.png - + NSImage setup_cancel_default.png @@ -99,7 +100,7 @@ - 292 + 291 {{160, 0}, {160, 77}} @@ -112,15 +113,11 @@ NO NO - + NSImage setup_start_over.png - - NSImage - setup_start_disabled.png - - + NSImage setup_start_default.png @@ -129,10 +126,11 @@ - -2147483356 + -2147483357 {{160, 0}, {160, 77}} + _NS:9 NO IBCocoaTouchFramework @@ -141,15 +139,15 @@ NO NO - + NSImage setup_back_over.png - + NSImage setup_back_disabled.png - + NSImage setup_back_default.png @@ -162,25 +160,58 @@ _NS:9 - + + 3 + MCAwAA + + IBCocoaTouchFramework + + + + -2147483374 + + + + 292 + {{141, 212}, {37, 37}} + + + + _NS:9 + NO + IBCocoaTouchFramework + NO + YES + 0 + + + {320, 460} + + + + _NS:9 + + 3 + MSAwLjUAA + IBCocoaTouchFramework {320, 460} - + _NS:9 IBCocoaTouchFramework - 292 + 274 - 274 + 311 {{60, 80}, {201, 129}} @@ -195,10 +226,11 @@ - 292 - {{40, 313}, {240, 44}} + 282 + {{40, 290}, {240, 44}} + _NS:9 NO YES @@ -213,7 +245,7 @@ 0 10 - 2 + 0 1 1 @@ -224,9 +256,10 @@ 12 16 + NO - {320, 460} + {320, 394} @@ -236,11 +269,11 @@ - 292 + 274 - 274 + 311 {{31, 50}, {258, 24}} @@ -255,7 +288,7 @@ - 292 + 319 {{33, 141}, {255, 50}} @@ -289,7 +322,7 @@ - 292 + 319 {{33, 205}, {255, 50}} @@ -310,10 +343,11 @@ - 292 + 319 {{33, 269}, {255, 50}} + _NS:9 NO IBCocoaTouchFramework @@ -329,7 +363,7 @@ - {320, 460} + {320, 394} @@ -339,11 +373,11 @@ - 292 + 274 - 274 + 311 {{31, 50}, {258, 24}} @@ -355,7 +389,7 @@ - 292 + 298 {{39, 80}, {240, 44}} @@ -372,14 +406,15 @@ 0 10 - 2 + 0 1 + NO - 292 + 319 {{32, 140}, {255, 31}} @@ -420,7 +455,7 @@ - 292 + 319 {{32, 185}, {255, 31}} @@ -450,7 +485,7 @@ - 292 + 319 {{32, 230}, {255, 31}} @@ -480,7 +515,7 @@ - 292 + 319 {{32, 275}, {255, 31}} @@ -488,7 +523,7 @@ _NS:9 NO YES - 104 + 103 IBCocoaTouchFramework 0 @@ -509,10 +544,11 @@ - 292 + 287 {{33, 330}, {255, 50}} + _NS:9 NO IBCocoaTouchFramework @@ -535,7 +571,7 @@ - {320, 460} + {320, 394} @@ -545,11 +581,11 @@ - 292 + 274 - 274 + 311 {{31, 50}, {258, 24}} @@ -561,7 +597,7 @@ - 292 + 298 {{40, 80}, {240, 44}} @@ -578,17 +614,19 @@ 0 10 - 2 + 0 1 + NO - 292 + 287 {{32, 330}, {255, 50}} + _NS:9 NO IBCocoaTouchFramework @@ -605,7 +643,7 @@ - 292 + 319 {{32, 185}, {255, 31}} @@ -635,7 +673,7 @@ - 292 + 319 {{32, 140}, {255, 31}} @@ -663,7 +701,7 @@ - {320, 460} + {320, 394} @@ -673,11 +711,11 @@ - 292 + 274 - 274 + 311 {{31, 50}, {258, 24}} @@ -689,7 +727,7 @@ - 292 + 298 {{40, 80}, {240, 44}} @@ -706,14 +744,15 @@ 0 10 - 2 + 0 1 + NO - 292 + 319 {{33, 140}, {255, 31}} @@ -742,7 +781,7 @@ - 292 + 319 {{33, 185}, {255, 31}} @@ -772,7 +811,7 @@ - 292 + 319 {{33, 230}, {255, 31}} @@ -780,7 +819,7 @@ _NS:9 NO YES - 103 + 104 IBCocoaTouchFramework 0 @@ -801,10 +840,11 @@ - 292 + 287 {{34, 330}, {255, 50}} + _NS:9 NO IBCocoaTouchFramework @@ -820,7 +860,7 @@ - {320, 460} + {320, 394} @@ -828,6 +868,136 @@ IBCocoaTouchFramework + + + 274 + + + + 311 + {{31, 50}, {258, 24}} + + + + _NS:9 + NO + IBCocoaTouchFramework + + + + + 298 + {{40, 80}, {240, 44}} + + + + _NS:9 + NO + YES + 7 + 200 + NO + IBCocoaTouchFramework + Your account is created. Please check your mails in order to validate your account. + + + 0 + 10 + 0 + 1 + + + NO + + + + 287 + {{32, 330}, {255, 50}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + NO + Check validation + + + + + + + + + + -2147483329 + {{32, 185}, {255, 31}} + + + + _NS:9 + NO + YES + 101 + IBCocoaTouchFramework + 0 + + Password + + 3 + MAA + + + YES + 17 + + YES + IBCocoaTouchFramework + + + + + + + + -2147483329 + {{32, 140}, {255, 31}} + + + + _NS:9 + NO + YES + 100 + IBCocoaTouchFramework + 0 + + Username + + 3 + MAA + + + YES + 17 + + IBCocoaTouchFramework + + + + + + + {320, 394} + + + + _NS:9 + + IBCocoaTouchFramework + @@ -863,14 +1033,6 @@ 28 - - - contentView - - - - 29 - choiceView @@ -903,6 +1065,30 @@ 72 + + + waitView + + + + 96 + + + + contentView + + + + 99 + + + + validateAccountView + + + + 112 + onStartClick: @@ -981,6 +1167,24 @@ 88 + + + onSignInExternalClick: + + + 7 + + 115 + + + + onSignInClick: + + + 7 + + 116 + delegate @@ -1021,6 +1225,15 @@ 83 + + + onRegisterClick: + + + 7 + + 113 + delegate @@ -1029,6 +1242,31 @@ 84 + + + onCheckValidationClick: + + + 7 + + 114 + + + + delegate + + + + 109 + + + + delegate + + + + 110 + @@ -1053,18 +1291,12 @@ 12 - + + - - 13 - - - - contentView - 14 @@ -1098,8 +1330,8 @@ 21 - + welcomeView @@ -1128,30 +1360,12 @@ choiceView - - 36 - - - createAccountButton - 37 titleImage - - 38 - - - connectAccountButton - - - 39 - - - externalAccountButton - 44 @@ -1302,6 +1516,88 @@ emailField + + 39 + + + externalAccountButton + + + 38 + + + connectAccountButton + + + 36 + + + createAccountButton + + + 91 + + + + + + waitView + + + 90 + + + activityIndicatorView + + + 98 + + + contentView + + + 101 + + + + + + + + + + validateAccountView + + + 103 + + + checkValidationButton + + + 105 + + + label + + + 107 + + + titleImage + + + 104 + + + usernameField + + + 106 + + + passwordField + @@ -1309,15 +1605,21 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1353,12 +1655,15 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 88 + 116 @@ -1368,9 +1673,13 @@ id id + id id id id + id + id + id id @@ -1382,6 +1691,10 @@ onCancelClick: id + + onCheckValidationClick: + id + onConnectAccountClick: id @@ -1394,6 +1707,18 @@ onExternalAccountClick: id + + onRegisterClick: + id + + + onSignInClick: + id + + + onSignInExternalClick: + id + onStartClick: id @@ -1407,6 +1732,8 @@ UIView UIView UIButton + UIView + UIView UIView @@ -1438,6 +1765,14 @@ startButton UIButton + + validateAccountView + UIView + + + waitView + UIView + welcomeView UIView @@ -1461,7 +1796,7 @@ {550, 101} {550, 101} - {16, 16} + {542, 88} {320, 154} {320, 154} {320, 154} @@ -1469,11 +1804,10 @@ {320, 154} {320, 154} {320, 154} - {320, 154} {320, 154} {516, 48} {402, 258} - 1181 + 1498 diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index ba7ad0ed8..5a6cefd18 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -1123,6 +1123,41 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + D3554ECE15CA79AA00478841 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8DC2EF5B0486A6940098B216; + remoteInfo = XMLRPC; + }; + D3554ED015CA79AA00478841 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 903B0DB612F7574800BD6E09; + remoteInfo = libXMLRPC; + }; + D3554ED215CA79AA00478841 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0799AF030F6721FF00B71B22; + remoteInfo = XMLRPCUnitTests; + }; + D3554ED415CA79B900478841 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 903B0DB512F7574800BD6E09; + remoteInfo = libXMLRPC; + }; + D3554ED615CA79C000478841 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 903B0DB512F7574800BD6E09; + remoteInfo = libXMLRPC; + }; D3B90E1815C2CB5800F64F8C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D3B90E1115C2CB5700F64F8C /* NinePatch.xcodeproj */; @@ -1608,6 +1643,7 @@ D354981E1587716B000081D8 /* UIStateBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIStateBar.h; sourceTree = ""; }; D354981F1587716B000081D8 /* UIStateBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIStateBar.m; sourceTree = ""; }; D35498201587716B000081D8 /* UIStateBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIStateBar.xib; sourceTree = ""; }; + D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = XMLRPC.xcodeproj; path = Utils/XMLRPC/XMLRPC.xcodeproj; sourceTree = ""; }; D35860D515B549B500513429 /* Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Utils.m; path = Utils/Utils.m; sourceTree = ""; }; D35E757515931E5D0066B1C1 /* switch_camera_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = switch_camera_default.png; path = Resources/switch_camera_default.png; sourceTree = ""; }; D35E757615931E5D0066B1C1 /* switch_camera_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = switch_camera_over.png; path = Resources/switch_camera_over.png; sourceTree = ""; }; @@ -3046,6 +3082,7 @@ D3F9A9EB15AF27620045320F /* UACellBackgroundView */, C9B3A6FD15B485DB006F52EE /* Utils.h */, D35860D515B549B500513429 /* Utils.m */, + D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */, ); name = Utils; sourceTree = ""; @@ -3059,6 +3096,16 @@ name = Model; sourceTree = ""; }; + D3554EC615CA79A900478841 /* Products */ = { + isa = PBXGroup; + children = ( + D3554ECF15CA79AA00478841 /* XMLRPC.framework */, + D3554ED115CA79AA00478841 /* libXMLRPC.a */, + D3554ED315CA79AA00478841 /* XMLRPCUnitTests.octest */, + ); + name = Products; + sourceTree = ""; + }; D3807FB615C28940005BE9BC /* DCRoundSwitch */ = { isa = PBXGroup; children = ( @@ -3196,6 +3243,7 @@ buildRules = ( ); dependencies = ( + D3554ED515CA79B900478841 /* PBXTargetDependency */, D3B90E1B15C2CBC800F64F8C /* PBXTargetDependency */, ); name = linphone; @@ -3215,6 +3263,7 @@ buildRules = ( ); dependencies = ( + D3554ED715CA79C000478841 /* PBXTargetDependency */, D3B90E1D15C2CBCD00F64F8C /* PBXTargetDependency */, ); name = "linphone-no-gpl-thirdparties"; @@ -3248,6 +3297,10 @@ ProductGroup = D3B90E1215C2CB5700F64F8C /* Products */; ProjectRef = D3B90E1115C2CB5700F64F8C /* NinePatch.xcodeproj */; }, + { + ProductGroup = D3554EC615CA79A900478841 /* Products */; + ProjectRef = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; + }, ); projectRoot = ""; targets = ( @@ -3258,6 +3311,27 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ + D3554ECF15CA79AA00478841 /* XMLRPC.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = XMLRPC.framework; + remoteRef = D3554ECE15CA79AA00478841 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D3554ED115CA79AA00478841 /* libXMLRPC.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libXMLRPC.a; + remoteRef = D3554ED015CA79AA00478841 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + D3554ED315CA79AA00478841 /* XMLRPCUnitTests.octest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = XMLRPCUnitTests.octest; + remoteRef = D3554ED215CA79AA00478841 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; D3B90E1915C2CB5800F64F8C /* libNinePatch.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -4330,6 +4404,16 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + D3554ED515CA79B900478841 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libXMLRPC; + targetProxy = D3554ED415CA79B900478841 /* PBXContainerItemProxy */; + }; + D3554ED715CA79C000478841 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = libXMLRPC; + targetProxy = D3554ED615CA79C000478841 /* PBXContainerItemProxy */; + }; D3B90E1B15C2CBC800F64F8C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = NinePatch; @@ -4386,6 +4470,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4398,6 +4483,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = linphone; @@ -4458,6 +4545,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4470,6 +4558,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = linphone; @@ -4511,6 +4601,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4523,6 +4614,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; @@ -4564,6 +4657,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4576,6 +4670,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; @@ -4618,6 +4714,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4630,6 +4727,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; @@ -4672,6 +4771,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4684,6 +4784,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; @@ -4744,6 +4846,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4756,6 +4859,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = linphone; @@ -4817,6 +4922,7 @@ submodules/externals/exosip/include, submodules/externals/speex/include, classes/Utils/NinePatch/, + classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; @@ -4829,6 +4935,8 @@ OTHER_LDFLAGS = ( "-force_load", "$(BUILT_PRODUCTS_DIR)/libNinePatch.a", + "-force_load", + "$(BUILT_PRODUCTS_DIR)/libXMLRPC.a", "-Objc", ); PRODUCT_NAME = linphone; From 0284edb3afdf90aa1b5990adf1e9c5dcc596041f Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 3 Aug 2012 09:43:20 +0200 Subject: [PATCH 12/17] Improve InCall video stuff --- Classes/InCallViewController.h | 4 - Classes/InCallViewController.m | 49 +++---- Classes/InCallViewController.xib | 138 +----------------- Classes/Utils/XMLRPC/NSData+Base64.m | 2 +- .../XMLRPC/XMLRPC.xcodeproj/project.pbxproj | 15 +- Classes/WizardViewController.m | 11 +- main.m | 1 - submodules/linphone | 2 +- 8 files changed, 44 insertions(+), 178 deletions(-) diff --git a/Classes/InCallViewController.h b/Classes/InCallViewController.h index 0808ebeac..b11f30ae3 100644 --- a/Classes/InCallViewController.h +++ b/Classes/InCallViewController.h @@ -28,10 +28,6 @@ @class VideoViewController; -@interface UIPreviewView : UIView - -@end - @interface InCallViewController : UIViewController { InCallTableViewController* callTableController; diff --git a/Classes/InCallViewController.m b/Classes/InCallViewController.m index 15926c9ff..4a8e3442f 100644 --- a/Classes/InCallViewController.m +++ b/Classes/InCallViewController.m @@ -35,18 +35,6 @@ const NSInteger SECURE_BUTTON_TAG=5; -@implementation UIPreviewView - -- (void)layoutSubviews { - [super layoutSubviews]; - [self.layer setFrame:self.frame]; - for(CALayer *layer in self.layer.sublayers) { - [layer setFrame:self.bounds]; - } -} - -@end - @implementation InCallViewController @synthesize callTableController; @@ -113,22 +101,6 @@ static UICompositeViewDescription *compositeDescription = nil; #pragma mark - ViewController Functions -// Resize preview view keep same ratio -- (void)viewWillLayoutSubviews { - [super viewWillLayoutSubviews]; - CGRect frame = [videoPreview frame]; - frame.origin.x += frame.size.width; - frame.origin.y += frame.size.height; - - CGRect selfFrame = [self.view frame]; - int size = 100.0f/460.0f * MAX(selfFrame.size.width, selfFrame.size.height); - frame.origin.x -= size; - frame.origin.y -= size; - frame.size.height = size; - frame.size.width = size; - [videoPreview setFrame:frame]; -} - - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; @@ -224,6 +196,27 @@ static UICompositeViewDescription *compositeDescription = nil; } +- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + CGRect frame = [videoPreview frame]; + switch (toInterfaceOrientation) { + case UIInterfaceOrientationPortrait: + [videoPreview setTransform: CGAffineTransformMakeRotation(0)]; + break; + case UIInterfaceOrientationPortraitUpsideDown: + [videoPreview setTransform: CGAffineTransformMakeRotation(M_PI)]; + break; + case UIInterfaceOrientationLandscapeLeft: + [videoPreview setTransform: CGAffineTransformMakeRotation(M_PI / 2)]; + break; + case UIInterfaceOrientationLandscapeRight: + [videoPreview setTransform: CGAffineTransformMakeRotation(-M_PI / 2)]; + break; + default: + break; + } + [videoPreview setFrame:frame]; +} + #pragma mark - - (void)orientationUpdate { diff --git a/Classes/InCallViewController.xib b/Classes/InCallViewController.xib index 8d6106c7d..d02849967 100644 --- a/Classes/InCallViewController.xib +++ b/Classes/InCallViewController.xib @@ -52,7 +52,6 @@ 301 {{-1000, -1000}, {2000, 2000}} - _NS:9 @@ -66,7 +65,6 @@ 274 {320, 460} - _NS:196 @@ -77,10 +75,9 @@ - 265 + 283 {{220, 360}, {100, 100}} - 1 @@ -91,7 +88,6 @@ 301 {{141, 212}, {37, 37}} - _NS:1030 NO @@ -103,7 +99,6 @@ {320, 460} - _NS:196 @@ -114,7 +109,6 @@ 274 {{0, -10}, {320, 480}} - _NS:418 @@ -143,9 +137,9 @@ -2147483356 - {85, 33} + {{0, 23}, {85, 33}} - + _NS:9 NO IBCocoaTouchFramework @@ -178,7 +172,6 @@ {320, 460} - NO @@ -400,7 +393,6 @@ -2.IBPluginDependency 106.IBPluginDependency 126.IBPluginDependency - 127.CustomClassName 127.IBPluginDependency 132.IBPluginDependency 144.IBPluginDependency @@ -420,7 +412,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIPreviewView com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -447,128 +438,7 @@ 173 - - - YES - - InCallTableViewController - UITableViewController - - IBProjectSource - ./Classes/InCallTableViewController.h - - - - InCallViewController - UIViewController - - YES - - YES - callTableController - callTableView - testVideoView - videoCameraSwitch - videoGroup - videoPreview - videoView - videoWaitingForFirstImage - - - YES - InCallTableViewController - UITableView - UIView - UICamSwitch - UIView - UIView - UIView - UIActivityIndicatorView - - - - YES - - YES - callTableController - callTableView - testVideoView - videoCameraSwitch - videoGroup - videoPreview - videoView - videoWaitingForFirstImage - - - YES - - callTableController - InCallTableViewController - - - callTableView - UITableView - - - testVideoView - UIView - - - videoCameraSwitch - UICamSwitch - - - videoGroup - UIView - - - videoPreview - UIView - - - videoView - UIView - - - videoWaitingForFirstImage - UIActivityIndicatorView - - - - - IBProjectSource - ./Classes/InCallViewController.h - - - - UICamSwitch - UIButton - - preview - UIView - - - preview - - preview - UIView - - - - IBProjectSource - ./Classes/UICamSwitch.h - - - - UIPreviewView - UIView - - IBProjectSource - ./Classes/UIPreviewView.h - - - - + 0 IBCocoaTouchFramework diff --git a/Classes/Utils/XMLRPC/NSData+Base64.m b/Classes/Utils/XMLRPC/NSData+Base64.m index 2d719f2f1..4e6bb74c0 100755 --- a/Classes/Utils/XMLRPC/NSData+Base64.m +++ b/Classes/Utils/XMLRPC/NSData+Base64.m @@ -296,7 +296,7 @@ char *NewBase64Encode( // - (NSString *)base64EncodedString { - size_t outputLength; + size_t outputLength = 0; char *outputBuffer = NewBase64Encode([self bytes], [self length], true, &outputLength); diff --git a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj index 7e2cae629..c45de281a 100755 --- a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj +++ b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj @@ -659,6 +659,7 @@ ARCHS = "$(ARCHS_STANDARD_32_BIT)"; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; + VALID_ARCHS = "armv6 armv7"; }; name = Development; }; @@ -669,6 +670,7 @@ ARCHS = "$(ARCHS_STANDARD_32_BIT)"; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; + VALID_ARCHS = "armv6 armv7"; }; name = Release; }; @@ -688,7 +690,7 @@ PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; SDKROOT = iphoneos; - VALID_ARCHS = "armv7 armv6"; + VALID_ARCHS = "armv6 armv7"; }; name = Development; }; @@ -707,7 +709,7 @@ PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; SDKROOT = iphoneos; - VALID_ARCHS = "armv7 armv6"; + VALID_ARCHS = "armv6 armv7"; ZERO_LINK = NO; }; name = Release; @@ -719,6 +721,7 @@ ARCHS = "$(ARCHS_STANDARD_32_BIT)"; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; + VALID_ARCHS = "armv6 armv7"; }; name = Debug; }; @@ -748,7 +751,7 @@ PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; SDKROOT = iphoneos; - VALID_ARCHS = "armv7 armv6"; + VALID_ARCHS = "armv6 armv7"; }; name = Debug; }; @@ -773,6 +776,7 @@ ARCHS = "$(ARCHS_STANDARD_32_BIT)"; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; + VALID_ARCHS = "armv6 armv7"; }; name = Distribution; }; @@ -801,7 +805,7 @@ PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; SDKROOT = iphoneos; - VALID_ARCHS = "armv7 armv6"; + VALID_ARCHS = "armv6 armv7"; ZERO_LINK = NO; }; name = Distribution; @@ -827,6 +831,7 @@ ARCHS = "$(ARCHS_STANDARD_32_BIT)"; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; + VALID_ARCHS = "armv6 armv7"; }; name = DistributionAdhoc; }; @@ -855,7 +860,7 @@ PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; SDKROOT = iphoneos; - VALID_ARCHS = "armv7 armv6"; + VALID_ARCHS = "armv6 armv7"; ZERO_LINK = NO; }; name = DistributionAdhoc; diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index 6eb22f833..330032984 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -116,16 +116,13 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)viewDidLoad { [super viewDidLoad]; + [self resetWizard]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - [self clearProxyConfig]; - [self changeView:welcomeView back:FALSE animation:FALSE]; - [waitView setHidden:TRUE]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(registrationUpdateEvent:) name:@"LinphoneRegistrationUpdate" @@ -159,6 +156,12 @@ static UICompositeViewDescription *compositeDescription = nil; #pragma mark - +- (void)resetWizard { + [self clearProxyConfig]; + [self changeView:welcomeView back:FALSE animation:FALSE]; + [waitView setHidden:TRUE]; +} + + (UIView*)findTextField:(ViewElement)tag view:(UIView*)view { for(UIView *child in [view subviews]) { if([child tag] == tag){ diff --git a/main.m b/main.m index ecec28813..1535f7764 100644 --- a/main.m +++ b/main.m @@ -25,4 +25,3 @@ int main(int argc, char *argv[]) { [pool release]; return retVal; } - diff --git a/submodules/linphone b/submodules/linphone index 78fae7aca..e6ef8b45a 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 78fae7acaf65bf083a8d35ae0c0bdddc87b649cc +Subproject commit e6ef8b45a4d109f06b452276061303c0e2173dda From ee6d6c3a9c96195f40fda2ccbf717eafd84f27a8 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 3 Aug 2012 11:09:40 +0200 Subject: [PATCH 13/17] Reset field on Wizard show --- Classes/WizardViewController.m | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index 330032984..82defa8c5 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -156,8 +156,24 @@ static UICompositeViewDescription *compositeDescription = nil; #pragma mark - ++ (void)cleanTextField:(UIView*)view { + if([view isKindOfClass:[UITextField class]]) { + [(UITextField*)view setText:@""]; + } else { + for(UIView *subview in view.subviews) { + [WizardViewController cleanTextField:subview]; + } + } +} + - (void)resetWizard { [self clearProxyConfig]; + [WizardViewController cleanTextField:welcomeView]; + [WizardViewController cleanTextField:choiceView]; + [WizardViewController cleanTextField:createAccountView]; + [WizardViewController cleanTextField:connectAccountView]; + [WizardViewController cleanTextField:externalAccountView]; + [WizardViewController cleanTextField:validateAccountView]; [self changeView:welcomeView back:FALSE animation:FALSE]; [waitView setHidden:TRUE]; } From 0f330d8e6c441ec903183fff66d3916f3779a9e4 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 3 Aug 2012 11:11:28 +0200 Subject: [PATCH 14/17] Only disable transfert when no current call or in conference --- Classes/LinphoneUI/UICallBar.m | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Classes/LinphoneUI/UICallBar.m b/Classes/LinphoneUI/UICallBar.m index c8063a1e6..33638965c 100644 --- a/Classes/LinphoneUI/UICallBar.m +++ b/Classes/LinphoneUI/UICallBar.m @@ -260,18 +260,9 @@ [conferenceButton setHidden:true]; } } - - // Disable menu when no call & no conference - if(linphone_core_get_current_call(lc) == NULL && linphone_core_is_in_conference(lc) == FALSE) { - [self hidePad]; - [self hideOptions]; - [optionsButton setEnabled:FALSE]; - } else { - [optionsButton setEnabled:TRUE]; - } // Disable transfert in conference - if(linphone_core_is_in_conference(lc)) { + if(linphone_core_get_current_call(lc) == NULL) { [optionsTransferButton setEnabled:FALSE]; } else { [optionsTransferButton setEnabled:TRUE]; From 95dc0fd88c28a582d4dfdafe2e5d22a3e03bfdc1 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 3 Aug 2012 12:01:22 +0200 Subject: [PATCH 15/17] Add Application badge based on missed calls/unread messages --- Classes/HistoryViewController.m | 5 +++++ Classes/LinphoneAppDelegate.m | 1 + Classes/LinphoneUI/UIMainBar.m | 8 +------- Classes/PhoneMainView.h | 2 ++ Classes/PhoneMainView.m | 15 ++++++++++++++- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/Classes/HistoryViewController.m b/Classes/HistoryViewController.m index 92cb769b3..30ec0ffc6 100644 --- a/Classes/HistoryViewController.m +++ b/Classes/HistoryViewController.m @@ -81,6 +81,11 @@ static UICompositeViewDescription *compositeDescription = nil; [editButton setOff]; [self changeView: History_All]; [self.tableView reloadData]; + + // Reset missed call + linphone_core_reset_missed_calls_count([LinphoneManager getLc]); + // Fake event + [[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self]; } - (void)viewDidLoad { diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 58a6a2356..ec89ddc2d 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -165,6 +165,7 @@ int __aeabi_idiv(int a, int b) { } - (void)setupUI { + [[PhoneMainView instance] startUp]; if ([[LinphoneManager instance].settingsStore boolForKey:@"enable_first_login_view_preference"] == true) { // Change to fist login view [[PhoneMainView instance] changeCurrentView: [FirstLoginViewController compositeViewDescription]]; diff --git a/Classes/LinphoneUI/UIMainBar.m b/Classes/LinphoneUI/UIMainBar.m index ec2b88989..4c5fba903 100644 --- a/Classes/LinphoneUI/UIMainBar.m +++ b/Classes/LinphoneUI/UIMainBar.m @@ -258,13 +258,7 @@ [target.layer removeAnimationForKey:animationID]; } -- (void)updateView:(UICompositeViewDescription*) view { - // Reset missed call - if([view equal:[HistoryViewController compositeViewDescription]]) { - linphone_core_reset_missed_calls_count([LinphoneManager getLc]); - [self updateMissedCall:0 appear:FALSE]; - } - +- (void)updateView:(UICompositeViewDescription*) view { // Update buttons if([view equal:[HistoryViewController compositeViewDescription]]) { historyButton.selected = TRUE; diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h index 038db2155..6514290d0 100644 --- a/Classes/PhoneMainView.h +++ b/Classes/PhoneMainView.h @@ -60,6 +60,8 @@ - (void)showStateBar:(BOOL)show; - (void)showTabBar:(BOOL)show; - (void)fullScreen:(BOOL)enabled; +- (void)startUp; + + (void)forceOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated; + (PhoneMainView*) instance; diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 9fc5479af..3b49f4320 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -114,7 +114,7 @@ static PhoneMainView* phoneMainViewInstance=nil; object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryLevelChanged:) - name:UIDeviceBatteryLevelDidChangeNotification + name:UIDeviceBatteryLevelDidChangeNotification object:nil]; } @@ -242,6 +242,7 @@ static PhoneMainView* phoneMainViewInstance=nil; ChatModel *chat = [[notif userInfo] objectForKey:@"chat"]; if(chat != nil) { [self displayMessage:chat]; + [self updateApplicationBadgeNumber]; } } @@ -340,11 +341,23 @@ static PhoneMainView* phoneMainViewInstance=nil; default: break; } + [self updateApplicationBadgeNumber]; } #pragma mark - +- (void)startUp { + [self updateApplicationBadgeNumber]; // Update Badge at startup +} + +- (void)updateApplicationBadgeNumber { + int count = 0; + count += linphone_core_get_missed_calls_count([LinphoneManager getLc]); + count += [ChatModel unreadMessages]; + [[UIApplication sharedApplication] setApplicationIconBadgeNumber:count]; +} + + (CATransition*)getBackwardTransition { CATransition* trans = [CATransition animation]; [trans setType:kCATransitionPush]; From f0e8707e1b9a71f68120b0d0bc00564ad7cbbce9 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 3 Aug 2012 12:27:41 +0200 Subject: [PATCH 16/17] Clean up projects --- .../NinePatch.xcodeproj/project.pbxproj | 59 +-- .../XMLRPC/Configurations/Common.xcconfig | 4 - .../XMLRPC/XMLRPC.xcodeproj/project.pbxproj | 482 ++---------------- linphone.xcodeproj/project.pbxproj | 206 +++----- 4 files changed, 116 insertions(+), 635 deletions(-) diff --git a/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj b/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj index b135d02b2..8cd815711 100755 --- a/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj +++ b/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj @@ -269,12 +269,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv6, - "$(ARCHS_STANDARD_32_BIT)", - ); COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/NinePatch.dst; GCC_DYNAMIC_NO_PIC = NO; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; @@ -282,11 +277,8 @@ GCC_PREFIX_HEADER = NinePatch_Prefix.pch; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = /usr/local/lib; IPHONEOS_DEPLOYMENT_TARGET = 4.0; - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = NinePatch; - SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -296,23 +288,15 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv6, - "$(ARCHS_STANDARD_32_BIT)", - ); COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/NinePatch.dst; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = NinePatch_Prefix.pch; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = /usr/local/lib; IPHONEOS_DEPLOYMENT_TARGET = 4.0; - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = NinePatch; - SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -321,12 +305,16 @@ 1DEB922308733DC00010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "Don't Code Sign"; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; @@ -336,12 +324,15 @@ 1DEB922408733DC00010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "Don't Code Sign"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH = YES; + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; @@ -351,12 +342,15 @@ D3D14E7E15A72BD10074A527 /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "Don't Code Sign"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH = YES; + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; @@ -367,23 +361,15 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv6, - "$(ARCHS_STANDARD_32_BIT)", - ); COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/NinePatch.dst; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = NinePatch_Prefix.pch; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = /usr/local/lib; IPHONEOS_DEPLOYMENT_TARGET = 4.0; - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = NinePatch; - SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -392,12 +378,15 @@ D3D14E8015A72BD70074A527 /* DistributionAdhoc */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "Don't Code Sign"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH = YES; + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; @@ -408,23 +397,15 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv6, - "$(ARCHS_STANDARD_32_BIT)", - ); COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/NinePatch.dst; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = NinePatch_Prefix.pch; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = /usr/local/lib; IPHONEOS_DEPLOYMENT_TARGET = 4.0; - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = NinePatch; - SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; diff --git a/Classes/Utils/XMLRPC/Configurations/Common.xcconfig b/Classes/Utils/XMLRPC/Configurations/Common.xcconfig index c1aba3d78..e036134b0 100755 --- a/Classes/Utils/XMLRPC/Configurations/Common.xcconfig +++ b/Classes/Utils/XMLRPC/Configurations/Common.xcconfig @@ -1,7 +1,3 @@ -ARCHS = $(ARCHS_STANDARD_32_64_BIT) -VALID_ARCHS = i386 ppc x86_64 -SDKROOT = macosx10.6 - RUN_CLANG_STATIC_ANALYZER = YES GCC_C_LANGUAGE_STANDARD = gnu99 diff --git a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj index c45de281a..109f3a548 100755 --- a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj +++ b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj @@ -7,46 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 033836831527905D00EF8E8A /* NSData+Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 033836811527905D00EF8E8A /* NSData+Base64.h */; }; 033836841527905D00EF8E8A /* NSData+Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 033836811527905D00EF8E8A /* NSData+Base64.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 033836851527905D00EF8E8A /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 033836821527905D00EF8E8A /* NSData+Base64.m */; }; 033836861527905D00EF8E8A /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 033836821527905D00EF8E8A /* NSData+Base64.m */; }; - 0707047810114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0707047610114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h */; }; - 0707047910114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0707047710114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m */; }; - 07075BAE10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07075BAD10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml */; }; - 07452BE30E469C9000A57686 /* XMLRPCConnectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07452BE20E469C9000A57686 /* XMLRPCConnectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 075137FB0E429E560019E4F6 /* XMLRPCConnectionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 075137F90E429E560019E4F6 /* XMLRPCConnectionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 075137FC0E429E560019E4F6 /* XMLRPCConnectionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 075137FA0E429E560019E4F6 /* XMLRPCConnectionManager.m */; }; - 0759A6F31143495E000DFE98 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0759A6F11143495E000DFE98 /* InfoPlist.strings */; }; - 0799AF270F6724E300B71B22 /* XMLRPC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */; }; - 0799AF5E0F67266400B71B22 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0799AF5D0F67266400B71B22 /* SenTestingKit.framework */; }; - 07A0A9071016A51000CEE3C7 /* EmptyBooleanTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9021016A51000CEE3C7 /* EmptyBooleanTestCase.xml */; }; - 07A0A9081016A51000CEE3C7 /* EmptyDataTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9031016A51000CEE3C7 /* EmptyDataTestCase.xml */; }; - 07A0A9091016A51000CEE3C7 /* EmptyDoubleTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9041016A51000CEE3C7 /* EmptyDoubleTestCase.xml */; }; - 07A0A90A1016A51000CEE3C7 /* EmptyIntegerTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9051016A51000CEE3C7 /* EmptyIntegerTestCase.xml */; }; - 07A0A90B1016A51000CEE3C7 /* EmptyStringTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07A0A9061016A51000CEE3C7 /* EmptyStringTestCase.xml */; }; - 07B0C6070E33A659006453B4 /* NSStringAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5F80E33A659006453B4 /* NSStringAdditions.h */; }; - 07B0C6080E33A659006453B4 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C5F90E33A659006453B4 /* NSStringAdditions.m */; }; - 07B0C6090E33A659006453B4 /* XMLRPC.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FA0E33A659006453B4 /* XMLRPC.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07B0C60A0E33A659006453B4 /* XMLRPCConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FB0E33A659006453B4 /* XMLRPCConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07B0C60B0E33A659006453B4 /* XMLRPCConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C5FC0E33A659006453B4 /* XMLRPCConnection.m */; }; - 07B0C60E0E33A659006453B4 /* XMLRPCDefaultEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5FF0E33A659006453B4 /* XMLRPCDefaultEncoder.h */; }; - 07B0C60F0E33A659006453B4 /* XMLRPCDefaultEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6000E33A659006453B4 /* XMLRPCDefaultEncoder.m */; }; - 07B0C6100E33A659006453B4 /* XMLRPCRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6010E33A659006453B4 /* XMLRPCRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07B0C6110E33A659006453B4 /* XMLRPCRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6020E33A659006453B4 /* XMLRPCRequest.m */; }; - 07B0C6120E33A659006453B4 /* XMLRPCResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6030E33A659006453B4 /* XMLRPCResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07B0C6130E33A659006453B4 /* XMLRPCResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C6040E33A659006453B4 /* XMLRPCResponse.m */; }; - 07B0C6170E33A672006453B4 /* XMLRPC.pch in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6160E33A672006453B4 /* XMLRPC.pch */; }; - 07B52BE7101004670015AD8B /* SimpleArrayTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07B52BE5101004670015AD8B /* SimpleArrayTestCase.xml */; }; - 07B52BE8101004670015AD8B /* SimpleStructTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07B52BE6101004670015AD8B /* SimpleStructTestCase.xml */; }; - 07B52BEA101004810015AD8B /* TestCases.plist in Resources */ = {isa = PBXBuildFile; fileRef = 07B52BE9101004810015AD8B /* TestCases.plist */; }; - 07B52C03101008670015AD8B /* XMLRPCParserTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B52C02101008670015AD8B /* XMLRPCParserTest.m */; }; - 07BB09891316B65A00E1911C /* DefaultTypeTestCase.xml in Resources */ = {isa = PBXBuildFile; fileRef = 07BB09881316B65A00E1911C /* DefaultTypeTestCase.xml */; }; - 07E761001011788B00E9BDEE /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; - 07EF453B0E721A5D009F2708 /* XMLRPCEventBasedParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 07EF45390E721A5D009F2708 /* XMLRPCEventBasedParser.h */; }; - 07EF453C0E721A5D009F2708 /* XMLRPCEventBasedParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 07EF453A0E721A5D009F2708 /* XMLRPCEventBasedParser.m */; }; 2DCADEDB1529E24300B47A4F /* XMLRPCEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DCADED91529E06900B47A4F /* XMLRPCEncoder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; 903B0DC212F7581200BD6E09 /* NSStringAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C5F80E33A659006453B4 /* NSStringAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 903B0DC312F7581200BD6E09 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B0C5F90E33A659006453B4 /* NSStringAdditions.m */; }; 903B0DC412F7581200BD6E09 /* XMLRPCConnectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07452BE20E469C9000A57686 /* XMLRPCConnectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -68,16 +31,6 @@ 903B0DD412F7581F00BD6E09 /* XMLRPC.pch in Headers */ = {isa = PBXBuildFile; fileRef = 07B0C6160E33A672006453B4 /* XMLRPC.pch */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 0799AF180F67240B00B71B22 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8DC2EF4F0486A6940098B216; - remoteInfo = XMLRPC; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ 033836811527905D00EF8E8A /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Base64.h"; sourceTree = ""; }; 033836821527905D00EF8E8A /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Base64.m"; sourceTree = ""; }; @@ -91,7 +44,6 @@ 075137F90E429E560019E4F6 /* XMLRPCConnectionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLRPCConnectionManager.h; sourceTree = ""; }; 075137FA0E429E560019E4F6 /* XMLRPCConnectionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XMLRPCConnectionManager.m; sourceTree = ""; }; 0759A6F21143495E000DFE98 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = Languages/English.lproj/InfoPlist.strings; sourceTree = ""; }; - 0799AF030F6721FF00B71B22 /* XMLRPCUnitTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = XMLRPCUnitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; 0799AF040F6721FF00B71B22 /* XMLRPCUnitTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "XMLRPCUnitTests-Info.plist"; path = "Resources/Property Lists/XMLRPCUnitTests-Info.plist"; sourceTree = ""; }; 0799AF0A0F67227F00B71B22 /* XMLRPCUnitTests.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPCUnitTests.xcconfig; path = Configurations/XMLRPCUnitTests.xcconfig; sourceTree = ""; }; 0799AF0B0F67227F00B71B22 /* XMLRPCUnitTestsDevelopment.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = XMLRPCUnitTestsDevelopment.xcconfig; path = Configurations/XMLRPCUnitTestsDevelopment.xcconfig; sourceTree = ""; }; @@ -130,30 +82,11 @@ 0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 2DCADED91529E06900B47A4F /* XMLRPCEncoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XMLRPCEncoder.h; sourceTree = ""; }; - 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = XMLRPC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 903B0DB612F7574800BD6E09 /* libXMLRPC.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libXMLRPC.a; sourceTree = BUILT_PRODUCTS_DIR; }; D2F7E79907B2D74100F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 0799AF000F6721FF00B71B22 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 07E761001011788B00E9BDEE /* Cocoa.framework in Frameworks */, - 0799AF5E0F67266400B71B22 /* SenTestingKit.framework in Frameworks */, - 0799AF270F6724E300B71B22 /* XMLRPC.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8DC2EF560486A6940098B216 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 903B0DB412F7574800BD6E09 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -167,8 +100,6 @@ 034768DFFF38A50411DB9C8B /* Products */ = { isa = PBXGroup; children = ( - 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */, - 0799AF030F6721FF00B71B22 /* XMLRPCUnitTests.octest */, 903B0DB612F7574800BD6E09 /* libXMLRPC.a */, ); name = Products; @@ -340,25 +271,6 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 8DC2EF500486A6940098B216 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 07B0C6070E33A659006453B4 /* NSStringAdditions.h in Headers */, - 07B0C6090E33A659006453B4 /* XMLRPC.h in Headers */, - 07B0C6170E33A672006453B4 /* XMLRPC.pch in Headers */, - 07B0C60A0E33A659006453B4 /* XMLRPCConnection.h in Headers */, - 07452BE30E469C9000A57686 /* XMLRPCConnectionDelegate.h in Headers */, - 075137FB0E429E560019E4F6 /* XMLRPCConnectionManager.h in Headers */, - 07B0C60E0E33A659006453B4 /* XMLRPCDefaultEncoder.h in Headers */, - 07EF453B0E721A5D009F2708 /* XMLRPCEventBasedParser.h in Headers */, - 0707047810114B9400CB7702 /* XMLRPCEventBasedParserDelegate.h in Headers */, - 07B0C6100E33A659006453B4 /* XMLRPCRequest.h in Headers */, - 07B0C6120E33A659006453B4 /* XMLRPCResponse.h in Headers */, - 033836831527905D00EF8E8A /* NSData+Base64.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 903B0DB212F7574800BD6E09 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -382,45 +294,6 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 0799AF020F6721FF00B71B22 /* XMLRPCUnitTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0799AF070F67220000B71B22 /* Build configuration list for PBXNativeTarget "XMLRPCUnitTests" */; - buildPhases = ( - 0799AEFE0F6721FF00B71B22 /* Resources */, - 0799AEFF0F6721FF00B71B22 /* Sources */, - 0799AF000F6721FF00B71B22 /* Frameworks */, - 0799AF010F6721FF00B71B22 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 0799AF190F67240B00B71B22 /* PBXTargetDependency */, - ); - name = XMLRPCUnitTests; - productName = XMLRPCUnitTests; - productReference = 0799AF030F6721FF00B71B22 /* XMLRPCUnitTests.octest */; - productType = "com.apple.product-type.bundle"; - }; - 8DC2EF4F0486A6940098B216 /* XMLRPC */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "XMLRPC" */; - buildPhases = ( - 8DC2EF500486A6940098B216 /* Headers */, - 8DC2EF520486A6940098B216 /* Resources */, - 8DC2EF540486A6940098B216 /* Sources */, - 8DC2EF560486A6940098B216 /* Frameworks */, - 0715852011432A78003D3454 /* Run Script: Include Git commit hash */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = XMLRPC; - productInstallPath = "$(HOME)/Library/Frameworks"; - productName = XMLRPC; - productReference = 8DC2EF5B0486A6940098B216 /* XMLRPC.framework */; - productType = "com.apple.product-type.framework"; - }; 903B0DB512F7574800BD6E09 /* libXMLRPC */ = { isa = PBXNativeTarget; buildConfigurationList = 903B0DB912F7577B00BD6E09 /* Build configuration list for PBXNativeTarget "libXMLRPC" */; @@ -428,7 +301,6 @@ 903B0DB212F7574800BD6E09 /* Headers */, 903B0DB312F7574800BD6E09 /* Sources */, 903B0DB412F7574800BD6E09 /* Frameworks */, - 903B0DFB12F75B2300BD6E09 /* ShellScript */, ); buildRules = ( ); @@ -462,110 +334,12 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 8DC2EF4F0486A6940098B216 /* XMLRPC */, 903B0DB512F7574800BD6E09 /* libXMLRPC */, - 0799AF020F6721FF00B71B22 /* XMLRPCUnitTests */, ); }; /* End PBXProject section */ -/* Begin PBXResourcesBuildPhase section */ - 0799AEFE0F6721FF00B71B22 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 07075BAE10C5FE3800589A27 /* AlternativeDateFormatsTestCase.xml in Resources */, - 07BB09891316B65A00E1911C /* DefaultTypeTestCase.xml in Resources */, - 07A0A9071016A51000CEE3C7 /* EmptyBooleanTestCase.xml in Resources */, - 07A0A9081016A51000CEE3C7 /* EmptyDataTestCase.xml in Resources */, - 07A0A9091016A51000CEE3C7 /* EmptyDoubleTestCase.xml in Resources */, - 07A0A90A1016A51000CEE3C7 /* EmptyIntegerTestCase.xml in Resources */, - 07A0A90B1016A51000CEE3C7 /* EmptyStringTestCase.xml in Resources */, - 07B52BE7101004670015AD8B /* SimpleArrayTestCase.xml in Resources */, - 07B52BE8101004670015AD8B /* SimpleStructTestCase.xml in Resources */, - 07B52BEA101004810015AD8B /* TestCases.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8DC2EF520486A6940098B216 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0759A6F31143495E000DFE98 /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 0715852011432A78003D3454 /* Run Script: Include Git commit hash */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script: Include Git commit hash"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /usr/bin/ruby; - shellScript = "raise \"Must be executed from within Xcode.\" unless ENV['XCODE_VERSION_ACTUAL']\n\ninfo_plist = \"#{ENV['BUILT_PRODUCTS_DIR']}/#{ENV['WRAPPER_NAME']}/Resources/Info.plist\"\n\nif !File.exist?('/usr/local/bin/git')\n exit\nend\n\ncommit = `/usr/local/bin/git rev-parse --short HEAD`.chomp!\n\nif commit.nil? or commit.empty?\n exit\nend\n\nlines = IO.readlines(info_plist).join\n\nlines.gsub! /(CFBundleShortVersionString<\\/key>\\W*)(\\d+\\.\\d+(?:\\.\\d)*[a-z]?)<\\/string>/, \"\\\\1\\\\2 rev. #{commit}\"\n\nFile.open(info_plist, 'w') { |f| f.puts lines }"; - }; - 0799AF010F6721FF00B71B22 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; - 903B0DFB12F75B2300BD6E09 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "#\n# Version 2.0 (updated for Xcode 4, with some fixes)\n#\n# Author: Adam Martin - http://twitter.com/redglassesapps\n#\n# For more information see this Stack Overflow question:\n# http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4\n#\nDEBUG_THIS_SCRIPT=\"false\"\n\nif [ $DEBUG_THIS_SCRIPT = \"true\" ]\nthen\necho \"########### TESTS #############\"\necho \"Use the following variables when debugging this script; note that they may change\"\necho \"BUILD_DIR = $BUILD_DIR\"\necho \"BUILD_ROOT = $BUILD_ROOT\"\necho \"CONFIGURATION_BUILD_DIR = $CONFIGURATION_BUILD_DIR\"\necho \"BUILT_PRODUCTS_DIR = $BUILT_PRODUCTS_DIR\"\necho \"CONFIGURATION_TEMP_DIR = $CONFIGURATION_TEMP_DIR\"\necho \"TARGET_BUILD_DIR = $TARGET_BUILD_DIR\"\nfi\n\n########################################################\n\nSDK_VERSION=$(echo ${SDK_NAME} | grep -o '.\\{3\\}$')\n\nif [ ${PLATFORM_NAME} = \"iphonesimulator\" ]\nthen\nOTHER_SDK_TO_BUILD=iphoneos${SDK_VERSION}\nelse\nOTHER_SDK_TO_BUILD=iphonesimulator${SDK_VERSION}\nfi\n\necho \"XCode has selected SDK: ${PLATFORM_NAME} with version: ${SDK_VERSION} (although back-targetting: ${IPHONEOS_DEPLOYMENT_TARGET})\"\necho \"...therefore, OTHER_SDK_TO_BUILD = ${OTHER_SDK_TO_BUILD}\"\n\n########################################################\n\nif [ \"true\" == ${ALREADYINVOKED:-false} ]\nthen\necho \"RECURSION: I am NOT the root invocation, so I'm NOT going to recurse\"\nelse\nexport ALREADYINVOKED=\"true\"\n\necho \"RECURSION: I am the root ... recursing all missing build targets NOW...\"\necho \"RECURSION: ...about to invoke: xcodebuild -configuration \\\"${CONFIGURATION}\\\" -target \\\"${TARGET_NAME}\\\" -sdk \\\"${OTHER_SDK_TO_BUILD}\\\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO\"\n\nxcodebuild -configuration \"${CONFIGURATION}\" -target \"${TARGET_NAME}\" -sdk \"${OTHER_SDK_TO_BUILD}\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO BUILD_DIR=\"${BUILD_DIR}\" BUILD_ROOT=\"${BUILD_ROOT}\"\n\nACTION=\"build\"\n\nCURRENTCONFIG_DEVICE_DIR=${SYMROOT}/${CONFIGURATION}-iphoneos\nCURRENTCONFIG_SIMULATOR_DIR=${SYMROOT}/${CONFIGURATION}-iphonesimulator\n\necho \"Taking device build from: ${CURRENTCONFIG_DEVICE_DIR}\"\necho \"Taking simulator build from: ${CURRENTCONFIG_SIMULATOR_DIR}\"\n\nCREATING_UNIVERSAL_DIR=${SYMROOT}/${CONFIGURATION}-universal\n\necho \"...I will output a universal build to: ${CREATING_UNIVERSAL_DIR}\"\n\nrm -rf \"${CREATING_UNIVERSAL_DIR}\"\nmkdir \"${CREATING_UNIVERSAL_DIR}\"\n\necho \"lipo: for current configuration (${CONFIGURATION}) creating output file: ${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\"\n\nlipo -create -output \"${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_DEVICE_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_SIMULATOR_DIR}/${EXECUTABLE_NAME}\"\n\nif [ -d \"${CURRENTCONFIG_DEVICE_DIR}/usr/local/include\" ]\nthen\nmkdir -p \"${CREATING_UNIVERSAL_DIR}/usr/local/include\"\ncp \"${CURRENTCONFIG_DEVICE_DIR}/usr/local/include/\"* \"${CREATING_UNIVERSAL_DIR}/usr/local/include\"\nfi\nfi"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ - 0799AEFF0F6721FF00B71B22 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 07B52C03101008670015AD8B /* XMLRPCParserTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8DC2EF540486A6940098B216 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 07B0C6080E33A659006453B4 /* NSStringAdditions.m in Sources */, - 07B0C60B0E33A659006453B4 /* XMLRPCConnection.m in Sources */, - 075137FC0E429E560019E4F6 /* XMLRPCConnectionManager.m in Sources */, - 07B0C60F0E33A659006453B4 /* XMLRPCDefaultEncoder.m in Sources */, - 07EF453C0E721A5D009F2708 /* XMLRPCEventBasedParser.m in Sources */, - 0707047910114B9400CB7702 /* XMLRPCEventBasedParserDelegate.m in Sources */, - 07B0C6110E33A659006453B4 /* XMLRPCRequest.m in Sources */, - 07B0C6130E33A659006453B4 /* XMLRPCResponse.m in Sources */, - 033836851527905D00EF8E8A /* NSData+Base64.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 903B0DB312F7574800BD6E09 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -584,14 +358,6 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 0799AF190F67240B00B71B22 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8DC2EF4F0486A6940098B216 /* XMLRPC */; - targetProxy = 0799AF180F67240B00B71B22 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ 0759A6F11143495E000DFE98 /* InfoPlist.strings */ = { isa = PBXVariantGroup; @@ -604,112 +370,33 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 0799AF050F67220000B71B22 /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF0B0F67227F00B71B22 /* XMLRPCUnitTestsDevelopment.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", - ); - VERSION_INFO_FILE = ""; - }; - name = Development; - }; - 0799AF060F67220000B71B22 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", - ); - VERSION_INFO_FILE = ""; - }; - name = Release; - }; - 1DEB91AE08733DA50010E9CD /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF100F6722D600B71B22 /* XMLRPCDevelopment.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - VERSION_INFO_FILE = ""; - }; - name = Development; - }; - 1DEB91AF08733DA50010E9CD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - VERSION_INFO_FILE = ""; - }; - name = Release; - }; - 1DEB91B208733DA50010E9CD /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - OTHER_LDFLAGS = "-ObjC"; - SDKROOT = iphoneos; - VALID_ARCHS = "armv6 armv7"; - }; - name = Development; - }; 1DEB91B308733DA50010E9CD /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "armv6 armv7"; }; name = Release; }; - 903B0DB712F7574900BD6E09 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - IPHONEOS_DEPLOYMENT_TARGET = 3.0; - PRODUCT_NAME = XMLRPC; - PUBLIC_HEADERS_FOLDER_PATH = /headers/; - SDKROOT = iphoneos; - VALID_ARCHS = "armv6 armv7"; - }; - name = Development; - }; 903B0DB812F7574900BD6E09 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - COPY_PHASE_STRIP = YES; + COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - IPHONEOS_DEPLOYMENT_TARGET = 3.0; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; - SDKROOT = iphoneos; - VALID_ARCHS = "armv6 armv7"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; ZERO_LINK = NO; }; name = Release; @@ -718,54 +405,31 @@ isa = XCBuildConfiguration; baseConfigurationReference = 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "armv6 armv7"; }; name = Debug; }; - D3554EDA15CA7E4500478841 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF100F6722D600B71B22 /* XMLRPCDevelopment.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - VERSION_INFO_FILE = ""; - }; - name = Debug; - }; D3554EDB15CA7E4500478841 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - IPHONEOS_DEPLOYMENT_TARGET = 3.0; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; - SDKROOT = iphoneos; - VALID_ARCHS = "armv6 armv7"; - }; - name = Debug; - }; - D3554EDC15CA7E4500478841 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF0B0F67227F00B71B22 /* XMLRPCUnitTestsDevelopment.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", - ); - VERSION_INFO_FILE = ""; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -773,143 +437,70 @@ isa = XCBuildConfiguration; baseConfigurationReference = 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "armv6 armv7"; }; name = Distribution; }; - D3554EDE15CA7E5600478841 /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - VERSION_INFO_FILE = ""; - }; - name = Distribution; - }; D3554EDF15CA7E5600478841 /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - COPY_PHASE_STRIP = YES; + COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - IPHONEOS_DEPLOYMENT_TARGET = 3.0; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; - SDKROOT = iphoneos; - VALID_ARCHS = "armv6 armv7"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; ZERO_LINK = NO; }; name = Distribution; }; - D3554EE015CA7E5600478841 /* Distribution */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", - ); - VERSION_INFO_FILE = ""; - }; - name = Distribution; - }; D3554EE115CA7E6000478841 /* DistributionAdhoc */ = { isa = XCBuildConfiguration; baseConfigurationReference = 07127C5A0F4266F4009C7476 /* CommonRelease.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "armv6 armv7"; }; name = DistributionAdhoc; }; - D3554EE215CA7E6000478841 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF110F6722D600B71B22 /* XMLRPCRelease.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - VERSION_INFO_FILE = ""; - }; - name = DistributionAdhoc; - }; D3554EE315CA7E6000478841 /* DistributionAdhoc */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - COPY_PHASE_STRIP = YES; + COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - IPHONEOS_DEPLOYMENT_TARGET = 3.0; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; PRODUCT_NAME = XMLRPC; PUBLIC_HEADERS_FOLDER_PATH = /headers/; - SDKROOT = iphoneos; - VALID_ARCHS = "armv6 armv7"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; ZERO_LINK = NO; }; name = DistributionAdhoc; }; - D3554EE415CA7E6000478841 /* DistributionAdhoc */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0799AF0C0F67227F00B71B22 /* XMLRPCUnitTestsRelease.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(DEVELOPER_FRAMEWORKS_DIR)\"", - ); - VERSION_INFO_FILE = ""; - }; - name = DistributionAdhoc; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0799AF070F67220000B71B22 /* Build configuration list for PBXNativeTarget "XMLRPCUnitTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0799AF050F67220000B71B22 /* Development */, - D3554EDC15CA7E4500478841 /* Debug */, - 0799AF060F67220000B71B22 /* Release */, - D3554EE015CA7E5600478841 /* Distribution */, - D3554EE415CA7E6000478841 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "XMLRPC" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB91AE08733DA50010E9CD /* Development */, - D3554EDA15CA7E4500478841 /* Debug */, - 1DEB91AF08733DA50010E9CD /* Release */, - D3554EDE15CA7E5600478841 /* Distribution */, - D3554EE215CA7E6000478841 /* DistributionAdhoc */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "XMLRPC" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1DEB91B208733DA50010E9CD /* Development */, D3554ED915CA7E4500478841 /* Debug */, 1DEB91B308733DA50010E9CD /* Release */, D3554EDD15CA7E5600478841 /* Distribution */, @@ -921,7 +512,6 @@ 903B0DB912F7577B00BD6E09 /* Build configuration list for PBXNativeTarget "libXMLRPC" */ = { isa = XCConfigurationList; buildConfigurations = ( - 903B0DB712F7574900BD6E09 /* Development */, D3554EDB15CA7E4500478841 /* Debug */, 903B0DB812F7574900BD6E09 /* Release */, D3554EDF15CA7E5600478841 /* Distribution */, diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 5a6cefd18..d49c108bd 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -116,7 +116,6 @@ 22F2508E107141E100AC9B3F /* DialerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* DialerViewController.m */; }; 22F2508F107141E100AC9B3F /* DialerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22F2508D107141E100AC9B3F /* DialerViewController.xib */; }; 22F254811073D99800AC9B3F /* ringback.wav in Resources */ = {isa = PBXBuildFile; fileRef = 22F254801073D99800AC9B3F /* ringback.wav */; }; - 22F51EF6107FA66500F98953 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; }; 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; 340751971506459A00B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; }; 34075199150645A300B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; }; @@ -599,7 +598,6 @@ D34BD73F15C13DF40070C209 /* UIStateBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D35498201587716B000081D8 /* UIStateBar.xib */; }; D34BD74015C13E110070C209 /* InAppSettings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */; }; D34BD74115C13E250070C209 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2214783B1386A2030020F8B8 /* Localizable.strings */; }; - D34BD74215C13E350070C209 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; }; D34BD74315C13ED70070C209 /* DialerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22F2508D107141E100AC9B3F /* DialerViewController.xib */; }; D34F6F9E1594D3FB0095705B /* InAppSettings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D34F6F9D1594D3FB0095705B /* InAppSettings.bundle */; }; D350F20E15A43BB100149E54 /* WizardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D350F20C15A43BB100149E54 /* WizardViewController.m */; }; @@ -1123,13 +1121,6 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - D3554ECE15CA79AA00478841 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 8DC2EF5B0486A6940098B216; - remoteInfo = XMLRPC; - }; D3554ED015CA79AA00478841 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; @@ -1137,13 +1128,6 @@ remoteGlobalIDString = 903B0DB612F7574800BD6E09; remoteInfo = libXMLRPC; }; - D3554ED215CA79AA00478841 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 0799AF030F6721FF00B71B22; - remoteInfo = XMLRPCUnitTests; - }; D3554ED415CA79B900478841 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D3554EC515CA79A900478841 /* XMLRPC.xcodeproj */; @@ -1463,7 +1447,6 @@ 22F2508C107141E100AC9B3F /* DialerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = DialerViewController.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; 22F2508D107141E100AC9B3F /* DialerViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = DialerViewController.xib; sourceTree = ""; }; 22F254801073D99800AC9B3F /* ringback.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringback.wav; path = "liblinphone-sdk/apple-darwin/share/sounds/linphone/ringback.wav"; sourceTree = ""; }; - 22F51EF5107FA66500F98953 /* untitled.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = untitled.plist; sourceTree = ""; }; 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = ""; }; @@ -2630,7 +2613,6 @@ 70E542F413E147EB002BA2C0 /* QuartzCore.framework */, 22744043106F33FC006EC466 /* Security.framework */, 2264B6D111200342002C2C53 /* SystemConfiguration.framework */, - 22F51EF5107FA66500F98953 /* untitled.plist */, 080E96DDFE201D6D7F000001 /* Classes */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 220FAC77107654FC0068D98F /* include */, @@ -3099,9 +3081,7 @@ D3554EC615CA79A900478841 /* Products */ = { isa = PBXGroup; children = ( - D3554ECF15CA79AA00478841 /* XMLRPC.framework */, D3554ED115CA79AA00478841 /* libXMLRPC.a */, - D3554ED315CA79AA00478841 /* XMLRPCUnitTests.octest */, ); name = Products; sourceTree = ""; @@ -3311,13 +3291,6 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - D3554ECF15CA79AA00478841 /* XMLRPC.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = XMLRPC.framework; - remoteRef = D3554ECE15CA79AA00478841 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; D3554ED115CA79AA00478841 /* libXMLRPC.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -3325,13 +3298,6 @@ remoteRef = D3554ED015CA79AA00478841 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - D3554ED315CA79AA00478841 /* XMLRPCUnitTests.octest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = XMLRPCUnitTests.octest; - remoteRef = D3554ED215CA79AA00478841 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; D3B90E1915C2CB5800F64F8C /* libNinePatch.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -3349,7 +3315,6 @@ 2274550810700509006EC466 /* linphonerc in Resources */, 22F2508F107141E100AC9B3F /* DialerViewController.xib in Resources */, 22F254811073D99800AC9B3F /* ringback.wav in Resources */, - 22F51EF6107FA66500F98953 /* untitled.plist in Resources */, 2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */, 22E0A823111C44E100B04932 /* ConsoleViewController.xib in Resources */, 22058C71116E305000B08DDD /* linphone_icon_57.png in Resources */, @@ -4076,7 +4041,6 @@ D34BD72215C13DB70070C209 /* video_on_over_landscape.png in Resources */, D34BD74015C13E110070C209 /* InAppSettings.bundle in Resources */, D34BD74115C13E250070C209 /* Localizable.strings in Resources */, - D34BD74215C13E350070C209 /* untitled.plist in Resources */, D34BD74315C13ED70070C209 /* DialerViewController.xib in Resources */, D3A74E5A15C68162001500B9 /* toolsbar_background.png in Resources */, D3A74E5D15C6922A001500B9 /* UIMainBar~ipad.xib in Resources */, @@ -4442,12 +4406,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4458,8 +4419,6 @@ HAVE_X264, HAVE_SILK, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4473,12 +4432,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4488,27 +4447,29 @@ "-Objc", ); PRODUCT_NAME = linphone; - SDKROOT = iphoneos; SKIP_INSTALL = NO; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; 228B19A61302902F00F154D3 /* DistributionAdhoc */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier"; - GCC_C_LANGUAGE_STANDARD = c99; + GCC_THUMB_SUPPORT = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ""; - LINK_WITH_STANDARD_LIBRARIES = YES; PROVISIONING_PROFILE = "B8ED8915-B69D-40DA-9B89-1700C44B156B"; SDKROOT = iphoneos; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = DistributionAdhoc; }; @@ -4516,13 +4477,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - CODE_SIGN_ENTITLEMENTS = untitled.plist; + CODE_SIGN_ENTITLEMENTS = ""; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4533,8 +4491,6 @@ HAVE_X264, HAVE_SILK, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4548,12 +4504,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4563,10 +4519,7 @@ "-Objc", ); PRODUCT_NAME = linphone; - SDKROOT = iphoneos; SKIP_INSTALL = NO; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = DistributionAdhoc; }; @@ -4574,13 +4527,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4589,8 +4538,6 @@ IN_LINPHONE, VIDEO_ENABLED, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4604,12 +4551,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4619,10 +4566,7 @@ "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; - PROVISIONING_PROFILE = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; + SKIP_INSTALL = NO; }; name = Debug; }; @@ -4630,13 +4574,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4645,8 +4585,6 @@ IN_LINPHONE, VIDEO_ENABLED, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4660,12 +4598,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4675,10 +4613,7 @@ "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; - PROVISIONING_PROFILE = ""; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; + SKIP_INSTALL = NO; }; name = Release; }; @@ -4686,14 +4621,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - CODE_SIGN_ENTITLEMENTS = untitled.plist; - CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier"; + CODE_SIGN_ENTITLEMENTS = ""; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4702,8 +4633,6 @@ IN_LINPHONE, VIDEO_ENABLED, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4717,12 +4646,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4732,10 +4661,7 @@ "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; - PROVISIONING_PROFILE = "075921BC-C7D8-42E1-B864-F05FD9BF841C"; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; + SKIP_INSTALL = NO; }; name = Distribution; }; @@ -4743,14 +4669,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - CODE_SIGN_ENTITLEMENTS = untitled.plist; - CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier"; + CODE_SIGN_ENTITLEMENTS = ""; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4759,8 +4681,6 @@ IN_LINPHONE, VIDEO_ENABLED, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4774,12 +4694,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4789,27 +4709,29 @@ "-Objc", ); PRODUCT_NAME = "linphone-no-gpl-thirdparties"; - PROVISIONING_PROFILE = "7EBE410C-11B9-4346-9977-2C3BEE43ED16"; - SDKROOT = iphoneos; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; + SKIP_INSTALL = NO; }; name = DistributionAdhoc; }; 22F3D55513CC3C9100A0DA02 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "iPhone Developer"; - GCC_C_LANGUAGE_STANDARD = c99; + GCC_THUMB_SUPPORT = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ""; - LINK_WITH_STANDARD_LIBRARIES = YES; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; @@ -4817,13 +4739,9 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4834,8 +4752,6 @@ HAVE_X264, HAVE_SILK, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4849,12 +4765,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4864,28 +4780,29 @@ "-Objc", ); PRODUCT_NAME = linphone; - PROVISIONING_PROFILE = ""; - SDKROOT = iphoneos; SKIP_INSTALL = NO; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; 22F51EE7107FA53D00F98953 /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier"; - GCC_C_LANGUAGE_STANDARD = c99; + GCC_THUMB_SUPPORT = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ""; - LINK_WITH_STANDARD_LIBRARIES = YES; PROVISIONING_PROFILE = "075921BC-C7D8-42E1-B864-F05FD9BF841C"; SDKROOT = iphoneos; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Distribution; }; @@ -4893,13 +4810,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); - CODE_SIGN_ENTITLEMENTS = untitled.plist; + CODE_SIGN_ENTITLEMENTS = ""; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -4910,8 +4824,6 @@ HAVE_X264, HAVE_SILK, ); - GCC_THUMB_SUPPORT = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -4925,12 +4837,12 @@ classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = ( "-force_load", @@ -4940,27 +4852,29 @@ "-Objc", ); PRODUCT_NAME = linphone; - SDKROOT = iphoneos; SKIP_INSTALL = NO; - STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Distribution; }; C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_IDENTITY = "iPhone Developer"; - GCC_C_LANGUAGE_STANDARD = c99; + GCC_THUMB_SUPPORT = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ""; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 4.0; LIBRARY_SEARCH_PATHS = ""; - LINK_WITH_STANDARD_LIBRARIES = YES; PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; From c3f2b45e3ebf4debc61fd948e38f323ef2c038ab Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 6 Aug 2012 13:05:45 +0200 Subject: [PATCH 17/17] Fix table memory leak --- Classes/InCallTableViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/InCallTableViewController.m b/Classes/InCallTableViewController.m index 9b0e9f7d2..66956f91a 100644 --- a/Classes/InCallTableViewController.m +++ b/Classes/InCallTableViewController.m @@ -273,11 +273,11 @@ enum TableSection { return [[UIView alloc] initWithFrame:CGRectZero]; } } - return [[UIView alloc] initWithFrame:CGRectZero]; + return [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; } - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { - return [[UIView alloc] initWithFrame:CGRectZero]; + return [[[UIView alloc] initWithFrame:CGRectZero] autorelease]; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {

    +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