4.1: some new views

This commit is contained in:
Danmei Chen 2018-10-24 16:00:09 +02:00
parent f898634855
commit 1e68cf1adc
21 changed files with 61 additions and 22 deletions

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
@ -19,6 +19,7 @@
<outlet property="emptyLabel" destination="hvz-CS-NME" id="Qws-r1-XMh"/>
<outlet property="headerView" destination="33" id="iv2-Rj-j3j"/>
<outlet property="landscapeView" destination="NHC-7w-48z" id="kTJ-YT-Ejm"/>
<outlet property="linphoneImage" destination="mfN-Ai-9RX" id="Ubt-oH-lra"/>
<outlet property="portraitView" destination="4" id="0gH-12-O02"/>
<outlet property="tableView" destination="baU-d4-eu3" id="3q4-5X-yCB"/>
<outlet property="view" destination="4" id="10"/>
@ -88,9 +89,9 @@
<color key="textColor" red="0.33333333333333331" green="0.33333333333333331" blue="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView hidden="YES" userInteractionEnabled="NO" tag="10" contentMode="scaleAspectFit" image="linphone_user.png" id="mfN-Ai-9RX" userLabel="linphoneImage" customClass="UIRoundedImageView">
<rect key="frame" x="245" y="39" width="21" height="37"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
<imageView userInteractionEnabled="NO" tag="10" contentMode="scaleAspectFit" misplaced="YES" image="linphone_user.png" id="mfN-Ai-9RX" userLabel="linphoneImage" customClass="UIRoundedImageView">
<rect key="frame" x="350" y="124" width="15" height="15"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<accessibility key="accessibilityConfiguration" label="Contact avatar">
<accessibilityTraits key="traits" image="YES" notEnabled="YES"/>
<bool key="isElement" value="YES"/>
@ -165,7 +166,7 @@
</view>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<point key="canvasLocation" x="254.5" y="288.5"/>
<point key="canvasLocation" x="-2" y="25"/>
</view>
<view contentMode="scaleToFill" id="LBc-mh-ozk" userLabel="iphone6MetricsView">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
@ -306,7 +307,7 @@
</view>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<point key="canvasLocation" x="348.5" y="-44.5"/>
<point key="canvasLocation" x="439" y="-51"/>
</view>
<tableViewController id="baU-d4-eu3" customClass="HistoryDetailsTableView">
<connections>
@ -329,6 +330,6 @@
<image name="color_F.png" width="2" height="2"/>
<image name="contact_add_default.png" width="34" height="29"/>
<image name="contact_add_disabled.png" width="34" height="29"/>
<image name="linphone_user.png" width="26" height="22"/>
<image name="linphone_user.png" width="26" height="26"/>
</resources>
</document>

View file

@ -39,6 +39,7 @@
@property(strong, nonatomic) IBOutlet HistoryDetailsTableView *tableView;
@property(weak, nonatomic) IBOutlet UILabel *emptyLabel;
@property (weak, nonatomic) IBOutlet UIView *waitView;
@property (weak, nonatomic) IBOutlet UIRoundedImageView *linphoneImage;
- (IBAction)onBackClick:(id)event;
- (IBAction)onAddContactClick:(id)event;

View file

@ -146,6 +146,9 @@ static UICompositeViewDescription *compositeDescription = nil;
_addContactButton.hidden = ([FastAddressBook getContactWithAddress:addr] != nil);
[ContactDisplay setDisplayNameLabel:_contactLabel forAddress:addr withAddressLabel:_addressLabel];
[_avatarImage setImage:[FastAddressBook imageForAddress:addr] bordered:NO withRoundedRadius:YES];
Contact *contact = [FastAddressBook getContactWithAddress:addr];
_linphoneImage.hidden =
! ((contact.friend && linphone_presence_model_get_basic_status(linphone_friend_get_presence_model(contact.friend)) == LinphonePresenceBasicStatusOpen) || [FastAddressBook contactHasValidSipDomain:contact]);
char *addrURI = linphone_address_as_string_uri_only(addr);
ms_free(addrURI);

View file

