utilityapps/loadgen/ui/hb/src/settingsview.cpp
author hgs
Mon, 18 Oct 2010 16:30:05 +0300
changeset 55 2d9cac8919d3
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "settingsview.h"
hgs
parents:
diff changeset
    19
#include "enginewrapper.h"
hgs
parents:
diff changeset
    20
#include "loadgen.hrh"
hgs
parents:
diff changeset
    21
#include "loadgen_loadattributes.h"
hgs
parents:
diff changeset
    22
#include <hbmainwindow.h>
hgs
parents:
diff changeset
    23
#include <hbview.h>
hgs
parents:
diff changeset
    24
//#include <hbformitem.h>
hgs
parents:
diff changeset
    25
#include <hbmenu.h>
hgs
parents:
diff changeset
    26
#include <hbaction.h>
hgs
parents:
diff changeset
    27
#include <hbmessagebox.h>
hgs
parents:
diff changeset
    28
//#include <hbcommonnote.h>
hgs
parents:
diff changeset
    29
#include <hbtoolbar.h>
hgs
parents:
diff changeset
    30
#include <hbdataform.h>
hgs
parents:
diff changeset
    31
#include <hbdataformmodelitem.h>
hgs
parents:
diff changeset
    32
#include <hbdataformmodel.h>
hgs
parents:
diff changeset
    33
#include <hbdataformviewitem.h>
hgs
parents:
diff changeset
    34
#include <hbabstractviewitem.h>
hgs
parents:
diff changeset
    35
#include <hbradiobuttonlist.h>
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
#include <QStringList>
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
QStringList PRIORITIES = (QStringList() << "Much less (-20)" << "Less (-10)" << "Normal (0)" << "More (10)" 
hgs
parents:
diff changeset
    41
						 << "Much more (20)" << "Real time (30)" << "Abs. very low (100)" << "Abs. low (200)" 
hgs
parents:
diff changeset
    42
						 << "Abs. backgr. (300)" << "Abs. foregr. (400)" << "Abs. high (500)");
hgs
parents:
diff changeset
    43
QStringList LOADMODES = (QStringList() << "Yielding" << "Blocking");
hgs
parents:
diff changeset
    44
QStringList CPULOADTYPES = (QStringList() << "Continuous" << "Periodic");		   
hgs
parents:
diff changeset
    45
QStringList MEMSOURCES = (QStringList() << "RAM" << "C:" << "D:" << "E:" << "F:" << "G:" << "H:" << "J:" << "K:" 
hgs
parents:
diff changeset
    46
										<< "L:" << "M:" << "N:");
hgs
parents:
diff changeset
    47
QStringList MEMEATTYPES = (QStringList() << "Memory to eat" << "Memory to be left" << "Alternate min/max");
hgs
parents:
diff changeset
    48
QStringList KEYPRESSTYPES = (QStringList() << "None" << "Arrow keys");
hgs
parents:
diff changeset
    49
QStringList MESSAGETYPES = (QStringList() << "SMS" << "MMS");
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
		   
hgs
parents:
diff changeset
    52
SettingsView::SettingsView(HbView &mainView, HbMainWindow &parent, EngineWrapper &engine)
hgs
parents:
diff changeset
    53
                          
hgs
parents:
diff changeset
    54
    : mMainWindow(parent),
hgs
parents:
diff changeset
    55
      mMainView(mainView),
hgs
parents:
diff changeset
    56
      mEngineWrapper(engine),
hgs
parents:
diff changeset
    57
	  mAmount(NULL),
hgs
parents:
diff changeset
    58
	  mMinAmountToBeLeft(NULL),
hgs
parents:
diff changeset
    59
	  mMaxAmountToBeLeft(NULL),
hgs
parents:
diff changeset
    60
	  mLength(NULL),
hgs
parents:
diff changeset
    61
	  mIdle(NULL),
hgs
parents:
diff changeset
    62
	  mRandomVar(NULL)
hgs
parents:
diff changeset
    63
{
hgs
parents:
diff changeset
    64
}
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
SettingsView::~SettingsView()
hgs
parents:
diff changeset
    67
{
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
}
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
// TODO HbDataFormModelItem data operations does not work correctly with WK38.
hgs
parents:
diff changeset
    72
// Item data does not get updated correctly as set by initial settings(HbDataFormModelItem::RadioButtonListItem) 
hgs
parents:
diff changeset
    73
// or user settings.(HbDataFormModelItem::TextItem)
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
void SettingsView::open(const QString &settingsName, TLoadGenCommandIds cmdId)
hgs
parents:
diff changeset
    78
{
hgs
parents:
diff changeset
    79
	mCmdId = cmdId;
hgs
parents:
diff changeset
    80
    // Remove main view from main window and add this view to main window
hgs
parents:
diff changeset
    81
    mMainWindow.addView(this);
hgs
parents:
diff changeset
    82
    mMainWindow.setCurrentView(this);
hgs
parents:
diff changeset
    83
    setTitle(settingsName);
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
    //create toolbar showing launch popup
hgs
parents:
diff changeset
    86
    HbToolBar *toolBar = this->toolBar();
hgs
parents:
diff changeset
    87
    HbAction *actionOk = new HbAction("Ok", toolBar);
hgs
parents:
diff changeset
    88
    HbAction *actionCancel = new HbAction("Cancel", toolBar);
hgs
parents:
diff changeset
    89
    toolBar->addAction( actionOk );
hgs
parents:
diff changeset
    90
    toolBar->addAction( actionCancel );	
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
    //create setting form
hgs
parents:
diff changeset
    93
    mSettingForm = new HbDataForm();
hgs
parents:
diff changeset
    94
    
hgs
parents:
diff changeset
    95
    //create a model class
hgs
parents:
diff changeset
    96
    mModel = new HbDataFormModel(this);
hgs
parents:
diff changeset
    97
	createItems(mModel, 0);
hgs
parents:
diff changeset
    98
    // Set created model to form
hgs
parents:
diff changeset
    99
	
hgs
parents:
diff changeset
   100
    mSettingForm->setModel(mModel);
hgs
parents:
diff changeset
   101
    setWidget(mSettingForm);
hgs
parents:
diff changeset
   102
	loadAttributes();	
hgs
parents:
diff changeset
   103
	
hgs
parents:
diff changeset
   104
    connect(actionOk, SIGNAL(triggered()), this, SLOT(okExit()));
hgs
parents:
diff changeset
   105
	connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelled()));
hgs
parents:
diff changeset
   106
	connect(this, SIGNAL(aboutToClose()), this, SLOT(backButtonPressed()));
hgs
parents:
diff changeset
   107
	//connect(mSettingForm, SIGNAL(activated(const QModelIndex)), this, SLOT(dataItemDisplayed(const QModelIndex)));
hgs
parents:
diff changeset
   108
	
hgs
parents:
diff changeset
   109
	show();
hgs
parents:
diff changeset
   110
}
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
void SettingsView::createItems(HbDataFormModel *model, 
hgs
parents:
diff changeset
   115
							   HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   116
{
hgs
parents:
diff changeset
   117
	switch (mCmdId) {
hgs
parents:
diff changeset
   118
		case ELoadGenCmdNewLoadCPULoad: {
hgs
parents:
diff changeset
   119
			createCpuLoadItems(model, parent);
hgs
parents:
diff changeset
   120
			break;
hgs
parents:
diff changeset
   121
		}
hgs
parents:
diff changeset
   122
		case ELoadGenCmdNewLoadEatMemory: {
hgs
parents:
diff changeset
   123
			createEatMemoryItems(model, parent);
hgs
parents:
diff changeset
   124
			break;
hgs
parents:
diff changeset
   125
		}
hgs
parents:
diff changeset
   126
		case ELoadGenCmdNewLoadPhoneCall: {
hgs
parents:
diff changeset
   127
			createPhoneCallItems(model, parent);
hgs
parents:
diff changeset
   128
			break;
hgs
parents:
diff changeset
   129
		}
hgs
parents:
diff changeset
   130
		case ELoadGenCmdNewLoadNetConn: {
hgs
parents:
diff changeset
   131
			createNetConnItems(model, parent);
hgs
parents:
diff changeset
   132
			break;
hgs
parents:
diff changeset
   133
		}
hgs
parents:
diff changeset
   134
		case ELoadGenCmdNewLoadKeyPress:
hgs
parents:
diff changeset
   135
		case ELoadGenCmdNewLoadPointerEvent: {
hgs
parents:
diff changeset
   136
			createKeyOrPointerItems(model, parent);
hgs
parents:
diff changeset
   137
			break;
hgs
parents:
diff changeset
   138
		}
hgs
parents:
diff changeset
   139
		case ELoadGenCmdNewLoadMessages: {
hgs
parents:
diff changeset
   140
			createMessageItems(model, parent);
hgs
parents:
diff changeset
   141
			break;
hgs
parents:
diff changeset
   142
		}
hgs
parents:
diff changeset
   143
		case ELoadGenCmdNewLoadApplications: {
hgs
parents:
diff changeset
   144
			createAppsItems(model, parent);
hgs
parents:
diff changeset
   145
			break;
hgs
parents:
diff changeset
   146
		}
hgs
parents:
diff changeset
   147
		case ELoadGenCmdNewLoadPhotoCaptures: {
hgs
parents:
diff changeset
   148
			createPhotoItems(model, parent);
hgs
parents:
diff changeset
   149
			break;
hgs
parents:
diff changeset
   150
		}
hgs
parents:
diff changeset
   151
		case ELoadGenCmdNewLoadBluetooth: {
hgs
parents:
diff changeset
   152
			createBtItems(model, parent);
hgs
parents:
diff changeset
   153
			break;
hgs
parents:
diff changeset
   154
		}
hgs
parents:
diff changeset
   155
		default: {
hgs
parents:
diff changeset
   156
			break;
hgs
parents:
diff changeset
   157
		}
hgs
parents:
diff changeset
   158
	}
hgs
parents:
diff changeset
   159
}
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   162
hgs
parents:
diff changeset
   163
void SettingsView::createCpuLoadItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   164
{
hgs
parents:
diff changeset
   165
hgs
parents:
diff changeset
   166
	mLoadSettings = parent;
hgs
parents:
diff changeset
   167
	//mLoadSettings = model->appendDataFormGroup(QString("CPU load settings"), parent);
hgs
parents:
diff changeset
   168
	
hgs
parents:
diff changeset
   169
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   170
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   171
										  QString("Priority"),
hgs
parents:
diff changeset
   172
										  mLoadSettings);
hgs
parents:
diff changeset
   173
										  
hgs
parents:
diff changeset
   174
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   175
hgs
parents:
diff changeset
   176
	// DataFormItem for load mode selection
hgs
parents:
diff changeset
   177
	mLoadMode = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   178
										  QString("Load mode"),
hgs
parents:
diff changeset
   179
										  mLoadSettings);
