widgets/widgetapp/src/WidgetUiWindow.cpp
branchRCL_3
changeset 93 79859ed3eea9
parent 92 e1bea15f9a39
child 94 919f36ff910f
--- a/widgets/widgetapp/src/WidgetUiWindow.cpp	Thu Aug 19 10:58:56 2010 +0300
+++ b/widgets/widgetapp/src/WidgetUiWindow.cpp	Tue Aug 31 16:17:46 2010 +0300
@@ -21,31 +21,27 @@
 #include "WidgetUiWindowContainer.h"
 #include "WidgetUiWindowManager.h"
 #include "WidgetUiDialogsProviderProxy.h"
-#include <widgetregistryconstants.h>
-#include "browser_platform_variant.hrh"
+#include "WidgetRegistryConstants.h"
+#include "Browser_platform_variant.hrh"
 #ifdef BRDO_WRT_HS_FF
 #include "cpspublisher.h"
 #endif
 #include <AknUtils.h>
-#include <ImageConversion.h>
+#include <imageconversion.h>
 #include <WidgetUi.rsg>
-#include <browserdialogsprovider.h>
-#include <schemehandler.h>
-#include <internetconnectionmanager.h>
+
+#include <SchemeHandler.h>
+#include <InternetConnectionManager.h>
 #include "WidgetInstallerInternalCRKeys.h"
-#include <browseruisdkcrkeys.h>
+#include <BrowserUiSDKCRKeys.h>
 #include <StringLoader.h>
 #include <centralrepository.h>
 #include <ApUtils.h>
 #include <AiwGenericParam.h>
 #include <ActiveApDb.h>
-#include <aknsdrawutils.h>
+#include <AknsDrawUtils.h>
 #include "SWInstWidgetUid.h"
 
-#ifdef RD_SCALABLE_UI_V2
-#include <centralrepository.h>
-#include <SensorPluginDomainCrKeys.h>
-#endif //RD_SCALABLE_UI_V2
 
 // EXTERNAL DATA STRUCTURES
 
@@ -57,7 +53,6 @@
 const TUint KWmlNoDefaultAccessPoint = KMaxTUint; // see cenrep setting default -1 as int, here as uint
 const TUint KWmlNoDefaultSnapId = KMaxTUint; // see cenrep setting default -1 as int, here as uint
 
-
 // MACROS
 
 // LOCAL CONSTANTS AND MACROS
@@ -98,9 +93,8 @@
     : iWindowManager( aWindowManager ), iCpsPublisher( aCpsPublisher ), iNetworkAccessGrant(EInvalid),
       iPreferredOrientation(TBrCtlDefs::EOrientationUndefined),
       iIsCurrent(EFalse), iShowSoftkeys(EFalse), iWidgetLoaded(EFalse),
-      iSchemeProcessing (EFalse), iNetworkState(ENetworkNotAllowed), iUserPermission(ETrue), 
-      iClickCount(0), iWidgetLoadStarted(EFalse), iSapiPromptCleared(ETrue),iNeedToIgnoreSapiNtfn(0),
-      iNeedToIgnoreSapiClearNtfn(0)
+      iSchemeProcessing (EFalse),iClickCount(0), iWidgetLoadStarted(EFalse),
+      iNetworkState(ENetworkNotAllowed), iUserPermission(ETrue)
     {
     }
 
@@ -113,8 +107,7 @@
 void CWidgetUiWindow::ConstructL( const TUid& aUid )
     {
     iUid = aUid;
-    iDialogsProvider = CBrowserDialogsProvider::NewL( NULL );
-    
+
     iPenEnabled = AknLayoutUtils::PenEnabled();
     iShowSoftkeys = iPenEnabled;
 
@@ -127,7 +120,7 @@
     iUrl = GetUlrL( clientSession, aUid );
     iWidgetUiObserver = CWidgetUiObserver::NewL( *this );
 
-    iWidgetUiDialogsProviderProxy = CWidgetUiDialogsProviderProxy::NewL(*iDialogsProvider, NULL, *this);
+    iWidgetUiDialogsProviderProxy = CWidgetUiDialogsProviderProxy::NewL(*(iWindowManager.DialogsProvider()), NULL, *this);
 
 #ifdef BRDO_WRT_HS_FF
     iNetworkModeWait = new(ELeave) CActiveSchedulerWait();
@@ -201,10 +194,8 @@
 
     iDlId = 0;
 
-    iNeedToNotifyNetworkState = EFalse;
     // determine initial widget online/offline network state
     DetermineNetworkState();
-    iAsyncCallBack = new (ELeave) CAsyncCallBack(TCallBack(DeleteItself,this),CActive::EPriorityLow);
     }
 
 // -----------------------------------------------------------------------------
