messagingapp/msgsettings/settingsview/src/msgsmscentersettingsform.cpp
changeset 37 518b245aa84c
parent 25 84d9eb65b26f
child 41 25fe1fe642e3
equal deleted inserted replaced
25:84d9eb65b26f 37:518b245aa84c
    24 #include <hbdataformmodel.h>
    24 #include <hbdataformmodel.h>
    25 #include <hblineedit.h>
    25 #include <hblineedit.h>
    26 #include <HbNotificationDialog>
    26 #include <HbNotificationDialog>
    27 #include <hbinputeditorinterface.h>
    27 #include <hbinputeditorinterface.h>
    28 #include <hbmessagebox.h>
    28 #include <hbmessagebox.h>
       
    29 #include <HbAction>
    29 #include "debugtraces.h"
    30 #include "debugtraces.h"
    30 
    31 
    31 //Localized constants
    32 //Localized constants
    32 #define LOC_NEW_SMS_CENTRE hbTrId("txt_messaging_title_new_sms_message_centre")
       
    33 #define LOC_EDIT_SMS_CENTRE hbTrId("txt_messaging_title_edit_sms_message_centre")
       
    34 #define LOC_SMS_CENTRE_NAME hbTrId("txt_messaging_setlabel_message_centre_name")
    33 #define LOC_SMS_CENTRE_NAME hbTrId("txt_messaging_setlabel_message_centre_name")
    35 #define LOC_SMS_CENTRE_NUMBER hbTrId("txt_messaging_setlabel_message_centre_number")
    34 #define LOC_SMS_CENTRE_NUMBER hbTrId("txt_messaging_setlabel_message_centre_number")
    36 #define LOC_SMS_CENTRE_DELETE hbTrId("txt_messaging_button_delete_message_centre")
    35 #define LOC_SMS_CENTRE_DELETE hbTrId("txt_messaging_button_delete_message_centre")
    37 #define LOC_MESSAGE_CENTER_SAVED hbTrId("txt_messaging_setlabel_message_centre_saved")
    36 #define LOC_MESSAGE_CENTER_SAVED hbTrId("txt_messaging_setlabel_message_centre_saved")
    38 #define LOC_BUTTON_DELETE hbTrId("txt_common_button_delete")
       
    39 #define LOC_BUTTON_CANCEL hbTrId("txt_common_button_cancel")
       
    40 
    37 
    41 MsgSMSCenterSettingsForm::MsgSMSCenterSettingsForm(int view,
    38 MsgSMSCenterSettingsForm::MsgSMSCenterSettingsForm(int view,
    42                                                    QGraphicsItem *parent) :
    39                                                    QGraphicsItem *parent) :
    43     HbDataForm(parent), mEdit1(0), mEdit2(0), mView(view)
    40     HbDataForm(parent), mEdit1(0), mEdit2(0), mView(view)
    44 {
    41 {
    45     QString heading;
    42     QString heading;
    46     if (mView == -1)
    43     if (mView > -1)
    47     {
    44     {
    48         heading = LOC_NEW_SMS_CENTRE;
    45         //add the custom prototype only for edit items
    49     }
       
    50     else
       
    51     {
       
    52         heading = LOC_EDIT_SMS_CENTRE;
       
    53         //custom prototype
       
    54         MsgSettingsDataFormCustomItem* customPrototype =
    46         MsgSettingsDataFormCustomItem* customPrototype =
    55                 new MsgSettingsDataFormCustomItem(this);
    47                 new MsgSettingsDataFormCustomItem(this);
    56 
    48 
    57         QList<HbAbstractViewItem*> protos = this->itemPrototypes();
    49         QList<HbAbstractViewItem*> protos = this->itemPrototypes();
    58         protos.append(customPrototype);
    50         protos.append(customPrototype);
    59         this->setItemPrototypes(protos);
    51         this->setItemPrototypes(protos);
    60     }
    52     }
    61 
       
    62     this->setHeading(heading);
       
    63 
    53 
    64     bool b = connect(this,
    54     bool b = connect(this,
    65                      SIGNAL(itemShown(const QModelIndex&)),
    55                      SIGNAL(itemShown(const QModelIndex&)),
    66                      this,
    56                      this,
    67                      SLOT(onItemShown(const QModelIndex&)));
    57                      SLOT(onItemShown(const QModelIndex&)));
   180             static_cast<HbDataFormModel *> (model())->itemFromIndex(topLeft);
   170             static_cast<HbDataFormModel *> (model())->itemFromIndex(topLeft);
   181 
   171 
   182     if (itemData && itemData == messageCenterName && !mEdit1)
   172     if (itemData && itemData == messageCenterName && !mEdit1)
   183     {
   173     {
   184         QDEBUG_WRITE("messageCenterName updated..");
   174         QDEBUG_WRITE("messageCenterName updated..");
   185         mEdit1
   175         HbDataFormViewItem* item1 = 
   186                 = static_cast<HbLineEdit *> (
   176                 static_cast<HbDataFormViewItem*>(this->itemByIndex(topLeft));
   187                         this->dataFormViewItem(
   177         mEdit1 =  static_cast<HbLineEdit*>(item1->dataItemContentWidget());
   188                                 topLeft)->dataItemContentWidget());
       
   189     }
   178     }
   190     else if (itemData && itemData == messageCenterNumber && !mEdit2)
   179     else if (itemData && itemData == messageCenterNumber && !mEdit2)
   191     {
   180     {
   192         QDEBUG_WRITE("messageCenterNumber updated..");
   181         QDEBUG_WRITE("messageCenterNumber updated..");
   193         mEdit2
   182         HbDataFormViewItem* item1 = 
   194                 = static_cast<HbLineEdit *> (
   183                  static_cast<HbDataFormViewItem*>(this->itemByIndex(topLeft));
   195                         this->dataFormViewItem(
   184         mEdit2 =  static_cast<HbLineEdit*>(item1->dataItemContentWidget());       
   196                                 topLeft)->dataItemContentWidget());
   185         mEdit2->setInputMethodHints(Qt::ImhPreferNumbers);
   197         
       
   198         HbEditorInterface editorInterface(mEdit2);
       
   199         editorInterface.setUpAsPhoneNumberEditor();
       
   200 
   186 
   201     }
   187     }
   202 }
   188 }
   203 
   189 
   204 void MsgSMSCenterSettingsForm::onPressedCustomButton()
   190 void MsgSMSCenterSettingsForm::onPressedCustomButton()
   205 {
   191 {
   206     bool result = HbMessageBox::question("Delete message centre ?",
   192    HbMessageBox::question(LOC_SMS_CENTRE_DELETE, this,
   207                                          LOC_BUTTON_DELETE,
   193                           SLOT(onDialogDeleteMsgCentre(HbAction*)),
   208                                          LOC_BUTTON_CANCEL);                                         
   194                           HbMessageBox::Delete | HbMessageBox::Cancel);
   209 
   195 }
   210     if (result)
   196 
   211     {
   197 void MsgSMSCenterSettingsForm::onDialogDeleteMsgCentre(HbAction* action)
       
   198 {
       
   199     HbMessageBox *dlg = qobject_cast<HbMessageBox*> (sender()); 
       
   200     if (action == dlg->actions().at(0)) {
   212         //delete from m/w -- mView is the index to delete
   201         //delete from m/w -- mView is the index to delete
   213         mSettingEngine->deleteSmsMessageCenter(mView);
   202                mSettingEngine->deleteSmsMessageCenter(mView);
   214         emit deleteMessageCentreAndClose();
   203                emit deleteMessageCentreAndClose();
   215     }    
   204     }   
   216 }
   205 }
   217 
   206 
   218 //eof
   207 //eof
   219 
   208