phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h
changeset 65 2a5d4ab426d3
parent 46 bc5a64e5bc3c
child 74 d1c62c765e48
--- a/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h	Mon Aug 23 15:42:12 2010 +0300
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h	Fri Sep 03 13:33:36 2010 +0300
@@ -20,7 +20,6 @@
 #include <QMap>
 #include <QString>
 #include <QQueue>
-#include <hbdevicemessagebox.h>
 #include <cpsettingformitemdata.h>
 #include <psetcalldivertingwrapper.h>
 #include "cptelephonyutilsdefs.h"
@@ -37,6 +36,8 @@
 class QEventLoop; 
 class HbLineEdit; 
 class HbDataFormModelItem;
+class CpDivertQuery;
+class QModelIndex;
 
 using namespace CpTelephonyUtils;
 
@@ -60,14 +61,7 @@
         DivertRequest request;
         CpDivertItemData *item;
     };
-    
-    // Activate divert phases
-    enum ActivateDivertPhases
-    {
-        NonePhase,
-        PopUpVoiceNumberListQueryPhase,
-        PopUpTimerQueryPhase
-    };
+
     
 public:
 
@@ -112,10 +106,11 @@
      */
     void itemShown(const QModelIndex& item);
     
-    void voiceNumberListQueryClosed(HbAction* action);
-    void popUpNumberEditorClosed(HbAction* action);
-    void popUpTimerQueryClosed(HbAction* action);
-    
+    /**
+     Slot which handles activate divert query result
+     */
+    void divertQueryOk(PSCallDivertingCommand &command);
+    void divertQueryCancelled(PSCallDivertingCommand &command);
 private:     
     
     /**
@@ -140,29 +135,11 @@
             CpSettingFormItemData *parent = 0);
     
     /**
-     Show to user divert number query list.
-     */
-    void popUpVoiceNumberListQuery(
-            const QString& heading, PsServiceGroup serviceGroup);
-    
-    /**
-     Show to user number query.
-     */
-    void popUpNumberEditor(
-            const QString& heading);
-    
-    
-    /**
      Send comand to psetwrappercalldiverting.
      */
     void setCallDiverting(PSCallDivertingCommand& command);
     
     /**
-     Show to user divert time out query list.
-     */
-    void popUpTimerQuery();
-    
-    /**
      Desides which bsc parameters to use.
      */
     int bscParam(PsServiceGroup serviceGroup);
@@ -206,24 +183,18 @@
      */
     CpSettingFormItemData* item(
             PsService service, PsCallDivertingCondition condition);
-private:
     
     /**
-     Creates dialog with default parameters
-     */
-    HbDialog* createDialog( const QString& heading ) const;
-
-    /**
-     Adds item to given list widget
+     Helper function which dims divert items when divert request is ongoing.
      */
-    void addItemToListWidget(HbListWidget* w,
-        const QString& item, const QString& data) const;
-
+    void disableDivertItems();
+    
     /**
-     Adds item to given list widget
+     Helper function which enables divert items when divert request is complete.
      */
-    void addItemToListWidget(HbListWidget* w,
-        const QString& item, const int& data) const;
+    void enableDivertItems();
+    
+private:
 
     /**
      Synchronizes content and status of divert options dependent from the 
@@ -238,8 +209,7 @@
      statuses of CFB, CFNry and CFNrc.
      */
     void updateNotAvailableDivertOption();
-    
-    void nextPhaseForActivateDivert(bool ok);
+
     
     bool isDivertSettingsItem(HbDataFormModelItem* modelItem);
      
@@ -274,12 +244,10 @@
     QQueue<CpDivertRequestQueueItem> m_divertRequestQueue;
 
     CpItemDataHelper &m_helper;
-    
-    ActivateDivertPhases m_activateDivertPhase;
-    PSCallDivertingCommand m_divertCommand;
+
     int m_timerId;
-    HbDialog *m_dialog;
 
+    CpDivertQuery *m_activateDivertPopUp;
 };
 
 #endif // CPDIVERTPLUGINGROUP_H