qtinternetradio/ui/src/irapplication.cpp
changeset 14 896e9dbc5f19
parent 12 608f67c22514
child 15 065198191975
--- a/qtinternetradio/ui/src/irapplication.cpp	Tue Jul 06 14:07:20 2010 +0300
+++ b/qtinternetradio/ui/src/irapplication.cpp	Wed Aug 18 09:40:26 2010 +0300
@@ -19,13 +19,12 @@
 #include <hbapplication.h>
 #include <qcoreapplication.h>
 #include <hbdevicemessagebox.h>
-#include <hbprogressdialog.h>
-#include <QLocalServer>
-#include <QLocalSocket>
+#include <hbprogressdialog.h> 
 #include <QFile>
 #include <QTextStream>
 #include <QDir>
 #include <hbmessagebox.h>
+#include <HbEvent>
 
 #include <xqserviceutil.h>
 #include <hbiconitem.h>
@@ -38,10 +37,7 @@
 #include <QDateTime>
 #endif
 
-#ifdef LOCALIZATION 
-#include <QTranslator>
-#include "irqutility.h" 
-#endif
+ 
 
 #include "irviewmanager.h"
 #include "irapplication.h"
@@ -87,12 +83,8 @@
                                      iAdvertisementClient(NULL),                                    
                                      iEnableGlobalAdv(true),
                                      iDisconnected(false),
-                                     iConnectingCanceled(false),
-                                     iLocalServer(NULL),
-                                     iLoadingNote(NULL),
-                                     #ifdef LOCALIZATION
-                                     iTranslator(NULL),
-                                     #endif
+                                     iConnectingCanceled(false),                                     
+                                     iLoadingNote(NULL), 
                                      iSystemEventHandler(aSystemEventHandler), 
                                      iUseNetworkReason(EIR_UseNetwork_NoReason),									 
                                      iAppFullyStarted(false),
@@ -101,7 +93,8 @@
                                      iMonitorService(NULL),
 									 #endif                                     
                                      iFileViewService(NULL),
-                                     iMessageBox(NULL)
+                                     iMessageBox(NULL),
+                                     iIsEmbedded(XQServiceUtil::isEmbedded())
                                      
 {
     LOG_METHOD;
@@ -118,7 +111,7 @@
     iSettings->getGlobalAdvFlag(iEnableGlobalAdv);
     setupConnection();
     
-    if (!XQServiceUtil::isService())
+    if ( !iIsEmbedded )
     {
         setLaunchView();
     }
@@ -141,14 +134,12 @@
 {
     LOG_METHOD;
     setExitingView();
-    iViewManager->saveActivity();
-    
-    destroyComponents();
+    if (iViewManager)
+    {
+        iViewManager->saveActivity();
+    }
     
-    if (iLocalServer)
-    {
-        iLocalServer->close();
-    }
+    destroyComponents(); 
     
     delete iLastPlayedStationInfo;
     iLastPlayedStationInfo = NULL;
@@ -159,25 +150,18 @@
     delete iMessageBox;
     iMessageBox = NULL;
     
-    delete iSystemEventHandler;
-    
-#ifdef LOCALIZATION
-    if( iTranslator )
-    {
-        qApp->removeTranslator(iTranslator);
-        delete iTranslator;
-        iTranslator = NULL;
-    }
-#endif
-    
+    delete iSystemEventHandler;   
     delete iFileViewService;
     iFileViewService = NULL;
 	
 #ifdef HS_WIDGET_ENABLED	
-    XQSettingsManager settingsManager;
-    XQPublishAndSubscribeUtils psUtils(settingsManager);
-    XQPublishAndSubscribeSettingsKey irStartupKey(KInternetRadioPSUid, KInternetRadioStartupKey);
-    psUtils.deleteProperty(irStartupKey);        
+    if( !iIsEmbedded )
+    {
+        XQSettingsManager settingsManager;
+        XQPublishAndSubscribeUtils psUtils(settingsManager);
+        XQPublishAndSubscribeSettingsKey irStartupKey(KInternetRadioPSUid, KInternetRadioStartupKey);
+        psUtils.deleteProperty(irStartupKey);           
+    }     
 #endif	
 }
 
@@ -209,10 +193,16 @@
         if (EIRView_PlayingView == viewId)
         {
             //handle error case
-            if (NULL == getLastPlayedStationInfo()->getLastPlayedStation())
+            IRLastPlayedStationInfo *lastPlayedStationInfo = getLastPlayedStationInfo();            
+            if (lastPlayedStationInfo)
             {
-                viewId = EIRView_CategoryView;
-            }
+                IRQPreset *lastPreset = NULL;
+                lastPreset = lastPlayedStationInfo->getLastPlayedStation();
+                if( NULL == lastPreset )
+                {
+                    viewId = EIRView_CategoryView;
+                }
+            } 
         }
     }
     
