UI/UX: refactor conversation view

This patch refactor elements placement on send panel and actions
panel of conversation view.

Change-Id: I2a934bc052333770af2d7cbde12ec471c55ca481
Reviewed-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5141d28..7c5fc9f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -210,8 +210,6 @@
    src/views/RoundedTextField.mm
    src/views/MessageBubbleView.h
    src/views/MessageBubbleView.mm
-   src/views/SendMessageCell.h
-   src/views/SendMessageCell.mm
    src/views/SendMessagePanel.h
    src/views/SendMessagePanel.mm
    src/views/HoverButton.h
diff --git a/src/ConversationVC.mm b/src/ConversationVC.mm
index 2084e4f..e5bfcc6 100644
--- a/src/ConversationVC.mm
+++ b/src/ConversationVC.mm
@@ -29,6 +29,7 @@
 #import <globalinstances.h>
 
 #import "views/IconButton.h"
+#import "views/HoverButton.h"
 #import "views/IMTableCellView.h"
 #import "views/NSColor+RingTheme.h"
 #import "QNSTreeController.h"
@@ -53,6 +54,7 @@
     __unsafe_unretained IBOutlet NSTextField *conversationID;
     __unsafe_unretained IBOutlet IconButton* sendButton;
     __unsafe_unretained IBOutlet IconButton *sendFileButton;
+    __unsafe_unretained IBOutlet HoverButton *addContactButton;
     __unsafe_unretained IBOutlet NSLayoutConstraint* sentContactRequestWidth;
     __unsafe_unretained IBOutlet NSButton* sentContactRequestButton;
     IBOutlet MessagesVC* messagesViewVC;
@@ -157,6 +159,8 @@
     [conversationID setHidden:hideBestId];
     [titleCenteredConstraint setActive:hideBestId];
     [titleTopConstraint setActive:!hideBestId];
+    auto accountType = convModel_->owner.profileInfo.type;
+    [addContactButton setHidden:((convModel_->owner.contactModel->getContact(conv->participants[0]).profileInfo.type != lrc::api::profile::Type::TEMPORARY) || accountType == lrc::api::profile::Type::SIP)];
 }
 
 - (void)loadView {
@@ -233,6 +237,18 @@
     convModel_->placeCall(conv->uid);
 }
 
