taskswitcherapp/tsdevicedialogplugin/src/tstasksgriditem.cpp
changeset 60 30f14686fb04
parent 39 4e8ebe173323
--- a/taskswitcherapp/tsdevicedialogplugin/src/tstasksgriditem.cpp	Fri Jun 11 13:30:16 2010 +0300
+++ b/taskswitcherapp/tsdevicedialogplugin/src/tstasksgriditem.cpp	Wed Jun 23 18:03:36 2010 +0300
@@ -16,10 +16,13 @@
 */
 #include "tstasksgriditem.h"
 
-#include <hblabel.h>
-#include <hbpushbutton.h>
-#include <hbabstractitemview.h>
-#include <hbanchorlayout.h>
+#include <HbPushButton>
+#include <HbAbstractItemView>
+#include <HbFrameItem>
+#include <HbTextItem>
+#include <HbIconItem>
+#include <HbStyleLoader>
+
 #include "tsdataroles.h"
 
 /*!
@@ -29,51 +32,44 @@
 */
 
 
-TsTasksGridItem::TsTasksGridItem() : HbAbstractViewItem(), mScreenshotLabel(0), mApplicationNameLabel(0), mDeleteButton(0)
+TsTasksGridItem::TsTasksGridItem() : HbAbstractViewItem(), mScreenshotLabel(0), mApplicationNameLabel(0), mDeleteButton(0), mActiveLabelFrame(0), mActiveLabel(0)
 {
+    // Register the custom docml and css to provide our own style to the list items
+    bool widgetmlLoaded = HbStyleLoader::registerFilePath(":/resource/tstasksgriditem.widgetml");
+    Q_ASSERT(widgetmlLoaded);
+    bool cssLoaded = HbStyleLoader::registerFilePath(":/resource/tstasksgriditem.css");
+    Q_ASSERT(cssLoaded);
 }
 
 TsTasksGridItem::TsTasksGridItem(const TsTasksGridItem &item) : HbAbstractViewItem(item)
 {
-    // add screenshot
-    mScreenshotLabel = new HbLabel();
-    mScreenshotLabel->setAlignment(Qt::AlignHCenter);
-
-    // add application name label
-    mApplicationNameLabel = new HbLabel();
-    mApplicationNameLabel->setAlignment(Qt::AlignCenter);
+    mScreenshotLabel = new HbIconItem(this);
+    mApplicationNameLabel = new HbTextItem(this);
+    mDeleteButton = new HbPushButton(this);
+    HbFrameItem *screenshotFrame = new HbFrameItem(this);    
+    screenshotFrame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+    screenshotFrame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
 
-    // add close app button
-    HbIcon deleteIcon(":/resource/delete.png");
-    mDeleteButton = new HbPushButton();
-    mDeleteButton->setIcon(deleteIcon);
-    mDeleteButton->setPreferredSize(48, 48);
-    mDeleteButton->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
-    mDeleteButton->setEnabled(true);
-    connect(mDeleteButton, SIGNAL(clicked()), this, SLOT(handleDeleteClicked()));
-    mDeleteButton->hide();
-
-    setContentsMargins(5, 5, 5, 5);
+    HbFrameItem *applicationLabelFrame = new HbFrameItem(this);
+    applicationLabelFrame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+    applicationLabelFrame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
 
-    // add all items to layout
-    HbAnchorLayout *anchorLayout = new HbAnchorLayout();
-    anchorLayout->setAnchor(mApplicationNameLabel, Hb::LeftEdge, anchorLayout, Hb::LeftEdge, 0);
-    anchorLayout->setAnchor(mApplicationNameLabel, Hb::TopEdge, anchorLayout, Hb::TopEdge, 0);
-    anchorLayout->setAnchor(mApplicationNameLabel, Hb::RightEdge, anchorLayout, Hb::RightEdge, 0);
+    mActiveLabel = new HbTextItem(hbTrId("txt_tsw_label_active"), this);
+    mActiveLabelFrame = new HbFrameItem(this);
+    mActiveLabelFrame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+    mActiveLabelFrame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
+
+    mDeleteButton->setIcon(HbIcon("qtg_mono_exit"));
 
-    anchorLayout->setAnchor(mScreenshotLabel, Hb::TopEdge, mApplicationNameLabel, Hb::BottomEdge, 0);
-    anchorLayout->setAnchor(mScreenshotLabel, Hb::LeftEdge, anchorLayout, Hb::LeftEdge, 0);
-    anchorLayout->setAnchor(mScreenshotLabel, Hb::RightEdge, anchorLayout, Hb::RightEdge, 0);
-    anchorLayout->setAnchor(mScreenshotLabel, Hb::BottomEdge, anchorLayout, Hb::BottomEdge, 0);
-
-    anchorLayout->setAnchor(mDeleteButton, Hb::RightEdge, mScreenshotLabel, Hb::RightEdge, 0);
-    anchorLayout->setAnchor(mDeleteButton, Hb::TopEdge, mScreenshotLabel, Hb::TopEdge, 0);
-
-    setLayout(anchorLayout);
-}
-
-TsTasksGridItem::~TsTasksGridItem()
-{
+    HbStyle::setItemName(mScreenshotLabel, "screenshot");
+    HbStyle::setItemName(mApplicationNameLabel, "appname");
+    HbStyle::setItemName(mDeleteButton, "closebadge");
+    mDeleteButton->setObjectName("closebadge");
+    HbStyle::setItemName(screenshotFrame, "screenshotFrame");
+    HbStyle::setItemName(applicationLabelFrame, "applicationLabelFrame");
+    HbStyle::setItemName(mActiveLabel, "activeLabel");
+    HbStyle::setItemName(mActiveLabelFrame, "activeLabelFrame");
+    connect(mDeleteButton, SIGNAL(clicked()), this, SLOT(handleDeleteClicked()));
 }
 
 HbAbstractViewItem *TsTasksGridItem::createItem()
@@ -91,12 +87,16 @@
 void TsTasksGridItem::updateChildItems()
 {
     mScreenshotLabel->setIcon(modelIndex().data(Qt::DecorationRole).value<HbIcon>());
-    mApplicationNameLabel->setPlainText(modelIndex().data(Qt::DisplayRole).toString());
+    mApplicationNameLabel->setText(modelIndex().data(Qt::DisplayRole).toString());
     QVariant status(modelIndex().data(TsDataRoles::Closable));
     const bool isRunning(status.isValid() && status.toBool());
     if (isRunning) {
         mDeleteButton->show();
+        mActiveLabel->show();
+        mActiveLabelFrame->show();
     } else {
         mDeleteButton->hide();
+        mActiveLabel->hide();
+        mActiveLabelFrame->hide();
     }
 }