From 2311f488cf1946d228d872896046f00550652ddd Mon Sep 17 00:00:00 2001
From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
Date: Mon, 8 Apr 2019 15:35:24 -0400
Subject: [PATCH] SIP: draw sip contacts in the smartlist

Change-Id: I2603484d8a2fb158c439ff46acefbbcfedbb9ab5
---
 callwidget.cpp               | 28 ++++++++++++++--------------
 conversationitemdelegate.cpp | 25 +++++++------------------
 conversationitemdelegate.h   |  3 +--
 3 files changed, 22 insertions(+), 34 deletions(-)

diff --git a/callwidget.cpp b/callwidget.cpp
index 31ccd38..7c017f6 100644
--- a/callwidget.cpp
+++ b/callwidget.cpp
@@ -351,25 +351,25 @@ CallWidget::setupSmartListContextMenu(const QPoint& pos)
                 selectConversation(*conversation, *convModel);
             }
         });
+    // clear conversation
+        auto clearConversationAction = new QAction(tr("Clear conversation"), this);
+    menu.addAction(clearConversationAction);
+    connect(clearConversationAction, &QAction::triggered,
+        [convUid]() {
+            LRCInstance::getCurrentConversationModel()->clearHistory(convUid);
+        });
+    // remove contact
+    auto removeContactAction = new QAction(tr("Remove contact"), this);
+    menu.addAction(removeContactAction);
+    connect(removeContactAction, &QAction::triggered,
+        [convUid]() {
+            LRCInstance::getCurrentConversationModel()->removeConversation(convUid, false);
+        });
 
     if (contact.profileInfo.type == lrc::api::profile::Type::RING) {
         // separator
         menu.addSeparator();
 
-        // clear conversation
-        auto clearConversationAction = new QAction(tr("Clear conversation"), this);
-        menu.addAction(clearConversationAction);
-        connect(clearConversationAction, &QAction::triggered,
-            [convUid]() {
-                LRCInstance::getCurrentConversationModel()->clearHistory(convUid);
-            });
-        // remove contact
-        auto removeContactAction = new QAction(tr("Remove contact"), this);
-        menu.addAction(removeContactAction);
-        connect(removeContactAction, &QAction::triggered,
-            [convUid]() {
-                LRCInstance::getCurrentConversationModel()->removeConversation(convUid, false);
-            });
         // block contact
         auto blockContactAction = new QAction(tr("Block contact"), this);
         menu.addAction(blockContactAction);
diff --git a/conversationitemdelegate.cpp b/conversationitemdelegate.cpp
index e1c4a85..aef4413 100644
--- a/conversationitemdelegate.cpp
+++ b/conversationitemdelegate.cpp
@@ -136,16 +136,15 @@ ConversationItemDelegate::paint(QPainter* painter
         );
     switch (type) {
     case profile::Type::RING:
+    case profile::Type::SIP:
     case profile::Type::TEMPORARY:
-        paintRingConversationItem(painter, option, rect, index);
+        paintConversationItem(painter, option, rect, index);
         break;
     case profile::Type::PENDING:
         paintRingInviteConversationItem(painter, option, rect, index);
         break;
-    case profile::Type::SIP:
-        break;
     default:
-        paintRingConversationItem(painter, option, rect, index);
+        paintConversationItem(painter, option, rect, index);
         break;
     }
 }
@@ -160,10 +159,10 @@ ConversationItemDelegate::sizeHint(const QStyleOptionViewItem& option,
 }
 
 void
-ConversationItemDelegate::paintRingConversationItem(QPainter* painter,
-                                                    const QStyleOptionViewItem& option,
-                                                    const QRect& rect,
-                                                    const QModelIndex& index) const
+ConversationItemDelegate::paintConversationItem(QPainter* painter,
+                                                const QStyleOptionViewItem& option,
+                                                const QRect& rect,
+                                                const QModelIndex& index) const
 {
     Q_UNUSED(option);
     QFont font(painter->font());
@@ -352,13 +351,3 @@ ConversationItemDelegate::paintRingInviteConversationItem(QPainter* painter,
         painter->drawText(rectName2, Qt::AlignVCenter | Qt::AlignLeft, idStr);
     }
 }
-
-void
-ConversationItemDelegate::paintSIPConversationItem(QPainter* painter,
-                                                   const QStyleOptionViewItem& option,
-                                                   const QModelIndex& index) const
-{
-    Q_UNUSED(painter);
-    Q_UNUSED(option);
-    Q_UNUSED(index);
-}
diff --git a/conversationitemdelegate.h b/conversationitemdelegate.h
index f877845..2484b8c 100644
--- a/conversationitemdelegate.h
+++ b/conversationitemdelegate.h
@@ -34,9 +34,8 @@ protected:
     QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
 
 private:
-    void paintRingConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QModelIndex& index) const;
+    void paintConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QModelIndex& index) const;
     void paintRingInviteConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QModelIndex& index) const;
-    void paintSIPConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
 
     constexpr static int sizeImage_ = 48;
     constexpr static int cellHeight_ = 60;
-- 
GitLab