From 4ee94a92aad4313271404ccf26dde97ca0624e53 Mon Sep 17 00:00:00 2001
From: Emmanuel Lepage <emmanuel.lepage@savoirfairelinux.com>
Date: Thu, 14 Jun 2012 15:17:24 -0400
Subject: [PATCH] [ #12352 ] Clean the public Model API and remove unused
 methods

---
 kde/src/CallView.cpp                      | 12 ------
 kde/src/CallView.h                        |  1 -
 kde/src/SFLPhone.cpp                      |  2 +-
 kde/src/klib/AkonadiBackend.cpp           |  2 +-
 kde/src/klib/dataengine/sflphonEngine.cpp |  2 +-
 kde/src/lib/CallModel.cpp                 |  2 +-
 kde/src/lib/CallModel.h                   | 47 ++++++++++-------------
 kde/src/lib/CallModel.hpp                 |  4 +-
 8 files changed, 26 insertions(+), 46 deletions(-)

diff --git a/kde/src/CallView.cpp b/kde/src/CallView.cpp
index 1310ca2538..ec0e988822 100644
--- a/kde/src/CallView.cpp
+++ b/kde/src/CallView.cpp
@@ -472,17 +472,6 @@ void CallView::setTitle(const QString& title)
    headerItem()->setText(0,title);
 }
 
-///Select an item in the TreeView
-bool CallView::selectItem(Call* item)
-{
-   if (SFLPhone::model()->getIndex(item)) {
-      setCurrentItem(SFLPhone::model()->getIndex(item));
-      return true;
-   }
-   else
-      return false;
-}
-
 ///Return the current item
 Call* CallView::getCurrentItem()
 {
@@ -715,7 +704,6 @@ void CallView::conferenceRemoved(Call* conf)
       insertItem(extractItem(SFLPhone::model()->getIndex(conf)->child(0)));
    }
    takeTopLevelItem(indexOfTopLevelItem(SFLPhone::model()->getIndex(conf)));