@@ -215,10 +206,6 @@
 //
 CWidgetUiWindow::~CWidgetUiWindow()
     {
-    if( iDialogsProvider)
-        {
-         iDialogsProvider->CancelAll();
-        }
     if (iEngine && iWidgetUiObserver)
         {
         iEngine->RemoveLoadEventObserver( iWidgetUiObserver );
@@ -233,21 +220,10 @@
     delete iLeftSoftKeyLabel;
     delete iWidgetUiDialogsProviderProxy;
     delete iSchemeHandler;
-    
-    iActiveMiniviewBitmap = 0;
-    iMiniviewBitmap1.Reset();
-    iMiniviewBitmap2.Reset();
-    
+    delete iMiniviewBitmap;
 #ifdef BRDO_WRT_HS_FF
     delete iNetworkModeWait;
 #endif
-    if(iAsyncCallBack)
-        {
-        iAsyncCallBack->Cancel();
-        }
-    delete iAsyncCallBack;
-    iAsyncCallBack=NULL;  
-    delete iDialogsProvider;
     }
 
 // -----------------------------------------------------------------------------
@@ -357,7 +333,7 @@
 TBool CWidgetUiWindow::DialogMimeFileSelectLC(HBufC*& aSelectedFileName,
                                  const TDesC& aMimeType)
     {
-    return iDialogsProvider->DialogMimeFileSelectLC(aSelectedFileName, aMimeType);
+    return iWindowManager.DialogsProvider()->DialogMimeFileSelectLC(aSelectedFileName, aMimeType);
     }
 
 // -----------------------------------------------------------------------------
@@ -510,33 +486,15 @@
     }
 
 // -----------------------------------------------------------------------------
-// CWidgetUiWindow::RelayoutL( TInt aType )
+// CWidgetUiWindow::Relayout()
 // switch the display orientation based on preferred setting
 //
 // -----------------------------------------------------------------------------
 //
