controlpanelui/src/cpplugins/keytouchfdbkplugin/src/cpkeyscreenview.cpp
changeset 24 f5dfdd5e4a1b
parent 14 23411a3be0db
child 22 a5692c68d772
equal deleted inserted replaced
17:4a9568303383 24:f5dfdd5e4a1b
    23 #include <QDebug>
    23 #include <QDebug>
    24 #include <QtCore/qobject.h>
    24 #include <QtCore/qobject.h>
    25 #include <hbdataformmodel.h>
    25 #include <hbdataformmodel.h>
    26 #include <cpsettingformitemdata.h>
    26 #include <cpsettingformitemdata.h>
    27 #include <hbmessagebox.h>
    27 #include <hbmessagebox.h>
       
    28 #include <hbslider.h>
    28 
    29 
    29 
    30 
    30 CpKeyScreenView::CpKeyScreenView(QGraphicsItem *parent) :
    31 CpKeyScreenView::CpKeyScreenView(QGraphicsItem *parent) :
    31     CpBaseSettingView(0,parent),
    32     CpBaseSettingView(0,parent),
    32     mScreenRadioButton(0),
    33     mScreenComboButton(0),
    33     mRotateCheckbox(0),
    34     mRotateCheckbox(0),
    34 	mBrightSliderItem(0),
    35 	mBrightSliderItem(0),
    35 	mCallibItem(0),
    36 	mCallibItem(0),
    36 	mModel(0)
    37 	mModel(0)
    37 {
    38 {   
    38     HbDataForm *form = qobject_cast<HbDataForm*> ( widget() );
    39     HbDataForm *form = qobject_cast<HbDataForm*> ( widget() );
    39     if (form) {
    40     if (form) {
       
    41         // Valid range is:
       
    42         // 15 secs, 30 secs, 45 secs, 1 min, 2 mins
       
    43         mScreenLockValues.insert(KCpKeyscreenLock15s,hbTrId("txt_cp_setlabel_keys_screen_val_15_seconds"));
       
    44         mScreenLockValues.insert(KCpKeyscreenLock30s,hbTrId("txt_cp_setlabel_keys_screen_val_30_seconds"));
       
    45         mScreenLockValues.insert(KCpKeyscreenLock45s,hbTrId("txt_cp_setlabel_keys_screen_val_45_seconds"));
       
    46         mScreenLockValues.insert(KCpKeyscreenLock60s,hbTrId("txt_cp_setlabel_keys_screen_val_1_minute"));
       
    47         mScreenLockValues.insert(KCpKeyscreenLock120s,hbTrId("txt_cp_setlabel_keys_screen_val_2_minutes"));
       
    48         
    40         form->setHeading(hbTrId("txt_cp_subhead_keys_screen"));
    49         form->setHeading(hbTrId("txt_cp_subhead_keys_screen"));
    41         mModel = new CpKeyScreenModel();
    50         mModel = new CpKeyScreenModel();
    42         HbDataFormModel *model = new HbDataFormModel;
    51         HbDataFormModel *model = new HbDataFormModel;
    43 
    52 
    44         if ( mModel->isKeyguardSupported() ) {
    53         if ( mModel->isKeyguardSupported() ) {
    59     }
    68     }
    60 }
    69 }
    61 
    70 
    62 void CpKeyScreenView::makeScreenItem(HbDataFormModel& model)
    71 void CpKeyScreenView::makeScreenItem(HbDataFormModel& model)
    63 {
    72 {
    64     mScreenRadioButton = new CpSettingFormItemData(HbDataFormModelItem::RadioButtonListItem,
    73     mScreenComboButton = new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem,
    65             hbTrId("txt_cp_setlabel_keys_screen_locked_after"));
    74             hbTrId("txt_cp_setlabel_keys_screen_locked_after"));    
    66     qobject_cast<HbDataForm*> ( widget() )->addConnection(mScreenRadioButton,SIGNAL(itemSelected(int)),this,SLOT(screenValueChanged(int)));
    75     
    67     model.appendDataFormItem(mScreenRadioButton, model.invisibleRootItem());
    76     qobject_cast<HbDataForm*> ( widget() )->addConnection(
       
    77             mScreenComboButton,SIGNAL(currentIndexChanged(QString)),
       
    78             this,SLOT(screenValueChanged(QString)));
       
    79     
       
    80     model.appendDataFormItem(mScreenComboButton, model.invisibleRootItem());
    68 
    81 
    69     // Valid range is:
       
    70     // 15 secs, 30 secs, 45 secs, 1 min, 2 mins
       
    71     QStringList sList;
       
    72     sList<< hbTrId("txt_cp_setlabel_keys_screen_val_15_seconds")<< hbTrId("txt_cp_setlabel_keys_screen_val_30_seconds")
       
    73          << hbTrId("txt_cp_setlabel_keys_screen_val_45_seconds")<< hbTrId("txt_cp_setlabel_keys_screen_val_1_minute")
       
    74          << hbTrId("txt_cp_setlabel_keys_screen_val_2_minutes");
       
    75     int period = mModel->keyguard();
    82     int period = mModel->keyguard();
    76     int selectedIndex = period/KCpKeyscreenTimeCoeff - 1;
    83     
    77     if ( KCpKeyscreenLock120s == period ){ // 2 minutes
    84     int selectedIndex(-1);    
    78         selectedIndex = EKeyScreenLockItem5;
    85     
       
    86     QMap<int,QString>::iterator it = mScreenLockValues.find(period);
       
    87     if (it == mScreenLockValues.end()) {
       
    88         mModel->setKeyguard(KCpKeyscreenLockDefault30s); // Set keyguard and backlight period to default
       
    89         selectedIndex = 1;
    79     }
    90     }
    80     if ( (KCpKeyscreenLock15s != period) && (KCpKeyscreenLock30s != period) && 
    91     else {
    81             (KCpKeyscreenLock45s != period) && (KCpKeyscreenLock60s != period) && 
    92         for (it = mScreenLockValues.begin();it != mScreenLockValues.end();++it) {
    82             (KCpKeyscreenLock120s != period) ){
    93             selectedIndex++;
    83         mModel->setKeyguard(KCpKeyscreenLockDefault30s);  // Set keyguard and backlight period to default
    94             if (it.key() == period) {
    84         selectedIndex = EKeyScreenLockItem2;
    95                 break;
       
    96             }
       
    97         }
    85     }
    98     }
    86     mScreenRadioButton->setContentWidgetData( QString("items"), sList );
    99     
    87     mScreenRadioButton->setContentWidgetData( QString("selected"), selectedIndex);
   100     QStringList items = mScreenLockValues.values();
       
   101     mScreenComboButton->setContentWidgetData( QString("items"), items );
       
   102     mScreenComboButton->setContentWidgetData( QString("currentIndex"), selectedIndex);
    88 }
   103 }
    89 
   104 
    90 void CpKeyScreenView::makeRotateItem(HbDataFormModel& model)
   105 void CpKeyScreenView::makeRotateItem(HbDataFormModel& model)
    91 {
   106 {
    92     mRotateCheckbox = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, QString());
   107     mRotateCheckbox = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, QString());
   108 {
   123 {
   109     mBrightSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem, hbTrId("txt_cp_setlabel_brightness"));
   124     mBrightSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem, hbTrId("txt_cp_setlabel_brightness"));
   110     qobject_cast<HbDataForm*> ( widget() )->addConnection(mBrightSliderItem,SIGNAL(valueChanged(int)),this,SLOT(brightValueChanged(int)));
   125     qobject_cast<HbDataForm*> ( widget() )->addConnection(mBrightSliderItem,SIGNAL(valueChanged(int)),this,SLOT(brightValueChanged(int)));
   111     model.appendDataFormItem(mBrightSliderItem, model.invisibleRootItem());
   126     model.appendDataFormItem(mBrightSliderItem, model.invisibleRootItem());
   112 
   127 
       
   128     QList<QVariant> sliderElements;
       
   129     sliderElements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement)
       
   130                    << QVariant(HbSlider::DecreaseElement);
       
   131     mBrightSliderItem->setContentWidgetData("sliderElements",sliderElements);
   113     mBrightSliderItem->setContentWidgetData( QString("value"), mModel->brightness() );
   132     mBrightSliderItem->setContentWidgetData( QString("value"), mModel->brightness() );
   114     mBrightSliderItem->setContentWidgetData( QString("minimum"), 1 );
   133     mBrightSliderItem->setContentWidgetData( QString("minimum"), 1 );
   115     mBrightSliderItem->setContentWidgetData( QString("maximum"), 5 );
   134     mBrightSliderItem->setContentWidgetData( QString("maximum"), 5 );
       
   135     QMap< QString, QVariant > iconElements;
       
   136     iconElements.insert(QString("IncreaseElement") , QVariant(":/icon/hb_vol_slider_increment.svg"));
       
   137     iconElements.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg") );
       
   138     mBrightSliderItem->setContentWidgetData( QString( "elementIcons" ), iconElements );
   116 }
   139 }
   117 
   140 
   118 void CpKeyScreenView::makeCallibrationItem(HbDataFormModel& model)
   141 void CpKeyScreenView::makeCallibrationItem(HbDataFormModel& model)
   119 {
   142 {
   120     mCallibItem = new CpSettingFormItemData(HbDataFormModelItem::ToggleValueItem,
   143     mCallibItem = new CpSettingFormItemData(HbDataFormModelItem::ToggleValueItem,
   128 {
   151 {
   129     delete mModel;
   152     delete mModel;
   130 	mModel = 0;
   153 	mModel = 0;
   131 }
   154 }
   132 
   155 
   133 void CpKeyScreenView::screenValueChanged(int index)
   156 void CpKeyScreenView::screenValueChanged(const QString &value)
   134 {
   157 {    
   135     int period = (index + 1) * KCpKeyscreenTimeCoeff;
   158     for (QMap<int,QString>::iterator it = mScreenLockValues.begin();
   136     if (EKeyScreenLockItem5 == index){
   159          it != mScreenLockValues.end();++it) {
   137         period = KCpKeyscreenLock120s;
   160         if (it.value() == value) {
       
   161             mModel->setKeyguard(it.key());
       
   162             break;
       
   163         }
   138     }
   164     }
   139     mModel->setKeyguard(period);
       
   140 }
   165 }
   141 
   166 
   142 void CpKeyScreenView::rotateValueChanged(int value)
   167 void CpKeyScreenView::rotateValueChanged(int value)
   143 {
   168 {
   144     mModel->setRotate( value );
   169     mModel->setRotate( value );