@ -19,6 +19,7 @@
<outlet property="editTextfield" destination="dTn-Hc-bGM" id="bkN-xg-S9D"/>
<outlet property="editView" destination="rAa-qu-PDc" id="cGz-D2-GiI"/>
<outlet property="inviteButton" destination="lgb-5W-T0c" id="iOl-Fl-AXH"/>
<outlet property="inviteLabel" destination="WUB-zQ-6Im" id="p42-Hd-EUA"/>
<outlet property="linphoneImage" destination="ZaI-29-AOK" id="dY1-vO-spk"/>
</connections>
</placeholder>
@ -85,8 +86,8 @@
<action selector="onChatClick:" destination="-1" eventType="touchUpInside" id="tec-tH-uij"/>
</connections>
</button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="john.doe@sip.linphone.org" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="frB-ep-LWi" userLabel="addressLabel">
<rect key="frame" x="8" y="0.0" width="359" height="44"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="john.doe@sip.linphone.org" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="frB-ep-LWi" userLabel="addressLabel">
<rect key="frame" x="26" y="0.0" width="323" height="44"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@ -96,11 +97,19 @@
<rect key="frame" x="342" y="51" width="25" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="Invite" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="WUB-zQ-6Im" userLabel="inviteLabel">
<rect key="frame" x="264" y="14" width="39" height="20"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="16"/>
<color key="textColor" red="1" green="0.36911615672857145" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="lgb-5W-T0c">
<rect key="frame" x="298" y="50" width="27" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<rect key="frame" x="309" y="14" width="47" height="20"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<accessibility key="accessibilityConfiguration" label="Invite"/>
<state key="normal" image="add_field_default.png"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<state key="normal" image="invite_linphone.png"/>
<connections>
<action selector="onSMSInviteClick:" destination="-1" eventType="touchUpInside" id="E8o-h2-mml"/>
</connections>
@ -115,7 +124,6 @@
</view>
</objects>
<resources>
<image name="add_field_default.png" width="27" height="27"/>
<image name="call_start_body_default.png" width="51" height="51"/>
<image name="call_start_body_disabled.png" width="51" height="51"/>
<image name="call_start_body_over.png" width="51" height="51"/>
@ -124,6 +132,7 @@
<image name="chat_start_body_over.png" width="51" height="51"/>
<image name="delete_field_default.png" width="27" height="27"/>
<image name="delete_field_over.png" width="27" height="27"/>
<image name="invite_linphone.png" width="69" height="30"/>
<image name="linphone_user.png" width="26" height="26"/>
</resources>
</document>

View file

@ -38,6 +38,7 @@
@property (weak, nonatomic) IBOutlet UIImageView *linphoneImage;
@property (weak, nonatomic) UIView *waitView;
@property (strong, nonatomic) IBOutlet UIButton *inviteButton;
@property (weak, nonatomic) IBOutlet UILabel *inviteLabel;
- (id)initWithIdentifier:(NSString *)identifier;
- (void)setAddress:(NSString *)address;

View file

