messagingapp/msgsettings/settingsview/src/msgsettingsform.cpp
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
equal deleted inserted replaced
23:238255e8b033 25:84d9eb65b26f
    20 
    20 
    21 #include <hbdataformmodelitem.h>
    21 #include <hbdataformmodelitem.h>
    22 #include <hbdataformmodel.h>
    22 #include <hbdataformmodel.h>
    23 #include <hbcombobox.h>
    23 #include <hbcombobox.h>
    24 #include <hbpushbutton.h>
    24 #include <hbpushbutton.h>
       
    25 #include <QStandardItemModel>
    25 
    26 
    26 #include "debugtraces.h"
    27 #include "debugtraces.h"
    27 
    28 
    28 //Localized constants
    29 //Localized constants
    29 #define LOC_DELIVERY_REPORTS hbTrId("txt_messaging_setlabel_delivery_reports")
    30 #define LOC_MESSAGE_SETTINGS_HEADING hbTrId("txt_messaging_title_messaging_settings")
       
    31 #define LOC_RECEIVING_SERVICE_MESSAGES hbTrId("txt_messaging_setlabel_receiving_service_messages")
    30 #define LOC_ON hbTrId("txt_messaging_setlabel_val_on")
    32 #define LOC_ON hbTrId("txt_messaging_setlabel_val_on")
    31 #define LOC_OFF hbTrId("txt_messaging_setlabel_val_off")
    33 #define LOC_OFF hbTrId("txt_messaging_setlabel_val_off")
    32 #define LOC_REDUCED_SUPPORT hbTrId("txt_messaging_setlabel_val_reduced_support")
    34 #define LOC_REDUCED_SUPPORT hbTrId("txt_messaging_setlabel_val_reduced_support")
    33 #define LOC_FULL_SUPPORT hbTrId("txt_messaging_setlabel_val_full_support")
    35 #define LOC_FULL_SUPPORT hbTrId("txt_messaging_setlabel_val_full_support")
    34 #define LOC_ADVANCED hbTrId("txt_messaging_button_advanced")
    36 #define LOC_ADVANCED hbTrId("txt_messaging_button_advanced")
    35 #define LOC_CHAR_ENCODING hbTrId("txt_messaging_setlabel_character_encoding")
    37 #define LOC_CHAR_ENCODING hbTrId("txt_messaging_setlabel_character_encoding")
    36 
    38 #define LOC_MMS_SETTINGS hbTrId("txt_messaging_subhead_mms_settings")
    37 
    39 #define LOC_SMS_CENTRE_SETTINGS hbTrId("txt_messaging_subhead_sms_message_centre_settings")
    38 MsgSettingsForm::MsgSettingsForm(MsgSettingsViewManager* settingsViewManager,
    40 
    39 	                               QGraphicsItem *parent)
    41 #define LOC_MMS_CREATION_MODE hbTrId("txt_messaging_setlabel_mms_creation_mode")
    40 :HbDataForm(parent), mSettingsViewManager(settingsViewManager)
    42 #define LOC_MMS_RETRIEVAL hbTrId("txt_messaging_setlabel_mms_retrieval")
    41 {
    43 #define LOC_ALLOW_ANONYMOUS_MMS hbTrId("txt_messaging_setlabel_allow_anonymous_mms_message")
    42     this->setHeading(tr("Application settings: Messaging"));
    44 #define LOC_RECEIVE_MMS_ADVERTS hbTrId("txt_messaging_setlabel_receive_mms_adverts")
       
    45 #define LOC_MMS_AP_IN_USE hbTrId("txt_messaging_setlabel_mms_access_point_in_use")
       
    46 #define LOC_SMS_CENTRE_IN_USE hbTrId("txt_messaging_setlabel_sms_message_centre_in_use")
       
    47 #define LOC_ADD_NEW hbTrId("txt_messaging_button_add_new")
       
    48 #define LOC_ALWAYS_AUTOMATIC hbTrId("txt_messaging_setlabel_val_always_automatic")
       
    49 #define LOC_AUTO_HOME_NETWORK hbTrId("txt_messaging_setlabel_val_auto_home_network")
       
    50 #define LOC_MANUAL hbTrId("txt_messaging_setlabel_val_mannual")
       
    51 #define LOC_MMS_YES hbTrId("txt_messaging_setlabel_allow_anonymous_mms_val_yes")
       
    52 #define LOC_MMS_NO hbTrId("txt_messaging_setlabel_allow_anonymous_mms_val_no")
       
    53 
       
    54 MsgSettingsForm::MsgSettingsForm(QGraphicsItem *parent) :
       
    55     HbDataForm(parent)
       
    56 {
       
    57     this->setHeading(LOC_MESSAGE_SETTINGS_HEADING);
    43 
    58 
    44     mSettingEngine = new MsgSettingEngine();
    59     mSettingEngine = new MsgSettingEngine();
       
    60 
       
    61     //custom prototype
       
    62     MsgSettingsDataFormCustomItem* customPrototype =
       
    63             new MsgSettingsDataFormCustomItem(this);
       
    64 
       
    65     QList<HbAbstractViewItem*> protos = this->itemPrototypes();
       
    66     protos.append(customPrototype);
       
    67     this->setItemPrototypes(protos);
       
    68 
       
    69     mSmsMCSettingsGroup << LOC_SMS_CENTRE_IN_USE << LOC_ADD_NEW;
    45 
    70 
    46     //initialize the form model
    71     //initialize the form model
    47     initSettingModel();
    72     initSettingModel();
    48 }
    73 }
    49 
    74 
    52     delete mSettingEngine;
    77     delete mSettingEngine;
    53 }
    78 }
    54 
    79 
    55 void MsgSettingsForm::initSettingModel()
    80 void MsgSettingsForm::initSettingModel()
    56 {
    81 {
    57     HbDataFormModel *model = new HbDataFormModel(0);
    82     settingsModel = new HbDataFormModel(0);
    58 
    83 
    59     bool deliveryReoprt = false;
    84     MsgSettingEngine::CharacterEncoding charEncoding =
    60     MsgSettingEngine::CharacterEncoding charEncoding = MsgSettingEngine::ReducedSupport;
    85             MsgSettingEngine::ReducedSupport;
    61 
    86 
    62     mSettingEngine->settingsDeliverReportAndCharEncoding(deliveryReoprt, charEncoding);
    87     bool receiveServiceMessages = false;
    63 
    88 
    64     QStringList deliveryReoprtList;
    89     mSettingEngine->settingsServiceMessagesAndCharEncoding(
    65     deliveryReoprtList << LOC_OFF << LOC_ON;
    90             receiveServiceMessages,
    66 
    91             charEncoding);
    67     int index = int(deliveryReoprt);
    92 
    68     int otherIndex = (deliveryReoprt + 1) % deliveryReoprtList.count();
    93     // 1. Character encoding
    69 
    94     HbDataFormModelItem *characterEncoding =
    70     // 1. create the first item delivery reports
    95             new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem,
    71     HbDataFormModelItem *deliverReports = new HbDataFormModelItem(
    96                                     LOC_CHAR_ENCODING,
    72                 HbDataFormModelItem::ToggleValueItem, 
    97                                     0);
    73                 LOC_DELIVERY_REPORTS, 0);
       
    74     deliverReports->setContentWidgetData("text", deliveryReoprtList.at(index));
       
    75     deliverReports->setContentWidgetData("additionalText", deliveryReoprtList.at(otherIndex));
       
    76 
       
    77     model->appendDataFormItem(deliverReports, model->invisibleRootItem());
       
    78     this->addConnection(deliverReports, SIGNAL(clicked()),
       
    79                 this,SLOT(onPressedDelReports()));
       
    80     
       
    81     // 2. Character encoding
       
    82     HbDataFormModelItem *characterEncoding = new HbDataFormModelItem(
       
    83             HbDataFormModelItem::ComboBoxItem, 
       
    84             LOC_CHAR_ENCODING, 0);
       
    85     QStringList charEncodingList;
    98     QStringList charEncodingList;
    86     charEncodingList << LOC_REDUCED_SUPPORT << LOC_FULL_SUPPORT;
    99     charEncodingList << LOC_REDUCED_SUPPORT << LOC_FULL_SUPPORT;
    87 
   100 
    88     index = int(charEncoding);
   101     int index = int (charEncoding);
    89 
   102 
    90     characterEncoding->setContentWidgetData("items", charEncodingList);
   103     characterEncoding->setContentWidgetData("items", charEncodingList);
    91     characterEncoding->setContentWidgetData("currentIndex", index);
   104     characterEncoding->setContentWidgetData("currentIndex", index);
    92 
   105 
    93     model->appendDataFormItem(characterEncoding, model->invisibleRootItem());
   106     settingsModel->appendDataFormItem(characterEncoding,
    94     this->addConnection(characterEncoding, SIGNAL(currentIndexChanged(int)),
   107                                       settingsModel->invisibleRootItem());
    95                     this,SLOT(changeCharEncoding(int)));
   108     this->addConnection(characterEncoding,
       
   109                         SIGNAL(currentIndexChanged(int)),
       
   110                         this,
       
   111                         SLOT(changeCharEncoding(int)));
       
   112 
       
   113     //2. receiving service messages
       
   114     QStringList serviceMessagesList;
       
   115     serviceMessagesList << LOC_OFF << LOC_ON;
       
   116 
       
   117     index = int (receiveServiceMessages);
       
   118     int otherIndex = (receiveServiceMessages + 1) % serviceMessagesList.count();
       
   119 
       
   120     HbDataFormModelItem *serviceMessagesItem =
       
   121             new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem,
       
   122                                     LOC_RECEIVING_SERVICE_MESSAGES,
       
   123                                     0);
       
   124 
       
   125     serviceMessagesItem->setContentWidgetData("items", serviceMessagesList);
       
   126     serviceMessagesItem->setContentWidgetData("currentIndex", index);
       
   127 
       
   128     settingsModel->appendDataFormItem(serviceMessagesItem,
       
   129                                       settingsModel->invisibleRootItem());
       
   130     this->addConnection(serviceMessagesItem,
       
   131                         SIGNAL(clicked()),
       
   132                         this,
       
   133                         SLOT(onPressedServiceMessages()));
       
   134 
       
   135     // 3. MMS Settings
       
   136     HbDataFormModelItem* mmsGroup =
       
   137             new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
       
   138                                     LOC_MMS_SETTINGS,
       
   139                                     0);
       
   140 
       
   141     settingsModel->appendDataFormItem(mmsGroup,
       
   142                                       settingsModel->invisibleRootItem());
       
   143 
       
   144     addMMSGroupItem(mmsGroup);
       
   145 
       
   146     // 4. SMS Settings
       
   147     mSmsMCGroup = new HbDataFormModelItem(HbDataFormModelItem::GroupItem,
       
   148                                           LOC_SMS_CENTRE_SETTINGS,
       
   149                                           0);
       
   150 
       
   151     settingsModel->appendDataFormItem(mSmsMCGroup,
       
   152                                       settingsModel->invisibleRootItem());
       
   153 
       
   154     addSmsMCGroupItem(mSmsMCGroup);
       
   155 
       
   156     this->setModel(settingsModel);
       
   157 }
       
   158 
       
   159 void MsgSettingsForm::refreshViewForm()
       
   160 {
       
   161     updateSmsMCGroupItem(mSmsMCGroup);
       
   162 }
       
   163 
       
   164 void MsgSettingsForm::updateSmsMCGroupItem(HbDataFormModelItem* parent)
       
   165 {
       
   166     //1. update the combobox model item
       
   167     int defaultServiceCenter = -1;
       
   168     mSmsServiceList.clear();
       
   169     mSettingEngine->allSMSMessageCenter(mSmsServiceList, defaultServiceCenter);
       
   170 
       
   171     mSmsServiceCenterModel->clear();
    96     
   172     
    97     // 3. CUSTOM SETTING ITEM HbButton
   173     //recreate all the model items 
    98     HbDataFormModelItem::DataItemType customItem =
   174     int itemCount = mSmsServiceList.count();
    99         static_cast<HbDataFormModelItem::DataItemType> (HbDataFormModelItem::CustomItemBase + 1);
   175     for (int i = 0; i < itemCount; ++i)
   100 
   176     {
   101     HbDataFormModelItem *advancedSettings
   177         QStandardItem *item = new QStandardItem;
   102         = model->appendDataFormItem(customItem, QString(), model->invisibleRootItem());
   178         item->setData(mSmsServiceList.at(i), Qt::DisplayRole);
       
   179         mSmsServiceCenterModel->appendRow(item);
       
   180     }
       
   181     //set the content widget data again
       
   182     if(itemCount > 0)
       
   183     {
       
   184        smsMessageCenter->setContentWidgetData("items", mSmsServiceList);
       
   185     }
       
   186 
       
   187     smsMessageCenter->setContentWidgetData("currentIndex",
       
   188                                                defaultServiceCenter);
   103     
   189     
   104     advancedSettings->setContentWidgetData("text", LOC_ADVANCED);
   190     //2. refresh all the custom buttons again
   105     this->addConnection(advancedSettings, SIGNAL(clicked()),
   191     int childCount = parent->childCount();
   106             this,SLOT(onPressedAdvanced())); 
   192     int totalServices = mSmsServiceList.count();
   107             
   193 
   108     this->setModel(model);
   194     //custom buttons start from index 1 till childCount-2
   109 }
   195     int list_index = 0, child_index = 1;
   110 
   196     for (; list_index < totalServices && child_index <= childCount - 2; list_index++, child_index++)
   111 void MsgSettingsForm::onPressedAdvanced()
   197     {
   112 {
   198         //get the existing custom item instance
   113     //tell view manager to open advanced view
   199         HbDataFormModelItem* customItem = parent->childAt(child_index);
   114     mSettingsViewManager->openAdvancedView();
   200         customItem->setContentWidgetData("text", mSmsServiceList.at(list_index));
   115 }
   201     }
   116 
   202 
   117 void MsgSettingsForm::onPressedDelReports()
   203     //if extra child items are remaining then delete those from parent
       
   204     for(;child_index <= childCount - 2;
       
   205             child_index++)
       
   206     {
       
   207         parent->removeChild(child_index);
       
   208     }
       
   209     
       
   210     //create all new custom items if new are added in list
       
   211     //CUSTOM SETTING ITEM HbButton
       
   212     HbDataFormModelItem::DataItemType
       
   213             customButtonGeneral =
       
   214                     static_cast<HbDataFormModelItem::DataItemType> (HbDataFormModelItem::CustomItemBase
       
   215                             + 1);
       
   216     for (; list_index < totalServices; list_index++, child_index++)
       
   217     {
       
   218         HbDataFormModelItem* newChild =
       
   219                 new HbDataFormModelItem(customButtonGeneral);
       
   220 
       
   221         newChild->setContentWidgetData("text", mSmsServiceList.at(list_index));
       
   222         parent->insertChild(child_index, newChild);
       
   223 
       
   224         this->addConnection(newChild,
       
   225                             SIGNAL(clicked()),
       
   226                             this,
       
   227                             SLOT(onPressedCustomButton()));
       
   228     }    
       
   229 }
       
   230 
       
   231 void MsgSettingsForm::addMMSGroupItem(HbDataFormModelItem* parent)
       
   232 {
       
   233     //read settings
       
   234     MsgSettingEngine::MmsRetrieval retrieval =
       
   235             MsgSettingEngine::AlwaysAutomatic;
       
   236     bool allowAnonymous = true;
       
   237     bool allowAdverts = true;
       
   238 
       
   239     mSettingEngine->advanceMmsSettings(retrieval, 
       
   240                                        allowAnonymous, 
       
   241                                        allowAdverts);
       
   242 
       
   243     // add all the mms group item
       
   244 
       
   245     HbDataFormModelItem *mmsRetrieval =
       
   246             new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem,
       
   247                                     LOC_MMS_RETRIEVAL,
       
   248                                     0);
       
   249 
       
   250     QStringList mmsRetrievalList;
       
   251     mmsRetrievalList << LOC_ALWAYS_AUTOMATIC << LOC_AUTO_HOME_NETWORK
       
   252             << LOC_MANUAL << LOC_OFF;
       
   253 
       
   254     mmsRetrieval->setContentWidgetData("items", mmsRetrievalList);
       
   255     mmsRetrieval->setContentWidgetData("currentIndex", int (retrieval));
       
   256     this->addConnection(mmsRetrieval,
       
   257                         SIGNAL(currentIndexChanged(int)),
       
   258                         this,
       
   259                         SLOT(changeMMSRetrievalMode(int)));
       
   260 
       
   261     HbDataFormModelItem *anonymousMMS =
       
   262             new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem,
       
   263                                     LOC_ALLOW_ANONYMOUS_MMS,
       
   264                                     0);
       
   265 
       
   266     QStringList anonymousMMSList;
       
   267     anonymousMMSList << LOC_MMS_NO << LOC_MMS_YES;
       
   268 
       
   269     int defaultIndex = int (allowAnonymous);
       
   270     int alternateIndex = (defaultIndex + 1) % anonymousMMSList.count();
       
   271 
       
   272     anonymousMMS->setContentWidgetData("text",
       
   273                                        anonymousMMSList.at(defaultIndex));
       
   274     anonymousMMS->setContentWidgetData("additionalText",
       
   275                                        anonymousMMSList.at(alternateIndex));
       
   276     this->addConnection(anonymousMMS,
       
   277                         SIGNAL(clicked()),
       
   278                         this,
       
   279                         SLOT(allowAnonymousMMS()));
       
   280 
       
   281     HbDataFormModelItem *mmsAdverts =
       
   282             new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem,
       
   283                                     LOC_RECEIVE_MMS_ADVERTS,
       
   284                                     0);
       
   285 
       
   286     QStringList mmsAdvertsList;
       
   287     mmsAdvertsList << LOC_MMS_NO << LOC_MMS_YES;
       
   288 
       
   289     defaultIndex = int (allowAdverts);
       
   290     alternateIndex = (defaultIndex + 1) % mmsAdvertsList.count();
       
   291 
       
   292     mmsAdverts->setContentWidgetData("text", mmsAdvertsList.at(defaultIndex));
       
   293     mmsAdverts->setContentWidgetData("additionalText",
       
   294                                      mmsAdvertsList.at(alternateIndex));
       
   295 
       
   296     this->addConnection(mmsAdverts,
       
   297                         SIGNAL(clicked()),
       
   298                         this,
       
   299                         SLOT(allowMMSAdverts()));
       
   300 
       
   301     HbDataFormModelItem *accessPoint =
       
   302             new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem,
       
   303                                     LOC_MMS_AP_IN_USE,
       
   304                                     0);
       
   305 
       
   306     QStandardItemModel* comboModel = new QStandardItemModel();
       
   307 
       
   308     QStringList mmsList;
       
   309     int defaultAccessPointIndex = -1;
       
   310 
       
   311     mSettingEngine->allMMsAcessPoints(mmsList, defaultAccessPointIndex);
       
   312     int accessPoints = mmsList.count();
       
   313     for (int a = 0; a < accessPoints; ++a)
       
   314     {
       
   315         QStandardItem* item = new QStandardItem();
       
   316         item->setData(mmsList[a], Qt::DisplayRole);
       
   317         comboModel->appendRow(item);
       
   318     }
       
   319     accessPoint->setModel(comboModel);
       
   320     accessPoint->setContentWidgetData("items", mmsList);
       
   321     if (defaultAccessPointIndex >= 0)
       
   322     {
       
   323         accessPoint->setContentWidgetData("currentIndex",
       
   324                                           defaultAccessPointIndex);
       
   325     }
       
   326     QDEBUG_WRITE_FORMAT("Settings: adding accesspoints..", defaultAccessPointIndex);
       
   327     this->addConnection(accessPoint,
       
   328                         SIGNAL(currentIndexChanged(int)),
       
   329                         this,
       
   330                         SLOT(changeAccessPoint(int)));
       
   331 
       
   332     parent->appendChild(mmsRetrieval);
       
   333     parent->appendChild(anonymousMMS);
       
   334     parent->appendChild(mmsAdverts);
       
   335     parent->appendChild(accessPoint);
       
   336 }
       
   337 
       
   338 void MsgSettingsForm::addSmsMCGroupItem(HbDataFormModelItem* parent)
       
   339 {
       
   340     // add all the sms message center group item
       
   341     smsMessageCenter
       
   342             = new HbDataFormModelItem(HbDataFormModelItem::ComboBoxItem,
       
   343                                       mSmsMCSettingsGroup.at(0),
       
   344                                       0);
       
   345 
       
   346     int defaultServiceCenter = -1;
       
   347     mSmsServiceList.clear();
       
   348     mSettingEngine->allSMSMessageCenter(mSmsServiceList, defaultServiceCenter);
       
   349     mSmsServiceCenterModel = new QStandardItemModel(this);
       
   350 
       
   351     int itemCount = mSmsServiceList.count();
       
   352     for (int i = 0; i < itemCount; ++i)
       
   353     {
       
   354         QStandardItem *item = new QStandardItem;
       
   355         item->setData(mSmsServiceList.at(i), Qt::DisplayRole);
       
   356         mSmsServiceCenterModel->appendRow(item);
       
   357     }
       
   358 
       
   359     smsMessageCenter->setModel(mSmsServiceCenterModel);
       
   360     smsMessageCenter->setContentWidgetData("items", mSmsServiceList);
       
   361 
       
   362     if (defaultServiceCenter >= 0)
       
   363     {
       
   364         smsMessageCenter->setContentWidgetData("currentIndex",
       
   365                                                defaultServiceCenter);
       
   366     }
       
   367 
       
   368     this->addConnection(smsMessageCenter,
       
   369                         SIGNAL(currentIndexChanged(int)),
       
   370                         this,
       
   371                         SLOT(onSMSCurrentIndexChanged(int)));
       
   372 
       
   373     parent->appendChild(smsMessageCenter);
       
   374 
       
   375     //CUSTOM SETTING ITEM HbButton
       
   376     HbDataFormModelItem::DataItemType
       
   377             customButtonGeneral =
       
   378                     static_cast<HbDataFormModelItem::DataItemType> (HbDataFormModelItem::CustomItemBase
       
   379                             + 1);
       
   380 
       
   381     int totalServices = mSmsServiceList.count();
       
   382     for (int index = 0; index < totalServices; index++)
       
   383     {
       
   384         HbDataFormModelItem *newMessageCenters =
       
   385                 settingsModel->appendDataFormItem(customButtonGeneral,
       
   386                                                   QString(""),
       
   387                                                   parent);
       
   388 
       
   389         newMessageCenters->setContentWidgetData("text",
       
   390                                                 mSmsServiceList.at(index));
       
   391         this->addConnection(newMessageCenters,
       
   392                             SIGNAL(clicked()),
       
   393                             this,
       
   394                             SLOT(onPressedCustomButton()));
       
   395     }
       
   396 
       
   397     HbDataFormModelItem *newMessageCenters =
       
   398             settingsModel->appendDataFormItem(customButtonGeneral,
       
   399                                               QString(""),
       
   400                                               parent);
       
   401 
       
   402     newMessageCenters->setContentWidgetData("text", mSmsMCSettingsGroup.at(1));
       
   403     this->addConnection(newMessageCenters,
       
   404                         SIGNAL(clicked()),
       
   405                         this,
       
   406                         SLOT(onPressedCustomButton()));
       
   407 }
       
   408 
       
   409 void MsgSettingsForm::onPressedServiceMessages()
   118 {
   410 {
   119     HbPushButton *btn = qobject_cast<HbPushButton *> (sender());
   411     HbPushButton *btn = qobject_cast<HbPushButton *> (sender());
   120 
   412 
   121     if (btn) {
   413     if (btn)
       
   414     {
   122         QString btnText = btn->text();
   415         QString btnText = btn->text();
   123 
   416 
   124         //check if the button pressed was On or Off
   417         //check if the button pressed was On or Off
   125         if (LOC_OFF == btnText) {
   418         if (LOC_OFF == btnText)
   126             mSettingEngine->setDeliveryReport(false);
   419         {
   127         }
   420             mSettingEngine->setReceiveSerivceMessages(false);
   128         else {
   421         }
   129             mSettingEngine->setDeliveryReport(true);
   422         else
       
   423         {
       
   424             mSettingEngine->setReceiveSerivceMessages(true);
   130         }
   425         }
   131     }
   426     }
   132 }
   427 }
   133 
   428 
   134 void MsgSettingsForm::changeCharEncoding(int index)
   429 void MsgSettingsForm::changeCharEncoding(int index)
   135 {
   430 {
   136     //set the character encoding
   431     //set the character encoding
   137     mSettingEngine->setCharacterEncoding(MsgSettingEngine::CharacterEncoding(index));
   432     mSettingEngine->setCharacterEncoding(MsgSettingEngine::CharacterEncoding(index));
   138 }
   433 }
   139 
   434 
   140 
   435 void MsgSettingsForm::changeMMSRetrievalMode(int index)
       
   436 {
       
   437     mSettingEngine->setMMSRetrieval(MsgSettingEngine::MmsRetrieval(index));
       
   438 }
       
   439 
       
   440 void MsgSettingsForm::allowAnonymousMMS()
       
   441 {
       
   442     HbPushButton *btn = qobject_cast<HbPushButton *> (sender());
       
   443 
       
   444     if (btn)
       
   445     {
       
   446         QString btnText = btn->text();
       
   447 
       
   448         //check if the button pressed was Yes or NO
       
   449         if (LOC_MMS_YES == btnText)
       
   450         {
       
   451             mSettingEngine->setAnonymousMessages(true);
       
   452         }
       
   453         else
       
   454         {
       
   455             mSettingEngine->setAnonymousMessages(false);
       
   456         }
       
   457     }
       
   458 }
       
   459 
       
   460 void MsgSettingsForm::allowMMSAdverts()
       
   461 {
       
   462     HbPushButton *btn = qobject_cast<HbPushButton *> (sender());
       
   463 
       
   464     if (btn)
       
   465     {
       
   466         QString btnText = btn->text();
       
   467 
       
   468         //check if the button pressed was Yes or NO
       
   469         if (LOC_MMS_NO == btnText)
       
   470         {
       
   471             mSettingEngine->setReceiveMMSAdverts(true);
       
   472         }
       
   473         else
       
   474         {
       
   475             mSettingEngine->setReceiveMMSAdverts(false);
       
   476         }
       
   477     }
       
   478 }
       
   479 
       
   480 void MsgSettingsForm::changeAccessPoint(int index)
       
   481 {
       
   482     // save to the mms settings
       
   483     mSettingEngine->setMMSAccesspoint(index);
       
   484 }
       
   485 
       
   486 void MsgSettingsForm::onPressedCustomButton()
       
   487 {
       
   488     HbPushButton *btn = qobject_cast<HbPushButton *> (sender());
       
   489 
       
   490     if (btn)
       
   491     {
       
   492         QString btnText = btn->text();
       
   493         if (btnText == mSmsMCSettingsGroup.at(1))
       
   494         {
       
   495             // emit the signal to open add view 
       
   496             emit newSMSCCenterClicked(-1);
       
   497         }
       
   498         else
       
   499         {
       
   500             int index = mSmsServiceList.indexOf(btnText);
       
   501             emit newSMSCCenterClicked(index);
       
   502         }
       
   503     }
       
   504 }
       
   505 
       
   506 void MsgSettingsForm::onSMSCurrentIndexChanged(int index)
       
   507 {
       
   508     //set into msg settings
       
   509     mSettingEngine->setSMSMessageCenter(index);
       
   510 }
       
   511 
       
   512 void MsgSettingsForm::expandSMSSettings()
       
   513 {
       
   514     QModelIndex index_sms = settingsModel->indexFromItem(mSmsMCGroup);
       
   515 
       
   516     this->setExpanded(index_sms, true);
       
   517 }
   141 //EOF
   518 //EOF