hgs
parents:
diff changeset
   180
	mLoadMode->setContentWidgetData(QString("items"), LOADMODES);		
hgs
parents:
diff changeset
   181
hgs
parents:
diff changeset
   182
	// DataFormItem for load type selection
hgs
parents:
diff changeset
   183
	mType = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   184
									  QString("Type"),
hgs
parents:
diff changeset
   185
								      mLoadSettings);
hgs
parents:
diff changeset
   186
	mType->setContentWidgetData(QString("items"), CPULOADTYPES);
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
	mSettingForm->addConnection(mType,SIGNAL(itemSelected(int)),this,SLOT(selectionChanged(int)));
hgs
parents:
diff changeset
   189
}
hgs
parents:
diff changeset
   190
hgs
parents:
diff changeset
   191
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
void SettingsView::createEatMemoryItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   194
{
hgs
parents:
diff changeset
   195
	mLoadSettings = parent;
hgs
parents:
diff changeset
   196
	//mLoadSettings = model->appendDataFormGroup(QString("Eat memory settings"), parent);
hgs
parents:
diff changeset
   197
	
hgs
parents:
diff changeset
   198
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   199
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   200
										  QString("Priority"), 
hgs
parents:
diff changeset
   201
										  mLoadSettings);
hgs
parents:
diff changeset
   202
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   203
hgs
parents:
diff changeset
   204
	// DataFormItem for memory eat type selection
hgs
parents:
diff changeset
   205
	mSource = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   206
									  QString("Source"), 
hgs
parents:
diff changeset
   207
									  mLoadSettings);
hgs
parents:
diff changeset
   208
	mSource->setContentWidgetData(QString("items"), MEMSOURCES);
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
	
hgs
parents:
diff changeset
   211
	// DataFormItem for memory eat type selection
hgs
parents:
diff changeset
   212
	mType = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   213
									  QString("Type"), 
hgs
parents:
diff changeset
   214
									  mLoadSettings);
hgs
parents:
diff changeset
   215
	mType->setContentWidgetData(QString("items"), MEMEATTYPES);
hgs
parents:
diff changeset
   216
hgs
parents:
diff changeset
   217
	// DataFormItem for idle length selection
hgs
parents:
diff changeset
   218
	mBuffer = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   219
									  QString("Buffer (B)"), 
hgs
parents:
diff changeset
   220
									  mLoadSettings);
hgs
parents:
diff changeset
   221
	mBuffer->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   222
	mBuffer->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   223
	
hgs
parents:
diff changeset
   224
	// DataFormItem for idle length selection
hgs
parents:
diff changeset
   225
	mIdle = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   226
									  QString("Idle after buffer (ms)"), 
hgs
parents:
diff changeset
   227
									  mLoadSettings);
hgs
parents:
diff changeset
   228
	mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   229
	mIdle->setContentWidgetData("minimum", 0);			
hgs
parents:
diff changeset
   230
hgs
parents:
diff changeset
   231
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   232
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   233
										   mLoadSettings);
hgs
parents:
diff changeset
   234
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   235
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   236
	
hgs
parents:
diff changeset
   237
	mSettingForm->addConnection(mType,SIGNAL(itemSelected(int)),this,SLOT(selectionChanged(int)));
hgs
parents:
diff changeset
   238
}	
hgs
parents:
diff changeset
   239
hgs
parents:
diff changeset
   240
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   241
hgs
parents:
diff changeset
   242
void SettingsView::createPhoneCallItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   243
{
hgs
parents:
diff changeset
   244
hgs
parents:
diff changeset
   245
	mLoadSettings = parent;
hgs
parents:
diff changeset
   246
	//mLoadSettings = model->appendDataFormGroup(QString("Phone calls settings"), parent);
hgs
parents:
diff changeset
   247
	
hgs
parents:
diff changeset
   248
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   249
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   250
										  QString("Priority"), 
hgs
parents:
diff changeset
   251
										  mLoadSettings);
hgs
parents:
diff changeset
   252
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   253
hgs
parents:
diff changeset
   254
	mDestination = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   255
										QString("Phone number:"), 
hgs
parents:
diff changeset
   256
										mLoadSettings);
hgs
parents:
diff changeset
   257
	mDestination->setContentWidgetData("maximum" , 99999999999999999999.0 );
hgs
parents:
diff changeset
   258
	mDestination->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   259
hgs
parents:
diff changeset
   260
	mLength = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   261
										QString("Length (ms)"), 
hgs
parents:
diff changeset
   262
										mLoadSettings);
hgs
parents:
diff changeset
   263
	mLength->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   264
	mLength->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   265
	
hgs
parents:
diff changeset
   266
	// DataFormItem for idle length selection
hgs
parents:
diff changeset
   267
	mIdle = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   268
									  QString("Idle (ms)"), 
hgs
parents:
diff changeset
   269
									  mLoadSettings);
hgs
parents:
diff changeset
   270
	mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   271
	mIdle->setContentWidgetData("minimum", 0);			
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   274
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   275
										   mLoadSettings);
hgs
parents:
diff changeset
   276
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   277
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   278
}
hgs
parents:
diff changeset
   279
hgs
parents:
diff changeset
   280
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   281
hgs
parents:
diff changeset
   282
void SettingsView::createNetConnItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   283
{
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
	//mLoadSettings = model->appendDataFormGroup(QString("Network conn. settings"), parent);
hgs
parents:
diff changeset
   286
	mLoadSettings = parent;
hgs
parents:
diff changeset
   287
	
hgs
parents:
diff changeset
   288
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   289
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   290
										  QString("Priority"), 
hgs
parents:
diff changeset
   291
										  mLoadSettings);
hgs
parents:
diff changeset
   292
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
	mDestination = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   295
										QString("Destination URL:"), 
hgs
parents:
diff changeset
   296
										mLoadSettings);
hgs
parents:
diff changeset
   297
	
hgs
parents:
diff changeset
   298
	// DataFormItem for idle length selection
hgs
parents:
diff changeset
   299
	mIdle = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   300
									  QString("Idle (ms)"), 
hgs
parents:
diff changeset
   301
									  mLoadSettings);
hgs
parents:
diff changeset
   302
	mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   303
	mIdle->setContentWidgetData("minimum", 0);			
hgs
parents:
diff changeset
   304
hgs
parents:
diff changeset
   305
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   306
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   307
										   mLoadSettings);
hgs
parents:
diff changeset
   308
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   309
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   310
}
hgs
parents:
diff changeset
   311
hgs
parents:
diff changeset
   312
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   313
hgs
parents:
diff changeset
   314
void SettingsView::createKeyOrPointerItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   315
{
hgs
parents:
diff changeset
   316
	QString settingsName;
hgs
parents:
diff changeset
   317
	if (mCmdId == ELoadGenCmdNewLoadPointerEvent) {
hgs
parents:
diff changeset
   318
		settingsName = "Pointer events settings";
hgs
parents:
diff changeset
   319
	}
hgs
parents:
diff changeset
   320
	else {
hgs
parents:
diff changeset
   321
		settingsName = "Key presses settings";
hgs
parents:
diff changeset
   322
	}
hgs
parents:
diff changeset
   323
	//mLoadSettings = model->appendDataFormGroup(settingsName, parent);
hgs
parents:
diff changeset
   324
	mLoadSettings = parent;
hgs
parents:
diff changeset
   325
	
hgs
parents:
diff changeset
   326
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   327
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   328
										  QString("Priority"), 
hgs
parents:
diff changeset
   329
										  mLoadSettings);
hgs
parents:
diff changeset
   330
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
	
hgs
parents:
diff changeset
   333
	// DataFormItem for heartbeat length selection
hgs
parents:
diff changeset
   334
	mHeartBeat = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   335
									  QString("Heartbeat (ms)"), 
hgs
parents:
diff changeset
   336
									  mLoadSettings);
hgs
parents:
diff changeset
   337
	mHeartBeat->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   338
	mHeartBeat->setContentWidgetData("minimum", 0);		
hgs
parents:
diff changeset
   339
	
hgs
parents:
diff changeset
   340
	// Random variance
hgs
parents:
diff changeset
   341
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   342
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   343
										   mLoadSettings);
hgs
parents:
diff changeset
   344
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   345
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   346
}
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   349
hgs
parents:
diff changeset
   350
void SettingsView::createMessageItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   351
{
hgs
parents:
diff changeset
   352
	mLoadSettings = parent;
hgs
parents:
diff changeset
   353
	//mLoadSettings = model->appendDataFormGroup(QString("Messages settings"), parent);
hgs
parents:
diff changeset
   354
	
hgs
parents:
diff changeset
   355
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   356
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   357
										  QString("Priority"), 
hgs
parents:
diff changeset
   358
										  mLoadSettings);
hgs
parents:
diff changeset
   359
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   360
hgs
parents:
diff changeset
   361
	
hgs
parents:
diff changeset
   362
	mType = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   363
									  QString("Type"), 
hgs
parents:
diff changeset
   364
									  mLoadSettings);
hgs
parents:
diff changeset
   365
	mType->setContentWidgetData(QString("items"), MESSAGETYPES);	
hgs
parents:
diff changeset
   366
hgs
parents:
diff changeset
   367
hgs
parents:
diff changeset
   368
	mDestination = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   369
										QString("Phone number:"), 
hgs
parents:
diff changeset
   370
										mLoadSettings);
hgs
parents:
diff changeset
   371
	mDestination->setContentWidgetData("maximum" , 99999999999999999999.0 );
hgs
parents:
diff changeset
   372
	mDestination->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   373
	
hgs
parents:
diff changeset
   374
	mAmount	= mModel->insertDataFormItem(3, HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   375
									  QString("Maximum amount of messages"), 
hgs
parents:
diff changeset
   376
									  mLoadSettings);
hgs
parents:
diff changeset
   377
	mAmount->setContentWidgetData("maximum" , 1000);
hgs
parents:
diff changeset
   378
	mAmount->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   379
hgs
parents:
diff changeset
   380
	mLength = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   381
										QString("Message length"), 
