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/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];