diff -r 608f67c22514 -r 896e9dbc5f19 qtinternetradio/ui/src/irfavoritesview.cpp --- a/qtinternetradio/ui/src/irfavoritesview.cpp Tue Jul 06 14:07:20 2010 +0300 +++ b/qtinternetradio/ui/src/irfavoritesview.cpp Wed Aug 18 09:40:26 2010 +0300 @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include "irviewmanager.h" #include "irfavoritesview.h" @@ -150,6 +152,7 @@ //initialization from handleCommand() handleCommand(EIR_ViewCommand_TOBEACTIVATED, EIR_ViewCommandReason_Show); handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show); + emit applicationReady(); } } @@ -220,25 +223,22 @@ header->setHeading(hbTrId("Select items to delete")); #endif iMultiDeleteDialog->setHeadingWidget(header); - - - QList oriActions = iMultiDeleteDialog->actions(); - for(int i = 0; i< oriActions.count(); i++) - { - iMultiDeleteDialog->removeAction(oriActions.at(i)); - delete oriActions.at(i); - } + } + iMultiDeleteDialog->setModel(NULL); + iMultiDeleteDialog->setModel(iModel); + QList oriActions = iMultiDeleteDialog->actions(); + if (oriActions.count() >= 2) + { #ifdef SUBTITLE_STR_BY_LOCID - iMultiDeleteDialog->addAction(new HbAction(hbTrId("txt_common_button_delete"))); - iMultiDeleteDialog->addAction(new HbAction(hbTrId("txt_common_button_cancel"))); + oriActions.at(0)->setText(hbTrId("txt_common_button_delete")); + oriActions.at(1)->setText(hbTrId("txt_common_button_cancel")); #else - iMultiDeleteDialog->addAction(new HbAction(hbTrId("Delete"))); - iMultiDeleteDialog->addAction(new HbAction(hbTrId("Cancel"))); + oriActions.at(0)->setText("Delete"); + oriActions.at(1)->setText("Cancel"); #endif } - - iMultiDeleteDialog->setModel(iModel); + iMultiDeleteDialog->open(this,SLOT(deleteDialogClosed(HbAction*))); } @@ -372,6 +372,7 @@ iListView->reset(); iListView->setCurrentIndex(iModel->index(0)); + iListView->verticalScrollBar()->setValue(0.0); } void IRFavoritesView::deleteDialogClosed(HbAction *aAction) @@ -409,8 +410,7 @@ iConvertTimer->start(); } } - } - iMultiDeleteDialog->setModel(NULL); + } } void IRFavoritesView::actionClicked(HbAction *aAction) @@ -424,7 +424,7 @@ } else if ( objectName == KActionDeleteName) { - deleteContextAction(); + popupDeleteContextConfirmMessageBox(); } else if (objectName == KActionRenameName) { @@ -448,8 +448,7 @@ void IRFavoritesView::listViewLongPressed(HbAbstractViewItem *aItem, const QPointF& aCoords) { - Q_UNUSED(aItem); - Q_UNUSED(aCoords); + Q_UNUSED(aItem); HbAction *action = NULL; @@ -482,6 +481,7 @@ #endif action->setObjectName(KActionDetailsName); + contextMenu->setPos(aCoords); contextMenu->open(); } @@ -514,11 +514,19 @@ { int current = iListView->currentIndex().row(); IRQPreset *preset = iModel->getPreset(current); -#ifdef SUBTITLE_STR_BY_LOCID - HbInputDialog::getText(hbTrId("txt_common_menu_rename_item"), this, SLOT(renameConfirmed(HbAction*)), preset->name); + + HbInputDialog *dlg = new HbInputDialog; +#ifdef SUBTITLE_STR_BY_LOCID + dlg->setPromptText(hbTrId("txt_common_menu_rename_item")); #else - HbInputDialog::getText(hbTrId("Rename"), this, SLOT(renameConfirmed(HbAction*)), preset->name); + dlg->setPromptText(hbTrId("Rename")); #endif + HbLineEdit* lineEdit = dlg->lineEdit(); + lineEdit->setMaxLength(256); + dlg->setInputMode(HbInputDialog::TextInput); + dlg->setValue(preset->name); + dlg->setAttribute(Qt::WA_DeleteOnClose); + dlg->open(this, SLOT(renameConfirmed(HbAction*))); } void IRFavoritesView::detailsContextAction() @@ -622,3 +630,24 @@ viewToolBar->addAction(iFavoritesAction); viewToolBar->addAction(iSearchAction); } + +void IRFavoritesView::popupDeleteContextConfirmMessageBox() +{ +#ifdef SUBTITLE_STR_BY_LOCID + HbMessageBox::question(hbTrId("txt_irad_info_delete_station"), this, SLOT(deleteContext(HbAction*)), HbMessageBox::Ok | HbMessageBox::Cancel); +#else + HbMessageBox::question("Delete station?", this, SLOT(deleteContext(HbAction*)), HbMessageBox::Ok | HbMessageBox::Cancel); +#endif +} + +void IRFavoritesView::deleteContext(HbAction *aAction) +{ + HbMessageBox *dialog = static_cast(sender()); + if (dialog) + { + if (aAction == dialog->actions().at(0)) + { + deleteContextAction(); + } + } +}