hgs
parents:
diff changeset
   382
										mLoadSettings);
hgs
parents:
diff changeset
   383
	mLength->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   384
	mLength->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   385
hgs
parents:
diff changeset
   386
	// DataFormItem for idle length selection
hgs
parents:
diff changeset
   387
	mIdle = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   388
									  QString("Idle (ms)"), 
hgs
parents:
diff changeset
   389
									  mLoadSettings);
hgs
parents:
diff changeset
   390
	mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   391
	mIdle->setContentWidgetData("minimum", 0);			
hgs
parents:
diff changeset
   392
hgs
parents:
diff changeset
   393
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   394
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   395
										   mLoadSettings);
hgs
parents:
diff changeset
   396
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   397
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   398
}
hgs
parents:
diff changeset
   399
hgs
parents:
diff changeset
   400
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   401
hgs
parents:
diff changeset
   402
void SettingsView::createAppsItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   403
{
hgs
parents:
diff changeset
   404
	//mLoadSettings = model->appendDataFormGroup(QString("Applications settings"), parent);
hgs
parents:
diff changeset
   405
	mLoadSettings = parent;
hgs
parents:
diff changeset
   406
	
hgs
parents:
diff changeset
   407
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   408
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   409
										  QString("Priority"), 
hgs
parents:
diff changeset
   410
										  mLoadSettings);
hgs
parents:
diff changeset
   411
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   412
hgs
parents:
diff changeset
   413
	mMaxParallelApps = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   414
									  QString("Max parallel applications"), 
hgs
parents:
diff changeset
   415
									  mLoadSettings);
hgs
parents:
diff changeset
   416
	mMaxParallelApps->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   417
	mMaxParallelApps->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   418
hgs
parents:
diff changeset
   419
hgs
parents:
diff changeset
   420
	// DataFormItem for launching interval length selection
hgs
parents:
diff changeset
   421
	mLaunchingInterval = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   422
									  QString("Launching interval (ms)"), 
hgs
parents:
diff changeset
   423
									  mLoadSettings);
hgs
parents:
diff changeset
   424
	mLaunchingInterval->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   425
	mLaunchingInterval->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   426
	
hgs
parents:
diff changeset
   427
	// DataFormItem for key press type selection
hgs
parents:
diff changeset
   428
	mKeyPressType = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   429
										  QString("Key press type"), 
hgs
parents:
diff changeset
   430
										  mLoadSettings);
hgs
parents:
diff changeset
   431
	mKeyPressType->setContentWidgetData(QString("items"), KEYPRESSTYPES);	
hgs
parents:
diff changeset
   432
hgs
parents:
diff changeset
   433
	// DataFormItem for heartbeat length selection
hgs
parents:
diff changeset
   434
	mHeartBeat = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   435
									  QString("Key press interval (ms)"), 
hgs
parents:
diff changeset
   436
									  mLoadSettings);
hgs
parents:
diff changeset
   437
	mHeartBeat->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   438
	mHeartBeat->setContentWidgetData("minimum", 0);		
hgs
parents:
diff changeset
   439
	
hgs
parents:
diff changeset
   440
	// Random variance
hgs
parents:
diff changeset
   441
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   442
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   443
										   mLoadSettings);
hgs
parents:
diff changeset
   444
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   445
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   446
}
hgs
parents:
diff changeset
   447
hgs
parents:
diff changeset
   448
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   449
hgs
parents:
diff changeset
   450
void SettingsView::createPhotoItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   451
{
hgs
parents:
diff changeset
   452
	//mLoadSettings = model->appendDataFormGroup(QString("Camera settings"), parent);
hgs
parents:
diff changeset
   453
	mLoadSettings = parent;
hgs
parents:
diff changeset
   454
	
hgs
parents:
diff changeset
   455
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   456
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   457
										  QString("Priority"), 
hgs
parents:
diff changeset
   458
										  mLoadSettings);
hgs
parents:
diff changeset
   459
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   460
hgs
parents:
diff changeset
   461
	
hgs
parents:
diff changeset
   462
	// DataFormItem for idle length selection
hgs
parents:
diff changeset
   463
	mIdle = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   464
									  QString("Idle (ms)"), 
hgs
parents:
diff changeset
   465
									  mLoadSettings);
hgs
parents:
diff changeset
   466
	mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   467
	mIdle->setContentWidgetData("minimum", 0);		
hgs
parents:
diff changeset
   468
	
hgs
parents:
diff changeset
   469
	// Random variance
hgs
parents:
diff changeset
   470
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   471
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   472
										   mLoadSettings);
hgs
parents:
diff changeset
   473
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   474
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   475
}
hgs
parents:
diff changeset
   476
hgs
parents:
diff changeset
   477
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   478
hgs
parents:
diff changeset
   479
void SettingsView::createBtItems(HbDataFormModel *model, HbDataFormModelItem *parent)
hgs
parents:
diff changeset
   480
{
hgs
parents:
diff changeset
   481
	//mLoadSettings = model->appendDataFormGroup(QString("Bluetooth settings"), parent);
hgs
parents:
diff changeset
   482
	mLoadSettings = parent;
hgs
parents:
diff changeset
   483
	
hgs
parents:
diff changeset
   484
	// DataFormItem for priority selection
hgs
parents:
diff changeset
   485
	mPriority = model->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   486
										  QString("Priority"), 
hgs
parents:
diff changeset
   487
										  mLoadSettings);
hgs
parents:
diff changeset
   488
	mPriority->setContentWidgetData(QString("items"), PRIORITIES);
hgs
parents:
diff changeset
   489
hgs
parents:
diff changeset
   490
	
hgs
parents:
diff changeset
   491
	// DataFormItem for idle length selection
hgs
parents:
diff changeset
   492
	mIdle = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   493
									  QString("Idle (ms)"), 
hgs
parents:
diff changeset
   494
									  mLoadSettings);
hgs
parents:
diff changeset
   495
	mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   496
	mIdle->setContentWidgetData("minimum", 0);		
hgs
parents:
diff changeset
   497
	
hgs
parents:
diff changeset
   498
	// Random variance
hgs
parents:
diff changeset
   499
	mRandomVar = model->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   500
										   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   501
										   mLoadSettings);
hgs
parents:
diff changeset
   502
	mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   503
	mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   504
}
hgs
parents:
diff changeset
   505
hgs
parents:
diff changeset
   506
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   507
// Load attributes from engine & set the data into each form model item:
hgs
parents:
diff changeset
   508
hgs
parents:
diff changeset
   509
void SettingsView::loadAttributes()
hgs
parents:
diff changeset
   510
{
hgs
parents:
diff changeset
   511
	switch (mCmdId)
hgs
parents:
diff changeset
   512
	{
hgs
parents:
diff changeset
   513
		case ELoadGenCmdNewLoadCPULoad: {
hgs
parents:
diff changeset
   514
			mCPULoadAttributes = mEngineWrapper.getCpuLoadAttributes();
hgs
parents:
diff changeset
   515
			mPriority->setContentWidgetData(QString("selected"), mCPULoadAttributes.mPriority);
hgs
parents:
diff changeset
   516
			mLoadMode->setContentWidgetData(QString("selected"), mCPULoadAttributes.mMode);
hgs
parents:
diff changeset
   517
			mType->setContentWidgetData(QString("selected"), mCPULoadAttributes.mType);
hgs
parents:
diff changeset
   518
			
hgs
parents:
diff changeset
   519
			if (mCPULoadAttributes.mType == ECpuLoadTypePeriodic) {	//if (mCPULoadAttributes.mMode == ECpuLoadTypePeriodic) {
hgs
parents:
diff changeset
   520
			// Create and append to model these items: Length, Idle, Random variance, if load type is peridodic.
hgs
parents:
diff changeset
   521
				
hgs
parents:
diff changeset
   522
				// DataFormItem for load length selection
hgs
parents:
diff changeset
   523
				mLength = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   524
													QString("Length (ms)"), 
hgs
parents:
diff changeset
   525
													mLoadSettings);
hgs
parents:
diff changeset
   526
				mLength->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   527
				mLength->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   528
				
hgs
parents:
diff changeset
   529
				
hgs
parents:
diff changeset
   530
				// DataFormItem for load length selection
hgs
parents:
diff changeset
   531
				mIdle = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   532
												  QString("Idle (ms)"), 
hgs
parents:
diff changeset
   533
												  mLoadSettings);
hgs
parents:
diff changeset
   534
				mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
   535
				mIdle->setContentWidgetData("minimum", 0);			
hgs
parents:
diff changeset
   536
hgs
parents:
diff changeset
   537
				mRandomVar = mModel->appendDataFormItem(HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   538
													   QString("Random variance (%)"), 
hgs
parents:
diff changeset
   539
													   mLoadSettings);
hgs
parents:
diff changeset
   540
				mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
   541
				mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
   542
			
hgs
parents:
diff changeset
   543
				mLength->setContentWidgetData(QString("text"), mCPULoadAttributes.mLength);
hgs
parents:
diff changeset
   544
				mIdle->setContentWidgetData(QString("text"), mCPULoadAttributes.mIdle);
hgs
parents:
diff changeset
   545
				mRandomVar->setContentWidgetData(QString("text"), mCPULoadAttributes.mRandomVariance);
hgs
parents:
diff changeset
   546
			}
hgs
parents:
diff changeset
   547
hgs
parents:
diff changeset
   548
			// if there's more than one cpu available in the system, 
hgs
parents:
diff changeset
   549
			// insert possibility to select which cpu the load is generated to
hgs
parents:
diff changeset
   550
			if (mCPULoadAttributes.mCpuCount > 1)
hgs
parents:
diff changeset
   551
            {
hgs
parents:
diff changeset
   552
				QStringList cpuArray;
hgs
parents:
diff changeset
   553
				cpuArray.append("Free scheduling");
hgs
parents:
diff changeset
   554
				// add cpus to list:
hgs
parents:
diff changeset
   555
				for (int i = 0; i < mCPULoadAttributes.mCpuCount; i++) 
hgs
parents:
diff changeset
   556
					{
hgs
parents:
diff changeset
   557
					QString cpu = QString("CPU%1").arg(i);
hgs
parents:
diff changeset
   558
					cpuArray.append(cpu);
hgs
parents:
diff changeset
   559
					}    
hgs
parents:
diff changeset
   560
				// "All CPUs" means that one thread is started for each CPU.	
hgs
parents:
diff changeset
   561
				cpuArray.append("All CPUs");
hgs
parents:
diff changeset
   562
hgs
parents:
diff changeset
   563
				mCpu = mModel->appendDataFormItem(HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   564
													 QString("CPU"), 
hgs
parents:
diff changeset
   565
													 mLoadSettings);
hgs
parents:
diff changeset
   566
				mCpu->setContentWidgetData(QString("items"), cpuArray);				
hgs
parents:
diff changeset
   567
hgs
parents:
diff changeset
   568
				if (mCPULoadAttributes.mCpu < 0) {
hgs
parents:
diff changeset
   569
					mCpu->setContentWidgetData(QString("selected"), 0);
hgs
parents:
diff changeset
   570
				}				
hgs
parents:
diff changeset
   571
hgs
parents:
diff changeset
   572
				else if (mCPULoadAttributes.mCpu == KCPUSelection_AllCPUs) {
hgs
parents:
diff changeset
   573
					mCpu->setContentWidgetData(QString("selected"), cpuArray.count()-1);
hgs
parents:
diff changeset
   574
				}
hgs
parents:
diff changeset
   575
				// CPU is defined, set the correct CPU as default selection in query list
hgs
parents:
diff changeset
   576
				else {
hgs
parents:
diff changeset
   577
				// mCpu starts from zero (i.e. CPU0 is first CPU), but index zero
hgs
parents:
diff changeset
   578
				// in settings Ui form item is reserved for "Free scheduling", hence iCpu+1.
hgs
parents:
diff changeset
   579
					mCpu->setContentWidgetData(QString("selected"), mCPULoadAttributes.mCpu+1);
hgs
parents:
diff changeset
   580
				}
hgs
parents:
diff changeset
   581
            }
hgs
parents:
diff changeset
   582
			break;
hgs
parents:
diff changeset
   583
		}
