ui/viewutilities/settingutility/src/glxsetting.cpp
author hgs
Fri, 28 May 2010 21:11:54 +0530
changeset 43 72396548277c
child 45 863223ea6961
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
43
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:   ?Description
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <xqsettingsmanager.h>
hgs
parents:
diff changeset
    19
#include <xqsettingskey.h>
hgs
parents:
diff changeset
    20
#include <QStringList>
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include "glxsetting.h"
hgs
parents:
diff changeset
    23
#include "glxeffectpluginresolver.h"
hgs
parents:
diff changeset
    24
#include "glxuistd.h"
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
const TUint32 KGlxTransitionEffect     = 0x1;
hgs
parents:
diff changeset
    28
const TUint32 KGlxTransitionDelay  = 0x2;
hgs
parents:
diff changeset
    29
const TUint32 KGlxSlow  = 0x3;
hgs
parents:
diff changeset
    30
const TUint32 KGlxMeduim  = 0x4;
hgs
parents:
diff changeset
    31
const TUint32 KGlxFast  = 0x5;
hgs
parents:
diff changeset
    32
const TUint32 KGlxSlideShowEffect[ ]  = { 0x6, 0x7, 0x8 };
hgs
parents:
diff changeset
    33
const TUint32 KCRUidGallery = 0x20007194;
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
GlxSetting GlxSetting::mObj ;
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
GlxSetting::GlxSetting(  ) 
hgs
parents:
diff changeset
    39
{
hgs
parents:
diff changeset
    40
    mSettingsManager = new XQSettingsManager();
hgs
parents:
diff changeset
    41
    mTransitionEffectCenrepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxTransitionEffect );
hgs
parents:
diff changeset
    42
    mTransitionDelayCenrepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxTransitionDelay );
hgs
parents:
diff changeset
    43
    mSlowCenRepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxSlow );
hgs
parents:
diff changeset
    44
    mMediumCenRepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxMeduim );
hgs
parents:
diff changeset
    45
    mFastCenRepKey = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxFast );
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
    for ( int i = 0; i < NBR_SLIDESHOW_EFFECT; i++ ) {
hgs
parents:
diff changeset
    48
        mSlideShowEffectCenRepKey[ i ] = new XQSettingsKey( XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxSlideShowEffect[ i ] );
hgs
parents:
diff changeset
    49
    }
hgs
parents:
diff changeset
    50
}
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
GlxSetting::GlxSetting( GlxSetting & )
hgs
parents:
diff changeset
    53
{
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
}
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
GlxSetting::~GlxSetting( )
hgs
parents:
diff changeset
    58
{            
hgs
parents:
diff changeset
    59
    delete mFastCenRepKey;
hgs
parents:
diff changeset
    60
    delete mMediumCenRepKey;
hgs
parents:
diff changeset
    61
    delete mSlowCenRepKey;
hgs
parents:
diff changeset
    62
    delete mTransitionDelayCenrepKey;
hgs
parents:
diff changeset
    63
    delete mTransitionEffectCenrepKey;
hgs
parents:
diff changeset
    64
    delete mSettingsManager;
hgs
parents:
diff changeset
    65
    
hgs
parents:
diff changeset
    66
    for ( int i = 0 ; i < NBR_SLIDESHOW_EFFECT ; i++ ) {
hgs
parents:
diff changeset
    67
        delete mSlideShowEffectCenRepKey[ i ];
hgs
parents:
diff changeset
    68
    }
hgs
parents:
diff changeset
    69
}
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
GlxSettingInterface * GlxSetting::instance()
hgs
parents:
diff changeset
    72
{
hgs
parents:
diff changeset
    73
    return &mObj ;
hgs
parents:
diff changeset
    74
}
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
int GlxSetting::slideShowEffectIndex()
hgs
parents:
diff changeset
    77
{
hgs
parents:
diff changeset
    78
    QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionEffectCenrepKey);
hgs
parents:
diff changeset
    79
    return effectvalue.toInt();
hgs
parents:
diff changeset
    80
}
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
void GlxSetting::setslideShowEffectIndex( int index )
hgs
parents:
diff changeset
    83
{
hgs
parents:
diff changeset
    84
    mSettingsManager->writeItemValue( *mTransitionEffectCenrepKey, index ) ;
hgs
parents:
diff changeset
    85
}
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
int GlxSetting::slideShowDelayIndex()
hgs
parents:
diff changeset
    88
{
hgs
parents:
diff changeset
    89
    QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionDelayCenrepKey);
hgs
parents:
diff changeset
    90
    return effectvalue.toInt();
hgs
parents:
diff changeset
    91
}
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
void GlxSetting::setSlideShowDelayIndex( int index )
hgs
parents:
diff changeset
    94
{
hgs
parents:
diff changeset
    95
    mSettingsManager->writeItemValue(*mTransitionDelayCenrepKey, index);
hgs
parents:
diff changeset
    96
}
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
int GlxSetting::slideShowDelayTime()
hgs
parents:
diff changeset
    99
{
hgs
parents:
diff changeset
   100
    QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionDelayCenrepKey);
hgs
parents:
diff changeset
   101
    switch ( effectvalue.toInt() ) {
hgs
parents:
diff changeset
   102
    case SLOW:
hgs
parents:
diff changeset
   103
        return mSettingsManager->readItemValue(*mSlowCenRepKey).toInt();
hgs
parents:
diff changeset
   104
        
hgs
parents:
diff changeset
   105
    case MEDIUM:
hgs
parents:
diff changeset
   106
        return mSettingsManager->readItemValue(*mMediumCenRepKey).toInt();
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
    case FAST:
hgs
parents:
diff changeset
   109
        return mSettingsManager->readItemValue(*mFastCenRepKey).toInt();
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
     default:
hgs
parents:
diff changeset
   112
        return 3000;
hgs
parents:
diff changeset
   113
     }
hgs
parents:
diff changeset
   114
}
hgs
parents:
diff changeset
   115
hgs
parents:
diff changeset
   116
QStringList GlxSetting::slideShowEffectList()
hgs
parents:
diff changeset
   117
{
hgs
parents:
diff changeset
   118
    QStringList effectList;
hgs
parents:
diff changeset
   119
    effectList.clear();
hgs
parents:
diff changeset
   120
    int effectId = 0;
hgs
parents:
diff changeset
   121
    
hgs
parents:
diff changeset
   122
    for ( int i = 0 ; i < NBR_SLIDESHOW_EFFECT ; i++ ) {
hgs
parents:
diff changeset
   123
        effectId = mSettingsManager->readItemValue( * mSlideShowEffectCenRepKey[ i ] ).toInt() ;
hgs
parents:
diff changeset
   124
        effectList << GlxEffectPluginResolver::effectName ( effectId );
hgs
parents:
diff changeset
   125
    }
hgs
parents:
diff changeset
   126
    
hgs
parents:
diff changeset
   127
    return effectList;
hgs
parents:
diff changeset
   128
}
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
int GlxSetting::slideShowEffectId( int index )
hgs
parents:
diff changeset
   131
{
hgs
parents:
diff changeset
   132
    if ( index >= NBR_SLIDESHOW_EFFECT || index < 0 ) {
hgs
parents:
diff changeset
   133
       return NO_EFFECT ;
hgs
parents:
diff changeset
   134
    }
hgs
parents:
diff changeset
   135
    
hgs
parents:
diff changeset
   136
    return mSettingsManager->readItemValue( * mSlideShowEffectCenRepKey[ index ] ).toInt() ;
hgs
parents:
diff changeset
   137
}
hgs
parents:
diff changeset
   138