logsui/logsengine/src/logsabstractmodel.cpp
changeset 2 7119b73b84d6
parent 0 4a5361db8937
child 13 52d644758b05
child 16 c5af8598d22c
equal deleted inserted replaced
0:4a5361db8937 2:7119b73b84d6
    56 
    56 
    57 // -----------------------------------------------------------------------------
    57 // -----------------------------------------------------------------------------
    58 //
    58 //
    59 // -----------------------------------------------------------------------------
    59 // -----------------------------------------------------------------------------
    60 //
    60 //
       
    61 LogsContact* LogsAbstractModel::createContact(const QString& number)
       
    62 {
       
    63     LogsContact* contact = new LogsContact(number, *mDbConnector);
       
    64     connect( contact, SIGNAL(saveCompleted(bool)), this, SLOT(contactSavingCompleted(bool)) );
       
    65     return contact;
       
    66 }
       
    67 
       
    68 // -----------------------------------------------------------------------------
       
    69 //
       
    70 // -----------------------------------------------------------------------------
       
    71 //
       
    72 int LogsAbstractModel::predictiveSearchStatus()
       
    73 {
       
    74     if ( !mDbConnector ){
       
    75         return -1;
       
    76     }
       
    77     return mDbConnector->predictiveSearchStatus();
       
    78 }
       
    79 
       
    80 // -----------------------------------------------------------------------------
       
    81 //
       
    82 // -----------------------------------------------------------------------------
       
    83 //
       
    84 int LogsAbstractModel::setPredictiveSearch(bool enabled)
       
    85 {
       
    86     return doSetPredictiveSearch(enabled);
       
    87 }
       
    88 
       
    89 
       
    90 // -----------------------------------------------------------------------------
       
    91 // 
       
    92 // -----------------------------------------------------------------------------
       
    93 //
       
    94 bool LogsAbstractModel::isCommunicationPossible(const LogsEvent& event) const
       
    95 {
       
    96 return ( !event.isRemotePartyPrivate() && !event.isRemotePartyUnknown() );
       
    97 }
       
    98 
       
    99 // -----------------------------------------------------------------------------
       
   100 //
       
   101 // -----------------------------------------------------------------------------
       
   102 //
       
   103 void LogsAbstractModel::contactSavingCompleted(bool modified)
       
   104 {
       
   105     Q_UNUSED(modified);
       
   106 }
       
   107 
       
   108 // -----------------------------------------------------------------------------
       
   109 //
       
   110 // -----------------------------------------------------------------------------
       
   111 //
    61 QVariant LogsAbstractModel::doGetData(int role, const LogsModelItemContainer& item) const
   112 QVariant LogsAbstractModel::doGetData(int role, const LogsModelItemContainer& item) const
    62 {
   113 {
    63     if ( role == RoleFullEvent ) {
   114     if ( role == RoleFullEvent ) {
    64         QVariant var = qVariantFromValue(item.event());
   115         QVariant var = qVariantFromValue(item.event());
    65         return var;
   116         return var;
    83     LogsEvent* event = item.event();
   134     LogsEvent* event = item.event();
    84     if ( !event ){
   135     if ( !event ){
    85         return QVariant();
   136         return QVariant();
    86     }
   137     }
    87     LogsCall* logscall = new LogsCall(*event);
   138     LogsCall* logscall = new LogsCall(*event);
    88     if (!logscall->isAllowedCallType()) {
   139     if (!logscall->isAllowedCallType() || !isCommunicationPossible(*event)) {
    89         delete logscall;
   140         delete logscall;
    90         logscall = 0;
   141         logscall = 0;
    91     }
   142     }
    92     QVariant var = qVariantFromValue(logscall);
   143     QVariant var = qVariantFromValue(logscall);
    93     return var;         
   144     return var;         
   103     LogsEvent* event = item.event();
   154     LogsEvent* event = item.event();
   104     if ( !event ){
   155     if ( !event ){
   105         return QVariant();
   156         return QVariant();
   106     }
   157     }
   107     LogsMessage* logsMessage = new LogsMessage(*event);
   158     LogsMessage* logsMessage = new LogsMessage(*event);
   108     if (!logsMessage->isMessagingAllowed()) {
   159     if (!logsMessage->isMessagingAllowed() || !isCommunicationPossible(*event)) {
   109         delete logsMessage;
   160         delete logsMessage;
   110         logsMessage = 0;
   161         logsMessage = 0;
   111     }
   162     }
   112     QVariant var = qVariantFromValue(logsMessage);
   163     QVariant var = qVariantFromValue(logsMessage);
   113     return var;      
   164     return var;      
   124     if ( !event ){
   175     if ( !event ){
   125         return QVariant();
   176         return QVariant();
   126     }
   177     }
   127     Q_ASSERT(mDbConnector);
   178     Q_ASSERT(mDbConnector);
   128     LogsContact* logsContact = new LogsContact(*event, *mDbConnector);
   179     LogsContact* logsContact = new LogsContact(*event, *mDbConnector);
   129     if ( !logsContact->isContactRequestAllowed() ) {
   180     if ( !logsContact->isContactRequestAllowed() || !isCommunicationPossible(*event) ) {
   130         delete logsContact;
   181         delete logsContact;
   131         logsContact = 0;
   182         logsContact = 0;
   132     }
   183     }
   133     QVariant var = qVariantFromValue(logsContact);
   184     QVariant var = qVariantFromValue(logsContact);
   134     return var;
   185     return var;
       
   186 }
       
   187 
       
   188 // -----------------------------------------------------------------------------
       
   189 //
       
   190 // -----------------------------------------------------------------------------
       
   191 //
       
   192 int LogsAbstractModel::doSetPredictiveSearch(bool enabled){
       
   193     if ( !mDbConnector ){
       
   194         return -1;
       
   195     }
       
   196     return mDbConnector->setPredictiveSearch(enabled);
   135 }
   197 }
   136 
   198 
   137 // -----------------------------------------------------------------------------
   199 // -----------------------------------------------------------------------------
   138 //
   200 //
   139 // -----------------------------------------------------------------------------
   201 // -----------------------------------------------------------------------------