hgs
parents:
diff changeset
   584
		case ELoadGenCmdNewLoadEatMemory: {
hgs
parents:
diff changeset
   585
			mMemoryEatAttributes = mEngineWrapper.getMemoryEatAttributes();
hgs
parents:
diff changeset
   586
			mPriority->setContentWidgetData(QString("selected"), mMemoryEatAttributes.mPriority);
hgs
parents:
diff changeset
   587
			mSource->setContentWidgetData(QString("selected"), mMemoryEatAttributes.mSource);
hgs
parents:
diff changeset
   588
			mType->setContentWidgetData(QString("selected"), mMemoryEatAttributes.mType);
hgs
parents:
diff changeset
   589
			
hgs
parents:
diff changeset
   590
			if (mMemoryEatAttributes.mType == EMemoryEatTypeWavy) {
hgs
parents:
diff changeset
   591
				mMinAmountToBeLeft	= mModel->insertDataFormItem(3, HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   592
												  QString("Min to be left (B)"), 
hgs
parents:
diff changeset
   593
												  mLoadSettings);
hgs
parents:
diff changeset
   594
				mMinAmountToBeLeft->setContentWidgetData("maximum" , 99999999999999);
hgs
parents:
diff changeset
   595
				mMinAmountToBeLeft->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   596
				
hgs
parents:
diff changeset
   597
				mMaxAmountToBeLeft	= mModel->insertDataFormItem(4, HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   598
												  QString("Max to be left (B)"), 
hgs
parents:
diff changeset
   599
												  mLoadSettings);
hgs
parents:
diff changeset
   600
				mMaxAmountToBeLeft->setContentWidgetData("maximum" , 99999999999999);
hgs
parents:
diff changeset
   601
				mMaxAmountToBeLeft->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   602
hgs
parents:
diff changeset
   603
				mMinAmountToBeLeft->setContentWidgetData(QString("text"), mMemoryEatAttributes.mRandomMinDes);
hgs
parents:
diff changeset
   604
				mMaxAmountToBeLeft->setContentWidgetData(QString("text"), mMemoryEatAttributes.mRandomMaxDes);
hgs
parents:
diff changeset
   605
			}
hgs
parents:
diff changeset
   606
			else if (mMemoryEatAttributes.mType == EMemoryEatTypeMemoryToEat ||
hgs
parents:
diff changeset
   607
			         mMemoryEatAttributes.mType == EMemoryEatTypeMemoryToBeLeft ) {
hgs
parents:
diff changeset
   608
				mAmount	= mModel->insertDataFormItem(3, HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
   609
												  QString("Amout(B)"), 
hgs
parents:
diff changeset
   610
												  mLoadSettings);
hgs
parents:
diff changeset
   611
				mAmount->setContentWidgetData("maximum" , 999999999999999);
hgs
parents:
diff changeset
   612
				mAmount->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
   613
				
hgs
parents:
diff changeset
   614
				mAmount->setContentWidgetData(QString("text"), mMemoryEatAttributes.mAmount);	 
hgs
parents:
diff changeset
   615
			}
hgs
parents:
diff changeset
   616
			mBuffer->setContentWidgetData(QString("text"), mMemoryEatAttributes.mBuffer);
hgs
parents:
diff changeset
   617
			mIdle->setContentWidgetData(QString("text"), mMemoryEatAttributes.mIdle);
hgs
parents:
diff changeset
   618
			mRandomVar->setContentWidgetData(QString("text"), mMemoryEatAttributes.mRandomVariance);
hgs
parents:
diff changeset
   619
			break;
hgs
parents:
diff changeset
   620
		}
hgs
parents:
diff changeset
   621
		case ELoadGenCmdNewLoadPhoneCall: {
hgs
parents:
diff changeset
   622
			mPhoneCallAttributes = mEngineWrapper.getPhoneCallAttributes();
hgs
parents:
diff changeset
   623
			mPriority->setContentWidgetData(QString("selected"), mPhoneCallAttributes.mPriority);
hgs
parents:
diff changeset
   624
			mDestination->setContentWidgetData(QString("text"), mPhoneCallAttributes.mDestination);
hgs
parents:
diff changeset
   625
			mLength->setContentWidgetData(QString("text"), mPhoneCallAttributes.mLength);
hgs
parents:
diff changeset
   626
			mIdle->setContentWidgetData(QString("text"), mPhoneCallAttributes.mIdle);
hgs
parents:
diff changeset
   627
			mRandomVar->setContentWidgetData(QString("text"), mPhoneCallAttributes.mRandomVariance);
hgs
parents:
diff changeset
   628
			break;
hgs
parents:
diff changeset
   629
		}
hgs
parents:
diff changeset
   630
		case ELoadGenCmdNewLoadNetConn: {
hgs
parents:
diff changeset
   631
			mNetConnAttributes = mEngineWrapper.getNetConnAttributes();
hgs
parents:
diff changeset
   632
			mPriority->setContentWidgetData(QString("selected"), mNetConnAttributes.mPriority);
hgs
parents:
diff changeset
   633
			mDestination->setContentWidgetData(QString("text"), mNetConnAttributes.mDestination);
hgs
parents:
diff changeset
   634
			mIdle->setContentWidgetData(QString("text"), mNetConnAttributes.mIdle);
hgs
parents:
diff changeset
   635
			mRandomVar->setContentWidgetData(QString("text"), mNetConnAttributes.mRandomVariance);
hgs
parents:
diff changeset
   636
			break;
hgs
parents:
diff changeset
   637
		}
hgs
parents:
diff changeset
   638
		case ELoadGenCmdNewLoadKeyPress: {
hgs
parents:
diff changeset
   639
			mKeyPressAttributes = mEngineWrapper.getKeyPressAttributes();
hgs
parents:
diff changeset
   640
			mPriority->setContentWidgetData(QString("selected"), mKeyPressAttributes.mPriority);
hgs
parents:
diff changeset
   641
			mHeartBeat->setContentWidgetData(QString("text"), mKeyPressAttributes.mHeartBeat);
hgs
parents:
diff changeset
   642
			mRandomVar->setContentWidgetData(QString("text"), mKeyPressAttributes.mRandomVariance);			
hgs
parents:
diff changeset
   643
			break;
hgs
parents:
diff changeset
   644
		}
hgs
parents:
diff changeset
   645
		case ELoadGenCmdNewLoadPointerEvent: { 
hgs
parents:
diff changeset
   646
			mPointerEventAttributes = mEngineWrapper.getPointerEventAttributes();
hgs
parents:
diff changeset
   647
			mPriority->setContentWidgetData(QString("selected"), mPointerEventAttributes.mPriority);
hgs
parents:
diff changeset
   648
			mHeartBeat->setContentWidgetData(QString("text"), mPointerEventAttributes.mHeartBeat);
hgs
parents:
diff changeset
   649
			mRandomVar->setContentWidgetData(QString("text"), mPointerEventAttributes.mRandomVariance);				
hgs
parents:
diff changeset
   650
			break;
hgs
parents:
diff changeset
   651
		}
hgs
parents:
diff changeset
   652
		case ELoadGenCmdNewLoadMessages: {
hgs
parents:
diff changeset
   653
			mMessageAttributes = mEngineWrapper.getMessageAttributes();
hgs
parents:
diff changeset
   654
			mPriority->setContentWidgetData(QString("selected"), mMessageAttributes.mPriority);
hgs
parents:
diff changeset
   655
			mType->setContentWidgetData(QString("selected"), mMessageAttributes.mMessageType);
hgs
parents:
diff changeset
   656
			mDestination->setContentWidgetData(QString("text"), mMessageAttributes.mDestination);
hgs
parents:
diff changeset
   657
			mAmount->setContentWidgetData(QString("text"), mMessageAttributes.mAmount);	 
hgs
parents:
diff changeset
   658
			mLength->setContentWidgetData(QString("text"), mMessageAttributes.mLength);
hgs
parents:
diff changeset
   659
			mIdle->setContentWidgetData(QString("text"), mMessageAttributes.mIdle);
hgs
parents:
diff changeset
   660
			mRandomVar->setContentWidgetData(QString("text"), mMessageAttributes.mRandomVariance);
hgs
parents:
diff changeset
   661
			break;
hgs
parents:
diff changeset
   662
		}
