--- /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