diff -r 40a3f856b14d -r 41a7f70b3818 phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugingroup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugingroup.h Tue Aug 31 15:14:29 2010 +0300 @@ -0,0 +1,133 @@ +/* + * 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 CPBARRINGPLUGINGROUP_H +#define CPBARRINGPLUGINGROUP_H + +#include +#include +#include + +class PSetWrapper; +class QModelIndex; +class PsUiNotes; +class QValidator; +class HbDataFormModel; + + +/*! + \class CpBarringPluginGroup + \brief The class CpBarringPluginGroup defines barring items shown on UI. + */ +class CpBarringPluginGroup : public CpSettingFormItemData +{ + Q_OBJECT + +public: + + // Change barring password operation phases + enum ChangeBarringPasswordPhase + { + NonePhase, + CurrentPasswordPhase, + NewPasswordPhase, + VerifyNewPasswordPhase + }; + + explicit CpBarringPluginGroup(CpItemDataHelper &helper); + ~CpBarringPluginGroup(); + +public slots: + + void itemShown(const QModelIndex& item); + +private: + + void setupConnectionsToWrapper(); + + void createBarringItems(); + CpSettingFormItemData *createBarringItem( + const HbDataFormModelItem::DataItemType &itemType, + const QString &label, + const QString &widgetTextData, + const PSetCallBarringWrapper::BarringType &barringType); + + void processBarringStatusRequestQueue(); + bool updateDependentBarringProgramStatuses( + const CpSettingFormItemData &changedBarringItem); + CpSettingFormItemData &barringItemByProgram( + const PSetCallBarringWrapper::BarringType &barringProgram); + void revertCheckStateOfItem( + CpSettingFormItemData *barringItem); + void updateCheckStateOfItem( + CpSettingFormItemData &barringItem, + const Qt::CheckState &newState); + +private slots: + + void barringStatusRequestCompleted( + int result, + const QList & basicServiceGroupIds, + PSetCallBarringWrapper::BarringStatus status); + + void enableBarringRequestCompleted( + int result, + PSetCallBarringWrapper::BarringType barringType, + PSetCallBarringWrapper::BarringStatus barringStatus, + bool plural); + + void disableBarringRequestCompleted( + int result, + PSetCallBarringWrapper::BarringType barringType, + PSetCallBarringWrapper::BarringStatus barringStatus, + bool plural); + + void barringPasswordChangeRequestCompleted(int result); + + void changeBarringStateRequested(int checkState); + + void changeBarringPasswordRequested(); + + void completeBarringStateChangeRequestHandling( + QString barringPassword, + bool okPressed); + + void changeBarringPasswordPhasesHandling( + QString barringPassword, + bool okPressed); + +private: + + CpItemDataHelper &m_helper; + QScopedPointer m_pSetWrapper; + PSetCallBarringWrapper *m_barringWrapper; + CpSettingFormItemData *m_editBarringPasswordItem; + QQueue m_barringRequestQueue; + bool m_barringStatusRequestOngoing; + int m_activeNoteId; + PsUiNotes* m_phoneNotes; + QValidator *m_barringPasswordValidator; + bool m_delayedBarringActivationNote; + CpSettingFormItemData* m_clickedBarringItem; // Not own. + ChangeBarringPasswordPhase m_changeBarringPasswordPhase; + QString m_currentPassword; + QString m_newPassword; + QString m_newPasswordVerified; + QValidator* m_verifyPasswordValidator; // Own. + HbDataFormModel* m_model; +}; + +#endif // CPBARRINGPLUGINGROUP_H