homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsuninstallitemstate.cpp
changeset 86 e4f038c420f7
parent 81 7dd137878ff8
child 90 3ac3aaebaee5
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsuninstallitemstate.cpp	Wed Aug 18 10:33:57 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsuninstallitemstate.cpp	Mon Sep 13 13:03:23 2010 +0300
@@ -27,6 +27,7 @@
 #include <QScopedPointer>
 #include <QStandardItemModel>
 #include <QStandardItem>
+#include <QStateMachine>
 #include <casoftwareregistry.h>
 #include <caquery.h>
 #include <canotifier.h>
@@ -35,6 +36,8 @@
 #include "hsmenuevent.h"
 #include "hsmenudialogfactory.h"
 #include "hsmenuentryremovedhandler.h"
+#include "hsmenueventfactory.h"
+
 /*!
  \class HsUninstallItemState
  \ingroup group_hsworkerstateplugin
@@ -111,7 +114,9 @@
 void HsUninstallItemState::uninstallMessageFinished(HbAction* finishedAction)
 {
     if (static_cast<QAction*>(finishedAction) == mConfirmAction) {
-        HsMenuService::executeAction(mItemId, Hs::removeActionIdentifier);
+
+        HsMenuService::executeAction(mItemId, Hs::removeActionIdentifier, 
+                this, SLOT(uninstallFailed(int)));
     }
     mConfirmAction = NULL;
     mUninstallMessage = NULL;
@@ -187,6 +192,23 @@
     mItemId = 0;
 }
 
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT (only returns HbMainWindow)
+/*!
+ Slot invoked when unninstallation failed.
+ \param error Uninstallation error.
+ \retval void
+ */
+void HsUninstallItemState::uninstallFailed(int error)
+{
+    machine()->postEvent(
+            HsMenuEventFactory::createUninstallFailedEvent(error));
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
 /*!
  Method create uninstall confirmation message.
  \retval void