homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsuninstallitemstate.cpp
changeset 61 2b1b11a301d2
parent 60 30f14686fb04
child 77 4b195f3bea29
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsuninstallitemstate.cpp	Wed Jun 23 18:03:36 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsuninstallitemstate.cpp	Tue Jul 06 14:06:53 2010 +0300
@@ -151,7 +151,9 @@
             query.setAttribute(applicationUidEntryKey(), uid);
             QList< QSharedPointer<CaEntry> > entries =
                 service->getEntries(query);
-            applicationsNames << entries[0]->text();
+            if (entries.length() > 0) {
+                applicationsNames << entries[0]->text();
+            }
         }
         if (applicationsNames.length()==1
             && applicationsNames[0]==componentName) {
@@ -207,8 +209,13 @@
  */
 void HsUninstallItemState::createUninstallMessage()
 {
+    CaQuery parentsQuery;
+    parentsQuery.setChildId(mItemId);
+    parentsQuery.setEntryTypeNames(QStringList(collectionTypeName()));
+    QList<int> parentsIds = CaService::instance()->getEntryIds(
+            parentsQuery);
     QString message;
-    if (HsShortcutService::instance()->isItemShortcutWidget(mItemId)) {
+    if (HsShortcutService::instance()->isItemShortcutWidget(mItemId) || (parentsIds.count() > 0)) {
         message.append(
             HbParameterLengthLimiter("txt_applib_dialog_uninstalls_1_and_deletes_all_sh").arg(
                 HsMenuService::getName(mItemId)));