homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddappstocollectionstate.cpp
changeset 55 03646e8da489
parent 51 4785f57bf3d4
child 60 30f14686fb04
equal deleted inserted replaced
51:4785f57bf3d4 55:03646e8da489
   178     QState(parent), mCollectionName(), mCollectionId(0), mAppList(),
   178     QState(parent), mCollectionName(), mCollectionId(0), mAppList(),
   179     mShowConfirmation(0), mInitialState(0), mSelectCollectionState(0),
   179     mShowConfirmation(0), mInitialState(0), mSelectCollectionState(0),
   180     mNewCollectionState(0), mAppsCheckListState(0), mActionType(
   180     mNewCollectionState(0), mAppsCheckListState(0), mActionType(
   181         NoActionType), mApplicationsSortAttribute(NoHsSortAttribute),
   181         NoActionType), mApplicationsSortAttribute(NoHsSortAttribute),
   182     mCollectionsSortAttribute(NoHsSortAttribute), mAppsCheckList(0),
   182     mCollectionsSortAttribute(NoHsSortAttribute), mAppsCheckList(0),
   183     mEditorDialog(0), mEditorFinishedEntered(false), mListDialog(0),
   183     mEditorDialog(0), mListDialog(0)
   184     mListFinishedEntered(false)
       
   185 {
   184 {
   186     construct();
   185     construct();
   187 }
   186 }
   188 
   187 
   189 /*!
   188 /*!
   374     }
   373     }
   375     delete mAppsCheckList;
   374     delete mAppsCheckList;
   376     mAppsCheckList = NULL;
   375     mAppsCheckList = NULL;
   377 
   376 
   378     if (mEditorDialog) {
   377     if (mEditorDialog) {
       
   378         disconnect(mEditorDialog, SIGNAL(finished(HbAction*)),
       
   379                    this, SLOT(editorDialogFinished(HbAction*)));
   379         mEditorDialog->close();
   380         mEditorDialog->close();
   380         mEditorDialog = NULL;
   381         mEditorDialog = NULL;
   381     }
   382     }
   382 
   383 
   383     if (mListDialog) {
   384     if (mListDialog) {
       
   385         disconnect(mListDialog, SIGNAL(finished(HbAction*)),
       
   386                    this, SLOT(listDialogFinished(HbAction*)));
   384         mListDialog->close();
   387         mListDialog->close();
   385         mListDialog = NULL;
   388         mListDialog = NULL;
   386     }
   389     }
   387 
   390 
   388     HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::stateExited");
   391     HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::stateExited");
   397 #endif //COVERAGE_MEASUREMENT
   400 #endif //COVERAGE_MEASUREMENT
   398 void HsAddAppsToCollectionState::newCollection()
   401 void HsAddAppsToCollectionState::newCollection()
   399 {
   402 {
   400     qDebug("HsAddAppsToCollectionState::newCollection");
   403     qDebug("HsAddAppsToCollectionState::newCollection");
   401     HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::newCollection");
   404     HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::newCollection");
   402     mEditorFinishedEntered = false;
       
   403     mEditorDialog = new HsCollectionNameDialog();
   405     mEditorDialog = new HsCollectionNameDialog();
   404     mEditorDialog->open(this, SLOT(editorDialogFinished(HbAction*)));
   406     mEditorDialog->open(this, SLOT(editorDialogFinished(HbAction*)));
   405 
   407 
   406     HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::newCollection");
   408     HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::newCollection");
   407 }
   409 }
   413 // ---------------------------------------------------------------------------
   415 // ---------------------------------------------------------------------------
   414 // ---------------------------------------------------------------------------
   416 // ---------------------------------------------------------------------------
   415 //
   417 //
   416 void HsAddAppsToCollectionState::editorDialogFinished(HbAction* finishedAction)
   418 void HsAddAppsToCollectionState::editorDialogFinished(HbAction* finishedAction)
   417 {
   419 {
   418     if (!mEditorFinishedEntered) {
   420     if (finishedAction == mEditorDialog->actions().value(0)) {
   419         mEditorFinishedEntered = true;
   421         QString newName(mEditorDialog->newName(mEditorDialog->value().toString(), true));
   420 
   422         if (mActionType == ViaAllViewOptionMenuType) {
   421         if (finishedAction == mEditorDialog->actions().value(0)) {
   423             qDebug("HsAddAppsToCollectionState::newCollection() "
   422             QString newName(mEditorDialog->newName(mEditorDialog->value().toString(), true));
   424                    "- emit collectionNameSelectedCl(newName)");
   423             if (mActionType == ViaAllViewOptionMenuType) {
   425             emit transitToAppsCheckListState(newName);
   424                 qDebug("HsAddAppsToCollectionState::newCollection() "
       
   425                        "- emit collectionNameSelectedCl(newName)");
       
   426                 emit transitToAppsCheckListState(newName);
       
   427             } else {
       
   428                 qDebug("HsAddAppsToCollectionState::newCollection() "
       
   429                        "- emit collectionNameSelected(newName)");
       
   430                 emit transitToSaveState(newName);
       
   431             }
       
   432         } else {
   426         } else {
   433             qDebug(
   427             qDebug("HsAddAppsToCollectionState::newCollection() "
   434                 "HsAddAppsToCollectionState::newCollection() - emit cancel()");
   428                    "- emit collectionNameSelected(newName)");
   435             emit transitToFinalState();
   429             emit transitToSaveState(newName);
   436         }
   430         }
   437         mEditorDialog = NULL; // set to null since this will be deleted after close
       
   438 
       
   439     } else {
   431     } else {
   440         // (work-around if more then one action is selected in HbDialog)
   432         qDebug(
   441         qWarning("Another signal finished was emited.");
   433             "HsAddAppsToCollectionState::newCollection() - emit cancel()");
   442     }
   434         emit transitToFinalState();
       
   435     }
       
   436     mEditorDialog = NULL; // set to null since this will be deleted after close
   443 }
   437 }
   444 
   438 
   445 /*!
   439 /*!
   446  Slot invoked when select collection state is entered.
   440  Slot invoked when select collection state is entered.
   447  */
   441  */
   450 #endif //COVERAGE_MEASUREMENT
   444 #endif //COVERAGE_MEASUREMENT
   451 void HsAddAppsToCollectionState::selectCollection()
   445 void HsAddAppsToCollectionState::selectCollection()
   452 {
   446 {
   453     qDebug("HsAddAppsToCollectionState::selectCollection()");
   447     qDebug("HsAddAppsToCollectionState::selectCollection()");
   454     HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::selectCollection");
   448     HSMENUTEST_FUNC_ENTRY("HsAddAppsToCollectionState::selectCollection");
   455     mListFinishedEntered = false;
       
   456     mListDialog = new HsCollectionsListDialog(mCollectionsSortAttribute,
   449     mListDialog = new HsCollectionsListDialog(mCollectionsSortAttribute,
   457                                                        mCollectionId);
   450                                                        mCollectionId);
   458     mListDialog->open(this, SLOT(listDialogFinished(HbAction*)));
   451     mListDialog->open(this, SLOT(listDialogFinished(HbAction*)));
   459     HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::selectCollection");
   452     HSMENUTEST_FUNC_EXIT("HsAddAppsToCollectionState::selectCollection");
   460 }
   453 }
   467 // ---------------------------------------------------------------------------
   460 // ---------------------------------------------------------------------------
   468 // ---------------------------------------------------------------------------
   461 // ---------------------------------------------------------------------------
   469 //
   462 //
   470 void HsAddAppsToCollectionState::listDialogFinished(HbAction* finishedAction)
   463 void HsAddAppsToCollectionState::listDialogFinished(HbAction* finishedAction)
   471 {
   464 {
   472     if (!mListFinishedEntered) {
   465     if (finishedAction != mListDialog->actions().value(0)) {
   473         mListFinishedEntered = true;
   466         int itemId = mListDialog->getItemId();
   474 
   467         if (itemId) {
   475         if (finishedAction != mListDialog->actions().value(0)) {
   468             if (mActionType == ViaAllViewOptionMenuType) {
   476             int itemId = mListDialog->getItemId();
   469                 qDebug("emit collectionSelectedCl(%d)", itemId);
   477             if (itemId) {
   470                 emit transitToAppsCheckListState(itemId);
   478                 if (mActionType == ViaAllViewOptionMenuType) {
       
   479                     qDebug("emit collectionSelectedCl(%d)", itemId);
       
   480                     emit transitToAppsCheckListState(itemId);
       
   481                 } else {
       
   482                     qDebug("emit collectionSelected(%d)", itemId);
       
   483                     emit transitToSaveState(itemId);
       
   484                 }
       
   485             } else {
   471             } else {
   486                 qDebug("emit createNewCollection()");
   472                 qDebug("emit collectionSelected(%d)", itemId);
   487                 emit transitToNewCollectionState();
   473                 emit transitToSaveState(itemId);
   488             }
   474             }
   489         } else {
   475         } else {
   490             qDebug("emit cancel()");
   476             qDebug("emit createNewCollection()");
   491             emit transitToFinalState();
   477             emit transitToNewCollectionState();
   492         }
   478         }
   493 
       
   494         mListDialog = NULL; // set to null since this will be deleted after close
       
   495 
       
   496     } else {
   479     } else {
   497         // (work-around if more then one action is selected in HbDialog)
   480         qDebug("emit cancel()");
   498         qWarning("Another signal finished was emited.");
   481         emit transitToFinalState();
   499     }
   482     }
       
   483     mListDialog = NULL; // set to null since this will be deleted after close
   500 }
   484 }
   501 
   485 
   502 /*!
   486 /*!
   503  Slot connected to saving action of state.
   487  Slot connected to saving action of state.
   504  It is called when new application are addend to collection.
   488  It is called when new application are addend to collection.