+- (IBAction)placeAudioCall:(id)sender
+{
+    auto* conv = [self getCurrentConversation];
+    convModel_->placeAudioOnlyCall(conv->uid);
+}
+
+- (IBAction)addContact:(id)sender
+{
+    auto* conv = [self getCurrentConversation];
+    convModel_->makePermanent(conv->uid);
+}
+
 - (IBAction)backPressed:(id)sender {
     [delegate rightPanelClosed];
     [self hideWithAnimation:false];
diff --git a/src/MessagesVC.mm b/src/MessagesVC.mm
index cdf0613..4892137 100644
--- a/src/MessagesVC.mm
+++ b/src/MessagesVC.mm
@@ -282,10 +282,8 @@
     [result updateWidthConstraint:finalWidth];
 
     auto& imageManip = reinterpret_cast<Interfaces::ImageManipulationDelegate&>(GlobalInstances::pixmapManipulator());
-    if (isOutgoing) {
-        [result.photoView setImage:[NSImage imageNamed:@"default_user_icon"]];
-    } else {
-        [result.photoView setImage:QtMac::toNSImage(qvariant_cast<QPixmap>(imageManip.conversationPhoto(*conv, convModel_->owner)))];
+    if (!isOutgoing) {
+          [result.photoView setImage:QtMac::toNSImage(qvariant_cast<QPixmap>(imageManip.conversationPhoto(*conv, convModel_->owner)))];
     }
 
     return result;
diff --git a/src/views/HoverButton.mm b/src/views/HoverButton.mm
index 7963527..086d2ad 100644
--- a/src/views/HoverButton.mm
+++ b/src/views/HoverButton.mm
@@ -34,7 +34,9 @@
 }
 
 -(void)mouseEntered:(NSEvent *)theEvent {
-    self.bgColor = self.hoverColor;
+    if(self.isEnabled) {
+        self.bgColor = self.hoverColor;
+    }
     [super setNeedsDisplay:YES];
     [super mouseEntered:theEvent];
 }
diff --git a/src/views/IconButton.h b/src/views/IconButton.h
index 0701497..66b5350 100644
--- a/src/views/IconButton.h
+++ b/src/views/IconButton.h
@@ -69,5 +69,12 @@
 
 @property (nonatomic, strong) NSColor* imageColor;
 
+/*
+ * Image color when button is disabled
+ * default value : [[NSColor grayColor] colorWithAlphaComponent:0.3];
+ */
+
+@property (nonatomic, strong) NSColor* buttonDisableColor;
+
 
 @end
diff --git a/src/views/IconButton.mm b/src/views/IconButton.mm
index 0223d02..96c3271 100644
--- a/src/views/IconButton.mm
+++ b/src/views/IconButton.mm
@@ -62,13 +62,21 @@
         backgroundColor = self.bgColor ;
         backgroundStrokeColor = self.bgColor;
         if(!self.isEnabled) {
-            tintColor = [[NSColor grayColor] colorWithAlphaComponent:0.3];
+            if (self.buttonDisableColor) {
+                tintColor = self.buttonDisableColor;
+            } else {
+                tintColor = [[NSColor grayColor] colorWithAlphaComponent:0.3];
+            }
         }
     }
     else if (!self.isEnabled) {
         backgroundColor = [self.bgColor colorWithAlphaComponent:0.7];
         backgroundStrokeColor = [self.bgColor colorWithAlphaComponent:0.7];
-        tintColor = [[NSColor grayColor] colorWithAlphaComponent:0.3];
+        if (self.buttonDisableColor) {
+            tintColor = self.buttonDisableColor;
+        } else {
+            tintColor = [[NSColor grayColor] colorWithAlphaComponent:0.3];
+        }
     } else if (self.mouseDown || self.isPressed) {
         if (self.highlightColor) {
             backgroundColor = self.highlightColor;
@@ -84,6 +92,8 @@
         backgroundStrokeColor = [self.bgColor darkenColorByValue:0.1];
     }
 
+    backgroundStrokeColor = NSColor.clearColor;
+
     //// Subframes
     NSRect group = NSMakeRect(NSMinX(dirtyRect) + floor(NSWidth(dirtyRect) * 0.03333) + 0.5,
                               NSMinY(dirtyRect) + floor(NSHeight(dirtyRect) * 0.03333) + 0.5,
diff --git a/src/views/SendMessageCell.h b/src/views/SendMessageCell.h
deleted file mode 100644
index 635d327..0000000
--- a/src/views/SendMessageCell.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- *  Copyright (C) 2017 Savoir-faire Linux Inc.
- *  Author: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@protocol MessageCellDelegate
-
--(void) focusChanged;
-
-@end
-
-@interface SendMessageCell : NSTextFieldCell
-
-@property (strong, nonatomic) id <MessageCellDelegate> viewDelegate;
-
-@end
diff --git a/src/views/SendMessageCell.mm b/src/views/SendMessageCell.mm
deleted file mode 100644
index bfff307..0000000
--- a/src/views/SendMessageCell.mm
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  Copyright (C) 2017 Savoir-faire Linux Inc.
- *  Author: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
- */
-
-#import "SendMessageCell.h"
-
-@implementation SendMessageCell
-
-- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
-    NSColor* textColor;
-
-    [self.viewDelegate focusChanged];
-
-    [super drawWithFrame:cellFrame inView:controlView];
-}
-
-@end
-
-
diff --git a/src/views/SendMessagePanel.h b/src/views/SendMessagePanel.h
index c09ca89..0b44e83 100644
--- a/src/views/SendMessagePanel.h
+++ b/src/views/SendMessagePanel.h
@@ -18,10 +18,7 @@
  */
 
 #import <Cocoa/Cocoa.h>
-#import "SendMessageCell.h"
 
-@interface SendMessagePanel : NSView <MessageCellDelegate>
-
-@property (nonatomic, strong) IBOutlet SendMessageCell* messageCell;
+@interface SendMessagePanel : NSView
 
 @end
diff --git a/src/views/SendMessagePanel.mm b/src/views/SendMessagePanel.mm
index 06d2441..db72816 100644
--- a/src/views/SendMessagePanel.mm
+++ b/src/views/SendMessagePanel.mm
@@ -22,33 +22,14 @@
 
 @implementation SendMessagePanel
 
--(void) awakeFromNib {
-    self.messageCell.viewDelegate = self;
-}
-
-
 - (void)drawRect:(NSRect)dirtyRect {
-
     NSBezierPath *path = [NSBezierPath bezierPath];
-    [path moveToPoint:NSMakePoint(40, dirtyRect.size.height)];
-    [path lineToPoint:NSMakePoint(dirtyRect.size.width - 40 , dirtyRect.size.height)];
-    BOOL isEditing = [(NSTextField *)[self.messageCell controlView] currentEditor] != nil;
-    if(isEditing) {
-        [[NSColor ringBlue]set];
-        [path setLineWidth:3];
-    }
-    else {
-
-        [[NSColor quaternaryLabelColor]set];
-        [path setLineWidth:2];
-    }
+    [path moveToPoint:NSMakePoint(0, dirtyRect.size.height)];
+    [path lineToPoint:NSMakePoint(dirtyRect.size.width, dirtyRect.size.height)];
+    [[NSColor quaternaryLabelColor]set];
+    [path setLineWidth:2];
     [path stroke];
     [super drawRect:dirtyRect];
 }
 
--(void) focusChanged {
-
-    [self setNeedsDisplay:YES];
-}
-
 @end
diff --git a/ui/Base.lproj/Conversation.xib b/ui/Base.lproj/Conversation.xib
index 492e83b..32fd4e2 100644
--- a/ui/Base.lproj/Conversation.xib
+++ b/ui/Base.lproj/Conversation.xib
@@ -8,6 +8,7 @@
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="ConversationVC">
             <connections>
+                <outlet property="addContactButton" destination="pGK-hO-X1Y" id="YeP-Gd-x6e"/>
                 <outlet property="conversationID" destination="SQT-Vf-Lhr" id="eab-vD-7X7"/>
                 <outlet property="conversationTitle" destination="ucx-6g-eJw" id="40T-pM-nix"/>
                 <outlet property="messageField" destination="bsk-Gj-qQ2" id="JYN-bF-ttw"/>
@@ -27,16 +28,16 @@
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
                 <customView verticalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="EJD-f8-Xqd">
-                    <rect key="frame" x="0.0" y="51" width="798" height="719"/>
+                    <rect key="frame" x="0.0" y="61" width="798" height="707"/>
                     <subviews>
                         <scrollView verticalCompressionResistancePriority="250" borderType="none" autohidesScrollers="YES" horizontalLineScroll="62" horizontalPageScroll="10" verticalLineScroll="62" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" scrollerKnobStyle="dark" translatesAutoresizingMaskIntoConstraints="NO" id="Ez2-Rf-DZN">
-                            <rect key="frame" x="49" y="0.0" width="700" height="719"/>
+                            <rect key="frame" x="49" y="0.0" width="700" height="707"/>
                             <clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="ofC-Bs-tHR">
-                                <rect key="frame" x="0.0" y="0.0" width="700" height="719"/>
+                                <rect key="frame" x="0.0" y="0.0" width="700" height="707"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <subviews>
                                     <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" autosaveColumns="NO" rowHeight="60" rowSizeStyle="automatic" viewBased="YES" id="bOO-CW-S21">
-                                        <rect key="frame" x="0.0" y="0.0" width="700" height="719"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="700" height="707"/>
                                         <autoresizingMask key="autoresizingMask"/>
                                         <size key="intercellSpacing" width="3" height="2"/>
                                         <color key="backgroundColor" white="1" alpha="0.0" colorSpace="deviceWhite"/>
@@ -98,19 +99,11 @@
                                                         <rect key="frame" x="1" y="63" width="697" height="60"/>
                                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                         <subviews>
-                                                            <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="HA2-42-bNS">
-                                                                <rect key="frame" x="657" y="15" width="40" height="40"/>
-                                                                <constraints>
-                                                                    <constraint firstAttribute="width" constant="40" id="659-GG-n6s"/>
-                                                                    <constraint firstAttribute="height" constant="40" id="Wco-GQ-lKP"/>
-                                                                </constraints>
-                                                                <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="FYc-av-dNW"/>
-                                                            </imageView>
-                                                            <customView ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Sfu-lT-vTc" customClass="MessageBubbleView">
-                                                                <rect key="frame" x="5" y="10" width="637" height="40"/>
+                                                            <customView ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Sfu-lT-vTc" customClass="MessageBubbleView">
+                                                                <rect key="frame" x="5" y="5" width="637" height="50"/>
                                                                 <subviews>
                                                                     <customView ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gob-L5-RgR" customClass="NSTextView">
-                                                                        <rect key="frame" x="0.0" y="0.0" width="637" height="40"/>
+                                                                        <rect key="frame" x="0.0" y="10" width="637" height="40"/>
                                                                     </customView>
                                                                 </subviews>
                                                                 <constraints>
@@ -121,30 +114,19 @@
                                                             </customView>
                                                         </subviews>
                                                         <constraints>
-                                                            <constraint firstItem="HA2-42-bNS" firstAttribute="leading" secondItem="Sfu-lT-vTc" secondAttribute="trailing" constant="2" id="Cdl-wc-CyM"/>
-                                                            <constraint firstItem="HA2-42-bNS" firstAttribute="top" secondItem="Kuf-56-7Og" secondAttribute="top" constant="5" id="pOA-ZJ-lX1"/>
+                                                            <constraint firstAttribute="trailing" secondItem="Sfu-lT-vTc" secondAttribute="trailing" id="oLP-po-bGf"/>
                                                             <constraint firstItem="Sfu-lT-vTc" firstAttribute="top" secondItem="Kuf-56-7Og" secondAttribute="top" constant="5" id="qxj-49-fiY"/>
-                                                            <constraint firstAttribute="trailing" secondItem="HA2-42-bNS" secondAttribute="trailing" id="tev-NB-s0E"/>
                                                             <constraint firstAttribute="bottom" secondItem="Sfu-lT-vTc" secondAttribute="bottom" constant="5" id="yPW-zU-W4e"/>
                                                         </constraints>
                                                         <connections>
                                                             <outlet property="msgBackground" destination="Sfu-lT-vTc" id="7bK-eM-vle"/>
                                                             <outlet property="msgView" destination="gob-L5-RgR" id="jaX-qj-YQA"/>
-                                                            <outlet property="photoView" destination="HA2-42-bNS" id="sCn-k7-x60"/>
                                                         </connections>
                                                     </tableCellView>
                                                     <tableCellView identifier="RightOngoingFileView" id="f7f-vE-9kV" userLabel="IMTableCellView" customClass="IMTableCellView">
                                                         <rect key="frame" x="1" y="125" width="697" height="60"/>
                                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                         <subviews>
-                                                            <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="6ZV-0W-v6y">
-                                                                <rect key="frame" x="657" y="15" width="40" height="40"/>
-                                                                <constraints>
-                                                                    <constraint firstAttribute="height" constant="40" id="QUs-oq-f5l"/>
-                                                                    <constraint firstAttribute="width" constant="40" id="w1W-3e-vMf"/>
-                                                                </constraints>
-                                                                <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="MUe-8z-ojQ"/>
-                                                            </imageView>
                                                             <customView ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="288-cW-DUh" customClass="MessageBubbleView">
                                                                 <rect key="frame" x="5" y="5" width="637" height="50"/>
                                                                 <subviews>
@@ -187,16 +169,13 @@
                                                         </subviews>
                                                         <constraints>
                                                             <constraint firstItem="288-cW-DUh" firstAttribute="top" secondItem="f7f-vE-9kV" secondAttribute="top" constant="5" id="189-x9-b4Q"/>
-                                                            <constraint firstItem="6ZV-0W-v6y" firstAttribute="leading" secondItem="288-cW-DUh" secondAttribute="trailing" constant="2" id="Eob-bX-rsc"/>
-                                                            <constraint firstAttribute="trailing" secondItem="6ZV-0W-v6y" secondAttribute="trailing" id="FFU-0x-vz5"/>
                                                             <constraint firstAttribute="bottom" secondItem="288-cW-DUh" secondAttribute="bottom" constant="5" id="IDq-mx-De5"/>
-                                                            <constraint firstItem="6ZV-0W-v6y" firstAttribute="top" secondItem="f7f-vE-9kV" secondAttribute="top" constant="5" id="yuG-tg-EgK"/>
+                                                            <constraint firstAttribute="trailing" secondItem="288-cW-DUh" secondAttribute="trailing" id="MBw-oY-Aiv"/>
                                                         </constraints>
                                                         <connections>
                                                             <outlet property="declineButton" destination="oA1-1W-48a" id="u4X-s7-mLU"/>
                                                             <outlet property="msgBackground" destination="288-cW-DUh" id="koc-Gd-hgM"/>
                                                             <outlet property="msgView" destination="OYt-X6-K8Z" id="feR-5l-GtK"/>
-                                                            <outlet property="photoView" destination="6ZV-0W-v6y" id="h61-cj-yop"/>
                                                             <outlet property="progressIndicator" destination="RQe-25-hLb" id="yTf-O0-SLK"/>
                                                         </connections>
                                                     </tableCellView>
@@ -204,14 +183,6 @@
                                                         <rect key="frame" x="1" y="187" width="697" height="60"/>
                                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                         <subviews>
-                                                            <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="Ayo-jj-LFy">
-                                                                <rect key="frame" x="657" y="15" width="40" height="40"/>
-                                                                <constraints>
-                                                                    <constraint firstAttribute="height" constant="40" id="Xsx-aB-mSP"/>
-                                                                    <constraint firstAttribute="width" constant="40" id="Ybl-P2-4he"/>
-                                                                </constraints>
-                                                                <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="qXk-fg-A5x"/>
-                                                            </imageView>
                                                             <customView ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PRw-Bx-lOE" customClass="MessageBubbleView">
                                                                 <rect key="frame" x="5" y="5" width="637" height="50"/>
                                                                 <subviews>
@@ -238,16 +209,13 @@
                                                             </customView>
                                                         </subviews>
                                                         <constraints>
-                                                            <constraint firstAttribute="trailing" secondItem="Ayo-jj-LFy" secondAttribute="trailing" id="3mw-Ec-2zY"/>
-                                                            <constraint firstItem="Ayo-jj-LFy" firstAttribute="top" secondItem="4Sx-gX-5hR" secondAttribute="top" constant="5" id="EBF-pl-GH2"/>
-                                                            <constraint firstItem="Ayo-jj-LFy" firstAttribute="leading" secondItem="PRw-Bx-lOE" secondAttribute="trailing" constant="2" id="GQX-Cp-IUU"/>
+                                                            <constraint firstAttribute="trailing" secondItem="PRw-Bx-lOE" secondAttribute="trailing" id="QZS-pa-Wo2"/>
                                                             <constraint firstAttribute="bottom" secondItem="PRw-Bx-lOE" secondAttribute="bottom" constant="5" id="cLM-O7-7x9"/>
                                                             <constraint firstItem="PRw-Bx-lOE" firstAttribute="top" secondItem="4Sx-gX-5hR" secondAttribute="top" constant="5" id="q5m-ch-0IR"/>
                                                         </constraints>
                                                         <connections>
                                                             <outlet property="msgBackground" destination="PRw-Bx-lOE" id="Lgp-wk-Xx5"/>
                                                             <outlet property="msgView" destination="Eay-Qd-gzU" id="AsA-MB-ZdR"/>
-                                                            <outlet property="photoView" destination="Ayo-jj-LFy" id="rbR-Xf-oze"/>
                                                             <outlet property="statusLabel" destination="yyn-kD-JYn" id="SGR-Ih-255"/>
                                                         </connections>
                                                     </tableCellView>
@@ -503,10 +471,10 @@
                     </constraints>
                 </customView>
                 <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="Sn1-dJ-QCw">
-                    <rect key="frame" x="20" y="767" width="758" height="5"/>
+                    <rect key="frame" x="0.0" y="765" width="798" height="5"/>
                 </box>
                 <button toolTip="Record" horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ooq-vs-Xt1" customClass="HoverButton">
-                    <rect key="frame" x="20" y="779" width="40" height="40"/>
+                    <rect key="frame" x="10" y="778" width="40" height="40"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="40" id="69o-49-0QB"/>
                         <constraint firstAttribute="width" constant="40" id="ImE-zq-KIj"/>
@@ -528,11 +496,11 @@
                     </connections>
                 </button>
                 <customView verticalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="Rth-di-Tls" customClass="SendMessagePanel">
-                    <rect key="frame" x="0.0" y="0.0" width="798" height="50"/>
+                    <rect key="frame" x="49" y="0.0" width="700" height="60"/>
                     <subviews>
                         <textField verticalCompressionResistancePriority="1000" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bsk-Gj-qQ2">
-                            <rect key="frame" x="48" y="5" width="666" height="40"/>
-                            <textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" placeholderString="Send a message" id="Ilz-7v-2fr" customClass="SendMessageCell">
+                            <rect key="frame" x="58" y="22" width="592" height="17"/>
+                            <textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" placeholderString="Send a message" id="Ilz-7v-2fr">
                                 <font key="font" metaFont="system"/>
                                 <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
                                 <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -550,7 +518,7 @@
                             </connections>
                         </textField>
                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="UJf-cF-RAo" customClass="HoverButton">
-                            <rect key="frame" x="714" y="5" width="40" height="40"/>
+                            <rect key="frame" x="650" y="10" width="40" height="40"/>
                             <constraints>
                                 <constraint firstAttribute="width" constant="40" id="TmF-ip-m4C"/>
                                 <constraint firstAttribute="height" constant="40" id="rbQ-lE-sAq"/>
@@ -561,7 +529,13 @@
                             </buttonCell>
                             <userDefinedRuntimeAttributes>
                                 <userDefinedRuntimeAttribute type="color" keyPath="imageColor">
-                                    <color key="value" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
+                                    <color key="value" red="0.0" green="0.23137254901960785" blue="0.30588235294117649" alpha="1" colorSpace="calibratedRGB"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="hoverColor">
+                                    <color key="value" red="0.23137254901960785" green="0.75686274509803919" blue="0.82745098039215681" alpha="0.23000000000000001" colorSpace="calibratedRGB"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="buttonDisableColor">
+                                    <color key="value" red="0.78955939797794117" green="0.75686274509803919" blue="0.82745098039215681" alpha="1" colorSpace="calibratedRGB"/>
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                             <connections>
@@ -570,7 +544,7 @@
                             </connections>
                         </button>
                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gwx-eT-PcN" customClass="HoverButton">
-                            <rect key="frame" x="756" y="5" width="40" height="40"/>
+                            <rect key="frame" x="10" y="10" width="40" height="40"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="40" id="C2W-wV-YvF"/>
                                 <constraint firstAttribute="width" constant="40" id="zZF-4P-pW9"/>
@@ -581,7 +555,10 @@
                             </buttonCell>
                             <userDefinedRuntimeAttributes>
                                 <userDefinedRuntimeAttribute type="color" keyPath="imageColor">
-                                    <color key="value" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <color key="value" red="0.0" green="0.23137254901960785" blue="0.30588235294117649" alpha="1" colorSpace="calibratedRGB"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="hoverColor">
+                                    <color key="value" red="0.23137254901960785" green="0.75686274509803919" blue="0.82745098039215681" alpha="0.23000000000000001" colorSpace="calibratedRGB"/>
                                 </userDefinedRuntimeAttribute>
                             </userDefinedRuntimeAttributes>
                             <connections>
@@ -590,30 +567,26 @@
                         </button>
                     </subviews>
                     <constraints>
-                        <constraint firstItem="gwx-eT-PcN" firstAttribute="centerY" secondItem="Rth-di-Tls" secondAttribute="centerY" id="773-Gg-YNe"/>
+                        <constraint firstItem="UJf-cF-RAo" firstAttribute="centerY" secondItem="gwx-eT-PcN" secondAttribute="centerY" id="8nV-yT-GCB"/>
                         <constraint firstItem="UJf-cF-RAo" firstAttribute="leading" secondItem="bsk-Gj-qQ2" secondAttribute="trailing" constant="2" id="9A3-Gn-6zS"/>
-                        <constraint firstAttribute="bottom" secondItem="bsk-Gj-qQ2" secondAttribute="bottom" constant="5" id="TID-Ww-Gmw"/>
+                        <constraint firstItem="gwx-eT-PcN" firstAttribute="leading" secondItem="Rth-di-Tls" secondAttribute="leading" constant="10" id="QpN-IM-j7U"/>
+                        <constraint firstItem="bsk-Gj-qQ2" firstAttribute="leading" secondItem="gwx-eT-PcN" secondAttribute="trailing" constant="10" id="bOG-S4-zuO"/>
                         <constraint firstItem="UJf-cF-RAo" firstAttribute="centerY" secondItem="Rth-di-Tls" secondAttribute="centerY" id="d73-0x-wSy"/>
-                        <constraint firstItem="gwx-eT-PcN" firstAttribute="leading" secondItem="UJf-cF-RAo" secondAttribute="trailing" constant="2" id="exX-kB-hcR"/>
-                        <constraint firstAttribute="height" constant="50" id="jJO-v2-Wuj"/>
-                        <constraint firstItem="bsk-Gj-qQ2" firstAttribute="top" secondItem="Rth-di-Tls" secondAttribute="top" constant="5" id="jJr-Dt-hhr"/>
-                        <constraint firstItem="bsk-Gj-qQ2" firstAttribute="leading" secondItem="Rth-di-Tls" secondAttribute="leading" constant="50" id="khQ-CU-aUr"/>
-                        <constraint firstAttribute="trailing" secondItem="gwx-eT-PcN" secondAttribute="trailing" constant="2" id="ziq-OV-WVi"/>
+                        <constraint firstItem="bsk-Gj-qQ2" firstAttribute="centerY" secondItem="Rth-di-Tls" secondAttribute="centerY" id="fyr-g5-2iE"/>
+                        <constraint firstAttribute="height" constant="60" id="jJO-v2-Wuj"/>
+                        <constraint firstAttribute="trailing" secondItem="UJf-cF-RAo" secondAttribute="trailing" constant="10" id="kMD-0U-u83"/>
                     </constraints>
-                    <connections>
-                        <outlet property="messageCell" destination="Ilz-7v-2fr" id="eOP-sJ-6Wf"/>
-                    </connections>
                 </customView>
                 <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ucx-6g-eJw">
-                    <rect key="frame" x="68" y="775" width="39" height="48"/>
+                    <rect key="frame" x="58" y="773" width="40" height="50"/>
                     <textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" sendsActionOnEndEditing="YES" alignment="left" placeholderString="Title" id="HnC-1N-RmR">
                         <font key="font" metaFont="system" size="18"/>
                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <button verticalHuggingPriority="750" tag="400" translatesAutoresizingMaskIntoConstraints="NO" id="cFH-d7-Erh" userLabel="Call Button" customClass="IconButton">
-                    <rect key="frame" x="738" y="779" width="40" height="40"/>
+                <button verticalHuggingPriority="750" tag="400" translatesAutoresizingMaskIntoConstraints="NO" id="cFH-d7-Erh" userLabel="Call Button" customClass="HoverButton">
+                    <rect key="frame" x="748" y="778" width="40" height="40"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="40" id="4jd-jn-RY1"/>
                         <constraint firstAttribute="height" constant="40" id="DMa-Lq-2Tk"/>
@@ -622,6 +595,14 @@
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="color" keyPath="imageColor">
+                            <color key="value" red="0.0" green="0.23137254901960785" blue="0.30588235294117649" alpha="1" colorSpace="calibratedRGB"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="color" keyPath="hoverColor">
+                            <color key="value" red="0.23137254901960785" green="0.75686274509803919" blue="0.82745098039215681" alpha="0.23410744863013699" colorSpace="calibratedRGB"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
                     <connections>
                         <action selector="placeCall:" target="-2" id="2h9-fM-gof"/>
                     </connections>
@@ -634,28 +615,76 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
+                <button verticalHuggingPriority="750" tag="400" translatesAutoresizingMaskIntoConstraints="NO" id="RuH-fO-poy" userLabel="Audio Call Button" customClass="HoverButton">
+                    <rect key="frame" x="698" y="778" width="40" height="40"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="40" id="HyC-Bf-F7P"/>
+                        <constraint firstAttribute="height" constant="40" id="opT-rp-VwQ"/>
+                    </constraints>
+                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_action_call" imagePosition="overlaps" alignment="center" allowsMixedState="YES" transparent="YES" imageScaling="proportionallyDown" inset="2" id="f0E-8f-ly5">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="color" keyPath="imageColor">
+                            <color key="value" red="0.0" green="0.23137254900000001" blue="0.30588235289999999" alpha="1" colorSpace="calibratedRGB"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="color" keyPath="hoverColor">
+                            <color key="value" red="0.23137254900000001" green="0.75686274509999996" blue="0.82745098039999998" alpha="0.23410744859999999" colorSpace="calibratedRGB"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                    <connections>
+                        <action selector="placeAudioCall:" target="-2" id="ycm-jI-2M5"/>
+                    </connections>
+                </button>
+                <button verticalHuggingPriority="750" tag="400" translatesAutoresizingMaskIntoConstraints="NO" id="pGK-hO-X1Y" userLabel="Add Contact Button" customClass="HoverButton">
+                    <rect key="frame" x="648" y="778" width="40" height="40"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="40" id="Cxh-SD-Ozq"/>
+                        <constraint firstAttribute="height" constant="40" id="UUq-am-hL7"/>
+                    </constraints>
+                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="ic_person_add" imagePosition="overlaps" alignment="center" allowsMixedState="YES" transparent="YES" imageScaling="proportionallyDown" inset="2" id="1oc-i4-1bh">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="color" keyPath="imageColor">
+                            <color key="value" red="0.0" green="0.23137254900000001" blue="0.30588235289999999" alpha="1" colorSpace="calibratedRGB"/>
+                        </userDefinedRuntimeAttribute>
+                        <userDefinedRuntimeAttribute type="color" keyPath="hoverColor">
+                            <color key="value" red="0.23137254900000001" green="0.75686274509999996" blue="0.82745098039999998" alpha="0.23410744859999999" colorSpace="calibratedRGB"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                    <connections>
+                        <action selector="addContact:" target="-2" id="9DI-Pm-X0I"/>
+                    </connections>
+                </button>
             </subviews>
             <constraints>
-                <constraint firstItem="ooq-vs-Xt1" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="1xM-Rt-OXn"/>
+                <constraint firstItem="ooq-vs-Xt1" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="10" id="1xM-Rt-OXn"/>
                 <constraint firstItem="ucx-6g-eJw" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="5" id="32s-Wp-DE1"/>
                 <constraint firstItem="cFH-d7-Erh" firstAttribute="centerY" secondItem="ooq-vs-Xt1" secondAttribute="centerY" id="5PE-Sd-Vwg"/>
                 <constraint firstItem="ucx-6g-eJw" firstAttribute="leading" secondItem="ooq-vs-Xt1" secondAttribute="trailing" constant="10" id="60g-Mw-Wax"/>
+                <constraint firstItem="cFH-d7-Erh" firstAttribute="leading" secondItem="RuH-fO-poy" secondAttribute="trailing" constant="10" id="7Hq-Yy-WfO"/>
                 <constraint firstAttribute="bottom" secondItem="Rth-di-Tls" secondAttribute="bottom" id="9nL-Hs-Oak"/>
                 <constraint firstItem="ucx-6g-eJw" firstAttribute="leading" secondItem="SQT-Vf-Lhr" secondAttribute="leading" id="IQc-hc-YRD"/>
-                <constraint firstItem="Rth-di-Tls" firstAttribute="leading" secondItem="EJD-f8-Xqd" secondAttribute="leading" id="Ijp-QX-Dkw"/>
-                <constraint firstItem="cFH-d7-Erh" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="9" id="Tok-wc-chb"/>
-                <constraint firstItem="EJD-f8-Xqd" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="58" id="XkO-FA-l3J"/>
-                <constraint firstItem="Sn1-dJ-QCw" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="58" id="aZT-2B-gv9"/>
-                <constraint firstAttribute="trailing" secondItem="cFH-d7-Erh" secondAttribute="trailing" constant="20" id="bWY-wj-6dr"/>
+                <constraint firstItem="EJD-f8-Xqd" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="L79-xO-12P"/>
+                <constraint firstItem="RuH-fO-poy" firstAttribute="centerY" secondItem="ooq-vs-Xt1" secondAttribute="centerY" id="MS8-kk-8g8"/>
+                <constraint firstItem="cFH-d7-Erh" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="10" id="Tok-wc-chb"/>
+                <constraint firstItem="EJD-f8-Xqd" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="60" id="XkO-FA-l3J"/>
+                <constraint firstItem="Sn1-dJ-QCw" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="60" id="aZT-2B-gv9"/>
+                <constraint firstItem="Rth-di-Tls" firstAttribute="trailing" secondItem="Ez2-Rf-DZN" secondAttribute="trailing" id="b6d-Ue-Zl5"/>
+                <constraint firstAttribute="trailing" secondItem="cFH-d7-Erh" secondAttribute="trailing" constant="10" id="bWY-wj-6dr"/>
                 <constraint firstItem="EJD-f8-Xqd" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="bvr-Gv-Sgb"/>
-                <constraint firstItem="Sn1-dJ-QCw" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="dtD-1T-QlG"/>
+                <constraint firstItem="Sn1-dJ-QCw" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="dtD-1T-QlG"/>
                 <constraint firstItem="SQT-Vf-Lhr" firstAttribute="bottom" secondItem="ooq-vs-Xt1" secondAttribute="bottom" id="e8m-qq-0SV"/>
                 <constraint firstItem="Rth-di-Tls" firstAttribute="top" secondItem="EJD-f8-Xqd" secondAttribute="bottom" constant="1" id="f8h-bA-ZrZ"/>
-                <constraint firstItem="ooq-vs-Xt1" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="9" id="gkR-53-qs5"/>
-                <constraint firstAttribute="trailing" secondItem="Rth-di-Tls" secondAttribute="trailing" id="iT0-rG-86d"/>
-                <constraint firstAttribute="trailing" secondItem="Sn1-dJ-QCw" secondAttribute="trailing" constant="20" id="m05-gh-crH"/>
-                <constraint firstItem="Rth-di-Tls" firstAttribute="trailing" secondItem="EJD-f8-Xqd" secondAttribute="trailing" id="mga-Tu-Ikb"/>
-                <constraint firstItem="Rth-di-Tls" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="qz7-sE-9Ml"/>
+                <constraint firstItem="RuH-fO-poy" firstAttribute="leading" secondItem="pGK-hO-X1Y" secondAttribute="trailing" constant="10" id="fCS-uv-8E2"/>
+                <constraint firstItem="ooq-vs-Xt1" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="10" id="gkR-53-qs5"/>
+                <constraint firstAttribute="trailing" secondItem="EJD-f8-Xqd" secondAttribute="trailing" id="hSZ-8v-sis"/>
+                <constraint firstItem="Rth-di-Tls" firstAttribute="leading" secondItem="Ez2-Rf-DZN" secondAttribute="leading" id="jyz-o7-MMh"/>
+                <constraint firstAttribute="trailing" secondItem="Sn1-dJ-QCw" secondAttribute="trailing" id="m05-gh-crH"/>
+                <constraint firstItem="pGK-hO-X1Y" firstAttribute="centerY" secondItem="ooq-vs-Xt1" secondAttribute="centerY" id="nQE-VA-2DY"/>
                 <constraint firstItem="ucx-6g-eJw" firstAttribute="centerY" secondItem="ooq-vs-Xt1" secondAttribute="centerY" id="uTp-kU-NmC" userLabel="centeredTitle"/>
             </constraints>
             <point key="canvasLocation" x="514" y="475"/>
@@ -669,10 +698,12 @@
     </objects>
     <resources>
         <image name="ic_action_accept" width="72" height="72"/>
+        <image name="ic_action_call" width="72" height="72"/>
         <image name="ic_action_cancel" width="72" height="72"/>
         <image name="ic_action_send" width="72" height="72"/>
         <image name="ic_action_video" width="72" height="72"/>
         <image name="ic_arrow_back" width="72" height="72"/>
         <image name="ic_file_upload" width="72" height="72"/>
+        <image name="ic_person_add" width="48" height="48"/>
     </resources>
 </document>