-void CWidgetUiWindow::RelayoutL( TInt aType )
+void CWidgetUiWindow::Relayout( )
     {
     if (iIsCurrent)
         {
-#ifdef RD_SCALABLE_UI_V2
-        if(aType == KEikDynamicLayoutVariantSwitch)
-            {
-            CRepository* iSensor = CRepository::NewLC(KCRUidSensorSettings);
-            TInt sensorOn = 0;
-            //get sensor is on/off from general settings
-            iSensor->Get(KSenSettingsSensorsOn, sensorOn);
-            if(sensorOn == 0)
-                {    
-                TRect rec = iWindowManager.View()->Container()->Rect();
-                if( rec.Height() < rec.Width())
-                    iPreferredOrientation = TBrCtlDefs::EOrientationLandscape;
-                else
-                    iPreferredOrientation = TBrCtlDefs::EOrientationPortrait;
-                }
-            CleanupStack::PopAndDestroy();
-            }
-#endif // RD_SCALABLE_UI_V2
         SetDisplayMode(iPreferredOrientation);
         SetSoftkeysVisible(iShowSoftkeys);
         //iWindowManager.View()->Container()->SizeChanged();
@@ -562,7 +520,7 @@
             UpdateCba();
             Engine()->MakeVisible( iWidgetLoaded );
             // redraw incase the orientation changed while in the background
-            RelayoutL(KEikDynamicLayoutVariantSwitch);
+            Relayout();
             }
         else
             {
@@ -612,17 +570,7 @@
             // reset the Right Softkey
             TRAP_IGNORE(iWidgetUiObserver->UpdateSoftkeyL(EKeyRight,KNullDesC,KDummyCommand,EChangeReasonLoad));
             }
-        if (iLeftSoftKeyLabel)
-            {
-            // restore the Left Softkey
-            TRAP_IGNORE(iWidgetUiObserver->UpdateSoftkeyL(EKeyLeft,*iLeftSoftKeyLabel,KDummyCommand,EChangeReasonLoad));
-            }
-        else
-            {
-            // reset the Left Softkey
-            TRAP_IGNORE(iWidgetUiObserver->UpdateSoftkeyL(EKeyLeft,KNullDesC,KDummyCommand,EChangeReasonLoad));
-            }
-        
+
         // restore state
         if ( !showSoftkeys )
             {
@@ -665,9 +613,6 @@
         {
         Engine()->MakeVisible( ETrue );
         }
-    PublishSnapShot();
-    if(iWidgetLoaded && iNeedToNotifyNetworkState)
-        DetermineNetworkState();
     }
 
 // -----------------------------------------------------------------------------
@@ -682,18 +627,16 @@
         {
 #ifdef BRDO_WRT_HS_FF
 
-        if ( iCpsPublisher)
+        if ( !iMiniviewBitmap )
             {
-            // Swap bitmaps
-            if(iActiveMiniviewBitmap == &iMiniviewBitmap1)
-            	iActiveMiniviewBitmap = &iMiniviewBitmap2;
-            else
-            	iActiveMiniviewBitmap = &iMiniviewBitmap1;
-            
-            // Take snapshot and publish	
+            iMiniviewBitmap = new CFbsBitmap();
+            }
+
+        if ( iMiniviewBitmap && iCpsPublisher)
+            {
             TRAP_IGNORE(
-               (iEngine->TakeSnapshotL( *iActiveMiniviewBitmap ));
-                iCpsPublisher->PublishBitmapL( *iActiveMiniviewBitmap, *iWidgetBundleId );
+               (iEngine->TakeSnapshotL( *iMiniviewBitmap ));
+                iCpsPublisher->PublishBitmapL( *iMiniviewBitmap, *iWidgetBundleId );
                 );
             }
 #endif
@@ -751,7 +694,6 @@
     CWidgetPropertyValue* propValue = widgetRegistry.GetWidgetPropertyValueL(iUid, EAllowNetworkAccess );
     TInt networkAccess = *propValue;
     delete propValue;
-
     propValue = widgetRegistry.GetWidgetPropertyValueL(iUid, EAllowFullAccess );
     TInt fullAccess = *propValue;
     delete propValue;
@@ -796,11 +738,13 @@
 
             if ( prompt )
                 {
+                CBrowserDialogsProvider* dialogProvider
+                            = iWindowManager.DialogsProvider();
                 TBool grant = EFalse;
                 HBufC* message = StringLoader::LoadLC( R_WIDGETUI_NETWORK_ACCESS );
                 HBufC* yes = StringLoader::LoadLC( R_WIDGETUI_SOFTKEY_YES );
                 HBufC* no = StringLoader::LoadLC( R_WIDGETUI_SOFTKEY_NO );
-                grant = iDialogsProvider->DialogConfirmL( _L(""), *message, *yes, *no );
+                grant = dialogProvider->DialogConfirmL( _L(""), *message, *yes, *no );
                 CleanupStack::PopAndDestroy( 3 );
                 // save prompt result for session
                 SetNetworkAccessGrant( grant? EAllow : EDeny );
@@ -838,7 +782,6 @@
         TInt ask( 1 );
         TInt wmlId( KWmlNoDefaultAccessPoint );
         TInt snapId( KWmlNoDefaultSnapId );
-#ifndef BRDO_OCC_ENABLED_FF
         CRepository* rep( NULL );
         TRAPD( cenrepError, rep = CRepository::NewL( KCRUidBrowser ) );
         if ( KErrNone == cenrepError )
@@ -848,7 +791,6 @@
             (void)rep->Get( KBrowserNGDefaultSnapId, snapId );
             }
         delete rep;
-#endif
         if ( ask == EBrowserCenRepApSelModeDestination &&
            ( snapId != KWmlNoDefaultSnapId) )
             {
@@ -868,18 +810,6 @@
                     iWindowManager.GetConnection()->SetRequestedAP( iap );
                 );
             }
-
-        if ( EBrowserCenRepApSelModeAlwaysAsk == ask )
-            {
-              //Always ask case
-              TUint32 ap( 0 );
-              iWindowManager.GetConnection()->SetRequestedAP( ap );
-#ifdef BRDO_OCC_ENABLED_FF
-              TUint32 snapId = 0; //Defaults connects to Internet snap
-              iWindowManager.GetConnection()->SetConnectionType(CMManager::EDestination);
-              iWindowManager.GetConnection()->SetRequestedSnap(snapId);
-#endif
-            }
         }
     }
 
@@ -895,22 +825,11 @@
     if ( !iWindowManager.GetConnection()->Connected() )
         {
         // 2.2. make a connection
-        iConnecting=ETrue;
-        TInt connFailure = 0;
-        TRAPD(err, connFailure=iWindowManager.GetConnection()->StartConnectionL( ETrue ));
-        iConnecting=EFalse;
-        User::LeaveIfError(err);
-        if(iDeleteItself)
-            iAsyncCallBack->CallBack();
+        TInt connFailure = iWindowManager.GetConnection()->StartConnectionL( ETrue );
         if (KErrCancel == connFailure)
             {
 #ifdef BRDO_WRT_HS_FF
-            if(! (EMiniViewEnabled == WidgetMiniViewState() || 
-                  EMiniViewNotEnabled == WidgetMiniViewState()) )
-                {        
-                iCpsPublisher->NetworkConnectionCancelledL();
-                iNetworkModeWait->Start();
-                }
+            iCpsPublisher->NetworkConnectionCancelledL();
 #endif
             User::Leave( connFailure );
             }
@@ -924,16 +843,7 @@
             User::Leave( connFailure );
             }
         *aNewConn = ETrue;
