mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-17 11:08:06 +00:00
all needed view for creating/editing a chatroom
This commit is contained in:
parent
f52d5368f3
commit
7d53422e65
24 changed files with 552 additions and 421 deletions
|
|
@ -1,12 +0,0 @@
|
|||
//
|
||||
// ChatConversationCreateConfirmCollectionViewController.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 05/10/2017.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ChatConversationCreateConfirmCollectionViewController : UICollectionViewController
|
||||
|
||||
@end
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
//
|
||||
// ChatConversationCreateConfirmCollectionViewController.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 05/10/2017.
|
||||
//
|
||||
|
||||
#import "ChatConversationCreateConfirmCollectionViewController.h"
|
||||
#import "UIChatCreateConfirmCollectionViewCell.h"
|
||||
|
||||
@interface ChatConversationCreateConfirmCollectionViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation ChatConversationCreateConfirmCollectionViewController
|
||||
|
||||
static NSString * const reuseIdentifier = @"Cell";
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// Register cell classes
|
||||
[self.collectionView registerClass:[UIChatCreateConfirmCollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
//
|
||||
// ChatConversationCreateConfirmView.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 04/10/2017.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "UICompositeView.h"
|
||||
#import "ChatConversationCreateConfirmCollectionViewController.h"
|
||||
|
||||
@interface ChatConversationCreateConfirmView : UIViewController <UICompositeViewDelegate, UITextFieldDelegate, UIGestureRecognizerDelegate, UICollectionViewDataSource>
|
||||
@property (weak, nonatomic) IBOutlet UITextField *nameField;
|
||||
@property (weak, nonatomic) IBOutlet UIIconButton *validateButton;
|
||||
@property(nonatomic, strong) NSMutableDictionary *contacts;
|
||||
@property(nonatomic, strong) NSMutableArray *contactsGroup;
|
||||
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
|
||||
@property(strong, nonatomic) IBOutlet ChatConversationCreateConfirmCollectionViewController *collectionController;
|
||||
- (IBAction)onBackClick:(id)sender;
|
||||
- (IBAction)onValidateClick:(id)sender;
|
||||
- (void)deleteContact:(NSString *)uri;
|
||||
|
||||
@end
|
||||
|
|
@ -1,120 +0,0 @@
|
|||
//
|
||||
// ChatConversationCreateConfirmView.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 04/10/2017.
|
||||
//
|
||||
|
||||
#import "ChatConversationCreateConfirmView.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UIChatCreateConfirmCollectionViewCell.h"
|
||||
|
||||
@implementation ChatConversationCreateConfirmView
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
||||
+ (UICompositeViewDescription *)compositeViewDescription {
|
||||
if (compositeDescription == nil) {
|
||||
compositeDescription = [[UICompositeViewDescription alloc] init:self.class
|
||||
statusBar:StatusBarView.class
|
||||
tabBar:TabBarView.class
|
||||
sideMenu:SideMenuView.class
|
||||
fullscreen:false
|
||||
isLeftFragment:NO
|
||||
fragmentWith:ChatsListView.class];
|
||||
}
|
||||
return compositeDescription;
|
||||
}
|
||||
|
||||
- (UICompositeViewDescription *)compositeViewDescription {
|
||||
return self.class.compositeViewDescription;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
_contactsGroup = [[NSMutableArray alloc] init];
|
||||
_nameField.delegate = self;
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
|
||||
initWithTarget:self
|
||||
action:@selector(dismissKeyboards)];
|
||||
tap.delegate = self;
|
||||
[self.view addGestureRecognizer:tap];
|
||||
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
|
||||
layout.itemSize = CGSizeMake(100.0 , 50.0);
|
||||
_collectionController.collectionView = _collectionView;
|
||||
_collectionController = (ChatConversationCreateConfirmCollectionViewController *)[[UICollectionViewController alloc] initWithCollectionViewLayout:layout];
|
||||
_collectionView.dataSource = self;
|
||||
[_collectionView setCollectionViewLayout:layout];
|
||||
}
|
||||
|
||||
- (void) viewWillAppear:(BOOL)animated {
|
||||
for(id uri in _contacts.allKeys) {
|
||||
[_collectionView registerClass:UIChatCreateConfirmCollectionViewCell.class forCellWithReuseIdentifier:uri];
|
||||
if(![_contactsGroup containsObject:uri])
|
||||
[_contactsGroup addObject:uri];
|
||||
}
|
||||
[_collectionView reloadData];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[_contactsGroup removeAllObjects];
|
||||
[_contacts removeAllObjects];
|
||||
}
|
||||
|
||||
- (void)dismissKeyboards {
|
||||
if ([_nameField isFirstResponder]) {
|
||||
[_nameField resignFirstResponder];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)onBackClick:(id)sender {
|
||||
[PhoneMainView.instance popToView:ChatConversationCreateView.compositeViewDescription];
|
||||
}
|
||||
|
||||
- (IBAction)onValidateClick:(id)sender {
|
||||
LinphoneChatRoom *room = linphone_core_create_client_group_chat_room(LC, _nameField.text.UTF8String);
|
||||
bctbx_list_t *addresses = NULL;
|
||||
for (id object in _contactsGroup) {
|
||||
LinphoneAddress *addr = linphone_address_new(((NSString *)object).UTF8String);
|
||||
if(addresses)
|
||||
bctbx_list_append(addresses, addr);
|
||||
else
|
||||
addresses = bctbx_list_new(addr);
|
||||
}
|
||||
linphone_chat_room_add_participants(room, addresses);
|
||||
}
|
||||
|
||||
- (void)deleteContact:(NSString *)uri {
|
||||
[_contacts removeObjectForKey:uri];
|
||||
[_contactsGroup removeObject:uri];
|
||||
[_collectionView reloadData];
|
||||
}
|
||||
|
||||
#pragma mark - UITextFieldDelegate
|
||||
|
||||
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
|
||||
_validateButton.enabled = !((string.length == 0 || string == nil || [string isEqual:@""]) && (textField.text.length == 1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#pragma mark - UICollectionViewDataSource
|
||||
|
||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
|
||||
return _contacts.count;
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (UIChatCreateConfirmCollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
NSString *uri = _contactsGroup[indexPath.item];
|
||||
UIChatCreateConfirmCollectionViewCell *cell = (UIChatCreateConfirmCollectionViewCell *)[_collectionView dequeueReusableCellWithReuseIdentifier:uri forIndexPath:indexPath];
|
||||
cell.uri = uri;
|
||||
cell.confirmController = self;
|
||||
cell = [cell initWithName:_contacts[uri]];
|
||||
return cell;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ChatConversationCreateConfirmView">
|
||||
<connections>
|
||||
<outlet property="collectionView" destination="vxZ-Pk-gLv" id="Tl3-qq-DIh"/>
|
||||
<outlet property="nameField" destination="5uU-sb-Hle" id="XjS-4y-ooZ"/>
|
||||
<outlet property="validateButton" destination="aZ4-Rl-kUQ" id="H8t-tQ-Kjg"/>
|
||||
<outlet property="view" destination="GFA-Ly-0cJ" id="pRe-As-q8O"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="1Dv-N8-O6g" userLabel="iphone6MetricsView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GFA-Ly-0cJ">
|
||||
<rect key="frame" x="0.0" y="42" width="375" height="559"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vxZ-Pk-gLv" userLabel="addedContacts" customClass="UICollectionView">
|
||||
<rect key="frame" x="8" y="112" width="359" height="439"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="addedContacts"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fb4-Ne-SMe">
|
||||
<rect key="frame" x="0.0" y="56" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2Kg-fP-a78" userLabel="topBar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_F.png" translatesAutoresizingMaskIntoConstraints="NO" id="hFd-RB-VGm" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Evf-57-b9t" userLabel="backButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="back_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="back_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onBackClick:" destination="-1" eventType="touchUpInside" id="OHI-PY-KTc"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="aZ4-Rl-kUQ" userLabel="nextButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="300" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="valid_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="valid_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onValidateClick:" destination="-1" eventType="touchUpInside" id="0o4-sl-d1U"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<textField opaque="NO" clipsSubviews="YES" tag="100" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="Name this chatroom" borderStyle="roundedRect" textAlignment="center" adjustsFontSizeToFit="NO" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="5uU-sb-Hle" userLabel="chatRoomNameField">
|
||||
<rect key="frame" x="8" y="74" width="359" height="30"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="0.85415387149999999" green="0.85412830110000004" blue="0.85414278509999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="ChatRoomName"/>
|
||||
<color key="textColor" red="0.20521381499999999" green="0.20520767570000001" blue="0.2052111626" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<textInputTraits key="textInputTraits" autocorrectionType="no" returnKeyType="next" enablesReturnKeyAutomatically="YES"/>
|
||||
</textField>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<point key="canvasLocation" x="33.5" y="89.5"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="back_default.png" width="24" height="22"/>
|
||||
<image name="back_disabled.png" width="24" height="22"/>
|
||||
<image name="color_E.png" width="2" height="2"/>
|
||||
<image name="color_F.png" width="2" height="2"/>
|
||||
<image name="valid_default.png" width="28" height="19"/>
|
||||
<image name="valid_disabled.png" width="28" height="19"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
@interface ChatConversationCreateTableView : UITableViewController <UISearchBarDelegate>
|
||||
@property(weak, nonatomic) IBOutlet UISearchBar *searchBar;
|
||||
@property(nonatomic) Boolean allFilter;
|
||||
@property(nonatomic) Boolean notFirstTime;
|
||||
@property(nonatomic, strong) NSMutableArray *contactsGroup;
|
||||
@property(nonatomic, strong) NSMutableDictionary *contactsDict;
|
||||
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,13 @@
|
|||
[super viewWillAppear:animated];
|
||||
_allContacts =
|
||||
[[NSDictionary alloc] initWithDictionary:LinphoneManager.instance.fastAddressBook.addressBookMap];
|
||||
if(_notFirstTime) {
|
||||
_notFirstTime = FALSE;
|
||||
for(NSString *addr in _contactsGroup) {
|
||||
[_collectionView registerClass:UIChatCreateCollectionViewCell.class forCellWithReuseIdentifier:addr];
|
||||
}
|
||||
return;
|
||||
}
|
||||
_contacts = [[NSMutableDictionary alloc] initWithCapacity:_allContacts.count];
|
||||
_contactsGroup = [[NSMutableArray alloc] init];
|
||||
_contactsDict = [[NSMutableDictionary alloc] init];
|
||||
|
|
@ -33,6 +40,10 @@
|
|||
self.tableView.accessibilityIdentifier = @"Suggested addresses";
|
||||
}
|
||||
|
||||
- (void) viewWillDisappear:(BOOL)animated {
|
||||
_notFirstTime = FALSE;
|
||||
}
|
||||
|
||||
- (void) loadData {
|
||||
[self reloadDataWithFilter:_searchBar.text];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
//
|
||||
//
|
||||
|
||||
#ifndef ChatConversationCreateView_h
|
||||
#define ChatConversationCreateView_h
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ChatConversationCreateTableView.h"
|
||||
#import "ChatConversationCreateCollectionViewController.h"
|
||||
|
|
@ -28,3 +31,5 @@
|
|||
- (IBAction)onNextClick:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* ChatConversationCreateView_h */
|
||||
|
|
|
|||
|
|
@ -57,13 +57,16 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
_nextButton.enabled = FALSE;
|
||||
_tableController.tableView.frame = CGRectMake(_tableController.tableView.frame.origin.x,
|
||||
_tableController.searchBar.frame.origin.y + _tableController.searchBar.frame.size.height,
|
||||
_tableController.tableView.frame.size.width,
|
||||
_tableController.tableView.frame.size.height + _collectionView.frame.size.height);
|
||||
if(_tableController.contactsGroup.count == 0) {
|
||||
_nextButton.enabled = FALSE;
|
||||
_tableController.tableView.frame = CGRectMake(_tableController.tableView.frame.origin.x,
|
||||
_tableController.searchBar.frame.origin.y + _tableController.searchBar.frame.size.height,
|
||||
_tableController.tableView.frame.size.width,
|
||||
_tableController.tableView.frame.size.height + _collectionView.frame.size.height);
|
||||
}
|
||||
[_collectionView reloadData];
|
||||
[self changeView:ContactsAll];
|
||||
[_tableController loadData];
|
||||
}
|
||||
|
||||
#pragma mark - searchBar delegate
|
||||
|
|
@ -75,8 +78,9 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
|
||||
- (IBAction)onNextClick:(id)sender {
|
||||
ChatConversationCreateConfirmView *view = VIEW(ChatConversationCreateConfirmView);
|
||||
ChatConversationInfoView *view = VIEW(ChatConversationInfoView);
|
||||
view.contacts = _tableController.contactsDict;
|
||||
view.create = TRUE;
|
||||
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription];
|
||||
}
|
||||
|
||||
|
|
|
|||
29
Classes/ChatConversationInfoView.h
Normal file
29
Classes/ChatConversationInfoView.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//
|
||||
// ChatConversationInfoView.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 23/10/2017.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "UICompositeView.h"
|
||||
#import "UIRoundBorderedButton.h"
|
||||
|
||||
@interface ChatConversationInfoView : UIViewController <UICompositeViewDelegate, UIGestureRecognizerDelegate, UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource>
|
||||
|
||||
@property(nonatomic, strong) NSMutableDictionary *contacts;
|
||||
@property(nonatomic, strong) NSMutableArray *admins;
|
||||
@property(nonatomic) BOOL create;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIIconButton *nextButton;
|
||||
@property (weak, nonatomic) IBOutlet UIIconButton *backButton;
|
||||
@property (weak, nonatomic) IBOutlet UIRoundBorderedButton *quitButton;
|
||||
@property (weak, nonatomic) IBOutlet UITextField *nameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UITableView *tableView;
|
||||
|
||||
- (IBAction)onNextClick:(id)sender;
|
||||
- (IBAction)onBackClick:(id)sender;
|
||||
- (IBAction)onQuitClick:(id)sender;
|
||||
|
||||
@end
|
||||
121
Classes/ChatConversationInfoView.m
Normal file
121
Classes/ChatConversationInfoView.m
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
//
|
||||
// ChatConversationInfoView.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 23/10/2017.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "ChatConversationInfoView.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UIChatConversationInfoTableViewCell.h"
|
||||
|
||||
@implementation ChatConversationInfoView
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
||||
+ (UICompositeViewDescription *)compositeViewDescription {
|
||||
if (compositeDescription == nil) {
|
||||
compositeDescription = [[UICompositeViewDescription alloc] init:self.class
|
||||
statusBar:StatusBarView.class
|
||||
tabBar:TabBarView.class
|
||||
sideMenu:SideMenuView.class
|
||||
fullscreen:false
|
||||
isLeftFragment:NO
|
||||
fragmentWith:ChatsListView.class];
|
||||
}
|
||||
return compositeDescription;
|
||||
}
|
||||
|
||||
- (UICompositeViewDescription *)compositeViewDescription {
|
||||
return self.class.compositeViewDescription;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
// if we use fragments, remove back button
|
||||
if (IPAD) {
|
||||
_backButton.hidden = YES;
|
||||
}
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
|
||||
initWithTarget:self
|
||||
action:@selector(dismissKeyboards)];
|
||||
tap.delegate = self;
|
||||
[self.view addGestureRecognizer:tap];
|
||||
_nameLabel.delegate = self;
|
||||
_tableView.dataSource = self;
|
||||
_tableView.delegate = self;
|
||||
_admins = [[NSMutableArray alloc] init];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
_nextButton.enabled = _nameLabel.text.length > 0 && _contacts.count > 0;
|
||||
[_tableView reloadData];
|
||||
_quitButton.hidden = _create;
|
||||
}
|
||||
|
||||
#pragma mark - Buttons responders
|
||||
|
||||
- (IBAction)onNextClick:(id)sender {
|
||||
}
|
||||
|
||||
- (IBAction)onBackClick:(id)sender {
|
||||
if(_create) {
|
||||
ChatConversationCreateView *view = VIEW(ChatConversationCreateView);
|
||||
view.tableController.contactsDict = _contacts;
|
||||
view.tableController.contactsGroup = [[_contacts allKeys] mutableCopy];
|
||||
view.tableController.notFirstTime = TRUE;
|
||||
[PhoneMainView.instance popToView:view.compositeViewDescription];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)onQuitClick:(id)sender {
|
||||
}
|
||||
|
||||
#pragma mark - TableView
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return _contacts.count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
NSString *kCellId = NSStringFromClass(UIChatConversationInfoTableViewCell.class);
|
||||
UIChatConversationInfoTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[UIChatConversationInfoTableViewCell alloc] initWithIdentifier:kCellId];
|
||||
}
|
||||
cell.uri = _contacts.allKeys[indexPath.row];
|
||||
cell.nameLabel.text = [_contacts objectForKey:cell.uri];
|
||||
cell.controllerView = self;
|
||||
if(![_admins containsObject:cell.uri]) {
|
||||
cell.adminLabel.enabled = FALSE;
|
||||
cell.adminImage.image = [UIImage imageNamed:@"check_unselected.png"];
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
|
||||
#pragma mark - searchBar delegate
|
||||
|
||||
- (void)dismissKeyboards {
|
||||
if ([_nameLabel isFirstResponder]) {
|
||||
[_nameLabel resignFirstResponder];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - UITextFieldDelegate
|
||||
|
||||
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
|
||||
_nextButton.enabled = (!((string.length == 0 || string == nil || [string isEqual:@""]) && (textField.text.length == 1))
|
||||
&& _contacts.count > 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@end
|
||||
167
Classes/ChatConversationInfoView.xib
Normal file
167
Classes/ChatConversationInfoView.xib
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13174"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ChatConversationInfoView">
|
||||
<connections>
|
||||
<outlet property="backButton" destination="HVD-Ql-SJG" id="iHL-Rf-gT2"/>
|
||||
<outlet property="nameLabel" destination="69I-Un-ASz" id="qmU-o2-TmF"/>
|
||||
<outlet property="nextButton" destination="0v1-qv-lPd" id="nPu-w2-iy3"/>
|
||||
<outlet property="quitButton" destination="Hnm-7C-dBQ" id="Kp1-Aw-FQq"/>
|
||||
<outlet property="tableView" destination="pMq-Gv-0uu" id="ELS-RQ-olX"/>
|
||||
<outlet property="view" destination="zgv-a8-72k" id="Gbu-s2-SgQ"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="BKk-x7-cO3" userLabel="iphone6MetricsView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zgv-a8-72k">
|
||||
<rect key="frame" x="0.0" y="42" width="375" height="559"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" style="plain" separatorStyle="default" allowsSelectionDuringEditing="YES" allowsMultipleSelectionDuringEditing="YES" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="pMq-Gv-0uu">
|
||||
<rect key="frame" x="0.0" y="148" width="375" height="315"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="separatorColor" red="0.67030966280000004" green="0.71867996450000005" blue="0.75078284740000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</tableView>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" insetsLayoutMarginsFromSafeArea="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Meo-HD-uD0" userLabel="topBar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_F.png" translatesAutoresizingMaskIntoConstraints="NO" id="Sna-Ku-1Aq" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="5" contentMode="left" fixedFrame="YES" text="Info" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="tJn-Nv-Duq" userLabel="addressLabel">
|
||||
<rect key="frame" x="112" y="0.0" width="150" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name">
|
||||
<accessibilityTraits key="traits" none="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="22"/>
|
||||
<color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HVD-Ql-SJG" userLabel="backButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="back_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="back_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onBackClick:" destination="-1" eventType="touchUpInside" id="MaN-Ja-qM2"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0v1-qv-lPd" userLabel="nextButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="300" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="valid_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="valid_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onNextClick:" destination="-1" eventType="touchUpInside" id="OC1-up-De3"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<textField opaque="NO" clipsSubviews="YES" tag="100" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Name this chatroom" textAlignment="center" adjustsFontSizeToFit="NO" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="69I-Un-ASz" userLabel="chatRoomNameField">
|
||||
<rect key="frame" x="8" y="74" width="359" height="30"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="0.85415387149999999" green="0.85412830110000004" blue="0.85414278509999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="ChatRoomName"/>
|
||||
<color key="textColor" red="0.20521381499999999" green="0.20520767570000001" blue="0.2052111626" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<textInputTraits key="textInputTraits" autocorrectionType="no" returnKeyType="next" enablesReturnKeyAutomatically="YES"/>
|
||||
</textField>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" insetsLayoutMarginsFromSafeArea="NO" translatesAutoresizingMaskIntoConstraints="NO" id="n8e-tx-jlu" userLabel="particpantsBar">
|
||||
<rect key="frame" x="0.0" y="112" width="375" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_G.png" translatesAutoresizingMaskIntoConstraints="NO" id="t4R-zd-mU3" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="5" contentMode="left" fixedFrame="YES" text="Participants" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="vof-h9-AN3" userLabel="participantsLabel">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name">
|
||||
<accessibilityTraits key="traits" none="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
||||
<color key="textColor" red="0.33333333329999998" green="0.33333333329999998" blue="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XSI-9T-NtW" userLabel="addButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="346" y="4" width="21" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="chat_group_add.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="valid_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onBackClick:" destination="-1" eventType="touchUpInside" id="EHU-0A-zHi"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="wordWrap" translatesAutoresizingMaskIntoConstraints="NO" id="Hnm-7C-dBQ" userLabel="quitButton" customClass="UIRoundBorderedButton">
|
||||
<rect key="frame" x="93" y="471" width="189" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="0.98766469960000003" green="0.27512490750000002" blue="0.029739789660000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Use SIP account">
|
||||
<bool key="isElement" value="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<state key="normal" title="QUIT CHATROOM">
|
||||
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_F.png">
|
||||
<color key="titleColor" red="0.67030966280000004" green="0.71867996450000005" blue="0.75078284740000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onQuitClick:" destination="-1" eventType="touchUpInside" id="TT0-hW-JMh"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<point key="canvasLocation" x="33.5" y="89.5"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="back_default.png" width="24" height="22"/>
|
||||
<image name="back_disabled.png" width="24" height="22"/>
|
||||
<image name="chat_group_add.png" width="42" height="42"/>
|
||||
<image name="color_E.png" width="2" height="2"/>
|
||||
<image name="color_F.png" width="2" height="2"/>
|
||||
<image name="color_G.png" width="2" height="2"/>
|
||||
<image name="valid_default.png" width="28" height="19"/>
|
||||
<image name="valid_disabled.png" width="28" height="19"/>
|
||||
</resources>
|
||||
</document>
|
||||
21
Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h
Normal file
21
Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
//
|
||||
// UIChatConversationInfoTableViewCell.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 23/10/2017.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ChatConversationInfoView.h"
|
||||
|
||||
@interface UIChatConversationInfoTableViewCell : UITableViewCell <UIGestureRecognizerDelegate>
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView *adminButton;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *adminLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *adminImage;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
|
||||
@property (weak, nonatomic) ChatConversationInfoView *controllerView;
|
||||
@property (strong) NSString *uri;
|
||||
|
||||
- (id)initWithIdentifier:(NSString *)identifier;
|
||||
@end
|
||||
61
Classes/LinphoneUI/UIChatConversationInfoTableViewCell.m
Normal file
61
Classes/LinphoneUI/UIChatConversationInfoTableViewCell.m
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
//
|
||||
// UIChatConversationInfoTableViewCell.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 23/10/2017.
|
||||
//
|
||||
|
||||
#import "PhoneMainView.h"
|
||||
#import "UIChatConversationInfoTableViewCell.h"
|
||||
|
||||
@implementation UIChatConversationInfoTableViewCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (id)initWithIdentifier:(NSString *)identifier {
|
||||
self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
|
||||
if (self != nil) {
|
||||
NSArray *arrayOfViews =
|
||||
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil];
|
||||
if ([arrayOfViews count] >= 1) {
|
||||
UIChatConversationInfoTableViewCell *sub = ((UIChatConversationInfoTableViewCell *)[arrayOfViews objectAtIndex:0]);
|
||||
self = sub;
|
||||
}
|
||||
}
|
||||
|
||||
UITapGestureRecognizer *adminTap = [[UITapGestureRecognizer alloc]
|
||||
initWithTarget:self
|
||||
action:@selector(onAdmin)];
|
||||
adminTap.delegate = self;
|
||||
adminTap.numberOfTapsRequired = 1;
|
||||
[_adminButton addGestureRecognizer:adminTap];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (IBAction)onDelete:(id)sender {
|
||||
[_controllerView.contacts removeObjectForKey:_uri];
|
||||
if ([_controllerView.admins containsObject:_uri])
|
||||
[_controllerView.admins removeObject:_uri];
|
||||
|
||||
[_controllerView.tableView reloadData];
|
||||
_controllerView.nextButton.enabled = _controllerView.nameLabel.text.length > 0 && _controllerView.contacts.count > 0;
|
||||
}
|
||||
|
||||
- (void)onAdmin {
|
||||
_adminLabel.enabled = !_adminLabel.enabled;
|
||||
NSString *content = _adminLabel.enabled
|
||||
? @"check_selected.png"
|
||||
: @"check_unselected.png";
|
||||
|
||||
_adminImage.image = [UIImage imageNamed:content];
|
||||
|
||||
if (_adminLabel.enabled)
|
||||
[_controllerView.admins addObject:_uri];
|
||||
else
|
||||
[_controllerView.admins removeObject:_uri];
|
||||
}
|
||||
|
||||
@end
|
||||
89
Classes/LinphoneUI/UIChatConversationInfoTableViewCell.xib
Normal file
89
Classes/LinphoneUI/UIChatConversationInfoTableViewCell.xib
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13174"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="UIChatConversationInfoTableViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="John Doe" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rrT-f7-NQO" userLabel="displayNameLabel">
|
||||
<rect key="frame" x="46" y="11" width="184" height="20"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" fixedFrame="YES" image="avatar.png" translatesAutoresizingMaskIntoConstraints="NO" id="Zsv-H9-9Dv" userLabel="avatarImage" customClass="UIRoundedImageView">
|
||||
<rect key="frame" x="0.0" y="7" width="43" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PbQ-SL-kUk">
|
||||
<rect key="frame" x="213" y="2" width="98" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" fixedFrame="YES" image="check_selected.png" translatesAutoresizingMaskIntoConstraints="NO" id="FOh-C4-1Is" userLabel="adminImage">
|
||||
<rect key="frame" x="26" y="13" width="18" height="13"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
<bool key="isElement" value="YES"/>
|
||||
</accessibility>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Admin" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DYS-vK-7Ol" userLabel="displayNameLabel">
|
||||
<rect key="frame" x="50" y="10" width="71" height="19"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration">
|
||||
<accessibilityTraits key="traits" button="YES"/>
|
||||
</accessibility>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JPd-hQ-On6" userLabel="deleteButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="335" y="0.0" width="40" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="conference_delete.png">
|
||||
<color key="titleShadowColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="valid_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onDelete:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="gSd-t2-eDY"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<outlet property="adminButton" destination="PbQ-SL-kUk" id="Fgj-Oc-VhO"/>
|
||||
<outlet property="adminImage" destination="FOh-C4-1Is" id="g51-C3-Ua8"/>
|
||||
<outlet property="adminLabel" destination="DYS-vK-7Ol" id="OCp-Sw-hSc"/>
|
||||
<outlet property="nameLabel" destination="rrT-f7-NQO" id="iwZ-ou-jVQ"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="61.5" y="52"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="avatar.png" width="259" height="259"/>
|
||||
<image name="check_selected.png" width="47" height="32"/>
|
||||
<image name="color_E.png" width="2" height="2"/>
|
||||
<image name="conference_delete.png" width="11" height="11"/>
|
||||
<image name="valid_disabled.png" width="28" height="19"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
//
|
||||
// UIChatCreateConfirmCollectionViewCell.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 05/10/2017.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "UIChatCreateCollectionViewCell.h"
|
||||
#import "ChatConversationCreateConfirmView.h"
|
||||
|
||||
@interface UIChatCreateConfirmCollectionViewCell : UICollectionViewCell
|
||||
@property (weak, nonatomic) IBOutlet UILabel *displayNameLabel;
|
||||
@property (strong, nonatomic) ChatConversationCreateConfirmView *confirmController;
|
||||
@property (strong, nonatomic) NSString *uri;
|
||||
- (id)initWithName:(NSString *)identifier;
|
||||
@end
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
//
|
||||
// UIChatCreateConfirmCollectionViewCell.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 05/10/2017.
|
||||
//
|
||||
|
||||
#import "UIChatCreateConfirmCollectionViewCell.h"
|
||||
|
||||
@implementation UIChatCreateConfirmCollectionViewCell
|
||||
|
||||
- (id)initWithName:(NSString *)identifier {
|
||||
if (self != nil) {
|
||||
NSArray *arrayOfViews =
|
||||
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil];
|
||||
if ([arrayOfViews count] >= 1) {
|
||||
UIChatCreateCollectionViewCell *sub = ((UIChatCreateCollectionViewCell *)[arrayOfViews objectAtIndex:0]);
|
||||
[self addSubview:sub];
|
||||
_displayNameLabel = sub.nameLabel;
|
||||
}
|
||||
}
|
||||
[_displayNameLabel setText:identifier];
|
||||
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onDelete)];
|
||||
tap.numberOfTouchesRequired = 1;
|
||||
[self addGestureRecognizer:tap];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)onDelete {
|
||||
[_confirmController deleteContact:_uri];
|
||||
}
|
||||
@end
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UIChatCreateConfirmCollectionViewCell">
|
||||
<connections>
|
||||
<outlet property="displayNameLabel" destination="Wm0-Lb-XxP" id="TAE-Sa-n0a"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="blP-I3-gjJ" customClass="UIChatCreateCollectionViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="100" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="100" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="John Doe" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wm0-Lb-XxP" userLabel="displayNameLabel">
|
||||
<rect key="frame" x="14" y="18" width="92" height="20"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" fixedFrame="YES" image="conference_delete.png" translatesAutoresizingMaskIntoConstraints="NO" id="uyA-OW-PoB" userLabel="selectedImage">
|
||||
<rect key="frame" x="1" y="23" width="10" height="10"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
</view>
|
||||
<size key="customSize" width="170" height="45"/>
|
||||
<connections>
|
||||
<outlet property="nameLabel" destination="Wm0-Lb-XxP" id="MAU-k0-kts"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="2" y="86"/>
|
||||
</collectionViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="conference_delete.png" width="11" height="11"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
#import "CallSideMenuView.h"
|
||||
#import "CallView.h"
|
||||
#import "ChatConversationCreateView.h"
|
||||
#import "ChatConversationCreateConfirmView.h"
|
||||
#import "ChatConversationInfoView.h"
|
||||
#import "ChatConversationView.h"
|
||||
#import "ChatsListView.h"
|
||||
#import "ContactDetailsView.h"
|
||||
|
|
|
|||
BIN
Resources/images/chat_group_add.png
Normal file
BIN
Resources/images/chat_group_add.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
Resources/images/chat_group_add@2x.png
Normal file
BIN
Resources/images/chat_group_add@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
BIN
Resources/images/check_unselected.png
Normal file
BIN
Resources/images/check_unselected.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
BIN
Resources/images/check_unselected@2x.png
Normal file
BIN
Resources/images/check_unselected@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.5 KiB |
|
|
@ -626,7 +626,6 @@
|
|||
8C2595DD1DEDC92D007A6424 /* ProviderDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C2595DC1DEDC92D007A6424 /* ProviderDelegate.m */; };
|
||||
8C2595DF1DEDCC8E007A6424 /* CallKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */; };
|
||||
8C2595E11DEDDC67007A6424 /* callkit_logo.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C2595E01DEDDC67007A6424 /* callkit_logo.png */; };
|
||||
8C2A81921F877EDC0012A66B /* UIChatCreateConfirmCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8C2A81911F877EDC0012A66B /* UIChatCreateConfirmCollectionViewCell.xib */; };
|
||||
8C2A81951F87B8000012A66B /* chat_group_avatar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */; };
|
||||
8C2A81961F87B8000012A66B /* chat_group_avatar.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C2A81941F87B8000012A66B /* chat_group_avatar.png */; };
|
||||
8C300D9A1E40E0CC00728EF3 /* lime_ko.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C300D981E40E0CC00728EF3 /* lime_ko.png */; };
|
||||
|
|
@ -688,20 +687,24 @@
|
|||
8C9C5E111F83BD97006987FA /* UIChatCreateCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */; };
|
||||
8C9C5E121F83BD97006987FA /* UIChatCreateCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8C9C5E101F83BD97006987FA /* UIChatCreateCollectionViewCell.xib */; };
|
||||
8CA2004C1D8158440095F859 /* PushKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CA2004B1D8158440095F859 /* PushKit.framework */; };
|
||||
8CA70AC61F9DEDE000A3D2EB /* ChatConversationInfoView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AC51F9DEDE000A3D2EB /* ChatConversationInfoView.xib */; };
|
||||
8CA70AD11F9E0AE100A3D2EB /* ChatConversationInfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */; };
|
||||
8CA70AD41F9E285C00A3D2EB /* chat_group_add@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */; };
|
||||
8CA70AD51F9E285C00A3D2EB /* chat_group_add.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */; };
|
||||
8CA70AE41F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */; };
|
||||
8CA70AE51F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CA70AE31F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.xib */; };
|
||||
8CB2B8F91F86229E0015CEE2 /* chat_secure.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F61F86229B0015CEE2 /* chat_secure.png */; };
|
||||
8CB2B8FA1F86229E0015CEE2 /* next_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F71F86229C0015CEE2 /* next_disabled.png */; };
|
||||
8CB2B8FB1F86229E0015CEE2 /* next_disabled@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */; };
|
||||
8CD3F5AC1F86632100680C98 /* UIChatCreateConfirmCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD3F5AB1F86632100680C98 /* UIChatCreateConfirmCollectionViewCell.m */; };
|
||||
8CD3F5B71F867A1400680C98 /* ChatConversationCreateConfirmCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CD3F5B61F867A1400680C98 /* ChatConversationCreateConfirmCollectionViewController.m */; };
|
||||
8CDC61951F84D89B0087CF7F /* check_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC618C1F84D89B0087CF7F /* check_selected.png */; };
|
||||
8CDC61971F84D9270087CF7F /* check_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC61961F84D9270087CF7F /* check_selected@2x.png */; };
|
||||
8CDC619A1F84EAC10087CF7F /* ChatConversationCreateConfirmView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CDC61991F84EAC10087CF7F /* ChatConversationCreateConfirmView.m */; };
|
||||
8CDC619C1F84EAFD0087CF7F /* ChatConversationCreateConfirmView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC619B1F84EAFD0087CF7F /* ChatConversationCreateConfirmView.xib */; };
|
||||
8CE24F4B1F8234A30077AC0A /* next_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F491F8234A20077AC0A /* next_default.png */; };
|
||||
8CE24F4C1F8234A30077AC0A /* next_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */; };
|
||||
8CE24F571F8268850077AC0A /* conference_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F551F8268840077AC0A /* conference_delete.png */; };
|
||||
8CE24F581F8268850077AC0A /* conference_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F561F8268840077AC0A /* conference_delete@2x.png */; };
|
||||
8CE845651EC3500A00A94D60 /* bctoolbox-tester.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C5BCEC61EB3859200A9AAEF /* bctoolbox-tester.framework */; };
|
||||
8CF25D951F9F336100BEA0C1 /* check_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */; };
|
||||
8CF25D961F9F336100BEA0C1 /* check_unselected.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CF25D941F9F336100BEA0C1 /* check_unselected.png */; };
|
||||
C90FAA7915AF54E6002091CB /* HistoryDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */; };
|
||||
D306459E1611EC2A00BB571E /* UILoadingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = D306459D1611EC2900BB571E /* UILoadingImageView.m */; };
|
||||
D3128FE115AABC7E00A2147A /* ContactDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3128FDF15AABC7E00A2147A /* ContactDetailsView.m */; };
|
||||
|
|
@ -1675,7 +1678,6 @@
|
|||
8C2595DC1DEDC92D007A6424 /* ProviderDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProviderDelegate.m; sourceTree = "<group>"; };
|
||||
8C2595DE1DEDCC8E007A6424 /* CallKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CallKit.framework; path = System/Library/Frameworks/CallKit.framework; sourceTree = SDKROOT; };
|
||||
8C2595E01DEDDC67007A6424 /* callkit_logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = callkit_logo.png; sourceTree = "<group>"; };
|
||||
8C2A81911F877EDC0012A66B /* UIChatCreateConfirmCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIChatCreateConfirmCollectionViewCell.xib; sourceTree = "<group>"; };
|
||||
8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_avatar@2x.png"; sourceTree = "<group>"; };
|
||||
8C2A81941F87B8000012A66B /* chat_group_avatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_avatar.png; sourceTree = "<group>"; };
|
||||
8C300D981E40E0CC00728EF3 /* lime_ko.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = lime_ko.png; sourceTree = "<group>"; };
|
||||
|
|
@ -1703,22 +1705,25 @@
|
|||
8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateCollectionViewCell.m; sourceTree = "<group>"; };
|
||||
8C9C5E101F83BD97006987FA /* UIChatCreateCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIChatCreateCollectionViewCell.xib; sourceTree = "<group>"; };
|
||||
8CA2004B1D8158440095F859 /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = System/Library/Frameworks/PushKit.framework; sourceTree = SDKROOT; };
|
||||
8CA70AC51F9DEDE000A3D2EB /* ChatConversationInfoView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ChatConversationInfoView.xib; sourceTree = "<group>"; };
|
||||
8CA70ACF1F9E0ABA00A3D2EB /* ChatConversationInfoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationInfoView.h; sourceTree = "<group>"; };
|
||||
8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationInfoView.m; sourceTree = "<group>"; };
|
||||
8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_add@2x.png"; sourceTree = "<group>"; };
|
||||
8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_add.png; sourceTree = "<group>"; };
|
||||
8CA70AE11F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatConversationInfoTableViewCell.h; sourceTree = "<group>"; };
|
||||
8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatConversationInfoTableViewCell.m; sourceTree = "<group>"; };
|
||||
8CA70AE31F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIChatConversationInfoTableViewCell.xib; sourceTree = "<group>"; };
|
||||
8CB2B8F61F86229B0015CEE2 /* chat_secure.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_secure.png; sourceTree = "<group>"; };
|
||||
8CB2B8F71F86229C0015CEE2 /* next_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = next_disabled.png; sourceTree = "<group>"; };
|
||||
8CB2B8F81F86229D0015CEE2 /* next_disabled@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "next_disabled@2x.png"; sourceTree = "<group>"; };
|
||||
8CD3F5AA1F86632100680C98 /* UIChatCreateConfirmCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatCreateConfirmCollectionViewCell.h; sourceTree = "<group>"; };
|
||||
8CD3F5AB1F86632100680C98 /* UIChatCreateConfirmCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateConfirmCollectionViewCell.m; sourceTree = "<group>"; };
|
||||
8CD3F5B51F867A1400680C98 /* ChatConversationCreateConfirmCollectionViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateConfirmCollectionViewController.h; sourceTree = "<group>"; };
|
||||
8CD3F5B61F867A1400680C98 /* ChatConversationCreateConfirmCollectionViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateConfirmCollectionViewController.m; sourceTree = "<group>"; };
|
||||
8CDC618C1F84D89B0087CF7F /* check_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = check_selected.png; path = "../../../ressources 27.07.17/check_selected.png"; sourceTree = "<group>"; };
|
||||
8CDC61961F84D9270087CF7F /* check_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "check_selected@2x.png"; path = "../../../ressources 27.07.17/check_selected@2x.png"; sourceTree = "<group>"; };
|
||||
8CDC61981F84EAC10087CF7F /* ChatConversationCreateConfirmView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateConfirmView.h; sourceTree = "<group>"; };
|
||||
8CDC61991F84EAC10087CF7F /* ChatConversationCreateConfirmView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateConfirmView.m; sourceTree = "<group>"; };
|
||||
8CDC619B1F84EAFD0087CF7F /* ChatConversationCreateConfirmView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ChatConversationCreateConfirmView.xib; sourceTree = "<group>"; };
|
||||
8CE24F491F8234A20077AC0A /* next_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = next_default.png; sourceTree = "<group>"; };
|
||||
8CE24F4A1F8234A30077AC0A /* next_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "next_default@2x.png"; sourceTree = "<group>"; };
|
||||
8CE24F551F8268840077AC0A /* conference_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_delete.png; sourceTree = "<group>"; };
|
||||
8CE24F561F8268840077AC0A /* conference_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_delete@2x.png"; sourceTree = "<group>"; };
|
||||
8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_unselected@2x.png"; sourceTree = "<group>"; };
|
||||
8CF25D941F9F336100BEA0C1 /* check_unselected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = check_unselected.png; sourceTree = "<group>"; };
|
||||
C90FAA7615AF54E6002091CB /* HistoryDetailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsView.h; sourceTree = "<group>"; };
|
||||
C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsView.m; sourceTree = "<group>"; };
|
||||
C9B3A6FD15B485DB006F52EE /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Utils/Utils.h; sourceTree = "<group>"; };
|
||||
|
|
@ -2040,6 +2045,9 @@
|
|||
D3F83EEA1582021700336684 /* CallView.m */,
|
||||
D381881C15FE3FCA00C3EDCA /* CallView.xib */,
|
||||
638F1A861C2167C2004B8E02 /* CallView~ipad.xib */,
|
||||
8CA70ACF1F9E0ABA00A3D2EB /* ChatConversationInfoView.h */,
|
||||
8CA70AD01F9E0AE100A3D2EB /* ChatConversationInfoView.m */,
|
||||
8CA70AC51F9DEDE000A3D2EB /* ChatConversationInfoView.xib */,
|
||||
8C9C5E0B1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.h */,
|
||||
8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */,
|
||||
6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */,
|
||||
|
|
@ -2047,11 +2055,6 @@
|
|||
6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */,
|
||||
6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */,
|
||||
63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */,
|
||||
8CD3F5B51F867A1400680C98 /* ChatConversationCreateConfirmCollectionViewController.h */,
|
||||
8CD3F5B61F867A1400680C98 /* ChatConversationCreateConfirmCollectionViewController.m */,
|
||||
8CDC61981F84EAC10087CF7F /* ChatConversationCreateConfirmView.h */,
|
||||
8CDC61991F84EAC10087CF7F /* ChatConversationCreateConfirmView.m */,
|
||||
8CDC619B1F84EAFD0087CF7F /* ChatConversationCreateConfirmView.xib */,
|
||||
D32B6E2715A5BC430033019F /* ChatConversationTableView.h */,
|
||||
D32B6E2815A5BC430033019F /* ChatConversationTableView.m */,
|
||||
D3F795D315A582800077328B /* ChatConversationView.h */,
|
||||
|
|
@ -2185,12 +2188,12 @@
|
|||
D3EA540F159853750037DC6B /* UIChatCell.h */,
|
||||
D3EA5410159853750037DC6B /* UIChatCell.m */,
|
||||
639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */,
|
||||
8CA70AE11F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.h */,
|
||||
8CA70AE21F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m */,
|
||||
8CA70AE31F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.xib */,
|
||||
8C9C5E0E1F83BD97006987FA /* UIChatCreateCollectionViewCell.h */,
|
||||
8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */,
|
||||
8C9C5E101F83BD97006987FA /* UIChatCreateCollectionViewCell.xib */,
|
||||
8CD3F5AA1F86632100680C98 /* UIChatCreateConfirmCollectionViewCell.h */,
|
||||
8CD3F5AB1F86632100680C98 /* UIChatCreateConfirmCollectionViewCell.m */,
|
||||
8C2A81911F877EDC0012A66B /* UIChatCreateConfirmCollectionViewCell.xib */,
|
||||
63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */,
|
||||
63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */,
|
||||
639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */,
|
||||
|
|
@ -2443,6 +2446,10 @@
|
|||
633FEBE11D3CD5570014B822 /* images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8CF25D941F9F336100BEA0C1 /* check_unselected.png */,
|
||||
8CF25D8B1F9F336000BEA0C1 /* check_unselected@2x.png */,
|
||||
8CA70AD31F9E285B00A3D2EB /* chat_group_add.png */,
|
||||
8CA70AD21F9E285B00A3D2EB /* chat_group_add@2x.png */,
|
||||
8C2A81941F87B8000012A66B /* chat_group_avatar.png */,
|
||||
8C2A81931F87B7FF0012A66B /* chat_group_avatar@2x.png */,
|
||||
8CB2B8F61F86229B0015CEE2 /* chat_secure.png */,
|
||||
|
|
@ -3334,6 +3341,7 @@
|
|||
633FEDC41D3CD5590014B822 /* call_hangup_disabled.png in Resources */,
|
||||
633FEDA81D3CD5590014B822 /* backspace_default.png in Resources */,
|
||||
636316D11A1DEBCB0009B839 /* AboutView.xib in Resources */,
|
||||
8CA70AE51F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.xib in Resources */,
|
||||
244523AF1E8266CC0037A187 /* chat_delivered.png in Resources */,
|
||||
633FEF481D3CD55A0014B822 /* speaker_selected.png in Resources */,
|
||||
633FEED91D3CD55A0014B822 /* numpad_7~ipad.png in Resources */,
|
||||
|
|
@ -3343,6 +3351,7 @@
|
|||
633FEF021D3CD55A0014B822 /* options_disabled.png in Resources */,
|
||||
633FEDC81D3CD5590014B822 /* call_missed.png in Resources */,
|
||||
8CB2B8FA1F86229E0015CEE2 /* next_disabled.png in Resources */,
|
||||
8CF25D961F9F336100BEA0C1 /* check_unselected.png in Resources */,
|
||||
633FEF4B1D3CD55A0014B822 /* splashscreen@2x.png in Resources */,
|
||||
8C300D9A1E40E0CC00728EF3 /* lime_ko.png in Resources */,
|
||||
633FEE311D3CD5590014B822 /* color_I.png in Resources */,
|
||||
|
|
@ -3470,6 +3479,7 @@
|
|||
244523B11E8266CC0037A187 /* chat_read.png in Resources */,
|
||||
639E9CAC1C0DB80300019A75 /* UIContactDetailsCell.xib in Resources */,
|
||||
633FEE511D3CD5590014B822 /* deselect_all@2x.png in Resources */,
|
||||
8CF25D951F9F336100BEA0C1 /* check_unselected@2x.png in Resources */,
|
||||
F088488A19FF8C41007FFCF3 /* UIContactCell.xib in Resources */,
|
||||
633FEE381D3CD5590014B822 /* contact_add_default.png in Resources */,
|
||||
633FEE6F1D3CD5590014B822 /* footer_history_default@2x.png in Resources */,
|
||||
|
|
@ -3661,6 +3671,7 @@
|
|||
633FEEE91D3CD55A0014B822 /* numpad_9~ipad.png in Resources */,
|
||||
633FEE331D3CD5590014B822 /* color_M.png in Resources */,
|
||||
633FEE811D3CD5590014B822 /* led_connected@2x.png in Resources */,
|
||||
8CA70AD51F9E285C00A3D2EB /* chat_group_add.png in Resources */,
|
||||
633FEE881D3CD5590014B822 /* linphone_logo.png in Resources */,
|
||||
633FEE9B1D3CD55A0014B822 /* numpad_0_default.png in Resources */,
|
||||
633FEE591D3CD5590014B822 /* dialer_background@2x.png in Resources */,
|
||||
|
|
@ -3686,14 +3697,12 @@
|
|||
633FEF1D1D3CD55A0014B822 /* presence_offline@2x.png in Resources */,
|
||||
24A3459E1D95797700881A5C /* UIShopTableCell.xib in Resources */,
|
||||
633FEE231D3CD5590014B822 /* chat_start_body_over@2x.png in Resources */,
|
||||
8CDC619C1F84EAFD0087CF7F /* ChatConversationCreateConfirmView.xib in Resources */,
|
||||
633FEEBE1D3CD55A0014B822 /* numpad_4_over@2x.png in Resources */,
|
||||
633FEF471D3CD55A0014B822 /* speaker_disabled@2x.png in Resources */,
|
||||
633FEEFE1D3CD55A0014B822 /* options_add_call_disabled.png in Resources */,
|
||||
633FEE291D3CD5590014B822 /* checkbox_unchecked@2x.png in Resources */,
|
||||
63AADC001B6A0FF200AA16FD /* assistant_linphone_create.rc in Resources */,
|
||||
633FEF1C1D3CD55A0014B822 /* presence_offline.png in Resources */,
|
||||
8C2A81921F877EDC0012A66B /* UIChatCreateConfirmCollectionViewCell.xib in Resources */,
|
||||
633FEE901D3CD55A0014B822 /* list_details_over.png in Resources */,
|
||||
633FEDE31D3CD5590014B822 /* call_status_incoming@2x.png in Resources */,
|
||||
633FEE821D3CD5590014B822 /* led_disconnected.png in Resources */,
|
||||
|
|
@ -3721,6 +3730,7 @@
|
|||
633FEDB91D3CD5590014B822 /* call_alt_start_disabled@2x.png in Resources */,
|
||||
633FEE691D3CD5590014B822 /* footer_contacts_disabled@2x.png in Resources */,
|
||||
633FEE891D3CD5590014B822 /* linphone_logo@2x.png in Resources */,
|
||||
8CA70AC61F9DEDE000A3D2EB /* ChatConversationInfoView.xib in Resources */,
|
||||
633FEF071D3CD55A0014B822 /* options_start_conference_default@2x.png in Resources */,
|
||||
633FEE151D3CD5590014B822 /* chat_send_default@2x.png in Resources */,
|
||||
633FEDC31D3CD5590014B822 /* call_hangup_default@2x.png in Resources */,
|
||||
|
|
@ -3847,6 +3857,7 @@
|
|||
633FEF2F1D3CD55A0014B822 /* route_speaker_default@2x.png in Resources */,
|
||||
633FEDDD1D3CD5590014B822 /* call_start_body_disabled~ipad@2x.png in Resources */,
|
||||
633FEEBD1D3CD55A0014B822 /* numpad_4_over.png in Resources */,
|
||||
8CA70AD41F9E285C00A3D2EB /* chat_group_add@2x.png in Resources */,
|
||||
633FEEF11D3CD55A0014B822 /* numpad_hash~ipad.png in Resources */,
|
||||
633FEE781D3CD5590014B822 /* history_chat_indicator.png in Resources */,
|
||||
633FEF431D3CD55A0014B822 /* select_all_disabled@2x.png in Resources */,
|
||||
|
|
@ -4001,11 +4012,9 @@
|
|||
6341807C1BBC103100F71761 /* ChatConversationCreateTableView.m in Sources */,
|
||||
63BE7A781D75BDF6000990EF /* ShopTableView.m in Sources */,
|
||||
D326483815887D5200930C67 /* OrderedDictionary.m in Sources */,
|
||||
8CD3F5AC1F86632100680C98 /* UIChatCreateConfirmCollectionViewCell.m in Sources */,
|
||||
D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */,
|
||||
D36FB2D51589EF7C0036F6F2 /* UIPauseButton.m in Sources */,
|
||||
D31C9C98158A1CDF00756B45 /* UIHistoryCell.m in Sources */,
|
||||
8CDC619A1F84EAC10087CF7F /* ChatConversationCreateConfirmView.m in Sources */,
|
||||
D35E7597159460580066B1C1 /* ChatsListView.m in Sources */,
|
||||
D35E759F159460B70066B1C1 /* SettingsView.m in Sources */,
|
||||
63B81A101B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */,
|
||||
|
|
@ -4053,8 +4062,10 @@
|
|||
D3807FE815C2894A005BE9BC /* IASKAppSettingsViewController.m in Sources */,
|
||||
D3807FEA15C2894A005BE9BC /* IASKAppSettingsWebViewController.m in Sources */,
|
||||
D3807FEC15C2894A005BE9BC /* IASKSpecifierValuesViewController.m in Sources */,
|
||||
8CA70AE41F9E39E400A3D2EB /* UIChatConversationInfoTableViewCell.m in Sources */,
|
||||
D3807FEE15C2894A005BE9BC /* IASKSettingsReader.m in Sources */,
|
||||
D3807FF015C2894A005BE9BC /* IASKSettingsStore.m in Sources */,
|
||||
8CA70AD11F9E0AE100A3D2EB /* ChatConversationInfoView.m in Sources */,
|
||||
D3807FF215C2894A005BE9BC /* IASKSettingsStoreFile.m in Sources */,
|
||||
D3807FF415C2894A005BE9BC /* IASKSettingsStoreUserDefaults.m in Sources */,
|
||||
639E9C801C0DB13D00019A75 /* UICheckBoxTableView.m in Sources */,
|
||||
|
|
@ -4062,7 +4073,6 @@
|
|||
D3807FF815C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m in Sources */,
|
||||
D3807FFA15C2894A005BE9BC /* IASKPSTextFieldSpecifierViewCell.m in Sources */,
|
||||
D3807FFC15C2894A005BE9BC /* IASKPSTitleValueSpecifierViewCell.m in Sources */,
|
||||
8CD3F5B71F867A1400680C98 /* ChatConversationCreateConfirmCollectionViewController.m in Sources */,
|
||||
D3807FFE15C2894A005BE9BC /* IASKSlider.m in Sources */,
|
||||
D380800015C2894A005BE9BC /* IASKSwitch.m in Sources */,
|
||||
D380800215C2894A005BE9BC /* IASKTextField.m in Sources */,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue