phoneplugins/dialerwidgetplugin/src/dialerwidgetengine.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 00:16:48 +0300
changeset 77 2be0b271d017
parent 64 6aaf0276100e
child 76 cfea66083b62
permissions -rw-r--r--
Revision: 201037 Kit: 201039

/*
* 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:
*
*/

#include "dialerwidgetengine.h"

#include <logsdomaincrkeys.h>

DialerWidgetEngine::DialerWidgetEngine():
    m_missedCalls(-1)
{
}

DialerWidgetEngine::~DialerWidgetEngine()
{
    delete m_settingsManager;
    m_settingsManager = NULL;
}

bool DialerWidgetEngine::initialize()
{
#ifdef Q_OS_SYMBIAN
    m_settingsManager = new XQSettingsManager(this);
    if ( !m_settingsManager ){
        return false;
    }
    XQSettingsKey settingsKey( XQSettingsKey::TargetCentralRepository,
                KCRUidLogs.iUid, KLogsNewMissedCalls );
    
    m_missedCalls = m_settingsManager->readItemValue(settingsKey).toInt();
    if ( m_missedCalls > 0){
        emit missedCallsCountChanged(m_missedCalls);
    }
    
    if ( !connect( m_settingsManager,
                SIGNAL( valueChanged(const XQSettingsKey & ,const QVariant &)),
                    this, SLOT(valueChanged(XQSettingsKey,
                            QVariant)))){
        return false;
    }
    
    if(!m_settingsManager->startMonitoring( settingsKey )){
        return false;
    }
    
#endif
    return true;
}

void DialerWidgetEngine::valueChanged( 
        const XQSettingsKey &key, 
        const QVariant &value )
{
    if ( key.key() == (quint32)KLogsNewMissedCalls ){
        m_missedCalls = value.toInt(); 
        emit missedCallsCountChanged( m_missedCalls );
    }
}

int DialerWidgetEngine::missedCallsCount()
{
    return m_missedCalls;
}