controlpanelui/src/cpplugins/volumeplugin/src/cpvolumecontroller.cpp
changeset 40 593f946f4fec
parent 19 36aa4756ee82
equal deleted inserted replaced
22:a5692c68d772 40:593f946f4fec
    91 }
    91 }
    92 
    92 
    93 
    93 
    94 void CpVolumeController::masterVolumeChange(int value)
    94 void CpVolumeController::masterVolumeChange(int value)
    95 {
    95 {
    96 #ifdef Q_OS_SYMBIAN
    96 #ifdef Q_OS_SYMBIAN	
    97 	mProfileModel->setMasterVolume( volumeLevelToInt( (CpVolumeController::VolumeLevel)value ) );
    97     mProfileModel->setMasterVolume(value);
    98 	HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
    98 	HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
    99 	masterVolume->setContentWidgetData("value",value);
    99 	masterVolume->setContentWidgetData("value",value);
   100 #endif
   100 #endif
   101 }
   101 }
   102 
   102 
   116 			silenceIndicator->setContentWidgetData("checked",isSilenceMode);		
   116 			silenceIndicator->setContentWidgetData("checked",isSilenceMode);		
   117 	}
   117 	}
   118 	HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
   118 	HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
   119 	if (masterVolume) {
   119 	if (masterVolume) {
   120 	    CPFW_LOG("::updateMasterVolumeValue(), Start using profile model.");
   120 	    CPFW_LOG("::updateMasterVolumeValue(), Start using profile model.");
   121 	    QMap<QString, QVariant> iconMaps;
   121         setSilderSpeakerIcon(isSilenceMode);
   122 	    if (isSilenceMode) {
       
   123 	        CPFW_LOG("::updateMasterVolumeValue(), Got silent state.");
       
   124 	        iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
       
   125 	        iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
       
   126 	        iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
       
   127 	    }
       
   128 	    else {
       
   129             iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
       
   130 	        iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
       
   131 	        iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg"));
       
   132 	    }
       
   133 	    masterVolume->setContentWidgetData("elementIcons", iconMaps);
       
   134 	    masterVolume->setEnabled(!isSilenceMode);
   122 	    masterVolume->setEnabled(!isSilenceMode);
   135 	    //masterVolume->setContentWidgetData("enabled",!isSilenceMode);
   123 	    //masterVolume->setContentWidgetData("enabled",!isSilenceMode);
   136 	    masterVolume->setContentWidgetData("value",intToVolumeLevel(mProfileModel->masterVolume()));
   124 	    masterVolume->setContentWidgetData("value",mProfileModel->masterVolume());
   137 	}
   125 	}
   138 	HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem);
   126 	HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem);
   139 	if (masterVibra) {
   127 	if (masterVibra) {
   140         masterVibra->setContentWidgetData("checkState",(mProfileModel->masterVibra()?2:0));
   128         masterVibra->setContentWidgetData("checkState",(mProfileModel->masterVibra()?2:0));
   141 	} 
   129 	} 
   142 	
   130 	
   143 #endif
   131 #endif
   144 }
   132 }
   145 
   133 
   146 int CpVolumeController::volumeLevelToInt( CpVolumeController::VolumeLevel volumeLevel )
       
   147 {
       
   148     switch( volumeLevel ){
       
   149         case VolumenLevelSoft:
       
   150             return EProfileMasterVolumeSoft;
       
   151         case VolumeLevelMed:
       
   152             return EProfileMasterVolumeMed;
       
   153         case VolumeLevelLoud:
       
   154             return EProfileMasterVolumeLoud;
       
   155         default:
       
   156         		return 1;            	
       
   157     }
       
   158 }
       
   159 CpVolumeController::VolumeLevel CpVolumeController::intToVolumeLevel( int value )
       
   160 {
       
   161     if( value < 4 ) {
       
   162         return VolumenLevelSoft;
       
   163     } else if( value < 8 )
       
   164         return VolumeLevelMed;
       
   165     else{
       
   166         return VolumeLevelLoud;
       
   167     }
       
   168 }
       
   169 
       
   170 void CpVolumeController::settingValueChanged(const XQSettingsKey &key, const QVariant &value)
   134 void CpVolumeController::settingValueChanged(const XQSettingsKey &key, const QVariant &value)
   171 {
   135 {
   172     if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngSilenceMode) {
   136     if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngSilenceMode) {
   173         HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
   137         HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
   174         if (masterVolume) {
   138         if (masterVolume) {
   175         		QMap<QString, QVariant> iconMaps;
   139             setSilderSpeakerIcon(value.toBool());
   176         		if (value.toBool()) {
       
   177                     iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
       
   178         		    iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
       
   179         			iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg"));
       
   180         		}
       
   181         		else {
       
   182                     iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg"));
       
   183         		    iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg"));
       
   184         		    iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg"));
       
   185         		}
       
   186         		masterVolume->setContentWidgetData("elementIcons", iconMaps);
       
   187             masterVolume->setEnabled(!value.toBool());
   140             masterVolume->setEnabled(!value.toBool());
   188         }
   141         }
   189         HbDataFormModelItem *silenceMode = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem);
   142         HbDataFormModelItem *silenceMode = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem);
   190         if (silenceMode) {
   143         if (silenceMode) {
   191             silenceMode->setContentWidgetData("checked",value.toInt() != 0);
   144             silenceMode->setContentWidgetData("checked",value.toInt() != 0);
   192         }
   145         }
   193     }
   146     }
   194     else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVolume) {
   147     else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVolume) {
   195         HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
   148         HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
   196         if (masterVolume) {
   149         if (masterVolume) {
   197             masterVolume->setContentWidgetData("value",intToVolumeLevel(value.toInt()));
   150             masterVolume->setContentWidgetData("value",value.toInt());
   198         }
   151         }
   199     }
   152     }
   200     else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVibra) {
   153     else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVibra) {
   201         HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem);
   154         HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem);
   202         if (masterVibra) {
   155         if (masterVibra) {
   203             masterVibra->setContentWidgetData("checkState",(value.toInt() ? 2 : 0));
   156             masterVibra->setContentWidgetData("checkState",(value.toInt() ? 2 : 0));
   204         }
   157         }
   205     }
   158     }
   206 }
   159 }
       
   160 /**
       
   161  * set speaker icon for volume silder 
       
   162  */
       
   163 void CpVolumeController::setSilderSpeakerIcon(bool isSpeakerOff)
       
   164 {
       
   165     HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem);
       
   166     if (masterVolume != 0) {
       
   167         QMap<QString, QVariant> iconMaps;
       
   168         iconMaps = masterVolume->contentWidgetData("elementIcons").toMap();
       
   169         if (isSpeakerOff) {
       
   170             iconMaps.insert("IconElement", QVariant("qtg_mono_speaker_off"));
       
   171         }
       
   172         else {
       
   173             iconMaps.insert("IconElement", QVariant("qtg_mono_speaker"));
       
   174         }
       
   175         masterVolume->setContentWidgetData("elementIcons", QVariant(iconMaps));
       
   176     }
       
   177 }
   207 
   178 
   208 //End of File
   179 //End of File