@ -69,7 +69,13 @@
_addressLabel.text.UTF8String) &&
[FastAddressBook isSipURIValid:_addressLabel.text]));
ContactDetailsView *contactDetailsView = VIEW(ContactDetailsView);
self.inviteButton.hidden = !ENABLE_SMS_INVITE || [[contactDetailsView.contact sipAddresses] count] > 0 || !self.linphoneImage.hidden;
if (!ENABLE_SMS_INVITE || [[contactDetailsView.contact sipAddresses] count] > 0 || !self.linphoneImage.hidden) {
self.inviteButton.hidden = self.inviteLabel.hidden = TRUE;
_addressLabel.textAlignment = NSTextAlignmentCenter;
} else {
self.inviteButton.hidden = self.inviteLabel.hidden = FALSE;
_addressLabel.textAlignment = NSTextAlignmentLeft;
}
}
if (addr) {

View file

@ -13,6 +13,7 @@ typedef void (^SideMenuEntryBlock)(void);
@interface SideMenuEntry : NSObject {
@public
UIImage *img;
NSString *title;
SideMenuEntryBlock onTapBlock;
};

View file

@ -19,8 +19,9 @@
@implementation SideMenuEntry
- (id)initWithTitle:(NSString *)atitle tapBlock:(SideMenuEntryBlock)tapBlock {
- (id)initWithTitle:(NSString *)atitle image:(UIImage *)image tapBlock:(SideMenuEntryBlock)tapBlock {
if ((self = [super init])) {
img = image;
title = atitle;
onTapBlock = tapBlock;
}
@ -47,6 +48,7 @@
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Assistant", nil)
image:[UIImage imageNamed:@"menu_assistant.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:AssistantView.compositeViewDescription];
@ -55,34 +57,40 @@
if (mustLink) {
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Link my account", nil)
image:[UIImage imageNamed:@"menu_link_account.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:AssistantLinkView.compositeViewDescription];
}]];
}
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Recordings", nil)
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:RecordingsListView.compositeViewDescription];
}]];
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Settings", nil)
image:[UIImage imageNamed:@"menu_options.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:SettingsView.compositeViewDescription];
}]];
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Recordings", nil)
image:[UIImage imageNamed:@"menu_recordings.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:RecordingsListView.compositeViewDescription];
}]];
InAppProductsManager *iapm = LinphoneManager.instance.iapManager;
if (iapm.enabled){
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Shop", nil)
image:nil
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:ShopView.compositeViewDescription];
}]];
}
[_sideMenuEntries addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"About", nil)
image:[UIImage imageNamed:@"menu_about.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:AboutView.compositeViewDescription];
@ -128,6 +136,7 @@
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_G.png"]];
} else {
SideMenuEntry *entry = [_sideMenuEntries objectAtIndex:indexPath.row];
cell.imageView.image = entry->img;
cell.textLabel.text = entry->title;
}
return cell;

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 918 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -114,6 +114,8 @@
615A28362180720D0060F920 /* security_toogle_background_grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */; };
615A283A2180788E0060F920 /* security_toogle_button.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28392180788E0060F920 /* security_toogle_button.png */; };
615A283C2180789C0060F920 /* security_toogle_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283B2180789C0060F920 /* security_toogle_button@2x.png */; };
615A283E2180A2560060F920 /* invite_linphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283D2180A2550060F920 /* invite_linphone.png */; };
615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283F2180A2620060F920 /* invite_linphone@2x.png */; };
61AE364F20C00B370089D9D3 /* ShareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 61AE364E20C00B370089D9D3 /* ShareViewController.m */; };
61AE365220C00B370089D9D3 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 61AE365020C00B370089D9D3 /* MainInterface.storyboard */; };
61AE365620C00B370089D9D3 /* linphoneExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
@ -1175,6 +1177,8 @@
615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_background_grey@2x.png"; sourceTree = "<group>"; };
615A28392180788E0060F920 /* security_toogle_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_button.png; sourceTree = "<group>"; };
615A283B2180789C0060F920 /* security_toogle_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_button@2x.png"; sourceTree = "<group>"; };
615A283D2180A2550060F920 /* invite_linphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = invite_linphone.png; sourceTree = "<group>"; };
615A283F2180A2620060F920 /* invite_linphone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "invite_linphone@2x.png"; sourceTree = "<group>"; };
61AE364B20C00B370089D9D3 /* linphoneExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = linphoneExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
61AE364D20C00B370089D9D3 /* ShareViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareViewController.h; sourceTree = "<group>"; };
61AE364E20C00B370089D9D3 /* ShareViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareViewController.m; sourceTree = "<group>"; };
@ -3022,6 +3026,8 @@
633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */,
633FECC41D3CD5570014B822 /* history_missed_selected.png */,
633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */,
615A283D2180A2550060F920 /* invite_linphone.png */,
615A283F2180A2620060F920 /* invite_linphone@2x.png */,
633FECC61D3CD5570014B822 /* led_connected.png */,
633FECC71D3CD5570014B822 /* led_connected@2x.png */,
633FECC81D3CD5570014B822 /* led_disconnected.png */,
@ -3930,6 +3936,7 @@
633FEEB11D3CD55A0014B822 /* numpad_2~ipad.png in Resources */,
633FEE521D3CD5590014B822 /* dialer_alt_back.png in Resources */,
633FEE341D3CD5590014B822 /* conference_exit_default.png in Resources */,
615A283E2180A2560060F920 /* invite_linphone.png in Resources */,
633FEF281D3CD55A0014B822 /* route_earpiece_default.png in Resources */,
633FEE4F1D3CD5590014B822 /* delete_field_over@2x.png in Resources */,
633FEE531D3CD5590014B822 /* dialer_alt_back@2x.png in Resources */,
@ -4118,6 +4125,7 @@
633FEDA01D3CD5590014B822 /* avatar.png in Resources */,
633FEEBC1D3CD55A0014B822 /* numpad_4_default@2x.png in Resources */,
633FEEA91D3CD55A0014B822 /* numpad_1~ipad.png in Resources */,
615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */,
633FEDF71D3CD5590014B822 /* camera_default@2x.png in Resources */,
633FEDB31D3CD5590014B822 /* call_alt_back_default@2x.png in Resources */,
633FEDCF1D3CD5590014B822 /* call_quality_indicator_1@2x.png in Resources */,