-        if(iWindowManager.GetNetworkMode() == EOfflineMode)
-        	{
-            iWindowManager.GetConnection()->CancelConnection();
-            iWindowManager.GetConnection()->StopConnectionL();
-            User::Leave( KErrAccessDenied );
-        	}      
-#ifdef BRDO_OCC_ENABLED_FF        
-		else
-        	TRAP_IGNORE(iWindowManager.ConnNeededStatusL(KErrNone)); 
-#endif        
+
         }
     }
 
@@ -948,13 +858,6 @@
                                       TApBearerType* aBearerType )
 
     {
-#ifdef BRDO_OCC_ENABLED_FF
-    TBool retryFlag = iWindowManager.GetRetryFlag();
-    if( retryFlag )
-        {
-        return;
-        }
-#endif
     // default in case connection setup fails
     *aConnectionPtr = 0;
 
@@ -1054,11 +957,8 @@
                             aDesArray,
                             paramFound );
 
-    if ( paramFound )
-        {
-        TLex lex(dlId);
-        User::LeaveIfError(lex.Val(iDlId));
-        }
+    TLex lex(dlId);
+    User::LeaveIfError(lex.Val(iDlId));
 
     TDataType dataType( *contentType8 );
     CAiwGenericParamList* genericParamList =
@@ -1221,10 +1121,9 @@
     {
     TNetworkState currNetState;
     RWidgetRegistryClientSession& widgetRegistry = iWindowManager.WidgetUIClientSession();
-    TInt inMiniView = !(WidgetMiniViewState()==EMiniViewEnabled || WidgetMiniViewState()==EMiniViewNotEnabled);//widgetRegistry.IsWidgetInMiniView( iUid);
+    TInt inMiniView = widgetRegistry.IsWidgetInMiniView( iUid);
     CWidgetPropertyValue* propValue = widgetRegistry.GetWidgetPropertyValueL( iUid, EAllowNetworkAccess );
-    TInt netAccessWdgtProp = propValue && *propValue;    // AllowNetworkAccess in the info.plist file
-    delete propValue;
+    TInt netAccessWdgtProp = *propValue;    // AllowNetworkAccess in the info.plist file
 
     if ( netAccessWdgtProp && ((inMiniView && (iWindowManager.GetNetworkMode() == (TInt)EOnlineMode))
                                     || (!inMiniView && iUserPermission)) )
@@ -1284,66 +1183,4 @@
             }
         }
     }
-
-// -----------------------------------------------------------------------------
-// CWidgetUiWindow::NeedToNotifyNetworkState()
-// -----------------------------------------------------------------------------
-//
-void CWidgetUiWindow::NeedToNotifyNetworkState(TBool aNetworkState)
-    {
-    iNeedToNotifyNetworkState = aNetworkState;
-    }
-
-// -----------------------------------------------------------------------------
-// CWidgetUiWindow::CanBeDeleted()
-// -----------------------------------------------------------------------------
-//
-TBool CWidgetUiWindow::CanBeDeleted()
-    {
-    iDeleteItself = iConnecting;
-    return !iConnecting;
-    }
-    
-
-void CWidgetUiWindow::DeleteItself()    
-	{	
-	iAsyncCallBack->CallBack();    
-	}
-
-// -----------------------------------------------------------------------------
-// CWidgetUiWindow::DeleteItself()
-// -----------------------------------------------------------------------------
-//
-TInt CWidgetUiWindow::DeleteItself(TAny* aPtr)
-    {
-    CWidgetUiWindow* self = (CWidgetUiWindow*)aPtr;
-    CWidgetUiWindowManager* p = &self->iWindowManager;
-    //if sync request start another event loop
-    if(self->Engine()->IsSynchRequestPending())
-    	{
-    	self->DeleteItself();
-    	return KErrNone;
-    	}
-    delete self;
-    //The Correct fix is to call AppUI::Exit()
-    //But that is leaving
-    if(p->WindowListCount() == 0)
-        User::Exit(KErrNone);
-    return 0;
-    }
-    
-#ifdef BRDO_OCC_ENABLED_FF
- void CWidgetUiWindow::CancelAllDialogs()
-     {
-     if( iDialogsProvider)
-         {
-          iDialogsProvider->CancelAll();
-         }
-     }
- 
- TBool CWidgetUiWindow::IsDialogsLaunched()
-     {
-     return (iDialogsProvider && iDialogsProvider->IsDialogLaunched() );
-     }
-#endif 
 // End of file