--- a/widgets/widgetapp/src/WidgetUiWindowManager.cpp Thu Aug 27 07:44:59 2009 +0300
+++ b/widgets/widgetapp/src/WidgetUiWindowManager.cpp Thu Sep 24 12:53:48 2009 +0300
@@ -120,7 +120,8 @@
iAppUi(aAppUi),
iStrictMode(ETrue),
iNetworkMode(EUnknownMode),
- iNetworkConnected(EFalse)
+ iNetworkConnected(EFalse),
+ iWidgetCursorMode(TBrCtlDefs::EDefaultCursor)
{
}
@@ -144,10 +145,15 @@
if (!error)
{
TInt strictMode;
+ TInt cursorMode = -1;
if (cenRep->Get( KWidgetInstallerStrictMode, strictMode ) == KErrNone)
{
iStrictMode = strictMode;
}
+ if (cenRep->Get( KWidgetCursorShowMode, cursorMode ) == KErrNone)
+ {
+ iWidgetCursorMode = (TBrCtlDefs::TCursorSettings) cursorMode;
+ }
delete cenRep;
}
@@ -328,22 +334,35 @@
case WidgetOnline:
{
iNetworkMode = EOnlineMode;
- GetWindow( aUid )->DetermineNetworkState();
+ CWidgetUiWindow* wdgt_window( GetWindow( aUid ) );
+#ifdef BRDO_WRT_HS_FF
+ if ( wdgt_window->NetworkModeWait()->IsStarted() )
+ {
+ wdgt_window->NetworkModeWait()->AsyncStop();
+ }
+#endif
+ wdgt_window->DetermineNetworkState();
}
break;
case WidgetOffline:
{
iNetworkMode = EOfflineMode;
+ CWidgetUiWindow* wdgt_window( GetWindow( aUid ) );
+#ifdef BRDO_WRT_HS_FF
+ if ( wdgt_window->NetworkModeWait()->IsStarted() )
+ {
+ wdgt_window->NetworkModeWait()->AsyncStop();
+ }
+#endif
// if no full view widgets open, then close the network connection
if ( ( !FullViewWidgetsOpen() ) && ( iConnection->Connected() ) )
{
- CWidgetUiWindow* wdgt_window( GetWindow( aUid ) );
wdgt_window->Engine()->HandleCommandL(
(TInt)TBrCtlDefs::ECommandIdBase +
(TInt)TBrCtlDefs::ECommandDisconnect );
iConnection->StopConnectionL();
}
- GetWindow( aUid )->DetermineNetworkState();
+ wdgt_window->DetermineNetworkState();
}
break;
case WidgetRestart:
@@ -546,8 +565,9 @@
if ( !lastOne )
{
// Starting JS timer, since we stopped it for deactivating miniview widget
+ //If there is a widget on HS then the timer will not be started
CWidgetUiWindow* window = iWindowList[iWindowList.Count() - 1];
- if ( window)
+ if ( window && AnyWidgetPublishing())
TRAP_IGNORE ( window->Engine()->HandleCommandL(
(TInt)TBrCtlDefs::ECommandAppForeground +
(TInt)TBrCtlDefs::ECommandIdBase));
@@ -1271,7 +1291,29 @@
{
iAppUi.SendAppToBackground();
}
-
+
+TBool CWidgetUiWindowManager::AnyWidgetOnHs()
+ {
+ for ( TInt i = 0; i < iWindowList.Count(); ++i )
+ {
+ CWidgetUiWindow* window( iWindowList[i] );
+ if( window->WidgetMiniViewState() != EMiniViewEnabled && window->WidgetMiniViewState() != EMiniViewNotEnabled )
+ return ETrue;
+ }
+ return EFalse;
+ }
+
+TBool CWidgetUiWindowManager::AnyWidgetPublishing()
+ {
+ for ( TInt i = 0; i < iWindowList.Count(); ++i )
+ {
+ CWidgetUiWindow* window( iWindowList[i] );
+ if( window->WidgetMiniViewState() == EPublishStart )
+ return ETrue;
+ }
+ return EFalse;
+ }
+
CRequestRAM::CRequestRAM(CWidgetUiWindowManager* aWidgetUiWindowManager, const TUid& aUid, TUint32 aOperation):
CActive( EPriorityStandard ),
iOperation(aOperation),