conversation: fixes
- hide message panel when conversation in synchronization
- display full path for file transfer in smart list last interaction field
Change-Id: Ie6ce59af989dc8f63acc6f5f74e1aeb662ee4f97
diff --git a/src/ConversationVC.mm b/src/ConversationVC.mm
index 1538e33..a3838a4 100644
--- a/src/ConversationVC.mm
+++ b/src/ConversationVC.mm
@@ -285,7 +285,7 @@
}
- (void)updateInvitationView:(const lrc::api::conversation::Info*) conversation {
- self.isRequest = conversation->isRequest;
+ self.isRequest = conversation->isRequest || conversation->needsSyncing;
NSString* bestName = bestNameForConversation(*conversation, *convModel_);
bool showInvitationView = conversation->isRequest || (convModel_->owner.profileInfo.type == lrc::api::profile::Type::JAMI && conversation->interactions.size() == 0);
invitationView.hidden = !showInvitationView;
@@ -438,7 +438,7 @@
}
- (IBAction) refuseInvitation:(id)sender {
- convModel_->removeConversation(convUid_);
+ convModel_->declineConversationRequest(convUid_);
}
- (IBAction) blockInvitation:(id)sender {
diff --git a/src/MessagesVC.mm b/src/MessagesVC.mm
index 469d29f..9702370 100644
--- a/src/MessagesVC.mm
+++ b/src/MessagesVC.mm
@@ -202,7 +202,7 @@
NSUInteger lastvisibleRow = [visibleIndexes lastIndex];
NSInteger numberOfRows = [conversationView numberOfRows];
if ((numberOfRows > 0) &&
- lastvisibleRow > (numberOfRows - visibleIndexes.count * 2)) {
+ lastvisibleRow > (numberOfRows - visibleIndexes.count * 0.5)) {
[conversationView scrollToEndOfDocument: nil];
}
}
@@ -247,7 +247,6 @@
}
[conversationView reloadDataForRowIndexes: indexSet
columnIndexes:[NSIndexSet indexSetWithIndex:0]];
- [self scrollToBottom];
}
-(void)setConversationUid:(const QString&)convUid model:(lrc::api::ConversationModel *)model
@@ -363,7 +362,10 @@
}
cachedConv_ = nil;
messages.at(index).second = interaction;
- [self reloadConversationForMessage:interactionId updateSize: interaction.type == lrc::api::interaction::Type::DATA_TRANSFER];
+ [self reloadConversationForMessage:interactionId updateSize: (interaction.type == lrc::api::interaction::Type::DATA_TRANSFER && interaction.status == lrc::api::interaction::Status::TRANSFER_FINISHED)];
+ if (interaction.type != lrc::api::interaction::Type::DATA_TRANSFER || interaction.status != lrc::api::interaction::Status::TRANSFER_FINISHED) {
+ return;
+ }
[self scrollToBottom];
});
interactionRemovedSignal_ = QObject::connect(convModel_, &lrc::api::ConversationModel::interactionRemoved,
@@ -559,7 +561,7 @@
[result.msgBackground setHidden:NO];
NSString* name = interaction.body.toNSString();
if (name.length > 0) {
- fileName = [name lastPathComponent];
+ fileName = name;
}
NSFont *nameFont = [NSFont systemFontOfSize: 12 weight: NSFontWeightLight];
NSColor *nameColor = [NSColor textColor];
@@ -960,7 +962,6 @@
-(NSString *) getDataTransferPath:(const QString&)interactionId {
lrc::api::datatransfer::Info info = {};
convModel_->getTransferInfo(convUid_, interactionId, info);
- double convertData = static_cast<double>(info.totalSize);
return info.path.toNSString();
}
diff --git a/src/SmartViewVC.mm b/src/SmartViewVC.mm
index 4f5ad37..9ae5149 100755
--- a/src/SmartViewVC.mm
+++ b/src/SmartViewVC.mm
@@ -567,7 +567,7 @@
callInfo = (call.status == lrc::api::call::Status::IN_PROGRESS) ? @"Talking" : to_string(call.status).toNSString();
}
}
-
+
if (callInfo.length > 0) {
[lastInteractionDate setStringValue: callInfo];
[interactionSnippet setHidden:true];
@@ -579,9 +579,6 @@
NSString* lastInteractionSnippetFixedString = [lastInteractionSnippet.toNSString()
stringByReplacingOccurrencesOfString:@"🕽" withString:@""];
lastInteractionSnippetFixedString = [lastInteractionSnippetFixedString stringByReplacingOccurrencesOfString:@"📞" withString:@""];
- if (conversation.interactions[lastUid].type == lrc::api::interaction::Type::DATA_TRANSFER) {
- lastInteractionSnippetFixedString = [lastInteractionSnippetFixedString lastPathComponent];
- }
[interactionSnippet setStringValue:lastInteractionSnippetFixedString];
// last interaction date/time