hgs
parents:
diff changeset
   663
		case ELoadGenCmdNewLoadApplications: {
hgs
parents:
diff changeset
   664
			mApplicationsAttributes = mEngineWrapper.getApplicationsAttributes();
hgs
parents:
diff changeset
   665
			mPriority->setContentWidgetData(QString("selected"), mApplicationsAttributes.mPriority);
hgs
parents:
diff changeset
   666
			mMaxParallelApps->setContentWidgetData(QString("text"), mApplicationsAttributes.mMaxOpen);
hgs
parents:
diff changeset
   667
			mHeartBeat->setContentWidgetData(QString("text"), mApplicationsAttributes.mHeartBeat);
hgs
parents:
diff changeset
   668
			mLaunchingInterval->setContentWidgetData(QString("text"), mApplicationsAttributes.mLaunchingInterval);
hgs
parents:
diff changeset
   669
			mKeyPressType->setContentWidgetData(QString("selected"), mApplicationsAttributes.mKeyPressType);
hgs
parents:
diff changeset
   670
			mRandomVar->setContentWidgetData(QString("text"), mApplicationsAttributes.mRandomVariance);						
hgs
parents:
diff changeset
   671
			break;
hgs
parents:
diff changeset
   672
		}
hgs
parents:
diff changeset
   673
		case ELoadGenCmdNewLoadPhotoCaptures: {
hgs
parents:
diff changeset
   674
			mPhotoCaptureAttributes = mEngineWrapper.getPhotoCaptureAttributes();
hgs
parents:
diff changeset
   675
			mPriority->setContentWidgetData(QString("selected"), mPhotoCaptureAttributes.mPriority);
hgs
parents:
diff changeset
   676
			mIdle->setContentWidgetData(QString("text"), mPhotoCaptureAttributes.mIdle);
hgs
parents:
diff changeset
   677
			mRandomVar->setContentWidgetData(QString("text"), mPhotoCaptureAttributes.mRandomVariance);
hgs
parents:
diff changeset
   678
			
hgs
parents:
diff changeset
   679
			// if there's any cameras avaialable in system, construct form item for it/them:
hgs
parents:
diff changeset
   680
			if (mPhotoCaptureAttributes.mCameraCount > 0)
hgs
parents:
diff changeset
   681
            {
hgs
parents:
diff changeset
   682
				QStringList devices;
hgs
parents:
diff changeset
   683
				// add cameras to list:
hgs
parents:
diff changeset
   684
				for (int i = 0; i < mPhotoCaptureAttributes.mCameraCount; i++) 
hgs
parents:
diff changeset
   685
					{
hgs
parents:
diff changeset
   686
					QString cam = QString("Camera %1").arg(i);
hgs
parents:
diff changeset
   687
					devices.append(cam);
hgs
parents:
diff changeset
   688
					}    
hgs
parents:
diff changeset
   689
				mCamera = mModel->insertDataFormItem(1, HbDataFormModelItem::RadioButtonListItem, 
hgs
parents:
diff changeset
   690
													 QString("Device"), 
hgs
parents:
diff changeset
   691
													 mLoadSettings);
hgs
parents:
diff changeset
   692
				mCamera->setContentWidgetData(QString("items"), devices);
hgs
parents:
diff changeset
   693
				mCamera->setContentWidgetData(QString("selected"), mPhotoCaptureAttributes.mCamera);
hgs
parents:
diff changeset
   694
            }
hgs
parents:
diff changeset
   695
			break;
hgs
parents:
diff changeset
   696
		}
hgs
parents:
diff changeset
   697
		case ELoadGenCmdNewLoadBluetooth: {
hgs
parents:
diff changeset
   698
			mBluetoothAttributes = mEngineWrapper.getBluetoothAttributes();
hgs
parents:
diff changeset
   699
			mPriority->setContentWidgetData(QString("selected"), mBluetoothAttributes.mPriority);
hgs
parents:
diff changeset
   700
			mIdle->setContentWidgetData(QString("text"), mBluetoothAttributes.mIdle);
hgs
parents:
diff changeset
   701
			mRandomVar->setContentWidgetData(QString("text"), mBluetoothAttributes.mRandomVariance);	
hgs
parents:
diff changeset
   702
			break;
hgs
parents:
diff changeset
   703
		}
hgs
parents:
diff changeset
   704
		
hgs
parents:
diff changeset
   705
		default: {
hgs
parents:
diff changeset
   706
			break;
hgs
parents:
diff changeset
   707
		}
hgs
parents:
diff changeset
   708
	}
hgs
parents:
diff changeset
   709
}
hgs
parents:
diff changeset
   710
hgs
parents:
diff changeset
   711
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   712
hgs
parents:
diff changeset
   713
void SettingsView::setDefaultSettings()
hgs
parents:
diff changeset
   714
{
hgs
parents:
diff changeset
   715
hgs
parents:
diff changeset
   716
}
hgs
parents:
diff changeset
   717
hgs
parents:
diff changeset
   718
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   719
hgs
parents:
diff changeset
   720
void SettingsView::backButtonPressed()
hgs
parents:
diff changeset
   721
{
hgs
parents:
diff changeset
   722
	okExit();	
hgs
parents:
diff changeset
   723
}
hgs
parents:
diff changeset
   724
hgs
parents:
diff changeset
   725
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   726
hgs
parents:
diff changeset
   727
void SettingsView::saveSettings()
hgs
parents:
diff changeset
   728
{
hgs
parents:
diff changeset
   729
	switch (mCmdId) {
hgs
parents:
diff changeset
   730
		case ELoadGenCmdNewLoadCPULoad: {
hgs
parents:
diff changeset
   731
			saveCpuLoadSettings();
hgs
parents:
diff changeset
   732
			break;
hgs
parents:
diff changeset
   733
		}
hgs
parents:
diff changeset
   734
		case ELoadGenCmdNewLoadEatMemory: {
hgs
parents:
diff changeset
   735
			saveEatMemorySettings();
hgs
parents:
diff changeset
   736
			break;
hgs
parents:
diff changeset
   737
		}
hgs
parents:
diff changeset
   738
		case ELoadGenCmdNewLoadPhoneCall: {
hgs
parents:
diff changeset
   739
			savePhoneCallSettings();
hgs
parents:
diff changeset
   740
			break;
hgs
parents:
diff changeset
   741
		}
hgs
parents:
diff changeset
   742
		case ELoadGenCmdNewLoadNetConn: {
hgs
parents:
diff changeset
   743
			saveNetConnSettings();
hgs
parents:
diff changeset
   744
			break;
hgs
parents:
diff changeset
   745
		}
hgs
parents:
diff changeset
   746
		case ELoadGenCmdNewLoadKeyPress: {
hgs
parents:
diff changeset
   747
			saveKeyPressSettings();
hgs
parents:
diff changeset
   748
			break;
hgs
parents:
diff changeset
   749
		}
hgs
parents:
diff changeset
   750
		case ELoadGenCmdNewLoadPointerEvent: {
hgs
parents:
diff changeset
   751
			savePointerEventSettings();
hgs
parents:
diff changeset
   752
			break;
hgs
parents:
diff changeset
   753
		}
hgs
parents:
diff changeset
   754
		case ELoadGenCmdNewLoadMessages: {
hgs
parents:
diff changeset
   755
			saveMessageSettings();
hgs
parents:
diff changeset
   756
			break;
hgs
parents:
diff changeset
   757
		}
hgs
parents:
diff changeset
   758
		case ELoadGenCmdNewLoadApplications: {
hgs
parents:
diff changeset
   759
			saveApplicationsSettings();
hgs
parents:
diff changeset
   760
			break;
hgs
parents:
diff changeset
   761
		}
hgs
parents:
diff changeset
   762
		case ELoadGenCmdNewLoadPhotoCaptures: {
hgs
parents:
diff changeset
   763
			savePhotoSettings();
hgs
parents:
diff changeset
   764
			break;
hgs
parents:
diff changeset
   765
		}
hgs
parents:
diff changeset
   766
		case ELoadGenCmdNewLoadBluetooth: {
hgs
parents:
diff changeset
   767
			saveBtSettings();
hgs
parents:
diff changeset
   768
			break;
hgs
parents:
diff changeset
   769
		}
hgs
parents:
diff changeset
   770
		default: {
hgs
parents:
diff changeset
   771
			break;
hgs
parents:
diff changeset
   772
		}
hgs
parents:
diff changeset
   773
	}
hgs
parents:
diff changeset
   774
}
hgs
parents:
diff changeset
   775
hgs
parents:
diff changeset
   776
// ---------------------------------------------------------------------------	
hgs
parents:
diff changeset
   777
	
hgs
parents:
diff changeset
   778
void SettingsView::saveCpuLoadSettings()
hgs
parents:
diff changeset
   779
{
hgs
parents:
diff changeset
   780
	mCPULoadAttributes.mPriority = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   781
	mCPULoadAttributes.mMode = mLoadMode->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   782
	mCPULoadAttributes.mType = mType->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   783
	if (mType->contentWidgetData("selected").toInt() == ECpuLoadTypePeriodic) {
hgs
parents:
diff changeset
   784
		// TODO: remove temp checks if (mLength != NULL) etc. when HbDataFormModelItem bugs fixed.
hgs
parents:
diff changeset
   785
		if (mLength != NULL) {
hgs
parents:
diff changeset
   786
			mCPULoadAttributes.mLength = mLength->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   787
		}
hgs
parents:
diff changeset
   788
		if (mIdle != NULL) {			
hgs
parents:
diff changeset
   789
			mCPULoadAttributes.mIdle = mIdle->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   790
		}
hgs
parents:
diff changeset
   791
		if (mRandomVar != NULL) {
hgs
parents:
diff changeset
   792
			int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   793
			if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   794
				{
hgs
parents:
diff changeset
   795
				mCPULoadAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   796
				}
hgs
parents:
diff changeset
   797
			else
hgs
parents:
diff changeset
   798
				{
hgs
parents:
diff changeset
   799
				mCPULoadAttributes.mRandomVariance = mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   800
				}
hgs
parents:
diff changeset
   801
		}
hgs
parents:
diff changeset
   802
	}
hgs
parents:
diff changeset
   803
hgs
parents:
diff changeset
   804
	// we are running in SMP environment
hgs
parents:
diff changeset
   805
	if (mCPULoadAttributes.mCpuCount > 1)
hgs
parents:
diff changeset
   806
		{
hgs
parents:
diff changeset
   807
		TInt currentValueIndex = mCpu->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   808
		// user selected a specific CPU in which the load thread should be run in.
hgs
parents:
diff changeset
   809
		if (currentValueIndex == 0)
hgs
parents:
diff changeset
   810
			{
hgs
parents:
diff changeset
   811
			// User selected "Free scheduling"
hgs
parents:
diff changeset
   812
			mCPULoadAttributes.mCpu = KCPUSelection_FreeScheduling;
hgs
parents:
diff changeset
   813
			}            
hgs
parents:
diff changeset
   814
		else if( currentValueIndex == (mCpu->childCount()-1) )
hgs
parents:
diff changeset
   815
			{
hgs
parents:
diff changeset
   816
			// User selected "All CPUs", which is the last item in the form radio button selection list
hgs
parents:
diff changeset
   817
			mCPULoadAttributes.mCpu = KCPUSelection_AllCPUs;
hgs
parents:
diff changeset
   818
			}
hgs
parents:
diff changeset
   819
		else
hgs
parents:
diff changeset
   820
			{                
hgs
parents:
diff changeset
   821
			// mCpu should start from zero (CPU0 is the first cpu)
hgs
parents:
diff changeset
   822
			// but zero in Ui form item index means "Free scheduling". CPU0 in
hgs
parents:
diff changeset
   823
			// index of form radio button list is at index 1, hence -1.
hgs
parents:
diff changeset
   824
			mCPULoadAttributes.mCpu = currentValueIndex - 1;
hgs
parents:
diff changeset
   825
			}
hgs
parents:
diff changeset
   826
		}
hgs
parents:
diff changeset
   827
hgs
parents:
diff changeset
   828
	
hgs
parents:
diff changeset
   829
}
hgs
parents:
diff changeset
   830
