tsdevicedialog/tsdevicedialogplugin/src/tsdevicedialogplugin.cpp
changeset 107 b34d53f6acdf
parent 102 8b8b34fa9751
child 112 dbfb5e38438b
equal deleted inserted replaced
106:e78d6e055a5b 107:b34d53f6acdf
    17 
    17 
    18 #include <QTranslator>
    18 #include <QTranslator>
    19 #include <QCoreApplication>
    19 #include <QCoreApplication>
    20 #include <QLocale>
    20 #include <QLocale>
    21 #include <QtPlugin>
    21 #include <QtPlugin>
    22 
       
    23 #include <qservicemanager.h>
    22 #include <qservicemanager.h>
    24 
       
    25 #include <hbdevicedialog.h>
    23 #include <hbdevicedialog.h>
    26 #include <HbMainWindow>
    24 #include <HbMainWindow>
    27 
    25 
    28 #include "tsdevicedialogplugin.h"
    26 #include "tsdevicedialogplugin.h"
    29 #include "tsdevicedialogcontainer.h"
    27 #include "tsdevicedialogcontainer.h"
    40 
    38 
    41 namespace
    39 namespace
    42 {
    40 {
    43     const char KTranslationPath[] = "resource/qt/translations";
    41     const char KTranslationPath[] = "resource/qt/translations";
    44     const char KTsDialogType[] = "com.nokia.taskswitcher.tsdevicedialogplugin/1.0";
    42     const char KTsDialogType[] = "com.nokia.taskswitcher.tsdevicedialogplugin/1.0";
       
    43     const char KActivityManaged [] = "com.nokia.qt.activities.ActivityManager";
    45 } 
    44 } 
    46  
    45  
    47 /*!
    46 /*!
    48     Constructor.
    47     Constructor.
    49  */
    48  */
    50 TsDeviceDialogPlugin::TsDeviceDialogPlugin() : mError(0), mModel(0), mStorage(0), mTriedToLoadTranslation(false)
    49 TsDeviceDialogPlugin::TsDeviceDialogPlugin()
       
    50 : 
       
    51 mModel(0), 
       
    52 mStorage(0), 
       
    53 mTriedToLoadTranslation(false)
    51 {
    54 {
    52 }
    55 }
    53 
    56 
    54 TsDeviceDialogPlugin::~TsDeviceDialogPlugin()
    57 TsDeviceDialogPlugin::~TsDeviceDialogPlugin()
    55 {
    58 {
    56     delete mModel;
    59     delete mModel;
    57 }
    60 }
    58 /*!
    61 /*!
    59     \reimp
    62     \reimp
    60  */
    63  */
    61 bool TsDeviceDialogPlugin::accessAllowed(const QString &deviceDialogType, const QVariantMap &parameters, const QVariantMap &securityInfo) const
    64 bool TsDeviceDialogPlugin::accessAllowed(const QString &deviceDialogType, 
       
    65                                          const QVariantMap &parameters, 
       
    66                                          const QVariantMap &securityInfo) const
    62 {
    67 {
    63     Q_UNUSED(deviceDialogType)
    68     Q_UNUSED(deviceDialogType)
    64     Q_UNUSED(parameters)
    69     Q_UNUSED(parameters)
    65     Q_UNUSED(securityInfo)
    70     Q_UNUSED(securityInfo)
    66 
    71 
    70 }
    75 }
    71 
    76 
    72 /*!
    77 /*!
    73     \reimp
    78     \reimp
    74  */
    79  */
    75 HbDeviceDialogInterface *TsDeviceDialogPlugin::createDeviceDialog(const QString &deviceDialogType, const QVariantMap &parameters)
    80 HbDeviceDialogInterface * 
       
    81 TsDeviceDialogPlugin::createDeviceDialog(const QString &deviceDialogType, 
       
    82                                          const QVariantMap &parameters)
    76 {
    83 {
    77     Q_UNUSED(parameters)
    84     Q_UNUSED(parameters)
    78     HbDeviceDialogInterface *dialogInterface(0);
    85     HbDeviceDialogInterface *dialogInterface(0);
    79     if (deviceDialogType == QString(KTsDialogType)) {
    86     if (deviceDialogType == QString(KTsDialogType)) {
    80         // lazy loading of translation
    87         // lazy loading of translation
    81         if (!mTriedToLoadTranslation) {
    88         if (!mTriedToLoadTranslation) {
    82             mTriedToLoadTranslation = true;
    89             mTriedToLoadTranslation = true;
    83 
    90 
    84             QTranslator *translator = new QTranslator(this);
    91             QTranslator *translator = new QTranslator(this);
    85             QString translationFile = QString("taskswitcher_%1").arg(QLocale::system().name());
    92             QString translationFile = 
       
    93                 QString("taskswitcher_%1").arg(QLocale::system().name());
    86     
    94     
    87             bool translationLoaded(false);
    95             bool translationLoaded(false);
    88             #ifdef Q_OS_SYMBIAN
    96             #ifdef Q_OS_SYMBIAN
    89                 translationLoaded = translator->load(translationFile, QString("z:/") + KTranslationPath);
    97                 translationLoaded = 
       
    98                     translator->load(translationFile, 
       
    99                                      QString("z:/") + KTranslationPath);
    90                 if (!translationLoaded) {
   100                 if (!translationLoaded) {
    91                     translationLoaded = translator->load(translationFile, QString("c:/") + KTranslationPath);
   101                     translationLoaded = 
       
   102                         translator->load(translationFile, 
       
   103                                          QString("c:/") + KTranslationPath);
    92                 }
   104                 }
    93             #else
   105             #else
    94                 translationLoaded = translator->load(translationFile, QString(KTranslationPath));
   106                 translationLoaded = 
       
   107                     translator->load(translationFile, 
       
   108                                      QString(KTranslationPath));
    95             #endif //Q_OS_SYMBIAN
   109             #endif //Q_OS_SYMBIAN
    96 
   110 
    97             Q_ASSERT(translationLoaded);
   111             Q_ASSERT(translationLoaded);
    98             qApp->installTranslator(translator);
   112             qApp->installTranslator(translator);
    99         }
   113         }
   104             if (0 == mStorage) {
   118             if (0 == mStorage) {
   105                 return 0; // provider of running application list is critical
   119                 return 0; // provider of running application list is critical
   106             }
   120             }
   107             
   121             
   108             QtMobility::QServiceManager serviceManager;
   122             QtMobility::QServiceManager serviceManager;
   109             QObject *activityManager(serviceManager.loadInterface("com.nokia.qt.activities.ActivityManager"));
   123             QObject *activityManager(serviceManager.loadInterface(KActivityManaged));
   110             if (activityManager) {
   124             if (0 != activityManager) {
   111                 activityManager->setParent(this); //make it autodestructed
   125                 activityManager->setParent(this); //make it autodestructed
   112             } else {
   126             } else {
   113                 activityManager = this; //activity plugin is not present. provide invalid instance because its not critical functionality.
   127                 activityManager = this; //activity plugin is not present. provide invalid instance because its not critical functionality.
   114                 //QMetaObject::invokeMethod is safe to use in such a case.
   128                 //QMetaObject::invokeMethod is safe to use in such a case.
   115             }
   129             }
   122 }
   136 }
   123 
   137 
   124 /*!
   138 /*!
   125     \reimp
   139     \reimp
   126  */
   140  */
   127 bool TsDeviceDialogPlugin::deviceDialogInfo(const QString &deviceDialogType, const QVariantMap &parameters, DeviceDialogInfo *info) const
   141 bool TsDeviceDialogPlugin::deviceDialogInfo(const QString &deviceDialogType, 
       
   142                                             const QVariantMap &parameters, 
       
   143                                             DeviceDialogInfo *info) const
   128 {
   144 {
   129     Q_UNUSED(parameters)
   145     Q_UNUSED(parameters)
   130     Q_UNUSED(deviceDialogType)
   146     Q_UNUSED(deviceDialogType)
   131 
   147 
   132     info->group = GenericDeviceDialogGroup;
   148     info->group = GenericDeviceDialogGroup;
   155 /*!
   171 /*!
   156     \reimp
   172     \reimp
   157  */
   173  */
   158 int TsDeviceDialogPlugin::error() const
   174 int TsDeviceDialogPlugin::error() const
   159 {
   175 {
   160     return mError;
   176     return 0;
   161 }
   177 }
   162 
   178 
   163 #ifdef COVERAGE_MEASUREMENT
   179 #ifdef COVERAGE_MEASUREMENT
   164 #pragma CTC SKIP
   180 #pragma CTC SKIP
   165 #endif //COVERAGE_MEASUREMENT
   181 #endif //COVERAGE_MEASUREMENT