UI/UX: refactor smartlist

Change-Id: Ibfd5154757908ebd85f4b0060da00a7c608a0e56
Reviewed-by: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
diff --git a/src/ConversationVC.mm b/src/ConversationVC.mm
index 4061e66..7327881 100644
--- a/src/ConversationVC.mm
+++ b/src/ConversationVC.mm
@@ -88,6 +88,18 @@
     return self;
 }
 
+-(void) clearData {
+    cachedConv_ = nil;
+    convUid_ = "";
+    convModel_ = nil;
+
+    [messagesViewVC clearData];
+    QObject::disconnect(modelSortedConnection_);
+    QObject::disconnect(filterChangedConnection_);
+    QObject::disconnect(newConversationConnection_);
+    QObject::disconnect(conversationRemovedConnection_);
+}
+
 -(const lrc::api::conversation::Info*) getCurrentConversation
 {
     if (convModel_ == nil || convUid_.empty())
@@ -282,6 +294,8 @@
         return;
     }
 
+    [self clearData];
+
     if (!animate) {
         [self.view setHidden:YES];
         return;