hgs
parents:
diff changeset
   831
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   832
hgs
parents:
diff changeset
   833
void SettingsView::saveEatMemorySettings()
hgs
parents:
diff changeset
   834
{
hgs
parents:
diff changeset
   835
	mMemoryEatAttributes.mPriority = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   836
	mMemoryEatAttributes.mSource = mSource->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   837
	mMemoryEatAttributes.mType = mType->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   838
	
hgs
parents:
diff changeset
   839
	if (mType->contentWidgetData("selected").toInt() == EMemoryEatTypeWavy) {
hgs
parents:
diff changeset
   840
		// TODO: remove temp checks if (mLength != NULL) etc. when HbDataFormModelItem bugs fixed.
hgs
parents:
diff changeset
   841
		if (mMinAmountToBeLeft != NULL) {
hgs
parents:
diff changeset
   842
			mMemoryEatAttributes.mRandomMin = 
hgs
parents:
diff changeset
   843
				mMinAmountToBeLeft->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   844
		}
hgs
parents:
diff changeset
   845
		if (mMaxAmountToBeLeft != NULL) {
hgs
parents:
diff changeset
   846
			mMemoryEatAttributes.mRandomMax = 
hgs
parents:
diff changeset
   847
				mMaxAmountToBeLeft->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   848
		}
hgs
parents:
diff changeset
   849
	}
hgs
parents:
diff changeset
   850
	else if (mType->contentWidgetData("selected").toInt() == EMemoryEatTypeMemoryToEat ||
hgs
parents:
diff changeset
   851
	         mType->contentWidgetData("selected").toInt() == EMemoryEatTypeMemoryToBeLeft) {
hgs
parents:
diff changeset
   852
		if (mAmount != NULL) {
hgs
parents:
diff changeset
   853
			//mMemoryEatAttributes.mAmount = mAmount->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   854
		mMemoryEatAttributes.mAmount = mAmount->contentWidgetData("text").toDouble();
hgs
parents:
diff changeset
   855
		}
hgs
parents:
diff changeset
   856
	}
hgs
parents:
diff changeset
   857
	mMemoryEatAttributes.mBuffer = mBuffer->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   858
	mMemoryEatAttributes.mIdle = mIdle->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   859
	
hgs
parents:
diff changeset
   860
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   861
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   862
		{
hgs
parents:
diff changeset
   863
		mMemoryEatAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   864
		}
hgs
parents:
diff changeset
   865
	else
hgs
parents:
diff changeset
   866
		{
hgs
parents:
diff changeset
   867
		mMemoryEatAttributes.mRandomVariance = mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   868
		}
hgs
parents:
diff changeset
   869
	
hgs
parents:
diff changeset
   870
    // swap min- & max values if they are in wrong order
hgs
parents:
diff changeset
   871
	if (mMemoryEatAttributes.mRandomMin > mMemoryEatAttributes.mRandomMax)
hgs
parents:
diff changeset
   872
		{
hgs
parents:
diff changeset
   873
		qint64 temp(mMemoryEatAttributes.mRandomMin);
hgs
parents:
diff changeset
   874
		mMemoryEatAttributes.mRandomMin = mMemoryEatAttributes.mRandomMax;
hgs
parents:
diff changeset
   875
		mMemoryEatAttributes.mRandomMax = temp; 
hgs
parents:
diff changeset
   876
		}	
hgs
parents:
diff changeset
   877
}
hgs
parents:
diff changeset
   878
hgs
parents:
diff changeset
   879
// ---------------------------------------------------------------------------	
hgs
parents:
diff changeset
   880
	
hgs
parents:
diff changeset
   881
void SettingsView::savePhoneCallSettings()
hgs
parents:
diff changeset
   882
{
hgs
parents:
diff changeset
   883
	mPhoneCallAttributes.mPriority = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   884
	mPhoneCallAttributes.mLength   = mLength->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   885
	mPhoneCallAttributes.mIdle     = mIdle->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   886
	
hgs
parents:
diff changeset
   887
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   888
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   889
		{
hgs
parents:
diff changeset
   890
		mPhoneCallAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   891
		}
hgs
parents:
diff changeset
   892
	else
hgs
parents:
diff changeset
   893
		{
hgs
parents:
diff changeset
   894
		mPhoneCallAttributes.mRandomVariance = mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   895
		}
hgs
parents:
diff changeset
   896
	
hgs
parents:
diff changeset
   897
	
hgs
parents:
diff changeset
   898
	mPhoneCallAttributes.mDestination    = mDestination->contentWidgetData("text").toString();
hgs
parents:
diff changeset
   899
}
hgs
parents:
diff changeset
   900
hgs
parents:
diff changeset
   901
// ---------------------------------------------------------------------------	
hgs
parents:
diff changeset
   902
	
hgs
parents:
diff changeset
   903
void SettingsView::saveNetConnSettings()
hgs
parents:
diff changeset
   904
{
hgs
parents:
diff changeset
   905
	mPhoneCallAttributes.mPriority = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   906
	mPhoneCallAttributes.mIdle     = mIdle->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   907
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   908
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   909
		{
hgs
parents:
diff changeset
   910
		mPhoneCallAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   911
		}
hgs
parents:
diff changeset
   912
	else
hgs
parents:
diff changeset
   913
		{
hgs
parents:
diff changeset
   914
		mPhoneCallAttributes.mRandomVariance = mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   915
		}
hgs
parents:
diff changeset
   916
	mPhoneCallAttributes.mDestination    = mDestination->contentWidgetData("text").toString();
hgs
parents:
diff changeset
   917
}
hgs
parents:
diff changeset
   918
hgs
parents:
diff changeset
   919
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   920
hgs
parents:
diff changeset
   921
void SettingsView::saveKeyPressSettings()
hgs
parents:
diff changeset
   922
{
hgs
parents:
diff changeset
   923
	mKeyPressAttributes.mPriority  = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   924
	mKeyPressAttributes.mHeartBeat = mHeartBeat->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   925
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   926
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   927
		{
hgs
parents:
diff changeset
   928
		mKeyPressAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   929
		}
hgs
parents:
diff changeset
   930
	else
hgs
parents:
diff changeset
   931
		{
hgs
parents:
diff changeset
   932
		mKeyPressAttributes.mRandomVariance =  mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   933
		}
hgs
parents:
diff changeset
   934
	
hgs
parents:
diff changeset
   935
}
hgs
parents:
diff changeset
   936
hgs
parents:
diff changeset
   937
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   938
hgs
parents:
diff changeset
   939
void SettingsView::savePointerEventSettings()
hgs
parents:
diff changeset
   940
{
hgs
parents:
diff changeset
   941
	mPointerEventAttributes.mPriority  = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   942
	mPointerEventAttributes.mHeartBeat = mHeartBeat->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   943
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   944
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   945
		{
hgs
parents:
diff changeset
   946
		mPointerEventAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   947
		}
hgs
parents:
diff changeset
   948
	else
hgs
parents:
diff changeset
   949
		{
hgs
parents:
diff changeset
   950
		mPointerEventAttributes.mRandomVariance = mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   951
		}
hgs
parents:
diff changeset
   952
	
hgs
parents:
diff changeset
   953
}
hgs
parents:
diff changeset
   954
hgs
parents:
diff changeset
   955
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   956
hgs
parents:
diff changeset
   957
