wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp
branchRCL_3
changeset 46 c74b3d9f6b9e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp	Wed Sep 01 12:23:57 2010 +0100
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: Implementation of class CWiFiProtSelectNetworkDlg.
+*
+*/
+
+/*
+* %version: tr1cfwln#9 %
+*/
+
+// INCLUDE FILES
+//system includes
+#include <uikon/eiksrvui.h>
+#include <StringLoader.h>
+#include <wifiprotplugin.rsg>
+#include <badesca.h>
+
+//user includes
+#include "wifiprotselectnetworkdlg.h"
+#include "wifiprotdlgsplugin.h"
+#include "wifiprotplugin.hrh"
+// ========================== MEMBER FUNCTIONS ==============================
+//
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::CWiFiProtSelectNetworkDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtSelectNetworkDlg::CWiFiProtSelectNetworkDlg(
+                                        TRequestStatus& aStatus ,
+                                        TInt& aSelected ,
+                                        CDesCArrayFlat* aItems,
+                                        CArrayPtr<CGulIcon>* aIcons ):
+                                           CAknListQueryDialog( &aSelected ),
+                                           iRequestStatus( aStatus ),
+                                           iSelected( aSelected ),
+                                           iIcons( aIcons ),
+                                           iItems( aItems )
+    {
+    iRequestStatus = KRequestPending;
+    }
+    
+    
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::~CWiFiProtSelectNetworkDlg
+// --------------------------------------------------------------------------
+//
+CWiFiProtSelectNetworkDlg::~CWiFiProtSelectNetworkDlg()
+    {
+  
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse );
+    delete iIcons;
+    delete iItems;
+    }
+
+// --------------------------------------------------------------------------
+// void CSelectDestinationDlg::PrepareAndRunLD
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSelectNetworkDlg::PrepareAndRunLD()
+    {
+    PrepareLC(R_CONN_LIST_QUERY);
+    // Set the description field on the query
+    HBufC* desc = StringLoader::LoadLC(
+                 R_QTN_NETW_CONSET_WPS_DETAIL_SELECT_NETWORK );
+    //ownership transferred                 
+    SetItemTextArray( iItems ); 
+    iItems = NULL;
+    //ownership transferred
+    SetIconArrayL( iIcons );
+    iIcons = NULL;
+
+    MessageBox()->SetMessageTextL( desc );
+    CleanupStack::PopAndDestroy( desc );                
+    RunLD();
+    }
+
+
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::OkToExitL
+// --------------------------------------------------------------------------
+//
+TBool CWiFiProtSelectNetworkDlg::OkToExitL( TInt aButtonId )
+    {
+    TInt status = KErrCancel;
+    if ( aButtonId == EAknSoftkeyOk
+      || aButtonId == EAknSoftkeyYes
+      || aButtonId == EAknSoftkeyDone
+      || aButtonId == EAknSoftkeySelect )
+        {
+        // This should be done automatically
+        // I have no idea why iSelected isn't updated
+        iSelected = ListBox()->CurrentItemIndex();
+        status = KErrNone;
+        }
+    TRequestStatus* pS = &iRequestStatus;                
+    User::RequestComplete( pS, status ); 
+
+    return ETrue;
+    }
+        
+// --------------------------------------------------------------------------
+// CWiFiProtSelectNetworkDlg::PreLayoutDynInitL()
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSelectNetworkDlg::PreLayoutDynInitL()
+    {
+    CAknListQueryDialog::PreLayoutDynInitL();
+    STATIC_CAST( CEikServAppUi*, 
+                CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue );
+                
+    }
+    
+// --------------------------------------------------------------------------
+// void CSelectDestinationDlg::HandleResourceChange
+// --------------------------------------------------------------------------
+//
+void CWiFiProtSelectNetworkDlg::HandleResourceChange( TInt aType )
+    {
+    if ( aType == KAknsMessageSkinChange )
+        {
+        CAknListQueryDialog::HandleResourceChange( aType );
+
+        TRAP_IGNORE( SetIconArrayL( iIcons ) );
+
+        SizeChanged();
+        }
+    else
+        {
+        if ( aType == KEikDynamicLayoutVariantSwitch )
+            {
+            TRect mainPaneRect;
+            AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
+                                               mainPaneRect );
+
+            TAknLayoutRect layoutRect;
+            layoutRect.LayoutRect( TRect( TPoint( 0, 0 ), 
+                                   mainPaneRect.Size() ),
+                                   AKN_LAYOUT_WINDOW_list_gen_pane( 0 ) );
+
+            ListBox()->SetRect( layoutRect.Rect() );
+            }
+
+        // Base call
+        CAknListQueryDialog::HandleResourceChange( aType );
+        }
+    }    
+// End of File