controlpanelui/src/cpplugins/personalizationplugin/src/cpmastervolumeslider.cpp
changeset 19 36aa4756ee82
parent 12 624337f114fe
child 20 22d3abee08da
equal deleted inserted replaced
12:624337f114fe 19:36aa4756ee82
     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 "cpmastervolumeslider.h"
       
    18 
       
    19 CpMasterVolumeSlider::CpMasterVolumeSlider(QGraphicsItem *parent /* =0 */)
       
    20 											:HbSlider(parent),
       
    21 											 mPreviousValue(0)		 
       
    22 {
       
    23 	QList<HbSlider::SliderElement> elements;
       
    24     elements << HbSlider::IncreaseElement
       
    25 			 << HbSlider::TrackElement
       
    26 			 << HbSlider::DecreaseElement
       
    27 			 << HbSlider::IconElement
       
    28 			 << HbSlider::TextElement;
       
    29 
       
    30     setElements( elements );
       
    31 	setOrientation(Qt::Horizontal);
       
    32 	setMaximum(10);
       
    33 	setMinimum(0);
       
    34 	
       
    35 	setIcon(HbSlider::DecreaseElement, HbIcon(":/icon/hb_vol_slider_decrement.svg"));
       
    36 	setIcon(HbSlider::IncreaseElement, HbIcon(":/icon/hb_vol_slider_increment.svg"));
       
    37 	setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_muted.svg"));
       
    38 	
       
    39 	setIconCheckable(true);
       
    40 
       
    41 	// set tick and beep label
       
    42 	
       
    43 #if 1
       
    44 //	setMajorTickInterval(1);
       
    45 //	setTickPosition(Hb::SliderTicksBothSides);
       
    46 //	QStringList labelList;
       
    47 //	labelList<< tr("")
       
    48 //			 << tr("Beep");
       
    49 			 
       
    50 //	this->setMajorTickLabels(labelList);
       
    51 #endif
       
    52 	
       
    53 	connect(this, SIGNAL(iconToggled(bool)), 
       
    54 			this, SLOT(onMuteIconToggled(bool)));
       
    55 	connect(this, SIGNAL(valueChanged(int)),
       
    56 			this, SLOT(onValueChanged(int)));
       
    57 //	onValueChanged(value());
       
    58 }
       
    59 
       
    60 CpMasterVolumeSlider::~CpMasterVolumeSlider()
       
    61 {
       
    62 }
       
    63 
       
    64 /*bool CpMasterVolumeSlider::isBeepMode()
       
    65 {
       
    66 	if (value() == minimum()+1) {
       
    67 		return true;
       
    68 	}
       
    69 	else {
       
    70 		return false;
       
    71 	}
       
    72 }
       
    73 
       
    74 void CpMasterVolumeSlider::setBeepMode(bool isBeepMode)
       
    75 {
       
    76 	if (isBeepMode == true) {
       
    77 		setValue(minimum()+1);	
       
    78 	}
       
    79 	else {
       
    80 		setValue(mPreviousValue);
       
    81 	}
       
    82 }*/
       
    83 
       
    84 /*bool CpMasterVolumeSlider::isSilentMode()
       
    85 {
       
    86 	if (value() == minimum()) {
       
    87 		return true;
       
    88 	}
       
    89 	else {
       
    90 		return false;
       
    91 	}
       
    92 }
       
    93 
       
    94 void CpMasterVolumeSlider::setSilentMode(bool isSilentMode)
       
    95 {
       
    96 	if (isSilentMode == true) {
       
    97 		setValue(minimum());	
       
    98 	}
       
    99 	else {
       
   100 		setValue(mPreviousValue);
       
   101 	}
       
   102 }
       
   103 
       
   104 int CpMasterVolumeSlider::normalValue()
       
   105 {
       
   106 	return (value()-1);
       
   107 }
       
   108 
       
   109 void CpMasterVolumeSlider::setNormalValue(int normalValue)
       
   110 {
       
   111 	setValue(normalValue+1);
       
   112 }
       
   113 */	
       
   114 void CpMasterVolumeSlider::onValueChanged(int value)
       
   115 {
       
   116 	if (this->minimum( ) == value) { 
       
   117         // volume is mute
       
   118         this->setIconChecked( true );
       
   119 		emit silentActivated();
       
   120     } 
       
   121 	else {
       
   122         // unmute volume
       
   123 		this->setIconEnabled( true );
       
   124 		this->setIconCheckable(false);
       
   125     this->setIconChecked( false );
       
   126     this->setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_unmuted.svg"));
       
   127 		this->setIconCheckable(true);
       
   128 		
       
   129 		
       
   130 		/*if (value == 1) {
       
   131 			emit beepActivated(); 
       
   132 		}*/
       
   133 		//else {
       
   134 		int valueMap = value;
       
   135 		emit normalValueChanged(valueMap);
       
   136 		//}
       
   137     }
       
   138 }
       
   139 
       
   140 /*void CpMasterVolumeSlider::onIncreaseIconClicked()
       
   141 {
       
   142 }
       
   143 
       
   144 void CpMasterVolumeSlider::onDecreaseIconClicked()
       
   145 {
       
   146 }*/
       
   147 
       
   148 void CpMasterVolumeSlider::onMuteIconToggled(bool isToggled)
       
   149 {
       
   150 	if (isToggled) {
       
   151 		mPreviousValue = value();
       
   152 		this->setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_muted.svg"));
       
   153 		setValue(minimum());
       
   154 	}
       
   155 	else {
       
   156 		this->setIcon(HbSlider::IconElement, HbIcon(":/icon/hb_vol_slider_unmuted.svg"));
       
   157 		if (mPreviousValue == minimum()||mPreviousValue == minimum()+1) {
       
   158 			setValue(minimum()+1);
       
   159 		}
       
   160 		else {
       
   161 			setValue(mPreviousValue);
       
   162 		}
       
   163 		mPreviousValue = 0;
       
   164 	}
       
   165 }
       
   166