void SettingsView::saveMessageSettings()
hgs
parents:
diff changeset
   958
{
hgs
parents:
diff changeset
   959
	mMessageAttributes.mPriority    = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   960
	mMessageAttributes.mMessageType = mType->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   961
	mMessageAttributes.mDestination = mDestination->contentWidgetData("text").toString();
hgs
parents:
diff changeset
   962
	int amount = mAmount->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   963
	if( amount  >=0 && amount <= mAmount->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   964
		{
hgs
parents:
diff changeset
   965
		mMessageAttributes.mAmount = mAmount->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   966
		}
hgs
parents:
diff changeset
   967
	else
hgs
parents:
diff changeset
   968
		{
hgs
parents:
diff changeset
   969
		mMessageAttributes.mAmount = mAmount->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   970
		}
hgs
parents:
diff changeset
   971
	mMessageAttributes.mLength = mLength->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   972
	mMessageAttributes.mIdle = mIdle->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   973
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   974
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   975
		{
hgs
parents:
diff changeset
   976
		mMessageAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   977
		}
hgs
parents:
diff changeset
   978
	else
hgs
parents:
diff changeset
   979
		{
hgs
parents:
diff changeset
   980
		mMessageAttributes.mRandomVariance =  mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   981
		}
hgs
parents:
diff changeset
   982
hgs
parents:
diff changeset
   983
}
hgs
parents:
diff changeset
   984
hgs
parents:
diff changeset
   985
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   986
hgs
parents:
diff changeset
   987
void SettingsView::saveApplicationsSettings()
hgs
parents:
diff changeset
   988
{
hgs
parents:
diff changeset
   989
	mApplicationsAttributes.mPriority  = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
   990
	int maxApps = mMaxParallelApps->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   991
	if( maxApps >=0 && maxApps <= mMaxParallelApps->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
   992
		{
hgs
parents:
diff changeset
   993
		mApplicationsAttributes.mMaxOpen   = mMaxParallelApps->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
   994
		}
hgs
parents:
diff changeset
   995
	else
hgs
parents:
diff changeset
   996
		{
hgs
parents:
diff changeset
   997
		mApplicationsAttributes.mMaxOpen   = mMaxParallelApps->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
   998
		}
hgs
parents:
diff changeset
   999
	mApplicationsAttributes.mLaunchingInterval   = mLaunchingInterval->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1000
	mApplicationsAttributes.mKeyPressType  = mKeyPressType->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
  1001
	mPointerEventAttributes.mHeartBeat = mHeartBeat->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1002
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1003
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
  1004
		{
hgs
parents:
diff changeset
  1005
		mApplicationsAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1006
		}
hgs
parents:
diff changeset
  1007
	else
hgs
parents:
diff changeset
  1008
		{
hgs
parents:
diff changeset
  1009
		mApplicationsAttributes.mRandomVariance = mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
  1010
		}
hgs
parents:
diff changeset
  1011
}
hgs
parents:
diff changeset
  1012
hgs
parents:
diff changeset
  1013
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1014
hgs
parents:
diff changeset
  1015
void SettingsView::savePhotoSettings()
hgs
parents:
diff changeset
  1016
{
hgs
parents:
diff changeset
  1017
	mPhotoCaptureAttributes.mPriority  = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
  1018
	mPhotoCaptureAttributes.mIdle = mIdle->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1019
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1020
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
  1021
		{
hgs
parents:
diff changeset
  1022
		mPhotoCaptureAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1023
		}
hgs
parents:
diff changeset
  1024
	else
hgs
parents:
diff changeset
  1025
		{
hgs
parents:
diff changeset
  1026
		mPhotoCaptureAttributes.mRandomVariance = mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
  1027
		}
hgs
parents:
diff changeset
  1028
	
hgs
parents:
diff changeset
  1029
	// update only if there's more than one camera device available in the system, 
hgs
parents:
diff changeset
  1030
	// for use case of one camera available, the selection cannot be changed by user.
hgs
parents:
diff changeset
  1031
	if (mPhotoCaptureAttributes.mCameraCount > 1)
hgs
parents:
diff changeset
  1032
	{
hgs
parents:
diff changeset
  1033
	mPhotoCaptureAttributes.mCamera = mCamera->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
  1034
	}
hgs
parents:
diff changeset
  1035
}
hgs
parents:
diff changeset
  1036
hgs
parents:
diff changeset
  1037
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1038
hgs
parents:
diff changeset
  1039
void SettingsView::saveBtSettings()
hgs
parents:
diff changeset
  1040
{
hgs
parents:
diff changeset
  1041
	mBluetoothAttributes.mPriority  = mPriority->contentWidgetData("selected").toInt();
hgs
parents:
diff changeset
  1042
	mBluetoothAttributes.mIdle = mIdle->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1043
	int randVar = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1044
	if( randVar >=0 && randVar <= mRandomVar->contentWidgetData("maximum").toInt() )
hgs
parents:
diff changeset
  1045
		{
hgs
parents:
diff changeset
  1046
		mBluetoothAttributes.mRandomVariance = mRandomVar->contentWidgetData("text").toInt();
hgs
parents:
diff changeset
  1047
		}
hgs
parents:
diff changeset
  1048
	else
hgs
parents:
diff changeset
  1049
		{
hgs
parents:
diff changeset
  1050
		mBluetoothAttributes.mRandomVariance =  mRandomVar->contentWidgetData("maximum").toInt();
hgs
parents:
diff changeset
  1051
		}
hgs
parents:
diff changeset
  1052
	
hgs
parents:
diff changeset
  1053
}
hgs
parents:
diff changeset
  1054
hgs
parents:
diff changeset
  1055
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1056
hgs
parents:
diff changeset
  1057
void SettingsView::cancelled()
hgs
parents:
diff changeset
  1058
{
hgs
parents:
diff changeset
  1059
	connect(this, 
hgs
parents:
diff changeset
  1060
		SIGNAL(loadCanclled()), 
hgs
parents:
diff changeset
  1061
		&mEngineWrapper, 
hgs
parents:
diff changeset
  1062
		SLOT(loadSettingsCanclled()));
hgs
parents:
diff changeset
  1063
	emit loadCanclled();
hgs
parents:
diff changeset
  1064
	
hgs
parents:
diff changeset
  1065
    mMainWindow.removeView(this);
hgs
parents:
diff changeset
  1066
    mMainWindow.setCurrentView(&mMainView, true);
hgs
parents:
diff changeset
  1067
    deleteLater();
hgs
parents:
diff changeset
  1068
}
hgs
parents:
diff changeset
  1069
hgs
parents:
diff changeset
  1070
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1071
hgs
parents:
diff changeset
  1072
void SettingsView::okExit()
hgs
parents:
diff changeset
  1073
{
hgs
parents:
diff changeset
  1074
	saveSettings();
hgs
parents:
diff changeset
  1075
	setLoadAttributes();
hgs
parents:
diff changeset
  1076
    connect(this, 
hgs
parents:
diff changeset
  1077
			SIGNAL(loadCompleted(TLoadGenCommandIds)), 
hgs
parents:
diff changeset
  1078
			&mEngineWrapper, 
hgs
parents:
diff changeset
  1079
			SLOT(loadAddedOrEdited(TLoadGenCommandIds)));
hgs
parents:
diff changeset
  1080
	emit loadCompleted(mCmdId);
hgs
parents:
diff changeset
  1081
			
hgs
parents:
diff changeset
  1082
    mMainWindow.removeView(this);
hgs
parents:
diff changeset
  1083
    mMainWindow.setCurrentView(&mMainView, true);
hgs
parents:
diff changeset
  1084
    deleteLater();
hgs
parents:
diff changeset
  1085
}
hgs
parents:
diff changeset
  1086
hgs
parents:
diff changeset
  1087
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1088
hgs
parents:
diff changeset
  1089
void SettingsView::setLoadAttributes()
hgs
parents:
diff changeset
  1090
{
hgs
parents:
diff changeset
  1091
	switch (mCmdId) {
hgs
parents:
diff changeset
  1092
		case ELoadGenCmdNewLoadCPULoad: {
hgs
parents:
diff changeset
  1093
			mEngineWrapper.setCpuLoadAttributes(mCPULoadAttributes);
hgs
parents:
diff changeset
  1094
			break;
hgs
parents:
diff changeset
  1095
		}
hgs
parents:
diff changeset
  1096
		case ELoadGenCmdNewLoadEatMemory: {
hgs
parents:
diff changeset
  1097
			mEngineWrapper.setMemoryEatAttributes(mMemoryEatAttributes);
hgs
parents:
diff changeset
  1098
			break;
hgs
parents:
diff changeset
  1099
		}
hgs
parents:
diff changeset
  1100
		case ELoadGenCmdNewLoadPhoneCall: {
hgs
parents:
diff changeset
  1101
			mEngineWrapper.setPhoneCallAttributes(mPhoneCallAttributes);
hgs
parents:
diff changeset
  1102
			break;
hgs
parents:
diff changeset
  1103
		}
hgs
parents:
diff changeset
  1104
		case ELoadGenCmdNewLoadNetConn: {
hgs
parents:
diff changeset
  1105
			mEngineWrapper.setNetConnAttributes(mNetConnAttributes);
hgs
parents:
diff changeset
  1106
			break;
hgs
parents:
diff changeset
  1107
		}
hgs
parents:
diff changeset
  1108
		case ELoadGenCmdNewLoadKeyPress: {
hgs
parents:
diff changeset
  1109
			mEngineWrapper.setKeyPressAttributes(mKeyPressAttributes);
hgs
parents:
diff changeset
  1110
			break;
hgs
parents:
diff changeset
  1111
		}
hgs
parents:
diff changeset
  1112
		case ELoadGenCmdNewLoadPointerEvent: {
hgs
parents:
diff changeset
  1113
			mEngineWrapper.setPointerEventAttributes(mPointerEventAttributes);
hgs
parents:
diff changeset
  1114
			break;
hgs
parents:
diff changeset
  1115
		}
hgs
parents:
diff changeset
  1116
		case ELoadGenCmdNewLoadMessages: {
hgs
parents:
diff changeset
  1117
			mEngineWrapper.setMessageAttributes(mMessageAttributes);
hgs
parents:
diff changeset
  1118
			break;
hgs
parents:
diff changeset
  1119
		}
hgs
parents:
diff changeset
  1120
		case ELoadGenCmdNewLoadApplications: {
hgs
parents:
diff changeset
  1121
			mEngineWrapper.setApplicationsAttributes(mApplicationsAttributes);
hgs
parents:
diff changeset
  1122
			break;
hgs
parents:
diff changeset
  1123
		}
hgs
parents:
diff changeset
  1124
		case ELoadGenCmdNewLoadPhotoCaptures: {
hgs
parents:
diff changeset
  1125
			mEngineWrapper.setPhotoCaptureAttributes(mPhotoCaptureAttributes); 
hgs
parents:
diff changeset
  1126
			break;		
hgs
parents:
diff changeset
  1127
		}
hgs
parents:
diff changeset
  1128
		case ELoadGenCmdNewLoadBluetooth: {
hgs
parents:
diff changeset
  1129
			mEngineWrapper.setBluetoothAttributes(mBluetoothAttributes);
hgs
parents:
diff changeset
  1130
			break;
hgs
parents:
diff changeset
  1131
		}
hgs
parents:
diff changeset
  1132
		default: {
hgs
parents:
diff changeset
  1133
			break;
hgs
parents:
diff changeset
  1134
		}
hgs
parents:
diff changeset
  1135
	}
hgs
parents:
diff changeset
  1136
}
hgs
parents:
diff changeset
  1137
hgs
parents:
diff changeset
  1138
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1139
hgs
parents:
diff changeset
  1140
void SettingsView::dataItemDisplayed(const QModelIndex &index)
hgs
parents:
diff changeset
  1141
{
hgs
parents:
diff changeset
  1142
	HbDataFormViewItem *item = static_cast<HbDataFormViewItem*>(mSettingForm->itemByIndex(index)); 
hgs
parents:
diff changeset
  1143
	HbWidget *contentWidget = static_cast<HbWidget*>(item->dataItemContentWidget());
hgs
parents:
diff changeset
  1144
	switch(mCmdId){
hgs
parents:
diff changeset
  1145
		case ELoadGenCmdNewLoadCPULoad: {
hgs
parents:
diff changeset
  1146
			if (index.row() == 2) { // Cpu load type selection is in this row: periodic vs. continuous
hgs
parents:
diff changeset
  1147
				mModes = static_cast<HbRadioButtonList*>(contentWidget);
hgs
parents:
diff changeset
  1148
				connect(mModes , SIGNAL(itemSelected(int)), this, SLOT(selectionChanged(int)));
hgs
parents:
diff changeset
  1149
			}
hgs
parents:
diff changeset
  1150
			break;
hgs
parents:
diff changeset
  1151
		}
hgs
parents:
diff changeset
  1152
		case ELoadGenCmdNewLoadEatMemory: {
hgs
parents:
diff changeset
  1153
				// Memory eat type is in this row: mem to eat/ mem to be left vs. alternate min/max
hgs
parents:
diff changeset
  1154
				if (index.row() == 2) { 
hgs
parents:
diff changeset
  1155
				mTypes = static_cast<HbRadioButtonList*>(contentWidget );
hgs
parents:
diff changeset
  1156
				connect(mTypes ,SIGNAL(itemSelected(int)), this,SLOT(selectionChanged(int)));
hgs
parents:
diff changeset
  1157
				}
hgs
parents:
diff changeset
  1158
			break;
hgs
parents:
diff changeset
  1159
		}
hgs
parents:
diff changeset
  1160
	}
hgs
parents:
diff changeset
  1161
}
hgs
parents:
diff changeset
  1162
hgs
parents:
diff changeset
  1163
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
  1164
hgs
parents:
diff changeset
  1165
void SettingsView::selectionChanged(int index)
hgs
parents:
diff changeset
  1166
{
hgs
parents:
diff changeset
  1167
	switch (mCmdId) {
hgs
parents:
diff changeset
  1168
		case ELoadGenCmdNewLoadCPULoad: {
hgs
parents:
diff changeset
  1169
			if (index == ECpuLoadTypePeriodic) {
hgs
parents:
diff changeset
  1170
			// if periodic selected, add Length, Idle and Random variance to settings,
hgs
parents:
diff changeset
  1171
			// if they does not exist yet.
hgs
parents:
diff changeset
  1172
				if (mLength == NULL) {
hgs
parents:
diff changeset
  1173
					mLength = mModel->insertDataFormItem(3, 
hgs
parents:
diff changeset
  1174
														 HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
  1175
														 QString("Length (ms)"), 
hgs
parents:
diff changeset
  1176
														 mLoadSettings);
hgs
parents:
diff changeset
  1177
					mLength->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
  1178
					mLength->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
  1179
					mLength->setContentWidgetData(QString("text"), mCPULoadAttributes.mLength);
hgs
parents:
diff changeset
  1180
					}
hgs
parents:
diff changeset
  1181
				if (mIdle == NULL) {
hgs
parents:
diff changeset
  1182
					// DataFormItem for load length selection
hgs
parents:
diff changeset
  1183
					mIdle = mModel->insertDataFormItem(4,
hgs
parents:
diff changeset
  1184
					                                   HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
  1185
													   QString("Idle (ms)"), 
hgs
parents:
diff changeset
  1186
													   mLoadSettings);
hgs
parents:
diff changeset
  1187
					mIdle->setContentWidgetData("maximum" , 999999999);
hgs
parents:
diff changeset
  1188
					mIdle->setContentWidgetData("minimum", 0);			
hgs
parents:
diff changeset
  1189
					mIdle->setContentWidgetData(QString("text"), mCPULoadAttributes.mIdle);
hgs
parents:
diff changeset
  1190
					}
hgs
parents:
diff changeset
  1191
				if (mRandomVar == NULL) {
hgs
parents:
diff changeset
  1192
					mRandomVar = mModel->insertDataFormItem(5,
hgs
parents:
diff changeset
  1193
					                                        HbDataFormModelItem::TextItem,  
hgs
parents:
diff changeset
  1194
														    QString("Random variance (%)"), 
hgs
parents:
diff changeset
  1195
														    mLoadSettings);
hgs
parents:
diff changeset
  1196
					mRandomVar->setContentWidgetData("maximum" , 100);
hgs
parents:
diff changeset
  1197
					mRandomVar->setContentWidgetData("minimum", 0);	
hgs
parents:
diff changeset
  1198
					mRandomVar->setContentWidgetData(QString("text"), mCPULoadAttributes.mRandomVariance);
hgs
parents:
diff changeset
  1199
				}
hgs
parents:
diff changeset
  1200
			}
hgs
parents:
diff changeset
  1201
			else if (index == ECpuLoadTypeContinuous) {
hgs
parents:
diff changeset
  1202
				// if continuous selected, remove existing Length, Idle and Random variance from settings view:
hgs
parents:
diff changeset
  1203
				// if they does not exist do nothing.
hgs
parents:
diff changeset
  1204
				if (mLength != NULL) {
hgs
parents:
diff changeset
  1205
					mModel->removeItem(mLength);
hgs
parents:
diff changeset
  1206
					mLength = NULL;
hgs
parents:
diff changeset
  1207
				}
hgs
parents:
diff changeset
  1208
				if (mIdle != NULL) {
hgs
parents:
diff changeset
  1209
					mModel->removeItem(mIdle);
hgs
parents:
diff changeset
  1210
					mIdle = NULL;
hgs
parents:
diff changeset
  1211
				}
hgs
parents:
diff changeset
  1212
				if (mRandomVar != NULL) {
hgs
parents:
diff changeset
  1213
					mModel->removeItem(mRandomVar);
hgs
parents:
diff changeset
  1214
					mRandomVar = NULL;
hgs
parents:
diff changeset
  1215
				}	
hgs
parents:
diff changeset
  1216
			}
hgs
parents:
diff changeset
  1217
			break;
hgs
parents:
diff changeset
  1218
		}
hgs
parents:
diff changeset
  1219
		case ELoadGenCmdNewLoadEatMemory: {
hgs
parents:
diff changeset
  1220
			if (index == EMemoryEatTypeWavy) {
hgs
parents:
diff changeset
  1221
				// remove one item, if exists. 
hgs
parents:
diff changeset
  1222
				if (mAmount != NULL) {
hgs
parents:
diff changeset
  1223
					mModel->removeItem(mAmount);
hgs
parents:
diff changeset
  1224
					mAmount = NULL;
hgs
parents:
diff changeset
  1225
				}
hgs
parents:
diff changeset
  1226
				// insert two new item rows, if not exists.
hgs
parents:
diff changeset
  1227
				if (mMinAmountToBeLeft == NULL) {
hgs
parents:
diff changeset
  1228
					mMinAmountToBeLeft	= mModel->insertDataFormItem(3, HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
  1229
													  QString("Min to be left (B)"), 
hgs
parents:
diff changeset
  1230
													  mLoadSettings);
hgs
parents:
diff changeset
  1231
					mMinAmountToBeLeft->setContentWidgetData("maximum" , 99999999999999);
hgs
parents:
diff changeset
  1232
					mMinAmountToBeLeft->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
  1233
					mMinAmountToBeLeft->setContentWidgetData( QString("text"),mMemoryEatAttributes.mRandomMin );
hgs
parents:
diff changeset
  1234
				}
hgs
parents:
diff changeset
  1235
				if (mMaxAmountToBeLeft == NULL) {
hgs
parents:
diff changeset
  1236
					mMaxAmountToBeLeft	= mModel->insertDataFormItem(4, HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
  1237
													  QString("Max to be left (B)"), 
hgs
parents:
diff changeset
  1238
													  mLoadSettings);
hgs
parents:
diff changeset
  1239
					mMaxAmountToBeLeft->setContentWidgetData("maximum" , 99999999999999);
hgs
parents:
diff changeset
  1240
					mMaxAmountToBeLeft->setContentWidgetData("minimum", 0);				
hgs
parents:
diff changeset
  1241
					mMaxAmountToBeLeft->setContentWidgetData( QString("text"),mMemoryEatAttributes.mRandomMax );
hgs
parents:
diff changeset
  1242
				}
hgs
parents:
diff changeset
  1243
			}
hgs
parents:
diff changeset
  1244
			else if (index == EMemoryEatTypeMemoryToEat || index == EMemoryEatTypeMemoryToBeLeft) {
hgs
parents:
diff changeset
  1245
				// remove two item rows, if exists.
hgs
parents:
diff changeset
  1246
				if (mMinAmountToBeLeft != NULL) {
hgs
parents:
diff changeset
  1247
					mModel->removeItem(mMinAmountToBeLeft);
hgs
parents:
diff changeset
  1248
					mMinAmountToBeLeft = NULL;
hgs
parents:
diff changeset
  1249
				}
hgs
parents:
diff changeset
  1250
				if (mMaxAmountToBeLeft != NULL) {
hgs
parents:
diff changeset
  1251
					mModel->removeItem(mMaxAmountToBeLeft);
hgs
parents:
diff changeset
  1252
					mMaxAmountToBeLeft = NULL;
hgs
parents:
diff changeset
  1253
				}
hgs
parents:
diff changeset
  1254
				// insert one item, if not exists.
hgs
parents:
diff changeset
  1255
				if (mAmount == NULL) {
hgs
parents:
diff changeset
  1256
					mAmount	= mModel->insertDataFormItem(3, HbDataFormModelItem::TextItem, 
hgs
parents:
diff changeset
  1257
													  QString("Amout(B)"), 
hgs
parents:
diff changeset
  1258
													  mLoadSettings);
hgs
parents:
diff changeset
  1259
					mAmount->setContentWidgetData("maximum" , 99999999999999);
hgs
parents:
diff changeset
  1260
					mAmount->setContentWidgetData("minimum", 0);
hgs
parents:
diff changeset
  1261
					mAmount->setContentWidgetData( QString("text"),mMemoryEatAttributes.mAmount );
hgs
parents:
diff changeset
  1262
				}				
hgs
parents:
diff changeset
  1263
			}
hgs
parents:
diff changeset
  1264
		}
hgs
parents:
diff changeset
  1265
		default: {
hgs
parents:
diff changeset
  1266
			break;
hgs
parents:
diff changeset
  1267
		}
hgs
parents:
diff changeset
  1268
	}
hgs
parents:
diff changeset
  1269
}
hgs
parents:
diff changeset
  1270
hgs
parents:
diff changeset
  1271
// ---------------------------------------------------------------------------