@@ -377,6 +367,11 @@
 
 IRLastPlayedStationInfo* IRApplication::getLastPlayedStationInfo()
 {
+    if( iIsEmbedded )
+    {
+        return NULL;
+    } 
+    
     if(NULL == iLastPlayedStationInfo)
     {
         iLastPlayedStationInfo = new IRLastPlayedStationInfo();
@@ -432,16 +427,6 @@
     return iFileViewService->getPlayList();
 }
 
-#ifdef LOCALIZATION
-/*
-* this function will take ownership of the translator
-*/
-void IRApplication::setTranslator(QTranslator* aTranslator)
-{
-    iTranslator = aTranslator;        
-}
-#endif
-
 /*
  * Description : create all the application level components, including network controller,
  *               favorites db, isds client, play controller, etc
@@ -452,8 +437,12 @@
 {
     getSettings();
 #ifdef HS_WIDGET_ENABLED    
-    iControlService = new IrControlService(this);
-    iMonitorService = new IrMonitorService(this);	
+    if( !iIsEmbedded )
+    {
+        iControlService = new IrControlService(this);
+        iMonitorService = new IrMonitorService(this);        
+    } 
+     
 #endif	
 }
 
@@ -609,18 +598,6 @@
     
     IRCategoryView *categoryView = static_cast<IRCategoryView*>(getViewManager()->getView(EIRView_CategoryView, true));
     categoryView->loadCategory(IRQIsdsClient::EGenre);
-}
-
-void IRApplication::newLocalSocketConnection()
-{
-    QLocalSocket *socket = iLocalServer->nextPendingConnection();
-    if (!socket)
-    {
-        return;
-    }
-    delete socket;
-    
-    iViewManager->raise();
 } 
 
 void IRApplication::initApp()
@@ -635,19 +612,23 @@
     }
     getMediaKeyObserver();	
     startSystemEventMonitor();
-    startLocalServer();
+
+
     //when IR is running, remove activity. Otherwise user can see two items in task switcher
     iViewManager->removeActivity();
     
 #ifdef HS_WIDGET_ENABLED		
-    // Write the startup timestamp to P&S key for the homescreen widget
-    XQSettingsManager settingsManager;
-    XQPublishAndSubscribeUtils psUtils(settingsManager);
-    XQPublishAndSubscribeSettingsKey irStartupKey(KInternetRadioPSUid, KInternetRadioStartupKey);
-    if (psUtils.defineProperty(irStartupKey, XQSettingsManager::TypeInt))
+    if( !iIsEmbedded )
     {
-        settingsManager.writeItemValue(irStartupKey, (int)QDateTime::currentDateTime().toTime_t());
-    } 
+        // Write the startup timestamp to P&S key for the homescreen widget
+        XQSettingsManager settingsManager;
+        XQPublishAndSubscribeUtils psUtils(settingsManager);
+        XQPublishAndSubscribeSettingsKey irStartupKey(KInternetRadioPSUid, KInternetRadioStartupKey);
+        if (psUtils.defineProperty(irStartupKey, XQSettingsManager::TypeInt))
+        {
+            settingsManager.writeItemValue(irStartupKey, (int)QDateTime::currentDateTime().toTime_t());
+        } 
+    }
 #endif        
 }
 
@@ -729,6 +710,10 @@
     return iAppFullyStarted;
 }
 
+bool IRApplication::isEmbeddedInstance() const
+{
+    return iIsEmbedded;
+}
 void IRApplication::setExitingView()
 {  
     TIRViewId viewId = iViewManager->getExitingView();
@@ -784,69 +769,8 @@
 #endif
 
 
-void IRApplication::startLocalServer()
-{
-    QString serverName = QCoreApplication::applicationName();
-    iLocalServer = new QLocalServer(this);
-    connect(iLocalServer, SIGNAL(newConnection()),
-            this, SLOT(newLocalSocketConnection()));
-    
-    if (!iLocalServer->listen(serverName)) 
-    {
-        QAbstractSocket::SocketError error = iLocalServer->serverError();
-        QString fullServerName;
-        fullServerName = QDir::cleanPath(QDir::tempPath());
-        fullServerName += QLatin1Char('/') + serverName;
-        bool fileExists = QFile::exists(fullServerName);
-        
-        if (error == QAbstractSocket::AddressInUseError && fileExists) 
-        {
-            QFile::remove(fullServerName);
-            bool ret = iLocalServer->listen(serverName);
-            //following lines aim to fix coverity errors
-            if (!ret)
-            {
-                Q_ASSERT(false);
-            }
-        }
-    }
-}
-
-bool IRApplication::eventFilter(QObject *object, QEvent *event)
-{
-    bool eventWasConsumed = false;
+ 
 
-    if (object->objectName() == ABSTRACT_LIST_VIEW_BASE_OBJECT_PLAYINGBANNER)
-    {
-        if (NULL == iViewManager->currentView())
-        {
-            return false;
-        }
-        
-        if( (EIRView_PlayingView == static_cast<IRBaseView*>(iViewManager->currentView())->id()) \
-        	||(EIRView_SearchView == static_cast<IRBaseView*>(iViewManager->currentView())->id()) )
-        {
-            return false;
-        }    
-	
-        if (event->type() == QEvent::GraphicsSceneMousePress)
-        {
-            eventWasConsumed = true;
-            Q_ASSERT(iPlayController->isPlaying());
-            IrAbstractListViewBase* listview = static_cast<IrAbstractListViewBase*>(iViewManager->currentView());
-            listview->setPlayingBannerTextColor("qtc_multimedia_trans_pressed");
-        }
-        else if(event->type() == QEvent::GraphicsSceneMouseRelease)
-        {
-            eventWasConsumed = true;
-            Q_ASSERT(iPlayController->isPlaying());
-            IrAbstractListViewBase* listview = static_cast<IrAbstractListViewBase*>(iViewManager->currentView());
-            listview->setPlayingBannerTextColor("qtc_multimedia_trans_normal");
-            iViewManager->activateView(EIRView_PlayingView);
-        }
-    }
-    return eventWasConsumed;
-}
 
 void IRApplication::startSystemEventMonitor()
 {