phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp
changeset 36 2eacb6118286
parent 30 ebdbd102c78a
child 37 ba76fc04e6c2
--- a/phoneapp/phoneuiqtviewadapter/src/phoneindicatorcontroller.cpp	Fri May 14 15:51:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*!
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Handles phone indicators.
-*
-*/
-
-#include "phoneindicatorcontroller.h"
-#include "phoneindicators.h"
-
-#include <QList>
-#include <QPair>
-
-#ifdef Q_OS_SYMBIAN
-#include <logsmodel.h>
-#include <logsfilter.h>
-#include <logsdomaincrkeys.h>
-#include <hbicon.h>
-#endif
-
-PhoneIndicatorController::PhoneIndicatorController(QObject *parent):
-    QObject(parent), m_logsModel(0), m_missedCallsFilter(0)
-{
-#ifdef Q_OS_SYMBIAN
-    m_setManager = new XQSettingsManager(this);
- 
-    XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository, 
-            KCRUidLogs.iUid, KLogsNewMissedCalls );
-    
-    bool ok = connect( m_setManager, 
-            SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
-                this, SLOT(updateMissedCallIndicator(XQSettingsKey, 
-                        QVariant)));
-    ASSERT( ok );
-    ok = false;
-    ok = m_setManager->startMonitoring( settingsKey );
-    ASSERT(ok);
-    
-    qRegisterMetaType<PhoneIndicatorInfo>("PhoneIndicatorInfo");
-
-#endif
-}
-
-PhoneIndicatorController::~PhoneIndicatorController()
-{   
-#ifdef Q_OS_SYMBIAN
-    XQPublishAndSubscribeSettingsKey missedCallCountKey(
-                    (qint32)KCRUidLogs.iUid, (quint32)KLogsNewMissedCalls );
-    m_setManager->stopMonitoring(missedCallCountKey);
-    delete m_setManager;
-    delete m_missedCallsFilter;
-    delete m_logsModel;
-#endif
-}
-
-void PhoneIndicatorController::setActiveCallData( 
-        const TDesC &text, const TDesC &icon )
-{
-    m_cli = QString::fromUtf16 (text.Ptr (), text.Length ());
-    m_callImage = QString::fromUtf16 (icon.Ptr (), icon.Length ());
-}
-
-void PhoneIndicatorController::clearActiveCallData()
-{
-    m_cli.clear();
-    m_callImage.clear();
-    disableActiveCallIndicator();
-}
-
-void PhoneIndicatorController::enableActiveCallIndicator()
-{
-    if (!m_cli.isEmpty()){
-        QString indicatorType(indicatorName(PhoneActiveCallIndicator));
-        QVariantMap parameters;
-        
-        parameters.insert(
-                QVariant(HbIndicatorInterface::PrimaryTextRole ).toString(),
-                m_cli);
-        
-        parameters.insert(QVariant( HbIndicatorInterface::DecorationNameRole).toString(),
-                m_callImage);
-        
-        m_indicator.activate(indicatorType, parameters);
-    }
-}
-void PhoneIndicatorController::disableActiveCallIndicator()
-{
-    QString indicatorType(indicatorName(PhoneActiveCallIndicator));
-    m_indicator.deactivate(indicatorType);
-}
-
-void PhoneIndicatorController::updateMissedCallIndicator(
-        const XQSettingsKey &key, const QVariant &value)
-{ 
-#ifdef Q_OS_SYMBIAN
-    if ( key.key() == (quint32)KLogsNewMissedCalls ){
-        if ( value.toInt() == 0 ){
-            QString indicatorType(indicatorName(PhoneMissedCallIndicator));
-            m_indicator.deactivate(indicatorType);
-            delete m_missedCallsFilter;
-            m_missedCallsFilter = NULL;
-            delete m_logsModel;
-            m_logsModel = NULL;
-        } else {
-            m_logsModel = new LogsModel(LogsModel::LogsFullModel);
-            m_missedCallsFilter = new LogsFilter(LogsFilter::Missed);
-            connect( m_missedCallsFilter, 
-                    SIGNAL(rowsInserted(const QModelIndex &, int, int )),
-                    this, SLOT(setMissedallIndicatorData()));
-            m_missedCallsFilter->setMaxSize(value.toInt() + 1);
-            m_missedCallsFilter->setSourceModel(m_logsModel);
-        }
-    }
-#endif  
-}
-
-void PhoneIndicatorController::setMissedallIndicatorData()
-{
-#ifdef Q_OS_SYMBIAN
-
-    XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository, 
-            KCRUidLogs.iUid, KLogsNewMissedCalls );
-    QString indicatorType(indicatorName(PhoneMissedCallIndicator));
-    
-    int missedCallCount = m_setManager->readItemValue( settingsKey,
-            XQSettingsManager::TypeInt ).toInt();
-    
-    if ( missedCallCount > 0 ) {
-        QVariantMap parameters;
-        QString lastMissedCallFrom;
-        int repeatedMissedCalls(0);
-        
-        if ( m_missedCallsFilter->rowCount() > 0 ){
-                lastMissedCallFrom = m_missedCallsFilter->data(
-                        m_missedCallsFilter->index(0,0),
-                        Qt::DisplayRole).toStringList().takeFirst();
-                repeatedMissedCalls = 1;
-            }
-        for( int i = 1; i < missedCallCount && i 
-                < m_missedCallsFilter->rowCount(); i++ ){
-            QStringList displayData = m_missedCallsFilter->data(
-                    m_missedCallsFilter->index(i,0),
-                    Qt::DisplayRole).toStringList();
-            if ( lastMissedCallFrom == displayData.at(0) ){
-                repeatedMissedCalls++;
-            } else {
-                i = missedCallCount; // Break
-            }
-        }
-        // First row
-        parameters.insert( 
-                QVariant( HbIndicatorInterface::PrimaryTextRole ).toString(),
-                ( hbTrId("txt_phone_dblist_ln_missed_calls", 
-                        missedCallCount)));
-        
-        // Second row
-        if ( missedCallCount >= repeatedMissedCalls )
-            {
-            parameters.insert( 
-                    QVariant( HbIndicatorInterface::SecondaryTextRole ).toString(), 
-                    lastMissedCallFrom );
-            }
-        
-        // icon
-        //QList<QVariant> icons = m_missedCallsFilter->data( 
-        //        m_missedCallsFilter->index(0,0), 
-        //        Qt::DecorationRole).value<QList<QVariant> >();
-        //QString iconName = icons.first().value<HbIcon>().iconName();
-        QString iconName = "qtg_mono_missed_call_unseen";
-        parameters.insert(
-                QVariant( HbIndicatorInterface::DecorationNameRole ).toString(),
-                iconName );
-        
-        m_indicator.activate(indicatorType, parameters);
-    } else {
-        m_indicator.deactivate( indicatorType );
-    }
-#endif
-}