lrc: adapt to new API
Change-Id: Ie49319e9263a76a28ceaeab4f5aa325e69a256a0
diff --git a/src/utils.h b/src/utils.h
index e90abf9..196560c 100755
--- a/src/utils.h
+++ b/src/utils.h
@@ -39,13 +39,12 @@
{
try {
auto contact = model.owner.contactModel->getContact(conv.participants[0]);
- if (!contact.registeredName.empty()) {
- contact.registeredName.erase(std::remove(contact.registeredName.begin(), contact.registeredName.end(), '\n'), contact.registeredName.end());
- contact.registeredName.erase(std::remove(contact.registeredName.begin(), contact.registeredName.end(), '\r'), contact.registeredName.end());
- return [@(contact.registeredName.c_str()) removeEmptyLinesAtBorders];
+ auto name = contact.registeredName.trimmed().replace("\r","").replace("\n","");
+ if (!name.isEmpty()) {
+ return [name.toNSString() removeEmptyLinesAtBorders];
}
else {
- return [@(contact.profileInfo.uri.c_str()) removeEmptyLinesAtBorders];
+ return [contact.profileInfo.uri.trimmed().replace("\r","").replace("\n","").toNSString() removeEmptyLinesAtBorders];
}
} catch (std::out_of_range& e) {
NSLog(@"bestIDForConversation: getContact - out of range");
@@ -55,50 +54,50 @@
static inline NSString* bestIDForAccount(const lrc::api::account::Info& account)
{
- if (!account.registeredName.empty()) {
- return [@(account.registeredName.c_str()) removeEmptyLinesAtBorders];
+ auto name = account.registeredName.trimmed().replace("\r","").replace("\n","");
+ if (!name.isEmpty()) {
+ return [name.toNSString() removeEmptyLinesAtBorders];
}
- return [@(account.profileInfo.uri.c_str()) removeEmptyLinesAtBorders];
+ return [account.profileInfo.uri.trimmed().replace("\r","").replace("\n","").toNSString() removeEmptyLinesAtBorders];
}
static inline NSString* bestNameForAccount(const lrc::api::account::Info& account)
{
- if (account.profileInfo.alias.empty()) {
+ if (account.profileInfo.alias.isEmpty()) {
return bestIDForAccount(account);
}
- return @(account.profileInfo.alias.c_str());
+ return account.profileInfo.alias.toNSString();
}
static inline NSString* bestIDForContact(const lrc::api::contact::Info& contact)
{
- if (!contact.registeredName.empty()) {
- return [@(contact.registeredName.c_str()) removeEmptyLinesAtBorders];
+ auto name = contact.registeredName.trimmed().replace("\r","").replace("\n","");
+ if (!name.isEmpty()) {
+ return [name.toNSString() removeEmptyLinesAtBorders];
}
- return [@(contact.profileInfo.uri.c_str()) removeEmptyLinesAtBorders];
+ return [contact.profileInfo.uri.trimmed().replace("\r","").replace("\n","").toNSString() removeEmptyLinesAtBorders];
}
static inline NSString* bestNameForContact(const lrc::api::contact::Info& contact)
{
- if (contact.profileInfo.alias.empty()) {
+ if (contact.profileInfo.alias.isEmpty()) {
return bestIDForContact(contact);
}
- return @(contact.profileInfo.alias.c_str());
+ return contact.profileInfo.alias.toNSString();
}
static inline NSString* bestNameForConversation(const lrc::api::conversation::Info& conv, const lrc::api::ConversationModel& model)
{
try {
auto contact = model.owner.contactModel->getContact(conv.participants[0]);
- if (contact.profileInfo.alias.empty()) {
+ if (contact.profileInfo.alias.isEmpty()) {
return bestIDForConversation(conv, model);
}
auto alias = contact.profileInfo.alias;
- alias.erase(std::remove(alias.begin(), alias.end(), '\n'), alias.end());
- alias.erase(std::remove(alias.begin(), alias.end(), '\r'), alias.end());
if(alias.length() == 0) {
return bestIDForConversation(conv, model);
}
- return @(alias.c_str());
+ return [alias.toNSString() removeEmptyLinesAtBorders];
} catch (std::out_of_range& e) {
NSLog(@"bestNameForConversation: getContact - out of range");
return @"";
@@ -130,7 +129,7 @@
* @param model ConversationModel in which to do the lookup
* @return iterator pointing to corresponding Conversation if any. Points to past-the-end element otherwise.
*/
-static inline lrc::api::ConversationModel::ConversationQueue::const_iterator getConversationFromUid(const std::string& uid, const lrc::api::ConversationModel& model) {
+static inline lrc::api::ConversationModel::ConversationQueue::const_iterator getConversationFromUid(const QString& uid, const lrc::api::ConversationModel& model) {
return std::find_if(model.allFilteredConversations().begin(), model.allFilteredConversations().end(),
[&] (const lrc::api::conversation::Info& conv) {
return uid == conv.uid;
@@ -143,7 +142,7 @@
* @param model ConversationModel in which to do the lookup
* @return iterator pointing to corresponding Conversation if any. Points to past-the-end element otherwise.
*/
-static inline lrc::api::ConversationModel::ConversationQueue::const_iterator getConversationFromURI(const std::string& uri, const lrc::api::ConversationModel& model) {
+static inline lrc::api::ConversationModel::ConversationQueue::const_iterator getConversationFromURI(const QString& uri, const lrc::api::ConversationModel& model) {
return std::find_if(model.allFilteredConversations().begin(), model.allFilteredConversations().end(),
[&] (const lrc::api::conversation::Info& conv) {
return uri == conv.participants[0];