diff -r dc7c549001d5 -r 85266cc22c7f javamanager/javasettings/appsettingsview_qt/src/javaapplicationsettingsview_p.cpp --- a/javamanager/javasettings/appsettingsview_qt/src/javaapplicationsettingsview_p.cpp Thu May 27 12:49:31 2010 +0300 +++ b/javamanager/javasettings/appsettingsview_qt/src/javaapplicationsettingsview_p.cpp Fri Jun 11 13:33:44 2010 +0300 @@ -27,6 +27,7 @@ #include #include #include +#include #include "javaapplicationsettings.h" #include "javaapplicationsettingsview.h" @@ -48,11 +49,8 @@ const wchar_t ON_SCREEN_KEYPAD_VALUE_NAVIGATION[] = L"2"; JavaApplicationSettingsViewPrivate::JavaApplicationSettingsViewPrivate(const QString& aJavaAppUid): - mainForm(0), model(0), generalSettingsGroup(0), securitySettingsGroup(0) + mainForm(0), model(0), generalSettingsGroup(0), securitySettingsGroup(0), netConnSettingsUi(0), asyncToSyncCallEventLoop(0), secWarningAccepted(false), defaultConnId(0) { - // init access point settings ui - netConnSettingsUi = new CmApplSettingsUi(this); - // init storage iStorage.reset(JavaStorage::createInstance()); try @@ -61,91 +59,104 @@ } catch (JavaStorageException& aJse) {} - // init the suite UID from the application UID - readSuiteUid(aJavaAppUid); - if (iSuiteUid.size() <= 0) - { - // TODO: display a no settings available message - return; - } QTranslator translator; // load the correct translation of the localized strings for the cmmanager. // Load this one first since it contains the smallest amount of strings // (so it's ok to be searched last) - if (translator.load("z:/resource/qt/translations/cmapplsettingsui_" + QLocale::system().name())) - { - qApp->installTranslator(&translator); - } - if (translator.load("z:/resource/qt/translations/cmmanager_" + QLocale::system().name())) - { - qApp->installTranslator(&translator); - } + installTranslator("cmapplsettingsui"); + installTranslator("cmmanager"); // load the correct translation of the localized strings for the java settings // Current solution reads it from Z only (this does not work with IAD) // -> check if translator can handle path without drive letter (e.g. the resource // is loaded from the same drive where the DLL is loaded) - if (translator.load("z:/resource/qt/translations/javaruntimeapplicationsettings_" + QLocale::system().name())) - { - qApp->installTranslator(&translator); - } + installTranslator("javaruntimeapplicationsettings"); // init strings - BLANKET = hbTrId("txt_java_sett_setlabel_permission_val_blanket"); - SESSION = hbTrId("txt_java_sett_setlabel_permission_val_session"); - ONESHOT = hbTrId("txt_java_sett_setlabel_permission_val_oneshot"); - DENIED = hbTrId("txt_java_sett_setlabel_permission_val_no"); - SECURITY_LEVEL = hbTrId("txt_java_sett_setlabel_security_level"); - USER_DEFINED = hbTrId("txt_java_sett_setlabel_security_level_val_user_defined"); - SENSITIVE_SETTINGS = hbTrId("txt_java_sett_info_query_perm_sec"); - SENSITIVE_SETTINGS_NET_USAGE = hbTrId("txt_java_sett_info_query_perm_net"); - MUTUALLY_EXCLUSIVE_SETTINGS = hbTrId("txt_java_sett_info_query_perm_warn"); - OK = hbTrId("txt_java_sett_button_settings_ok"); - CANCEL = hbTrId("txt_java_sett_button_settings_cancel"); - SECURITY_WARNING_TITLE = hbTrId("txt_java_sett_title_note_security_warn"); - NET_ACCESS = hbTrId("txt_java_sett_setlabel_net_access"); - LOW_LEVEL_NET_ACCESS = hbTrId("txt_java_sett_setlabel_low_level_net_access"); - NETWORK_CONNECTION = hbTrId("txt_occ_title_network_connection"); + BLANKET = QString(hbTrId("txt_java_sett_setlabel_permission_val_blanket")); + SESSION = QString(hbTrId("txt_java_sett_setlabel_permission_val_session")); + ONESHOT = QString(hbTrId("txt_java_sett_setlabel_permission_val_oneshot")); + DENIED = QString(hbTrId("txt_java_sett_setlabel_permission_val_no")); + SECURITY_LEVEL = QString(hbTrId("txt_java_sett_setlabel_security_level")); + USER_DEFINED = QString(hbTrId("txt_java_sett_setlabel_security_level_val_user_defined")); + SENSITIVE_SETTINGS = QString(hbTrId("txt_java_sett_info_query_perm_sec")); + SENSITIVE_SETTINGS_NET_USAGE = QString(hbTrId("txt_java_sett_info_query_perm_net")); + MUTUALLY_EXCLUSIVE_SETTINGS = QString(hbTrId("txt_java_sett_info_query_perm_warn")); + OK = QString(hbTrId("txt_java_sett_button_settings_ok")); + CANCEL = QString(hbTrId("txt_java_sett_button_settings_cancel")); + SECURITY_WARNING_TITLE = QString(hbTrId("txt_java_sett_title_note_security_warn")); + NET_ACCESS = QString(hbTrId("txt_java_sett_setlabel_net_access")); + LOW_LEVEL_NET_ACCESS = QString(hbTrId("txt_java_sett_setlabel_low_level_net_access")); + NETWORK_CONNECTION = QString(hbTrId("txt_occ_title_network_connection")); + SETTINGS_TITLE = QString(hbTrId("txt_java_sett_title_settings")); + SETTINGS_NOT_AVAILABLE = QString(hbTrId("txt_java_sett_info_settings_not_available")); + // init the suite UID from the application UID + readSuiteUid(aJavaAppUid); + if (iSuiteUid.size() <= 0) + { + return; + } + + // init access point settings ui + netConnSettingsUi = new CmApplSettingsUi(this); + asyncToSyncCallEventLoop = new QEventLoop(); + // read all settings readAllSettings(); // init form mainForm = new HbDataForm(); - mainForm->setHeading(hbTrId("txt_java_sett_title_settings")); + mainForm->setHeading(QString::fromStdWString(readFromStorage(PACKAGE_NAME, L"", L"", APPLICATION_PACKAGE_TABLE))); model = new HbDataFormModel(); // init settings generalSettingsGroup = model->appendDataFormGroup( - hbTrId("txt_java_sett_subtitle_general"), model->invisibleRootItem()); + QString(hbTrId("txt_java_sett_subtitle_general")), model->invisibleRootItem()); initSettings(generalSettings, generalSettingsGroup); - securitySettingsGroup = model->appendDataFormGroup( - hbTrId("txt_java_sett_subtitle_security"), model->invisibleRootItem()); - initSettings(securitySettings, securitySettingsGroup); + // append the security settings only if there are any user settings + if (extraSettings.size() > 0) + { + securitySettingsGroup = model->appendDataFormGroup( + QString(hbTrId("txt_java_sett_subtitle_security")), model->invisibleRootItem()); + initSettings(securitySettings, securitySettingsGroup); - // if security warnings is user defined -> add the extra settings, expand - if (securitySettings[0].getCurrentValue() == 1) - { - securityWarningsChanged(USER_DEFINED); + // if security warnings is user defined -> add the extra settings, expand + if (securitySettings[0].getCurrentValue() == 1) + { + securityWarningsChanged(USER_DEFINED); + } } // link form and model mainForm->setModel(model); mainForm->setExpanded(model->indexFromItem(generalSettingsGroup), true); - mainForm->setExpanded(model->indexFromItem(securitySettingsGroup), (securitySettings[0].getCurrentValue() == 1)); + if (extraSettings.size() > 0) + { + mainForm->setExpanded(model->indexFromItem(securitySettingsGroup), (securitySettings[0].getCurrentValue() == 1)); + } } void JavaApplicationSettingsViewPrivate::init(JavaApplicationSettingsView* aPublicView) { iPublicView = aPublicView; - // do the connect for the main form - iPublicView->connect(mainForm, SIGNAL(activated(const QModelIndex)), - iPublicView, SLOT(_q_dataItemDisplayed(const QModelIndex))); - - // set the form as view's widget - iPublicView->setWidget(mainForm); + if (mainForm) + { + // do the connect for the main form + iPublicView->connect(mainForm, SIGNAL(activated(const QModelIndex)), + iPublicView, SLOT(_q_dataItemDisplayed(const QModelIndex))); + + // set the form as view's widget + iPublicView->setWidget(mainForm); + } + else + { + // no settings available + HbLabel* label = new HbLabel(SETTINGS_NOT_AVAILABLE, iPublicView); + label->setAlignment(Qt::AlignVCenter); + } // set title - iPublicView->setTitle(QString::fromStdWString(readFromStorage(PACKAGE_NAME, L"", L"", APPLICATION_PACKAGE_TABLE))); + iPublicView->setTitle(SETTINGS_TITLE); } JavaApplicationSettingsViewPrivate::~JavaApplicationSettingsViewPrivate() @@ -153,6 +164,12 @@ delete mainForm; delete model; delete netConnSettingsUi; + delete asyncToSyncCallEventLoop; + foreach (QTranslator *translator, translators) { + qApp->removeTranslator(translator); + } + qDeleteAll(translators); + translators.clear(); } void JavaApplicationSettingsViewPrivate::readAllSettings() @@ -165,16 +182,15 @@ // if the on screen keypad is predefined, it should not be changable by user // -> right now it is not added to settings list. It should be changed so that // the setting should not be editable by user - settingsValues< localizedSettingsNames; + localizedSettingsNames[QString::fromStdWString(NET_ACCESS_SETTINGS)] = NET_ACCESS; + localizedSettingsNames[QString::fromStdWString(LOW_LEVEL_NET_ACCESS_SETTINGS)] = LOW_LEVEL_NET_ACCESS; + localizedSettingsNames[QString::fromStdWString(MESSAGING_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_messaging")); + localizedSettingsNames[QString::fromStdWString(RESTRICTED_MESSAGING_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_restricted_messaging")); + localizedSettingsNames[QString::fromStdWString(CALL_CONTROL_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_call_control")); + localizedSettingsNames[QString::fromStdWString(LOCAL_CONNECTIVITY_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_local_conn")); + localizedSettingsNames[QString::fromStdWString(MULTIMEDIA_RECORDING_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_mm_record")); + localizedSettingsNames[QString::fromStdWString(WRITE_USER_DATA_ACCESS_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_write_data")); + localizedSettingsNames[QString::fromStdWString(READ_USER_DATA_ACCESS_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_read_data")); + localizedSettingsNames[QString::fromStdWString(LOCATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_location")); + localizedSettingsNames[QString::fromStdWString(LANDMARK_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_landmarks")); + localizedSettingsNames[QString::fromStdWString(AUTHENTICATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_auth")); + localizedSettingsNames[QString::fromStdWString(SMART_CARD_COMMUNICATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_smartcard")); + localizedSettingsNames[QString::fromStdWString(APPLICATION_AUTO_INVOCATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_app_auto_invoc")); + localizedSettingsNames[QString::fromStdWString(BROADCAST_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_broadcast")); + localizedSettingsNames[QString::fromStdWString(NFC_WRITE_ACCESS_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_nfc_write_access")); + localizedSettingsNames[QString::fromStdWString(URL_START_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_url_start")); + vector allSecuritySettings = readFromStorage(FUNCTION_GROUP, MIDP_FUNC_GRP_SETTINGS_TABLE); + // sort the security settings according to how they should be displayed + std::sort(allSecuritySettings.begin(), allSecuritySettings.end(), AscendingSort()); + QHash settingsIndexes; + for(int i=0; i highRiskList; + QStringList highRiskSettingsNames; + highRiskSettingsNames + < mutuallyExclusiveList; + QStringList mutuallyExclusiveSettingsNames; + mutuallyExclusiveSettingsNames + <& settings, HbDataFormModelItem * parent) @@ -290,8 +311,7 @@ for (int i=0; iappendDataFormItem( HbDataFormModelItem::ToggleValueItem, settings[i].getName(), parent); - storageValue = readFromStorage(settings[i]); - if (storageValue >= 0) + currentValue = settings[i].getCurrentValue(); + if (currentValue < 0) { - currentValue = storageValue; + currentValue = 0; } // make it a toogle button (-> get rid of the "pressed" ui effect) - appSettings->setContentWidgetData(QString("text"), settings[i].getValues()[settings[i].getCurrentValue()]); + appSettings->setContentWidgetData(QString("text"), settings[i].getValues()[currentValue]); appSettings->setContentWidgetData(QString("additionalText"),settings[i].getValues()[1 - currentValue]); break; default: @@ -516,6 +536,7 @@ iPublicView->disconnect(extraSettingsId, 0, 0, 0); model->removeItem(model->indexFromItem(extraSettings[i].getId())); extraSettings[i].setId(0); + extraSettings[i].disconnectFromUi(); } } } @@ -532,7 +553,7 @@ // empty filter -> all bearer types included QSet filter; // reset the result - netConnSelection.result = CmApplSettingsUi::SelectionTypeDestination; + netConnSelection.result = netConn.type; netConnSelection.id = netConn.id; // init settings ui with destinations, filter and initial selection netConnSettingsUi->setOptions(listItems, filter); @@ -549,22 +570,26 @@ mainForm->model())->itemFromIndex(dataItemIndex); int itemType = item->data(HbDataFormModelItem::ItemTypeRole).toInt(); HbComboBox * comboBox = NULL; - HbPushButton * pushButton = NULL; + HbPushButton * pushButton = NULL; + HbWidget * widget = (qobject_cast + (mainForm->itemByIndex(dataItemIndex)))->dataItemContentWidget(); + JavaApplicationSettings* settings = findSettings(widget); + if (settings == NULL || settings->isConnectedToUi()) + { + return; + } + settings->connectToUi(); switch(HbDataFormModelItem::DataItemType(itemType)) { case HbDataFormModelItem::ComboBoxItem: - comboBox = static_cast( - (qobject_cast - (mainForm->itemByIndex(dataItemIndex)))->dataItemContentWidget()); + comboBox = static_cast(widget); iPublicView->connect(comboBox, SIGNAL(currentIndexChanged(const QString &)), iPublicView, SLOT(_q_settingsChanged(const QString &)), Qt::UniqueConnection); break; case HbDataFormModelItem::ToggleValueItem: - pushButton = static_cast< HbPushButton*>( - (qobject_cast - (mainForm->itemByIndex(dataItemIndex)))->dataItemContentWidget()); + pushButton = static_cast< HbPushButton*>(widget); iPublicView->connect(pushButton, SIGNAL(clicked(bool)), iPublicView, SLOT(_q_settingsChanged(bool)), @@ -579,34 +604,70 @@ { netConnSelection = netConnSettingsUi->selection(); // store the selection - if (netConnSelection.id != netConn.id) + if (netConnSelection.id != netConn.id + && netConnSelection.id != defaultConnId) { - ConnectionManager::setDestinationNetworkIdL(iSuiteUid, netConnSelection.id); - netConn.id = netConnSelection.id; - readNetworkConnectionName(); - generalSettings[netSettIndex].getId()->setContentWidgetData(QString("text"), netConn.name); - generalSettings[netSettIndex].getId()->setContentWidgetData(QString("additionalText"), netConn.name); + TRAPD(err, + switch(netConnSelection.result) + { + case CmApplSettingsUi::SelectionTypeDestination: + ConnectionManager::setDestinationNetworkIdL(iSuiteUid, netConnSelection.id); + break; + case CmApplSettingsUi::SelectionTypeConnectionMethod: + ConnectionManager::setApnIdL(iSuiteUid, netConnSelection.id); + break; + } + ); + if (err == KErrNone) + { + netConn.id = netConnSelection.id; + netConn.type = netConnSelection.result; + readNetworkConnectionName(); + generalSettings[netSettIndex].getId()->setContentWidgetData(QString("text"), netConn.name); + generalSettings[netSettIndex].getId()->setContentWidgetData(QString("additionalText"), netConn.name); + } } } } +void JavaApplicationSettingsViewPrivate::securityWarningDismissed(HbAction* action) +{ + HbMessageBox *dlg = static_cast(sender()); + secWarningAccepted = (action == dlg->actions().at(0)); + asyncToSyncCallEventLoop->exit(); +} + +void JavaApplicationSettingsViewPrivate::initNetworkConnection() +{ + TRAP_IGNORE( + netConn.id = ConnectionManager::getDestinationNetworkIdL(iSuiteUid); + if (netConn.id == (uint)KJavaNetworkAccessNotSpecified) + { + netConn.id = ConnectionManager::getApnIdL(iSuiteUid); + } + ); + QNetworkConfigurationManager manager; + QNetworkConfiguration defaultCfg = manager.defaultConfiguration(); + defaultConnId = defaultCfg.identifier().toInt(); + QNetworkConfiguration cfg = manager.configurationFromIdentifier( + QString::number(netConn.id)); + if (!cfg.isValid()) + { + cfg = defaultCfg; + } + netConn.name = QString(hbTrId(cfg.name().toUtf8())); +} + void JavaApplicationSettingsViewPrivate::readNetworkConnectionName() { QNetworkConfigurationManager manager; - QNetworkConfiguration cfg; - if (netConn.id == 0) + QNetworkConfiguration cfg = manager.configurationFromIdentifier( + QString::number(netConn.id)); + if (!cfg.isValid()) { - // figure out the default configuration cfg = manager.defaultConfiguration(); } - else - { - cfg = manager.configurationFromIdentifier(QString::number(netConn.id)); - } - if (cfg.isValid()) - { - netConn.name = hbTrId(cfg.name().toUtf8()); - } + netConn.name = QString(hbTrId(cfg.name().toUtf8())); } JavaApplicationSettings* JavaApplicationSettingsViewPrivate::findSettings(HbWidget* id) @@ -648,8 +709,7 @@ bool JavaApplicationSettingsViewPrivate::securityWarningAccepted(const QString& text, const QString& acceptActionLabel, const QString& rejectActionLabel, const QString& headingText) { - return true; -/* HbMessageBox securityWarning(HbMessageBox::MessageTypeQuestion); + HbMessageBox securityWarning(HbMessageBox::MessageTypeQuestion); securityWarning.setDismissPolicy(HbDialog::NoDismiss); securityWarning.setTimeout(HbDialog::NoTimeout); securityWarning.setIconVisible(false); @@ -657,15 +717,62 @@ securityWarning.addAction(new HbAction( acceptActionLabel, &securityWarning)); securityWarning.addAction(new HbAction( - rejectActionLabel, &securityWarning)); - securityWarning.setHeadingWidget(new HbLabel(headingText)); - HbAction *selected = securityWarning.exec(); - return (selected == securityWarning.primaryAction());*/ + rejectActionLabel, &securityWarning)); + securityWarning.setHeadingWidget(new HbLabel(headingText)); + securityWarning.open(this, SLOT(securityWarningDismissed(HbAction*))); + asyncToSyncCallEventLoop->exec(); + return secWarningAccepted; +} + +void JavaApplicationSettingsViewPrivate::configureList(QList& list, const QStringList& settingsNames, const QHash& settingsIndexes) +{ + for(int i=0; i& list, const QHash& settingsIndexes, bool isHighRiskList) +{ + if (settingsIndexes.contains(settingsName)) + { + if (isHighRiskList) + { + extraSettings[settingsIndexes.value(settingsName)].setHighRiskList(list); + } + else + { + extraSettings[settingsIndexes.value(settingsName)].setMutuallyExclusiveList(list); + } + } +} + +void JavaApplicationSettingsViewPrivate::installTranslator(const QString& translationFileName) { - int currentValue = -1; + QTranslator* translator = new QTranslator; + + // load the correct translation of the localized strings for the java settings + // Current solution reads it from Z only (this does not work with IAD) + // -> check if translator can handle path without drive letter (e.g. the resource + // is loaded from the same drive where the DLL is loaded) + if (translator->load("z:/resource/qt/translations/" + + translationFileName + "_" + QLocale::system().name())) + { + translators.append(translator); + qApp->installTranslator(translator); + } + else + { + delete translator; + translator = NULL; + } +} + +void JavaApplicationSettingsViewPrivate::readFromStorage(JavaApplicationSettings& settings) +{ if (settings.getColumnName().size() > 0 && settings.getTableName().size() > 0) { @@ -718,15 +825,12 @@ { if (storageValues[i] == value) { - currentValue = i; + settings.setCurrentValue(i); break; } } } } - - settings.setCurrentValue(currentValue); - return currentValue; } void JavaApplicationSettingsViewPrivate::filterSecuritySettings(JavaApplicationSettings& settings) @@ -861,6 +965,79 @@ return value; } +vector JavaApplicationSettingsViewPrivate::readFromStorage(const std::wstring& aColumnName, const std::string& aTableName) +{ + vector values; + + // hash for associating settings names with display indexes: + // a settings with lower index is shown before a settings + // with a higher index + QHash settingsNamesIndexes; + settingsNamesIndexes[QString::fromStdWString(NET_ACCESS_SETTINGS)] = 0; + settingsNamesIndexes[QString::fromStdWString(LOW_LEVEL_NET_ACCESS_SETTINGS)] = 1; + settingsNamesIndexes[QString::fromStdWString(MESSAGING_SETTINGS)] = 2; + settingsNamesIndexes[QString::fromStdWString(RESTRICTED_MESSAGING_SETTINGS)] = 3; + settingsNamesIndexes[QString::fromStdWString(CALL_CONTROL_SETTINGS)] = 4; + settingsNamesIndexes[QString::fromStdWString(LOCAL_CONNECTIVITY_SETTINGS)] = 5; + settingsNamesIndexes[QString::fromStdWString(MULTIMEDIA_RECORDING_SETTINGS)] = 6; + settingsNamesIndexes[QString::fromStdWString(WRITE_USER_DATA_ACCESS_SETTINGS)] = 7; + settingsNamesIndexes[QString::fromStdWString(READ_USER_DATA_ACCESS_SETTINGS)] = 8; + settingsNamesIndexes[QString::fromStdWString(LOCATION_SETTINGS)] = 9; + settingsNamesIndexes[QString::fromStdWString(LANDMARK_SETTINGS)] = 10; + settingsNamesIndexes[QString::fromStdWString(AUTHENTICATION_SETTINGS)] = 11; + settingsNamesIndexes[QString::fromStdWString(SMART_CARD_COMMUNICATION_SETTINGS)] = 12; + settingsNamesIndexes[QString::fromStdWString(APPLICATION_AUTO_INVOCATION_SETTINGS)] = 13; + settingsNamesIndexes[QString::fromStdWString(BROADCAST_SETTINGS)] = 14; + settingsNamesIndexes[QString::fromStdWString(NFC_WRITE_ACCESS_SETTINGS)] = 15; + settingsNamesIndexes[QString::fromStdWString(URL_START_SETTINGS)] = 16; + int last_index = 16; + + JavaStorageApplicationEntry_t query; + JavaStorageApplicationList_t queryResult; + JavaStorageEntry attr; + attr.setEntry(ID, iSuiteUid); + query.insert(attr); + attr.setEntry(aColumnName, L""); + query.insert(attr); + + try + { + iStorage->search(aTableName, query, queryResult); + JavaStorageApplicationList_t::const_iterator iterator; + for (iterator = queryResult.begin(); iterator != queryResult.end(); iterator++) + { + std::wstring name = L""; + JavaStorageApplicationEntry_t entry = (*iterator); + JavaStorageEntry findPattern; + findPattern.setEntry(aColumnName, L""); + JavaStorageApplicationEntry_t::const_iterator findIterator = + entry.find(findPattern); + if (findIterator != entry.end()) + { + name = findIterator->entryValue(); + } + + if (name.size() > 0) + { + IndexedSettingsName value; + value.name = name; + value.index = last_index + 1; + if (settingsNamesIndexes.contains(QString::fromStdWString(name))) + { + value.index = settingsNamesIndexes.value(QString::fromStdWString(name)); + } + values.push_back(value); + } + } + } + catch (JavaStorageException& aJse) + { + // Don't leave. Set defaults. + } + + return values; +} + void JavaApplicationSettingsViewPrivate::readSuiteUid(const QString& aAppUid) { iSuiteUid = L"";