coreapplicationuis/devicepowermenuplugin/src/hbdevicepowermenuwidegt.cpp
author hgs
Tue, 29 Jun 2010 10:40:11 +0300
changeset 46 eea20ed08f4b
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     1
/*
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     8
 *
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    11
 *
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    12
 * Contributors:
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    13
 *
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    14
 * Description:
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    15
 *
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    16
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    17
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    18
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    19
#include "hbdevicepowermenuwidegt_p.h"
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    20
#include "hbdevicepowermenupluginerrors_p.h"
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    21
#include <HbInstance.h>
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    22
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    23
//resuorces
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    24
QString POWER_MENU_DOCML(":/xml/powermenu.docml");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    25
QString VOLUME_DECREASE_ICON(":/images/decrement.svg");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    26
QString VOLUME_INCREASE_ICON(":/images/increment.svg");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    27
QString VOLUME_UNMUTE_ICON(":/images/unmuted.svg");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    28
QString VOLUME_MUTE_ICON(":/images/muted.svg");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    29
//For Localization
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    30
QString LOCALE_PATH("/resource/qt/translations/"); 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    31
QString TS_FILE("power_menu");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    32
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    33
//Widget names
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    34
QString MAIN_DLG("maindialog");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    35
QString PWR_SILENCE("Silence");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    36
QString PWR_VOLUME("Volume");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    37
QString PWR_VIBARTE("Vibrate");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    38
QString PWR_OFFLINE("Offline");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    39
QString PWR_POWEROFF("PowerOff");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    40
QString PWR_CONTAINER("container_1");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    41
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    42
//DO not modify these strings
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    43
QString KVolumeLevel("VolumeLevel");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    44
QString KSilenceLatchOn("SilenceLatchOn");            //Used to latch silencebutton	
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    45
QString KVibrationEnable("VibrationEnable");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    46
QString KOfflineEnable("OfflineEnable");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    47
QString KCypherOff("CypherOff");            //used to poweroffButtonEnabled/Disabled 		
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    48
QString KShutDown("ShutDown");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    49
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    50
//Used for Orientation of PowerMenu
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    51
qreal KVerticalX = 175;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    52
//width of PowerMenu
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    53
qreal KPMWidth = 360;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    54
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    55
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    56
 * Constructor
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    57
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    58
HbDevicePowerMenuWidget::HbDevicePowerMenuWidget(const QVariantMap &parameters)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    59
	:mDeviceDialogError(NoError), 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    60
	 mVolumeLevel(0),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    61
	 mShowVolume(false), 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    62
	 mVibrationChecked(true),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    63
	 mOfflineChecked(true),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    64
	 mSilencelatched(true), 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    65
	 mCypherOff(true),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    66
	 mDialogWidget(NULL),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    67
	 mSilenceButton(NULL),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    68
	 mVolumeSlider(NULL), 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    69
	 mVibarte(NULL),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    70
	 mOffline(NULL),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    71
	 mPowerOffButton(NULL),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    72
	 mLoader(NULL), 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    73
	 mHbTranslator(NULL)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    74
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    75
    // mMainWindow(NULL),
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    76
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::Constructor:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    77
    if (preConstructDialog())
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    78
        {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    79
        //Translator loaded succesfully then olny construct widgets
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    80
        constructDialog(parameters);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    81
        }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    82
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::Constructor:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    83
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    84
    
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    85
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    86
 * Destructor
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    87
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    88
HbDevicePowerMenuWidget::~HbDevicePowerMenuWidget()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    89
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    90
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::Destructor()") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    91
    cleanupMemory();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    92
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    93
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    94
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    95
 * Implementation of HbDeviceDialogInterface method
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    96
 * sets parameters of custom widget
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    97
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    98
bool HbDevicePowerMenuWidget::setDeviceDialogParameters(const QVariantMap &parameters)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
    99
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   100
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::setDeviceDialogParameters:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   101
 	if(parameters.contains(KVolumeLevel))
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   102
		{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   103
		mVolumeLevel = parameters.value(KVolumeLevel).toInt();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   104
		}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   105
	if(parameters.contains(KSilenceLatchOn))
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   106
		{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   107
		mSilencelatched = parameters.value(KSilenceLatchOn).toBool();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   108
		//If SilenceMode is Enabled then MasterVolume control is Disabled 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   109
		mShowVolume = mSilencelatched? false:true;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   110
		}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   111
	if(parameters.contains(KVibrationEnable))
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   112
		{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   113
		mVibrationChecked = parameters.value(KVibrationEnable).toBool();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   114
		}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   115
	if(parameters.contains(KOfflineEnable))
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   116
		{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   117
		mOfflineChecked = parameters.value(KOfflineEnable).toBool();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   118
		}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   119
	if(parameters.contains(KCypherOff))
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   120
		{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   121
		mCypherOff = parameters.value(KCypherOff).toBool();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   122
		}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   123
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::setDeviceDialogParameters:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   124
	return true;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   125
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   126
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   127
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   128
 * Returns error code
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   129
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   130
int HbDevicePowerMenuWidget::deviceDialogError() const
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   131
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   132
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::deviceDialogError") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   133
	return mDeviceDialogError;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   134
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   135
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   136
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   137
 * Close DeviceDialog
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   138
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   139
void HbDevicePowerMenuWidget::closeDeviceDialog(bool byClient)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   140
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   141
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::closeDeviceDialog:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   142
    Q_UNUSED(byClient);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   143
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::closeDeviceDialog:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   144
    mDialogWidget->close();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   145
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   146
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   147
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   148
 * Implementation of HbDeviceDialogInterface method
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   149
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   150
HbPopup* HbDevicePowerMenuWidget::deviceDialogWidget() const
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   151
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   152
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::deviceDialogWidget") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   153
	return mDialogWidget;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   154
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   155
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   156
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   157
 * Implementation of HbDeviceDialogInterface method
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   158
 * to get signals from action events
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   159
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   160
QObject* HbDevicePowerMenuWidget::signalSender() const
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   161
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   162
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::signalSender") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   163
    return const_cast<HbDevicePowerMenuWidget*>(this);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   164
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   165
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   166
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   167
 * Before loading docml and widgets Translator must be loaded
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   168
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   169
bool HbDevicePowerMenuWidget::preConstructDialog()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   170
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   171
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::preConstructDialog:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   172
    //Translator
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   173
    mHbTranslator = new HbTranslator(LOCALE_PATH,TS_FILE);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   174
    if(!mHbTranslator)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   175
        {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   176
        //Translator is failed to create
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   177
        mDeviceDialogError = UnknownDeviceDialogError;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   178
        TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::preConstructDialog:MemoryAllocation Failed") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   179
        return false;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   180
        }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   181
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::preConstructDialog:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   182
    return true;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   183
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   184
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   185
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   186
 * Constrcuts customized widget dialog by loading the UI from docml and
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   187
 * initializes all parameters and attributes.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   188
 * Throws bad-memory on Un-succesful memory allocations
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   189
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   190
void HbDevicePowerMenuWidget::constructDialog(const QVariantMap &parameters)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   191
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   192
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::constructDialog:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   193
	bool dialogLoaded(false);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   194
	//Docml loader
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   195
	mLoader = new HbDocumentLoader();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   196
	if(!mLoader)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   197
	    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   198
        //Document Loader failed to create
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   199
        mDeviceDialogError = UnknownDeviceDialogError;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   200
        cleanupMemory();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   201
        TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::constructDialog:mLoader::MemoryAllocation Failed") ) );        
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   202
        return;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   203
	    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   204
	mLoader->load(POWER_MENU_DOCML, &dialogLoaded);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   205
	Q_ASSERT_X(dialogLoaded, "HbDevicePowerMenuWidget", "Invalid xml file");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   206
	//Widgets
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   207
	if (dialogLoaded)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   208
		{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   209
        //Dialog loaded succesfully from docml
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   210
		TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::constructDialog:dialogLoaded:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   211
        
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   212
		//Initialize Parameters received
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   213
        setDeviceDialogParameters(parameters);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   214
		mDialogWidget = qobject_cast <HbDialog *>(mLoader->findWidget(MAIN_DLG));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   215
		//Find the handles for all widget items
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   216
		mSilenceButton = qobject_cast <HbPushButton *>(mLoader->findWidget(PWR_SILENCE));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   217
		mVolumeSlider = qobject_cast <HbSlider *>(mLoader->findWidget(PWR_VOLUME));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   218
		mVibarte = qobject_cast <HbCheckBox *>(mLoader->findWidget(PWR_VIBARTE));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   219
		mOffline = qobject_cast <HbCheckBox *>(mLoader->findWidget(PWR_OFFLINE));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   220
		mPowerOffButton = qobject_cast <HbPushButton *>(mLoader->findWidget(PWR_POWEROFF));	
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   221
		QGraphicsWidget *widget(NULL);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   222
		widget = mLoader->findWidget(PWR_CONTAINER);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   223
		if (!(IsValidHandles()&&(widget)))
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   224
		    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   225
            //Atleast, One of the Handles are not allocated memory
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   226
            mDeviceDialogError = UnknownDeviceDialogError;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   227
            cleanupMemory();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   228
            TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::constructDialog:Widgets::MemoryAllocation Failed") ) );            
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   229
            return;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   230
		    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   231
		//Sets Speaker icon
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   232
        setSpeakerIcon();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   233
		//Customize slider to VolumeSlider
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   234
		customizeVolumeSlider();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   235
		mDialogWidget->setContentWidget(widget);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   236
		//SetWidget Attributes
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   237
		//1. Volume 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   238
	    mVolumeSlider->setSliderPosition(mVolumeLevel);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   239
	    mVolumeSlider->setEnabled(mShowVolume);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   240
	    //This will avoid IPC calls while dragging the Slider
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   241
	    mVolumeSlider->setTracking(false);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   242
	    bool ok = connect(mVolumeSlider,SIGNAL(valueChanged(int)) , this , SLOT(handleVolumeChanged(int)));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   243
        Q_ASSERT_X(ok, "VolumeSlider", "Invalid IncrementDecrement Change");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   244
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   245
		//2.Silence Mode
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   246
		mSilenceButton->setDown(mSilencelatched);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   247
		ok = connect(mSilenceButton,SIGNAL(clicked(bool)) , this , SLOT(handleSilenceMode(bool)));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   248
	    Q_ASSERT_X(ok, "SilenceButton", "Invalid Clicked");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   249
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   250
	    //3.Master Vibration
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   251
	    mVibarte->setChecked(mVibrationChecked);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   252
	    ok = connect(mVibarte,SIGNAL(stateChanged(int)) , this , SLOT(handleVibrationToggled(int)));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   253
		Q_ASSERT_X(ok, "Vibrator", "Invalid Vibrator Toggeld");
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   254
		
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   255
		//4.Offline
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   256
	    mOffline->setChecked(mOfflineChecked);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   257
	    ok = connect(mOffline,SIGNAL(stateChanged(int)) , this , SLOT(handleOfflineToggled(int)));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   258
		Q_ASSERT_X(ok, "Vibrator", "Invalid Offline Toggeld");  
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   259
		
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   260
		//5.Power off
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   261
		mPowerOffButton->setEnabled(mCypherOff);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   262
		ok = connect(mPowerOffButton,SIGNAL(clicked(bool)) , this , SLOT(handlePowerOff(bool)));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   263
	    Q_ASSERT_X(ok, "PowerOffButton", "Invalid Clicked");	  
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   264
	    
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   265
        //Dialog dismiss only with Tap outside
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   266
        mDialogWidget->setTimeout(HbPopup::NoTimeout);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   267
        mDialogWidget->setDismissPolicy(HbPopup::TapOutside);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   268
        mDialogWidget->setPreferredWidth(KPMWidth);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   269
        
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   270
        connect(mDialogWidget,SIGNAL(aboutToClose()),this, SLOT(closedialog()));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   271
	    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::constructDialog:dialogLoaded:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   272
		}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   273
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::constructDialog:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   274
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   275
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   276
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   277
 * Checks whether all Hadles for widgets DialogWidget, 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   278
 * SilenceButton, Vibrate, Offline and Poweroff Button allocated memory.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   279
 * Returns True, if all Handles allocated memory.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   280
 * Flase, atleast one of them NOT allocated memory.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   281
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   282
bool HbDevicePowerMenuWidget::IsValidHandles()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   283
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   284
    if((!mDialogWidget) || (!mSilenceButton) || (!mVolumeSlider)||(!mVibarte) || (!mOffline) || (!mPowerOffButton))
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   285
        {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   286
        return false;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   287
        }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   288
    else{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   289
        //All handles are allocated memory
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   290
        return true;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   291
        }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   292
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   293
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   294
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   295
 * Sets Mute/Unmute icon for Volume slider
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   296
 * Mute/Unmute icon to display the current status of Silence Mode.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   297
 * Mute icon dispalyed when Device in Silence mode.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   298
 * Unmute icon dispalyed when Device Non-Silence mode. 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   299
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   300
void HbDevicePowerMenuWidget::setSpeakerIcon()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   301
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   302
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::setSpeakerIcon:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   303
	QString speakerIcon= ( mSilencelatched )? VOLUME_MUTE_ICON : VOLUME_UNMUTE_ICON ;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   304
	mVolumeSlider->setElementIcon(HbSlider:: IconElement,HbIcon(speakerIcon));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   305
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::setSpeakerIcon:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   306
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   307
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   308
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   309
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   310
 * Customizes the slider to Vloume Slider 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   311
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   312
void HbDevicePowerMenuWidget::customizeVolumeSlider()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   313
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   314
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::customizeVolumeSlider:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   315
	//Construct Volume Slider from the HbSlider
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   316
	mVolumeSlider->setSliderElements(QList<QVariant>()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   317
                                        << HbSlider::DecreaseElement 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   318
                                        << HbSlider::TrackElement
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   319
                                        << HbSlider::IncreaseElement
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   320
                                        << HbSlider::IconElement     );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   321
	
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   322
	// To set DecreaseIcon and IncreseIcon
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   323
	mVolumeSlider->setElementIcon(HbSlider::DecreaseElement, HbIcon(VOLUME_DECREASE_ICON));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   324
	mVolumeSlider->setElementIcon(HbSlider:: IncreaseElement, HbIcon(VOLUME_INCREASE_ICON));
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   325
    //set Range of volume
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   326
	mVolumeSlider->setRange(1,10);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   327
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::customizeVolumeSlider:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   328
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   329
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   330
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   331
 * Slot
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   332
 * Widget is about to Close. 
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   333
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   334
void HbDevicePowerMenuWidget::closedialog()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   335
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   336
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::closedialog:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   337
    emit deviceDialogClosed();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   338
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::closedialog:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   339
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   340
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   341
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   342
 * Slot
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   343
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   344
void HbDevicePowerMenuWidget::handleVolumeChanged(int aVolume)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   345
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   346
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleVolumeChanged:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   347
    mVolumeLevel = aVolume;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   348
    //inform the client may be through data changed etc.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   349
    QVariantMap mDataToSend;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   350
    QVariant volume(mVolumeLevel);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   351
    mDataToSend.insert(KVolumeLevel, volume);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   352
    emit deviceDialogData(mDataToSend);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   353
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleVolumeChanged:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   354
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   355
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   356
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   357
 * Slot
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   358
 * Switch between the states to latch down and latch up.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   359
 * In case of Silence mode, The Silence button id latched down and Disables Volume control.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   360
 * In case of Non-Silence mode, The Silence button id latched Up and enables Volume control.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   361
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   362
void HbDevicePowerMenuWidget::handleSilenceMode(bool aState)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   363
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   364
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleSilenceMode:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   365
	Q_UNUSED(aState);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   366
	mShowVolume = !(mShowVolume);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   367
	mSilencelatched = !(mSilencelatched);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   368
	mSilenceButton->setDown(mSilencelatched);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   369
	mVolumeSlider->setEnabled(mShowVolume);	
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   370
    setSpeakerIcon();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   371
	//inform the client may be through data changed etc.
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   372
    QVariantMap mDataToSend;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   373
    QVariant silence(mSilencelatched);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   374
    mDataToSend.insert(KSilenceLatchOn, silence);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   375
    emit deviceDialogData(mDataToSend);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   376
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleSilenceMode:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   377
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   378
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   379
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   380
 * Slot
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   381
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   382
void HbDevicePowerMenuWidget::handlePowerOff(bool aState)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   383
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   384
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handlePowerOff:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   385
	Q_UNUSED(aState);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   386
    QVariantMap mDataToSend;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   387
    QVariant shutdown(true);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   388
    mDataToSend.insert(KShutDown, shutdown);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   389
    emit deviceDialogData(mDataToSend);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   390
    emit deviceDialogClosed();
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   391
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handlePowerOff:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   392
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   393
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   394
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   395
 * Slot
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   396
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   397
void HbDevicePowerMenuWidget::handleOfflineToggled(int aOfflineToggel)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   398
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   399
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleOfflineToggled:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   400
	mOfflineChecked = aOfflineToggel;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   401
    QVariantMap mDataToSend;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   402
    QVariant offline(mOfflineChecked);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   403
    mDataToSend.insert(KOfflineEnable, offline);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   404
    emit deviceDialogData(mDataToSend);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   405
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleOfflineToggled:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   406
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   407
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   408
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   409
 * Slot
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   410
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   411
void HbDevicePowerMenuWidget::handleVibrationToggled(int aVibrationToggel)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   412
	{
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   413
	TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleVibrationToggled:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   414
	mVibrationChecked = aVibrationToggel;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   415
    QVariantMap mDataToSend;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   416
    QVariant vibration(mVibrationChecked);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   417
    mDataToSend.insert(KVibrationEnable, vibration);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   418
    emit deviceDialogData(mDataToSend);
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   419
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::handleVibrationToggled:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   420
	}
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   421
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   422
/**
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   423
 * Cleans up memory allocations
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   424
 */
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   425
void HbDevicePowerMenuWidget::cleanupMemory()
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   426
    {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   427
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::cleanupMemory:Begin") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   428
    if(mLoader)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   429
        {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   430
        delete mLoader;
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   431
        }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   432
    if(mHbTranslator)
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   433
        {
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   434
        delete mHbTranslator;    
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   435
        }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   436
    TRACES( RDebug::Print( _L("HbDevicePowerMenuWidget::cleanupMemory:End") ) );
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   437
    }
eea20ed08f4b 201025_02
hgs
parents:
diff changeset
   438