Fix iPad dialer preview

This commit is contained in:
Yann Diorcet 2012-09-17 17:44:58 +02:00
parent 1efcaaa03d
commit 3d61162f90
23 changed files with 190 additions and 74 deletions

View file

@ -149,7 +149,6 @@
return cell;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if(editingStyle == UITableViewCellEditingStyleDelete) {
[tableView beginUpdates];

View file

@ -56,6 +56,7 @@
@property (nonatomic, retain) IBOutlet UIDigitButton* starButton;
@property (nonatomic, retain) IBOutlet UIDigitButton* zeroButton;
@property (nonatomic, retain) IBOutlet UIDigitButton* sharpButton;
@property (nonatomic, retain) IBOutlet UIView* backgroundView;
@property (nonatomic, retain) IBOutlet UIView* videoPreview;
@property (nonatomic, retain) IBOutlet UICamSwitch* videoCameraSwitch;

View file

@ -54,6 +54,7 @@
@synthesize zeroButton;
@synthesize sharpButton;
@synthesize backgroundView;
@synthesize videoPreview;
@synthesize videoCameraSwitch;
@ -129,15 +130,27 @@ static UICompositeViewDescription *compositeDescription = nil;
selector:@selector(callUpdateEvent:)
name:kLinphoneCallUpdate
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(coreUpdateEvent:)
name:kLinphoneCoreUpdate
object:nil];
// Update on show
if([LinphoneManager isLcReady]) {
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
LinphoneCore* lc = [LinphoneManager getLc];
LinphoneCall* call = linphone_core_get_current_call(lc);
LinphoneCallState state = (call != NULL)?linphone_call_get_state(call): 0;
[self callUpdate:call state:state];
}
if(videoPreview) {
linphone_core_set_native_preview_window_id([LinphoneManager getLc], (unsigned long)videoPreview);
if([LinphoneManager runningOnIpad]) {
if(linphone_core_video_enabled(lc) && linphone_core_video_preview_enabled(lc)) {
linphone_core_set_native_preview_window_id(lc, (unsigned long)videoPreview);
[backgroundView setHidden:FALSE];
} else {
linphone_core_set_native_preview_window_id(lc, (unsigned long)NULL);
[backgroundView setHidden:TRUE];
}
}
}
}
@ -148,6 +161,11 @@ static UICompositeViewDescription *compositeDescription = nil;
[[NSNotificationCenter defaultCenter] removeObserver:self
name:kLinphoneCallUpdate
object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:kLinphoneCoreUpdate
object:nil];
}
- (void)viewDidLoad {
@ -169,8 +187,6 @@ static UICompositeViewDescription *compositeDescription = nil;
[addressField setAdjustsFontSizeToFitWidth:TRUE]; // Not put it in IB: issue with placeholder size
if([LinphoneManager runningOnIpad]) {
linphone_core_enable_video_preview([LinphoneManager getLc], TRUE);
if ([LinphoneManager instance].frontCamId != nil) {
// only show camera switch button if we have more than 1 camera
[videoCameraSwitch setHidden:FALSE];
@ -180,10 +196,6 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)viewDidUnload {
[super viewDidUnload];
if([LinphoneManager runningOnIpad]) {
linphone_core_enable_video_preview([LinphoneManager getLc], FALSE);
}
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
@ -197,10 +209,10 @@ static UICompositeViewDescription *compositeDescription = nil;
[videoPreview setTransform: CGAffineTransformMakeRotation(M_PI)];
break;
case UIInterfaceOrientationLandscapeLeft:
[videoPreview setTransform: CGAffineTransformMakeRotation(-M_PI / 2)];
[videoPreview setTransform: CGAffineTransformMakeRotation(M_PI / 2)];
break;
case UIInterfaceOrientationLandscapeRight:
[videoPreview setTransform: CGAffineTransformMakeRotation(M_PI / 2)];
[videoPreview setTransform: CGAffineTransformMakeRotation(-M_PI / 2)];
break;
default:
break;
@ -217,6 +229,18 @@ static UICompositeViewDescription *compositeDescription = nil;
[self callUpdate:call state:state];
}
- (void)coreUpdateEvent:(NSNotification*)notif {
if([LinphoneManager isLcReady] && [LinphoneManager runningOnIpad]) {
LinphoneCore* lc = [LinphoneManager getLc];
if(linphone_core_video_enabled(lc) && linphone_core_video_preview_enabled(lc)) {
linphone_core_set_native_preview_window_id(lc, (unsigned long)videoPreview);
[backgroundView setHidden:FALSE];
} else {
linphone_core_set_native_preview_window_id(lc, (unsigned long)NULL);
[backgroundView setHidden:TRUE];
}
}
}
#pragma mark -

View file

@ -372,7 +372,7 @@ static UICompositeViewDescription *compositeDescription = nil;
[UIView commitAnimations];
}
if([[LinphoneManager instance] lpConfigBoolForKey:@"self_video_preference"]) {
if(linphone_core_self_view_enabled([LinphoneManager getLc])) {
[videoPreview setHidden:FALSE];
} else {
[videoPreview setHidden:TRUE];

View file

@ -218,7 +218,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
pol=linphone_core_get_video_policy(lc);
[self setBool:(pol->automatically_initiate) forKey:@"start_video_preference"];
[self setBool:(pol->automatically_accept) forKey:@"accept_video_preference"];
[self setBool:lp_config_get_int(linphone_core_get_config(lc),"app","self_video_preference", 1) forKey:@"self_video_preference"];
[self setBool:linphone_core_self_view_enabled(lc) forKey:@"self_video_preference"];
[self setBool:linphone_core_video_preview_enabled(lc) forKey:@"preview_preference"];
}
{
[self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","sipinfo_dtmf_preference", 0) forKey:@"sipinfo_dtmf_preference"];
@ -460,8 +461,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
policy.automatically_accept = [self boolForKey:@"accept_video_preference"];
policy.automatically_initiate = [self boolForKey:@"start_video_preference"];
linphone_core_set_video_policy(lc, &policy);
lp_config_set_int(linphone_core_get_config(lc),"app","self_video_preference", [self boolForKey:@"self_video_preference"]);
linphone_core_enable_self_view(lc, [self boolForKey:@"self_video_preference"]);
linphone_core_enable_video_preview(lc, [self boolForKey:@"preview_preference"]);
// Primary contact
NSString* displayname = [self stringForKey:@"primary_displayname_preference"];

View file

@ -31,6 +31,7 @@
#include "linphonecore.h"
extern NSString *const kLinphoneCoreUpdate;
extern NSString *const kLinphoneDisplayStatusUpdate;
extern NSString *const kLinphoneTextReceived;
extern NSString *const kLinphoneCallUpdate;

View file

@ -44,6 +44,7 @@ static void audioRouteChangeListenerCallback (
static LinphoneCore* theLinphoneCore = nil;
static LinphoneManager* theLinphoneManager = nil;
NSString *const kLinphoneCoreUpdate = @"kLinphoneCoreUpdate";
NSString *const kLinphoneDisplayStatusUpdate = @"LinphoneDisplayStatusUpdate";
NSString *const kLinphoneTextReceived = @"LinphoneTextReceived";
NSString *const kLinphoneCallUpdate = @"LinphoneCallUpdate";
@ -601,13 +602,11 @@ static LinphoneCoreVTable linphonec_vtable = {
- (void)startLibLinphone {
//get default config from bundle
NSBundle* myBundle = [NSBundle mainBundle];
NSString* factoryConfig = [myBundle pathForResource:[LinphoneManager runningOnIpad]?@"linphonerc-factory~ipad":@"linphonerc-factory" ofType:nil] ;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *confiFileName = [[paths objectAtIndex:0] stringByAppendingString:@"/.linphonerc"];
NSString *zrtpSecretsFileName = [[paths objectAtIndex:0] stringByAppendingString:@"/zrtp_secrets"];
const char* lRootCa = [[myBundle pathForResource:@"rootca"ofType:@"pem"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
connectivity=none;
NSString* factoryConfig = [LinphoneManager bundleFile:[LinphoneManager runningOnIpad]?@"linphonerc-factory~ipad":@"linphonerc-factory"];
NSString *confiFileName = [LinphoneManager documentFile:@".linphonerc"];
NSString *zrtpSecretsFileName = [LinphoneManager documentFile:@"zrtp_secrets"];
const char* lRootCa = [[LinphoneManager bundleFile:@"rootca.pem"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
connectivity = none;
signal(SIGPIPE, SIG_IGN);
//log management
@ -633,17 +632,16 @@ static LinphoneCoreVTable linphonec_vtable = {
, [confiFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]
, [factoryConfig cStringUsingEncoding:[NSString defaultCStringEncoding]]
,self);
fastAddressBook = [[FastAddressBook alloc] init];
linphone_core_set_root_ca(theLinphoneCore, lRootCa);
// Set audio assets
const char* lRing = [[myBundle pathForResource:@"ring"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
linphone_core_set_ring(theLinphoneCore, lRing );
const char* lRingBack = [[myBundle pathForResource:@"ringback"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
const char* lRing = [[LinphoneManager bundleFile:@"ring.wab"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
linphone_core_set_ring(theLinphoneCore, lRing);
const char* lRingBack = [[LinphoneManager bundleFile:@"ringback.wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
linphone_core_set_ringback(theLinphoneCore, lRingBack);
const char* lPlay = [[myBundle pathForResource:@"hold"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
const char* lPlay = [[LinphoneManager bundleFile:@"hold.wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
linphone_core_set_play_file(theLinphoneCore, lPlay);
linphone_core_set_zrtp_secrets_file(theLinphoneCore, [zrtpSecretsFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]);
@ -673,7 +671,7 @@ static LinphoneCoreVTable linphonec_vtable = {
[error release];
}
NSString* path = [myBundle pathForResource:@"nowebcamCIF" ofType:@"jpg"];
NSString* path = [LinphoneManager bundleFile:@"nowebcamCIF.jpg"];
if (path) {
const char* imagePath = [path cStringUsingEncoding:[NSString defaultCStringEncoding]];
[LinphoneLogger logc:LinphoneLoggerLog format:"Using '%s' as source image for no webcam", imagePath];
@ -722,7 +720,11 @@ static LinphoneCoreVTable linphonec_vtable = {
&& [UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
//go directly to bg mode
[self resignActive];
}
}
// Post event
NSDictionary *dict = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:theLinphoneCore] forKey:@"core"];
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneCoreUpdate object:[LinphoneManager instance] userInfo:dict];
}
- (void)destroyLibLinphone {
@ -734,6 +736,11 @@ static LinphoneCoreVTable linphonec_vtable = {
[LinphoneLogger logc:LinphoneLoggerLog format:"Destroy linphonecore"];
linphone_core_destroy(theLinphoneCore);
theLinphoneCore = nil;
// Post event
NSDictionary *dict = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:theLinphoneCore] forKey:@"core"];
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneCoreUpdate object:[LinphoneManager instance] userInfo:dict];
SCNetworkReachabilityUnscheduleFromRunLoop(proxyReachability, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
if (proxyReachability)
CFRelease(proxyReachability);

View file

@ -253,10 +253,12 @@
#pragma mark - Event Functions
- (void)orientationDidChange:(NSNotification*)notif {
// Update rotation
UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]];
if(currentOrientation != correctOrientation) {
[PhoneMainView setOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown];
if([LinphoneManager isLcReady]) {
// Update rotation
UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]];
if(currentOrientation != correctOrientation) {
[PhoneMainView setOrientation:correctOrientation animated:currentOrientation != UIDeviceOrientationUnknown];
}
}
}

View file

@ -32,9 +32,6 @@ 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
@ -716,7 +713,7 @@ static PhoneMainView* phoneMainViewInstance=nil;
if (level < 0.1 && !appData->batteryWarningShown) {
DTActionSheet *sheet = [[[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Battery is running low. Stop video ?",nil)] autorelease];
[sheet addCancelButtonWithTitle:NSLocalizedString(@"Continue video", nil)];
[sheet addDestructiveButtonWithTitle:NSLocalizedString(@"Stop video", nil) block:^() {
[sheet addDestructiveButtonWithTitle:NSLocalizedString(@"Stop video", nil) block:^() {
LinphoneCallParams* paramsCopy = linphone_call_params_copy(linphone_call_get_current_params(call));
// stop video
linphone_call_params_enable_video(paramsCopy, FALSE);

View file

@ -530,6 +530,10 @@ static UICompositeViewDescription *compositeDescription = nil;
[hiddenKeys addObject:@"console_button"];
}
if(![LinphoneManager runningOnIpad]) {
[hiddenKeys addObject:@"preview_preference"];
}
return hiddenKeys;
}

View file

@ -62,7 +62,7 @@
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<int key="IBUIContentMode">1</int>
<int key="IBUIContentMode">2</int>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBUIButton" id="857979271">
@ -726,6 +726,7 @@
<string key="NSFrame">{{126, 0}, {186, 85}}</string>
<reference key="NSSuperview" ref="683359487"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
@ -954,6 +955,14 @@
</object>
<int key="connectionID">75</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">backgroundView</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="887694290"/>
</object>
<int key="connectionID">77</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onAddressChange:</string>
@ -1337,6 +1346,7 @@
<int key="objectID">76</int>
<reference key="object" ref="887694290"/>
<reference key="parent" ref="450916897"/>
<string key="objectName">backgroundView</string>
</object>
</array>
</object>
@ -1416,7 +1426,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">76</int>
<int key="maxID">77</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1447,6 +1457,7 @@
<string key="addContactButton">UIButton</string>
<string key="addressField">UITextField</string>
<string key="backButton">UIButton</string>
<string key="backgroundView">UIView</string>
<string key="callButton">UICallButton</string>
<string key="eightButton">UIDigitButton</string>
<string key="eraseButton">UIEraseButton</string>
@ -1482,6 +1493,10 @@
<string key="name">backButton</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo" key="backgroundView">
<string key="name">backgroundView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="callButton">
<string key="name">callButton</string>
<string key="candidateClassName">UICallButton</string>

View file

@ -146,7 +146,6 @@
<string key="NSFrame">{{0, 23}, {85, 33}}</string>
<reference key="NSSuperview" ref="858247959"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">

View file

@ -60,7 +60,7 @@
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<int key="IBUIContentMode">1</int>
<int key="IBUIContentMode">2</int>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBUIButton" id="857979271">
@ -925,6 +925,14 @@
</object>
<int key="connectionID">75</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">backgroundView</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="887694290"/>
</object>
<int key="connectionID">77</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onAddressChange:</string>
@ -1308,6 +1316,7 @@
<int key="objectID">76</int>
<reference key="object" ref="887694290"/>
<reference key="parent" ref="450916897"/>
<string key="objectName">backgroundView</string>
</object>
</array>
</object>
@ -1387,7 +1396,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">76</int>
<int key="maxID">77</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1418,6 +1427,7 @@
<string key="addContactButton">UIButton</string>
<string key="addressField">UITextField</string>
<string key="backButton">UIButton</string>
<string key="backgroundView">UIView</string>
<string key="callButton">UICallButton</string>
<string key="eightButton">UIDigitButton</string>
<string key="eraseButton">UIEraseButton</string>
@ -1453,6 +1463,10 @@
<string key="name">backButton</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo" key="backgroundView">
<string key="name">backgroundView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="callButton">
<string key="name">callButton</string>
<string key="candidateClassName">UICallButton</string>

View file

@ -30,12 +30,3 @@ dtmf_player_amp=0.007
[misc]
history_max_size=30
max_calls=3
[video]
display=1
capture=1
show_local=0
enabled=1
size=vga
display_filter_auto_rotate=1

View file

@ -10,4 +10,12 @@ audio_rtp_port=7076
video_rtp_port=9078
[net]
firewall_policy=0
firewall_policy=0
[video]
display=1
capture=1
show_local=1
enabled=1
size=vga
display_filter_auto_rotate=1

View file

@ -32,6 +32,14 @@
<key>Key</key>
<string>self_video_preference</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Show preview</string>
<key>Key</key>
<string>preview_preference</string>
</dict>
<dict>
<key>Title</key>
<string>Codecs</string>

View file

@ -7,6 +7,9 @@
/* Show self view */
"Show self view" = "Show self view";
/* Show preview */
"Show preview" = "Show preview";
/* Codecs */
"Codecs" = "Codecs";

View file

@ -1410,17 +1410,17 @@
<dict>
<key>backup</key>
<dict>
<key>3</key>
<key>7</key>
<dict>
<key>class</key>
<string>BLWrapperHandle</string>
<key>name</key>
<string>Classes/DialerViewController~ipad/3/DialerViewController~ipad.xib</string>
<string>Classes/DialerViewController~ipad/7/DialerViewController~ipad.xib</string>
</dict>
</dict>
</dict>
<key>change date</key>
<date>2012-09-14T08:21:20Z</date>
<date>2012-09-17T15:00:19Z</date>
<key>changed values</key>
<array/>
<key>class</key>
@ -1430,7 +1430,7 @@
<key>flags</key>
<integer>0</integer>
<key>hash</key>
<string>199b213a86204679336e2f627d919b3d
<string>2ba8580f9c2559276f0f27f8ec043517
</string>
<key>name</key>
<string>DialerViewController~ipad.xib</string>
@ -1969,9 +1969,9 @@
<key>versions</key>
<dict>
<key>en</key>
<string>3</string>
<string>7</string>
<key>fr</key>
<string>3</string>
<string>7</string>
</dict>
</dict>
<dict>
@ -2776,17 +2776,17 @@
<dict>
<key>backup</key>
<dict>
<key>1</key>
<key>2</key>
<dict>
<key>class</key>
<string>BLWrapperHandle</string>
<key>name</key>
<string>Classes/InCallViewController/1/InCallViewController.xib</string>
<string>Classes/InCallViewController/2/InCallViewController.xib</string>
</dict>
</dict>
</dict>
<key>change date</key>
<date>2012-09-10T15:34:47Z</date>
<date>2012-09-17T15:00:02Z</date>
<key>changed values</key>
<array/>
<key>class</key>
@ -2796,7 +2796,7 @@
<key>flags</key>
<integer>0</integer>
<key>hash</key>
<string>ef39c975bbcbb80f09bc1b599428075d
<string>43dc274f749d7ce59719b7aff1ab2889
</string>
<key>name</key>
<string>InCallViewController.xib</string>
@ -2835,9 +2835,9 @@
<key>versions</key>
<dict>
<key>en</key>
<string>1</string>
<string>2</string>
<key>fr</key>
<string>1</string>
<string>2</string>
</dict>
</dict>
<dict>
@ -11155,7 +11155,7 @@ Raison: %2$s</string>
</dict>
</dict>
<key>change date</key>
<date>2012-09-11T10:16:55Z</date>
<date>2012-09-17T13:29:57Z</date>
<key>changed values</key>
<array/>
<key>class</key>
@ -11165,7 +11165,7 @@ Raison: %2$s</string>
<key>flags</key>
<integer>0</integer>
<key>hash</key>
<string>ab1400cd24f02dacc6b2b98b0ce939b5
<string>b7297749603f255583f59fcea3174690
</string>
<key>name</key>
<string>Video.strings</string>
@ -11246,6 +11246,31 @@ Raison: %2$s</string>
<key>snapshots</key>
<dict/>
</dict>
<dict>
<key>change date</key>
<date>2001-01-01T00:00:00Z</date>
<key>changed values</key>
<array/>
<key>class</key>
<string>BLStringKeyObject</string>
<key>comment</key>
<string>Show preview</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>Show preview</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Show preview</string>
<key>fr</key>
<string>Activer prévisualisation</string>
</dict>
<key>snapshots</key>
<dict/>
</dict>
<dict>
<key>change date</key>
<date>2001-01-01T00:00:00Z</date>

View file

@ -62,7 +62,7 @@
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<int key="IBUIContentMode">1</int>
<int key="IBUIContentMode">2</int>
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
</object>
<object class="IBUIButton" id="857979271">
@ -726,6 +726,7 @@
<string key="NSFrame">{{126, 0}, {186, 85}}</string>
<reference key="NSSuperview" ref="683359487"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
@ -954,6 +955,14 @@
</object>
<int key="connectionID">75</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">backgroundView</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="887694290"/>
</object>
<int key="connectionID">77</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onAddressChange:</string>
@ -1337,6 +1346,7 @@
<int key="objectID">76</int>
<reference key="object" ref="887694290"/>
<reference key="parent" ref="450916897"/>
<string key="objectName">backgroundView</string>
</object>
</array>
</object>
@ -1416,7 +1426,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">76</int>
<int key="maxID">77</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1447,6 +1457,7 @@
<string key="addContactButton">UIButton</string>
<string key="addressField">UITextField</string>
<string key="backButton">UIButton</string>
<string key="backgroundView">UIView</string>
<string key="callButton">UICallButton</string>
<string key="eightButton">UIDigitButton</string>
<string key="eraseButton">UIEraseButton</string>
@ -1482,6 +1493,10 @@
<string key="name">backButton</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo" key="backgroundView">
<string key="name">backgroundView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="callButton">
<string key="name">callButton</string>
<string key="candidateClassName">UICallButton</string>

View file

@ -146,7 +146,6 @@
<string key="NSFrame">{{0, 23}, {85, 33}}</string>
<reference key="NSSuperview" ref="858247959"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">

View file

@ -7,6 +7,9 @@
/* Show self view */
"Show self view" = "Show self view";
/* Show preview */
"Show preview" = "Show preview";
/* Codecs */
"Codecs" = "Codecs";

@ -1 +1 @@
Subproject commit efe7222f2efb7eae906b7337925fc080ce9d6b0e
Subproject commit e683675e57e22cf07744dbf6f6c40e8dd374ef78