controlpanelui/src/cpplugins/volumeplugin/src/cpvolumegroupitemdata.cpp
branchRCL_3
changeset 35 5f281e37a2f5
parent 34 90fe62538f66
child 46 ed95320285d0
equal deleted inserted replaced
34:90fe62538f66 35:5f281e37a2f5
     1 /*
       
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of "Eclipse Public License v1.0""
       
     6  * which accompanies this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Nokia Corporation - initial contribution.
       
    11  *
       
    12  * Contributors:
       
    13  *
       
    14  * Description:  
       
    15  *
       
    16  */
       
    17 #include "cpvolumegroupitemdata.h"
       
    18 #include <cplogger.h>
       
    19 #include <QStringList>
       
    20 #include <cpsettingformentryitemdataimpl.h>
       
    21 #include <cpbasesettingview.h>
       
    22 #include <cpitemdatahelper.h>
       
    23 #include <hbmessagebox.h>
       
    24 #include <cpprofilemodel.h>
       
    25 //#include "cpmastervolumevaluecontroller.h"
       
    26 #include "cpvolumecontroller.h"
       
    27 #include "cppersonalizationcustomviewitem.h"
       
    28 #include <hbslider.h>
       
    29 
       
    30 CpVolumeGroupItemData::CpVolumeGroupItemData(CpItemDataHelper &itemDataHelper)
       
    31 : CpSettingFormItemData(HbDataFormModelItem::GroupItem,hbTrId("txt_cp_subhead_volume")),//mSilenceIndicator(0),
       
    32                                                                                    //mMasterVolume(0),
       
    33                                                                                    //mMasterVibra(0),
       
    34                                                                                    mVolumeController(0),
       
    35                                                                                    mProfileModel(0)
       
    36 {
       
    37     initItems(itemDataHelper);
       
    38 }
       
    39 
       
    40 CpVolumeGroupItemData::~CpVolumeGroupItemData()
       
    41 {
       
    42     delete mProfileModel;
       
    43     delete mVolumeController;
       
    44 }
       
    45 
       
    46 void CpVolumeGroupItemData::initItems(CpItemDataHelper &itemDataHelper)
       
    47 {
       
    48     mProfileModel = new CpProfileModel();
       
    49         
       
    50     itemDataHelper.addItemPrototype(new CpPersonalizationCustomViewItem);
       
    51     CPFW_LOG("CpVolumeGroupItemData::initItems(), get active profile id");
       
    52     CPFW_LOG("CpVolumeGroupItemData::initItems(), succeed in getting id");
       
    53     
       
    54     HbDataFormModelItem *silenceIndicator = new HbDataFormModelItem(static_cast<HbDataFormModelItem::DataItemType>(SilenceIndicatorItem));
       
    55     mItemList.insert(CpVolumeGroupItemData::EVolumeSilenceItem, silenceIndicator);
       
    56     silenceIndicator->setContentWidgetData("text",hbTrId("txt_cp_button_silence"));
       
    57     silenceIndicator->setContentWidgetData("objectName", "silenceIndicatorButton");
       
    58     this->appendChild(silenceIndicator);
       
    59     
       
    60     HbDataFormModelItem *masterVolume = new HbDataFormModelItem(HbDataFormModelItem::SliderItem,
       
    61                                             hbTrId("txt_cp_setlabel_ringing_volume"));
       
    62     mItemList.insert(CpVolumeGroupItemData::EVolumeMasterVolumeItem, masterVolume);
       
    63     QList<QVariant> elements;
       
    64     elements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
       
    65             << QVariant(HbSlider::DecreaseElement) << QVariant(HbSlider::IconElement)
       
    66             << QVariant(HbSlider::TextElement);
       
    67     masterVolume->setContentWidgetData("sliderElements",elements);
       
    68     masterVolume->setContentWidgetData("objectName","masterVolumeSlider");
       
    69     
       
    70     QMap<QString, QVariant> iconMaps;
       
    71     iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
       
    72     iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
       
    73     //iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
       
    74     
       
    75     masterVolume->setContentWidgetData("elementIcons", iconMaps);
       
    76     masterVolume->setContentWidgetData("minimum", 1);
       
    77     masterVolume->setContentWidgetData("maximum", 10);
       
    78     masterVolume->setContentWidgetData("majorTickInterval",1);
       
    79     masterVolume->setContentWidgetData("tickPosition",Hb::SliderTicksBelow);
       
    80 
       
    81     /*QStringList tickLabels;
       
    82     tickLabels<<hbTrId("txt_cp_setlabel_volume_val_soft")
       
    83               <<hbTrId("txt_cp_setlabel_volume_val_med")
       
    84               <<hbTrId("txt_cp_setlabel_volume_val_loud");
       
    85     masterVolume->setContentWidgetData("majorTickLabels",tickLabels);*/
       
    86     
       
    87     masterVolume->setContentWidgetData("iconCheckable",false);
       
    88     this->appendChild(masterVolume);
       
    89     
       
    90     HbDataFormModelItem *masterVibra = new HbDataFormModelItem(HbDataFormModelItem::CheckBoxItem);
       
    91     mItemList.insert(CpVolumeGroupItemData::EVolumeMasterVibraItem, masterVibra);
       
    92     masterVibra->setContentWidgetData("text",hbTrId("txt_cp_list_vibrate"));
       
    93     masterVibra->setContentWidgetData("objectName","masterVibraCheckBox");
       
    94     
       
    95     this->appendChild(masterVibra);
       
    96     
       
    97     mVolumeController = new CpVolumeController(mProfileModel, mItemList, itemDataHelper);
       
    98 }