-   //SFLPhone::model()->conferenceRemoved(confId);
    kDebug() << "Conference removed";
    }
    else {
diff --git a/kde/src/CallView.h b/kde/src/CallView.h
index b485e176e1..6da609f112 100644
--- a/kde/src/CallView.h
+++ b/kde/src/CallView.h
@@ -89,7 +89,6 @@ class CallView : public QTreeWidget {
       void setTitle               ( const QString& title                                                              );
 
       //Mutator
-      bool selectItem             ( Call* item                                                                        );
       bool removeItem             ( Call* item                                                                        );
       bool dropMimeData           ( QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action  );
       bool callToCall             ( QTreeWidgetItem *parent, int index, const QMimeData *data, Qt::DropAction action  );
diff --git a/kde/src/SFLPhone.cpp b/kde/src/SFLPhone.cpp
index bd3b01b243..9ccddaa1aa 100755
--- a/kde/src/SFLPhone.cpp
+++ b/kde/src/SFLPhone.cpp
@@ -319,7 +319,7 @@ SFLPhoneView* SFLPhone::view()
 TreeWidgetCallModel* SFLPhone::model()
 {
    if (!m_pModel) {
-      m_pModel = new TreeWidgetCallModel(TreeWidgetCallModel::ActiveCall);
+      m_pModel = new TreeWidgetCallModel();
       m_pModel->initCall();
       m_pModel->initContact(AkonadiBackend::getInstance());
     }
diff --git a/kde/src/klib/AkonadiBackend.cpp b/kde/src/klib/AkonadiBackend.cpp
index cd1169d4e9..32d6e4f159 100644
--- a/kde/src/klib/AkonadiBackend.cpp
+++ b/kde/src/klib/AkonadiBackend.cpp
@@ -62,7 +62,7 @@ AkonadiBackend::AkonadiBackend(QObject* parent) : ContactBackend(parent)
    m_pSession = new Akonadi::Session( "SFLPhone::instance" );
 
    if ( not m_pModel ) {
-      m_pModel = new CallModel<>(CallModel<>::ActiveCall);
+      m_pModel = new CallModel<>();
       m_pModel->initCall();
       //m_pModel->initHistory();
    }
diff --git a/kde/src/klib/dataengine/sflphonEngine.cpp b/kde/src/klib/dataengine/sflphonEngine.cpp
index 5892b7d719..d6a1fbed33 100644
--- a/kde/src/klib/dataengine/sflphonEngine.cpp
+++ b/kde/src/klib/dataengine/sflphonEngine.cpp
@@ -57,7 +57,7 @@ SFLPhoneEngine::SFLPhoneEngine(QObject* parent, const QVariantList& args)
 {
    Q_UNUSED(args)
    if (not m_pModel) {
-      m_pModel = new CallModel<>(CallModel<>::ActiveCall);
+      m_pModel = new CallModel<>();
       m_pModel->initCall();
       //m_pModel->initHistory();
    }
diff --git a/kde/src/lib/CallModel.cpp b/kde/src/lib/CallModel.cpp
index e5184f86fb..3c9e7f04ed 100644
--- a/kde/src/lib/CallModel.cpp
+++ b/kde/src/lib/CallModel.cpp
@@ -136,7 +136,7 @@ void CallModelBase::conferenceRemovedSlot(const QString &confId)
    Call* conf = getCall(confId);
    emit aboutToRemoveConference(conf);
    removeConference(confId);
-   emit conferenceRemoved(confId);
+   emit conferenceRemoved(conf);
 }
 
 ///When a new voice mail is available
diff --git a/kde/src/lib/CallModel.h b/kde/src/lib/CallModel.h
index 06fcf3b7ba..0cca16f49e 100644
--- a/kde/src/lib/CallModel.h
+++ b/kde/src/lib/CallModel.h
@@ -53,18 +53,12 @@ class LIB_EXPORT CallModelBase : public QObject
 public:
    CallModelBase(QObject* parent = 0);
    ~CallModelBase();
-   virtual bool changeConference      ( const QString &confId, const QString &state ) = 0;
-   virtual void removeConference      ( const QString &confId                       ) = 0;
-   virtual Call* addConference        ( const QString &confID                       ) = 0;
-   virtual Call* findCallByCallId     ( const QString& callId                       ) = 0;
-   virtual Call* addRingingCall       ( const QString& callId                       ) = 0;
-   virtual Call* addIncomingCall      ( const QString& callId                       ) = 0;
    virtual Call* addCall              ( Call* call           , Call* parent =0      );
    virtual Call* getCall              ( const QString& callId                       ) const = 0;
    Call*   addConferenceS             ( Call* conf                                  );
    static AccountList* getAccountList (                                             );
    
-public slots:
+private slots:
    void callStateChanged      ( const QString& callID    , const QString &state   );
    void incomingCall          ( const QString& accountID , const QString & callID );
    void incomingConference    ( const QString& confID                             );
@@ -74,6 +68,14 @@ public slots:
    void volumeChangedSlot     ( const QString& device    , double value           );
 
 protected:
+   virtual Call* findCallByCallId ( const QString& callId                       ) = 0;
+   virtual bool changeConference  ( const QString &confId, const QString &state ) = 0;
+   virtual void removeConference  ( const QString &confId                       ) = 0;
+   virtual Call* addConference    ( const QString &confID                       ) = 0;
+   virtual Call* addRingingCall   ( const QString& callId                       ) = 0;
+   virtual Call* addIncomingCall  ( const QString& callId                       ) = 0;
+
+   //Attributes
    static CallMap m_sActiveCalls;
    static AccountList* m_spAccountList;
 
@@ -89,7 +91,7 @@ signals:
    void incomingCall            ( Call* call                              );
    void conferenceCreated       ( Call* conf                              );
    void conferenceChanged       ( Call* conf                              );
-   void conferenceRemoved       ( const QString& confId                   );
+   void conferenceRemoved       ( Call* conf                              );
    void aboutToRemoveConference ( Call* conf                              );
    void voiceMailNotify         ( const QString& accountID , int    count );
    void volumeChanged           ( const QString& device    , double value );
@@ -105,14 +107,9 @@ signals:
 template  <typename CallWidget = QWidget*, typename Index = QModelIndex*>
 class LIB_EXPORT CallModel : public CallModelBase {
    public:
-      enum ModelType {
-         ActiveCall,
-         //History,
-         //Address
-      };
 
       //Constructors, initializer and destructors
-      CallModel                ( ModelType type     );
+      CallModel                (                    );
       virtual ~CallModel       (                    );
       virtual bool initCall    (                    );
       virtual void initContact ( ContactBackend* be );
@@ -121,24 +118,17 @@ class LIB_EXPORT CallModel : public CallModelBase {
       //Call related
       virtual Call*  addCall          ( Call* call                , Call* parent =0          );
       Call*          addDialingCall   ( const QString& peerName="", Account* account=nullptr );
-      Call*          addIncomingCall  ( const QString& callId                                );
-      Call*          addRingingCall   ( const QString& callId                                );
       static QString generateCallId   (                                                      );
       void           removeCall       ( Call* call                                           );
-      void           attendedTransfer ( Call* toTransfer           , Call* target            );
-      void           transfer         ( Call* toTransfer           , QString target          );
-      
-      virtual bool selectItem(Call* item) { Q_UNUSED(item); return false;}
+      void           attendedTransfer ( Call* toTransfer          , Call* target             );
+      void           transfer         ( Call* toTransfer          , QString target           );
 
-      //Comference related
+      //Conference related
       bool createConferenceFromCall  ( Call* call1, Call* call2                    );
       bool mergeConferences          ( Call* conf1, Call* conf2                    );
       bool addParticipant            ( Call* call2, Call* conference               );
       bool detachParticipant         ( Call* call                                  );
-      virtual bool changeConference  ( const QString &confId, const QString &state );
-      virtual void removeConference  ( const QString &confId                       );
-      virtual Call* addConference    ( const QString &confID                       );
-      void removeConference          ( Call* call                                  );
+      void removeConference          ( Call* conf                                  );
 
       //Getters
       int size                                        ();
@@ -155,7 +145,6 @@ class LIB_EXPORT CallModel : public CallModelBase {
       static bool init();
       
       //Magic dispatcher
-      Call* findCallByCallId( const QString& callId   );
       CallList getCalls     (                         );
       CallList getCalls     ( const CallWidget widget ) const;
       CallList getCalls     ( const QString& callId   ) const;
@@ -187,6 +176,12 @@ class LIB_EXPORT CallModel : public CallModelBase {
       
       
    protected:
+      virtual Call* findCallByCallId ( const QString& callId                       );
+      virtual Call* addConference    ( const QString& confID                       );
+      virtual bool  changeConference ( const QString& confId, const QString& state );
+      virtual void  removeConference ( const QString& confId                       );
+      Call*         addIncomingCall  ( const QString& callId                       );
+      Call*         addRingingCall   ( const QString& callId                       );
       //Struct
       struct InternalStruct;
       typedef QList<InternalStruct*> InternalCallList;
diff --git a/kde/src/lib/CallModel.hpp b/kde/src/lib/CallModel.hpp
index fb0f342d54..feecc6b1dc 100644
--- a/kde/src/lib/CallModel.hpp
+++ b/kde/src/lib/CallModel.hpp
@@ -59,9 +59,8 @@ CALLMODEL_TEMPLATE typename CALLMODEL_T::InternalWidget CALLMODEL_T::m_sPrivateC
  ****************************************************************************/
 
 ///Retrieve current and older calls from the daemon, fill history and the calls TreeView and enable drag n' drop
-CALLMODEL_TEMPLATE CALLMODEL_T::CallModel(ModelType type) : CallModelBase(0)
+CALLMODEL_TEMPLATE CALLMODEL_T::CallModel() : CallModelBase(0)
 {
-   Q_UNUSED(type)
    init();
 }
 
@@ -205,7 +204,6 @@ CALLMODEL_TEMPLATE Call* CALLMODEL_T::addCallCommon(Call* call)
 {
    m_sActiveCalls[call->getCallId()] = call;
    addCall(call);
-   selectItem(call);
    return call;
 } //addCallCommon
 
-- 
GitLab