--- a/vmbx/vmbxengine/src/vmbxqtuihandler.cpp Tue Aug 31 15:45:17 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +0,0 @@
-/*
-* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*
-*/
-
-// qt
-#include <QString>
-#include <QRegExp>
-#include <QCoreApplication>
-#include <hbinputdialog.h>
-#include <hblabel.h>
-#include <hbaction.h>
-#include <hbmessagebox.h>
-#include <hblineedit.h>
-#include <hbinputeditorinterface.h>
-#include <hbinputstandardfilters.h>
-#include <hbinputfilter.h>
-#include <hblistwidget.h>
-#include <hbnotificationdialog.h>
-#include <dialogwaiter.h>
-
-#include <cvoicemailboxentry.h>
-#include <cvoicemailbox.h>
-
-#include "vmbxqtuihandler.h"
-#include "voicemailboxdefsinternal.h"
-#include "vmbxlogger.h"
-
-// ======== MEMBER FUNCTIONS ==================================================
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::VmbxQtUiHandler
-// (Constructor).
-// ----------------------------------------------------------------------------
-//
-VmbxQtUiHandler::VmbxQtUiHandler(QObject* parent): QObject(parent),
- iTranslator(0), iCommonTranslator(0), iQueryDialog(NULL)
-{
- VMBLOGSTRING("VmbxQtUiHandler::VmbxQtUiHandler")
- init();
- VMBLOGSTRING("VmbxQtUiHandler::VmbxQtUiHandler Exit")
-}
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::~VmbxQtUiHandler
-// (Destructor).
-// ----------------------------------------------------------------------------
-//
-VmbxQtUiHandler::~VmbxQtUiHandler()
-{
- VMBLOGSTRING("VmbxQtUiHandler::~VmbxQtUiHandler")
- if ( iQueryDialog ) {
- delete iQueryDialog;
- iQueryDialog = NULL;
- VMBLOGSTRING("VmbxQtUiHandler::~VmbxQtUiHandler delete iQueryDialog")
- }
- VMBLOGSTRING("VmbxQtUiHandler::~VmbxQtUiHandler Exit")
-}
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::Init
-//
-// ----------------------------------------------------------------------------
-//
-void VmbxQtUiHandler::init()
-{
- VMBLOGSTRING("VmbxQtUiHandler::init")
- QString lang = QLocale::system().name();
- VMBLOGSTRING2("VmbxQtUiHandler::init lang type %S",
- lang.utf16())
- QString path = "Z:/resource/qt/translations/";
- bool translatorLoaded = iTranslator.load("vmbx_"+lang, path);
- VMBLOGSTRING2("VmbxQtUiHandler::init load vmbx result %d",
- translatorLoaded)
- // Install vmbx localization
- if (translatorLoaded) {
- VMBLOGSTRING("VmbxQtUiHandler::init qApp !")
- qApp->installTranslator(&iTranslator);
- }
- // Install common localization, for select type "cancel".
- bool loaded = iCommonTranslator.load( "common_"+lang, path);
- VMBLOGSTRING2("VmbxQtUiHandler::init load common result %d",
- loaded)
- if (loaded) {
- VMBLOGSTRING("VmbxQtUiHandler::init qApp !!")
- qApp->installTranslator(&iCommonTranslator);
- }
- VMBLOGSTRING("VmbxQtUiHandler::init Exit")
-}
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::ShowVmbxQueryDialog
-// (show query dialog).
-// ----------------------------------------------------------------------------
-//
-void VmbxQtUiHandler::showVmbxQueryDialog(const TVmbxType& aType,
- QString& aNumber, int& aResult)
-{
- VMBLOGSTRING("VmbxQtUiHandler::showVmbxQueryDialog")
- QString header;
- if (EVmbxVoice == aType) {
- header = hbTrId("txt_vmbx_title_voice_mailbox_number");
- } else if (EVmbxVideo == aType) {
- // type of EVmbxVideo
- header = hbTrId("txt_vmbx_title_video_mailbox_number");
- } else {
- aResult = KErrCancel;
- VMBLOGSTRING( "VmbxQtUiHandler::showVmbxQueryDialog type error" )
- return;
- }
- if (iQueryDialog) {
- delete iQueryDialog;
- iQueryDialog = 0;
- }
-
-
- iQueryDialog = new HbInputDialog();
- iQueryDialog->setDismissPolicy(HbDialog::NoDismiss);
- iQueryDialog->setTimeout(HbDialog::NoTimeout);
-
- iQueryDialog->setModal(true);
- // Set heading content
- iQueryDialog->setPromptText(header);
-
- // Set HbLineEdit Content
- iQueryDialog->lineEdit()->setText(aNumber); // default text
- iQueryDialog->lineEdit()->setMaxLength(KVmbxPhoneCharMaxLength);
- HbEditorInterface inputMode(iQueryDialog->lineEdit());
- inputMode.setFilter(HbPhoneNumberFilter::instance());
- bool ret = connect(iQueryDialog->lineEdit(), SIGNAL(textChanged(QString)),
- this, SLOT(updatePrimaryAction(QString)));
- VMBLOGSTRING2( "VmbxQtUiHandler::showVmbxQueryDialog connect textChanged %d", ret)
-
- DialogWaiter waiter;
- HbAction *primary = 0;
- if (iQueryDialog->actions().count()>= 1) {
- primary = qobject_cast<HbAction*>(iQueryDialog->actions().at(0));
- }
-
- iQueryDialog->open(&waiter, SLOT(done(HbAction *)));
- iQueryDialog->lineEdit()->setFocus(); // Enable the VKB
-
- HbAction *result = waiter.wait();
- if (result == primary) {
- VMBLOGSTRING( "VmbxQtUiHandler::showVmbxQueryDialog select OK" )
- // asign OK KEY value
- aResult = KErrNone;
- aNumber = iQueryDialog->lineEdit()->text();
- } else {
- aResult = KErrCancel;
- }
-
- disconnect(iQueryDialog->lineEdit(), SIGNAL(textChanged(QString)),
- this, SLOT(updatePrimaryAction(QString)));
-
-
- // TODO Delete Operation will case panic on EM
-
-#ifdef __WINS__
- iQueryDialog->close();
-#else
- delete iQueryDialog;
- iQueryDialog = 0;
-#endif // __WINS__
-
- VMBLOGSTRING2("VmbxQtUiHandler::showVmbxQueryDialog aResult = %d", aResult)
- VMBLOGSTRING("VmbxQtUiHandler::showVmbxQueryDialog Exit")
-}
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::showDefineSelectionDialog
-// (Shoe define list dialog).
-// ----------------------------------------------------------------------------
-//
-void VmbxQtUiHandler::showDefineSelectionDialog(
- TVmbxType &aType, int &aResult)
-{
- VMBLOGSTRING("VmbxQtUiHandler::showDefineSelectionDialog")
- HbDialog* defineListDialog = new HbDialog();
- defineListDialog->setDismissPolicy(HbDialog::NoDismiss);
- defineListDialog->setTimeout(HbDialog::NoTimeout);
-
- defineListDialog->setModal(true);
- // Set heading widget,"Define number:"
- defineListDialog->setHeadingWidget(new HbLabel(
- hbTrId("txt_vmbx_title_select_mailbox")));
- // Create a define list
- HbListWidget *list = new HbListWidget();
- //Voice Mailbox
- list->addItem(hbTrId("txt_vmbx_list_voice_mailbox"));
- //Video Mailbox
- list->addItem(hbTrId("txt_vmbx_list_video_mailbox"));
- // Set content widget
- defineListDialog->setContentWidget(list);
-
- // Sets the "Cancel"-action/button
- HbAction *cancelAction =
- new HbAction(hbTrId("txt_common_button_cancel"),defineListDialog);
- defineListDialog->addAction(cancelAction);
-
- connect(list, SIGNAL(activated(HbListWidgetItem *)),
- defineListDialog, SLOT(close()));
- DialogWaiter waiter;
- defineListDialog->open(&waiter, SLOT(done(HbAction *)));
- HbAction *result = waiter.wait();
- if (cancelAction == result){
- aType = EVmbxNone;
- aResult = KErrCancel;
- } else {
- // Select one item
- aResult = KErrNone;
- int currentItem = list->row(list->currentItem());
- VMBLOGSTRING2("VmbxQtUiHandler::showDefineSelectionDialog:\
- currentItem %d", currentItem)
- if (0 == currentItem) {
- aType = EVmbxVoice;
- } else {
- aType = EVmbxVideo;
- }
- }
- VMBLOGSTRING2("VmbxQtUiHandler::showDefineSelectionDialog: aType%d", aType)
- VMBLOGSTRING2("VmbxQtUiHandler::showDefineSelectionDialog: aResult%d", \
- aResult)
-
-#ifdef __WINS__
- defineListDialog->close();
-#else
- delete defineListDialog;
- defineListDialog = 0;
-#endif // __WINS__
-
- VMBLOGSTRING("VmbxQtUiHandler::showDefineSelectionDialog Exit")
-}
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::showCallSelectionDialog
-// (show call selection dialog).
-// ----------------------------------------------------------------------------
-//
-void VmbxQtUiHandler::showCallSelectionDialog(
- const QList<CVoiceMailboxEntry *> entryList,
- TVoiceMailboxParams ¶ms, int &result )
-{
- VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog")
- int count = entryList.count();
- VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog new before")
- HbDialog* callListDialog = new HbDialog();
- VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog new after")
- callListDialog->setDismissPolicy(HbDialog::NoDismiss);
- callListDialog->setTimeout(HbDialog::NoTimeout);
- callListDialog->setModal(true);
- // Set heading widget,"select mailbox"
- callListDialog->setHeadingWidget(new HbLabel(
- hbTrId("txt_vmbx_title_select_mailbox")));
- // Create a call list
- HbListWidget *list = new HbListWidget();
- // Set content widget
- callListDialog->setContentWidget(list);
-
- QList<TVoiceMailboxParams> paramsList;
- TVoiceMailboxParams entryParams;
- for (int i = 0; i < count; i++) {
- TVmbxType vmbxType = entryList[i]->VoiceMailboxType();
- entryParams.iType = vmbxType;
- entryParams.iServiceId = entryList[i]->ServiceId();
- paramsList.append(entryParams);
- switch (vmbxType) {
- case EVmbxVoice:
- {
- list->addItem(hbTrId("txt_vmbx_list_voice_mailbox"));
- break;
- }
- case EVmbxVideo:
- {
- list->addItem(hbTrId("txt_vmbx_list_video_mailbox"));
- break;
- }
- case EVmbxVoip:
- {
- // Get name
- TPtrC vmbxName( KNullDesC );
- int voipRes = entryList[i]->GetVmbxName(vmbxName);
- VMBLOGSTRING2( "VmbxQtUiHandler::showCallSelectionDialogL\
- : voipRes=%I", voipRes );
- if (KErrNone == voipRes) {
- QString voipName;
- if (vmbxName.Length() > 0) {
- voipName=QString::fromUtf16(
- vmbxName.Ptr(), vmbxName.Length());
- // add voip item
- list->addItem(voipName);
- }
- }
- break;
- }
- default:
- break;
- }
- }
- // Sets the "Cancel"-action/button
- HbAction *cancelAction =
- new HbAction(hbTrId("txt_common_button_cancel"),callListDialog);
- callListDialog->addAction(cancelAction);
-
- connect(list, SIGNAL(activated(HbListWidgetItem *)),
- callListDialog, SLOT(close()));
- DialogWaiter waiter;
- callListDialog->open(&waiter, SLOT(done(HbAction *)));
- HbAction *action = waiter.wait();
- if (cancelAction == action){
- params.iType = EVmbxNone;
- params.iServiceId = KVmbxServiceIdNone;
- result = KErrCancel;
- } else {
- // Select one item
- result = KErrNone;
- int currentItem = list->row(list->currentItem());
- VMBLOGSTRING2("VmbxQtUiHandler::showCallSelectionDialog:\
- currentItem %d", currentItem)
- params.iType = paramsList[currentItem].iType;
- params.iServiceId = paramsList[currentItem].iServiceId;
- }
- VMBLOGSTRING2("VmbxQtUiHandler::showCallSelectionDialog: params.iType %d",
- params.iType)
- VMBLOGSTRING2("VmbxQtUiHandler::showCallSelectionDialog: result%d",
- result)
-
-#ifdef __WINS__
- callListDialog->close();
-#else
- delete callListDialog;
- callListDialog = 0;
-#endif // __WINS__
- VMBLOGSTRING("VmbxQtUiHandler::showCallSelectionDialog Exit")
-}
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::showInformationNote
-// (show information note).
-// ----------------------------------------------------------------------------
-//
-void VmbxQtUiHandler::showInformationNote(const TVmbxNoteType aType)
-{
- VMBLOGSTRING("VmbxQtUiHandler::showInformationNote")
- QString noteText;
- VMBLOGSTRING2("VmbxQtUiHandler::showInformationNote type =%d", aType)
- switch (aType) {
- case EInvalidNumber:
- // Need to comfirm with ui designer
- noteText = hbTrId("Invalid phone number.");
- break;
- case ENotAllowUserEditing:
- //User not allow to edit.
- noteText = hbTrId("Number not provisioned");
- break;
- case ESavedToPhoneMemory:
- case ESavedToSimMemory:
- //Voice mailbox number saved to Phone memory.
- noteText = hbTrId("txt_vmbx_dpopinfo_voice_mailbox_number_saved");
- break;
- case EVideoNumberSaved:
- //Video call mailbox saved.
- noteText = hbTrId("txt_vmbx_dpopinfo_video_mailbox_number_saved");
- break;
- case EDefineVoiceNumber:
- //Define voice mailbox.
- noteText = hbTrId("txt_vmbx_dpopinfo_define_voice_mailbox_number");
- break;
- case EDefineVideoNumber:
- //Define video mailbox.
- noteText = hbTrId("txt_vmbx_dpopinfo_define_video_mailbox_number");
- break;
- default:
- VMBLOGSTRING("VmbxQtUiHandler::ShowInformationNote default")
- break;
- }
- HbNotificationDialog::launchDialog(noteText);
- VMBLOGSTRING("VmbxQtUiHandler::showInformationNote Exit")
-}
-
-// ----------------------------------------------------------------------------
-// VmbxQtUiHandler::updatePrimaryAction
-// (show information note).
-// ----------------------------------------------------------------------------
-//
-void VmbxQtUiHandler::updatePrimaryAction(const QString &aInput)
-{
- if (iQueryDialog) {
- QAction *ok = iQueryDialog->actions().at(0);
- if (ok) {
- if ( aInput.isEmpty() || aInput.contains(QRegExp("\\d\\d\\d"))){
- if (!ok->isEnabled()){
- ok->setEnabled(true);
- VMBLOGSTRING("VmbxQtUiHandler::updatePrimaryAction enable OK")
- }
- } else {
- if (ok->isEnabled()){
- ok->setEnabled(false);
- VMBLOGSTRING("VmbxQtUiHandler::updatePrimaryAction disable OK")
- }
- }
- }
- }
-}
-
-//End of file