diff -r 25fce757be94 -r e02eb84a14d2 usbuis/usbsettingsapp/inc/usbuisettingmodel.h --- a/usbuis/usbsettingsapp/inc/usbuisettingmodel.h Tue Aug 31 16:13:57 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* -* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#ifndef USBUISETTINGMODEL_H -#define USBUISETTINGMODEL_H - - -#include -#include -#include -#include -#include - -typedef QList< QMap< int, QVariant > > UsbUiModelDataSource; - -class RUsb; -class UsbUiModelActive; -class QItemSelection; -class QItemSelectionModel; - -class UsbUiSettingModel : public QAbstractItemModel -{ - Q_OBJECT - friend class TestUsbUiModelActive; - -public: - UsbUiSettingModel( QObject *parent = 0); - virtual ~UsbUiSettingModel(); - - /* - * Returns the index of the item in the model specified by the given row, column and parent index. - * @param row is the row number of the specified item - * @param column is the column number of the specified item - * @param parent QModelIndex parent - */ - virtual QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const; - /* - * Returns QModelIndex() because this model item has no parent - * @param child is the index of item model, the parent of which is going to be returned - * @param child is not used in here - */ - virtual QModelIndex parent( const QModelIndex &child ) const; - /* - * Returns the number of rows under the given parent - * @param parent QModelIndex parent - */ - virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const; - /* - * Returns the number of columns for the children of the given parent. - * @param parent QModelIndex parent - */ - virtual int columnCount( const QModelIndex &parent = QModelIndex() ) const; - /* - *Returns the data stored under the given role for the item referred to by the index. - */ - virtual QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const; - - const QModelIndex* sourceData() const; - - /* - * informs the model of the changes in selectionModel and the new mode - * will be Handeled by the Model - */ - void setSelectionModel(QItemSelectionModel *selectionModel); - -public slots: - /* - * Provides notification of changes in selected usb mode - * @param key is not used - * @param value is the value read from cenrep key - */ - void cenrepChanged( const XQSettingsKey &key, const QVariant &value ); - - /* - * it checks the response from usbwatcher to see if the new mode change has been successful - * it will go back to the previous personality if it has not been successful - * @param status is the error code returned from usbwatcher - */ - void personalitySetCompleted (int status ); - - /** - * This slot handles selection change from the selection model. - * The personality is set according to the selection. - * @param selected Item selection of selected items - * @param deselected Item selection of deselected items - */ - void handleSelectionChange(const QItemSelection &selected, - const QItemSelection &deselected ); - -private: - /* - * Get the translated mode name - * @param friendlyName is the usb personality friendly name - */ - QString modeName( QString &friendlyName ); - - /* - * Get the current USB personality ID - * Returns 0, if the key is missing or the value cannot be converted - * to integer. - * @return The current personality id - */ - int currentMode(); - - /** - * Initialize the model data - * @param modeId The current mode ID - */ - void initializeModelData( int modeId ); - - /** - * Update the selection model - * @param newPersonality is the new personality id - */ - void updateSelectionModel(int newPersonality); - - /** - * Check from the USB Manager if the USB personality is hidden. - * @param usbman Already opened USB Manager session - * @param personalityId The ID of the personality to be checked. - * @return For hidden personality, true is returned. - */ - bool isPersonalityHidden(RUsb &usbman, TInt personalityId); - - /** - * Get the personality friendly name from USB Manager - * The friendly name can be used in text IDs. - * @param usbman The open USB Manager session - * @param personalityId The ID of the personality - * @return Friendly name for personality - */ - QString getFriendlyName(RUsb &usbman, TInt personalityId); - -private: - - UsbUiModelDataSource mSettingsList; - - // current USB personality - int mCurrentMode; - - //variable to access central repository - XQSettingsManager mSettingsManager; - - QList mPersonalityIds; - //owned by the class - // modelactive is used for the interaction with the usbwatcher - UsbUiModelActive *mModelActive; - - QItemSelectionModel *mSelectionModel; -}; - -#endif // USBUISETTINGMODEL_H