tsdevicedialog/tsdevicedialogplugin/src/tsdevicedialogcontainer.cpp
changeset 112 dbfb5e38438b
parent 107 b34d53f6acdf
child 116 305818acdca4
--- a/tsdevicedialog/tsdevicedialogplugin/src/tsdevicedialogcontainer.cpp	Fri Aug 06 13:40:46 2010 +0300
+++ b/tsdevicedialog/tsdevicedialogplugin/src/tsdevicedialogcontainer.cpp	Wed Aug 18 10:39:24 2010 +0300
@@ -15,13 +15,16 @@
 *
 */
 
+#include "tsdevicedialogcontainer.h"
+
 #include <QAbstractListModel>
+
 #include <HbDialog>
 #include <HbMainWindow>
 #include <HbLabel>
+
 #include <tspropertydefs.h>
 
-#include "tsdevicedialogcontainer.h"
 #include "tstasksgrid.h"
 #include "tstasksgriditem.h"
 
@@ -33,7 +36,8 @@
                                                  QObject *parent)
 :
     QObject(parent), 
-    mVisibilityPublisher(TsProperty::KTsPath)
+    mVisibilityPublisher(TsProperty::KTsPath),
+    mDismissRequestSubscriber(QString("%1/%2").arg(TsProperty::KTsPath).arg(TsProperty::KDismissRequestPath))
 {
     bool ok(true);
     mLoader.load(KDocmlPath, &ok);
@@ -91,6 +95,11 @@
     mVisibilityPublisher.setValue(TsProperty::KVisibilityPath, 
                                   static_cast<int>(true));
     mVisibilityPublisher.sync();
+    
+    connect(&mDismissRequestSubscriber,
+            SIGNAL(contentsChanged()),
+            this,
+            SLOT(handleDismissRequest()));
 }
 
 TsDeviceDialogContainer::~TsDeviceDialogContainer()
@@ -152,16 +161,23 @@
 {
     TsTasksGrid *grid = 
         qobject_cast<TsTasksGrid *>(mLoader.findWidget("taskgrid"));
-    HbLabel *noItemsLabel = 
-        qobject_cast<HbLabel *>(mLoader.findWidget("noitemslabel"));
+    HbWidget *noItemsWidget = 
+        qobject_cast<HbWidget *>(mLoader.findWidget("noitemswidget"));
     Q_ASSERT(grid);
-    Q_ASSERT(noItemsLabel);
+    Q_ASSERT(noItemsWidget);
 
     if (grid->model()->rowCount()) {
-        noItemsLabel->hide();
+        noItemsWidget->hide();
         grid->show();
     } else {
-        noItemsLabel->show();
+        noItemsWidget->show();
         grid->hide();
     }
 }
+
+void TsDeviceDialogContainer::handleDismissRequest()
+{
+    if (mDismissRequestSubscriber.value().toBool()) {
+        emit deviceDialogClosed();
+    }
+}