notes/notesui/noteseditor/src/notesnoteeditor.cpp
changeset 45 b6db4fd4947b
parent 23 fd30d51f876b
child 55 2c54b51f39c4
child 58 ef813d54df51
--- a/notes/notesui/noteseditor/src/notesnoteeditor.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/notesnoteeditor.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -230,7 +230,7 @@
 
 	// Set our view as the current view.
 	HbMainWindow *window = hbInstance->allMainWindows().first();
-	HbAction *action = new HbAction(Hb::BackAction);
+	HbAction *action = new HbAction(Hb::BackNaviAction);
 	mEditor->setNavigationAction(action);
 	connect(
 			action, SIGNAL(triggered()),
@@ -295,19 +295,33 @@
  */
 void NotesNoteEditor::deleteNote()
 {
-	if (showDeleteConfirmationQuery()) {
-		mOwner->deleteNote();
+	HbMessageBox *confirmationQuery = new HbMessageBox(
+			HbMessageBox::MessageTypeQuestion);
+	confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+	confirmationQuery->setTimeout(HbDialog::NoTimeout);
+	confirmationQuery->setIconVisible(true);
 
-		HbMainWindow *window = hbInstance->allMainWindows().first();
-		bool status = false;
+	QString displayText;
+	displayText = displayText.append(hbTrId("txt_notes_info_delete_note"));
+
+	confirmationQuery->setText(displayText);
 
-		// Now close the editor.
-		window->removeView(mEditor);
+	// Remove the default actions.
+	QList<QAction *> defaultActions = confirmationQuery->actions();
+	for (int index=0;index<defaultActions.count();index++) {
+		confirmationQuery->removeAction(defaultActions[index]);
+	}
+	defaultActions.clear();
 
-		mOwner->editingCompleted(status);
+	// Add delete and cancel actions.
+	mDeleteNoteAction = new HbAction(
+			hbTrId("txt_notes_button_dialog_delete"));
+	mCancelDeleteAction = new HbAction(
+			hbTrId("txt_common_button_cancel"));
+	confirmationQuery->addAction(mDeleteNoteAction);
+	confirmationQuery->addAction(mCancelDeleteAction);
 
-	}
-
+	confirmationQuery->open(this, SLOT(selectedAction(HbAction*)));
 }
 
 /*!
@@ -526,32 +540,21 @@
 }
 
 /* !
-	Show the delete confirmation query.
+	Slot to handle the selected action from delete message box.
  */
-bool NotesNoteEditor::showDeleteConfirmationQuery()
+void NotesNoteEditor::selectedAction(HbAction *action)
 {
-	bool retValue(false);
-
-	HbMessageBox confirmationQuery(HbMessageBox::MessageTypeQuestion);
-	confirmationQuery.setDismissPolicy(HbDialog::NoDismiss);
-	confirmationQuery.setTimeout(HbDialog::NoTimeout);
-	confirmationQuery.setIconVisible(true);
+	if (action == mDeleteNoteAction) {
+		mOwner->deleteNote();
 
-	QString displayText;
-	displayText = displayText.append(hbTrId("txt_notes_info_delete_note"));
-
-	confirmationQuery.setText(displayText);
+		HbMainWindow *window = hbInstance->allMainWindows().first();
+		bool status = false;
 
-	confirmationQuery.setPrimaryAction(new HbAction(
-	    hbTrId("txt_notes_button_dialog_delete"), &confirmationQuery));
-	confirmationQuery.setSecondaryAction(new HbAction(
-	    hbTrId("txt_common_button_cancel"), &confirmationQuery));
-	HbAction *selected = confirmationQuery.exec();
-	if (selected == confirmationQuery.primaryAction()) {
-		retValue = true;
+		// Now close the editor.
+		window->removeView(mEditor);
+
+		mOwner->editingCompleted(status);
 	}
-
-	return retValue;
 }
 
 // End of file	--Don't remove this.