46 const wchar_t ON_SCREEN_KEYPAD_VALUE_NO[] = L"0"; |
47 const wchar_t ON_SCREEN_KEYPAD_VALUE_NO[] = L"0"; |
47 const wchar_t ON_SCREEN_KEYPAD_VALUE_GAMEACTIONS[] = L"1"; |
48 const wchar_t ON_SCREEN_KEYPAD_VALUE_GAMEACTIONS[] = L"1"; |
48 const wchar_t ON_SCREEN_KEYPAD_VALUE_NAVIGATION[] = L"2"; |
49 const wchar_t ON_SCREEN_KEYPAD_VALUE_NAVIGATION[] = L"2"; |
49 |
50 |
50 JavaApplicationSettingsViewPrivate::JavaApplicationSettingsViewPrivate(const QString& aJavaAppUid): |
51 JavaApplicationSettingsViewPrivate::JavaApplicationSettingsViewPrivate(const QString& aJavaAppUid): |
51 mainForm(0), model(0), generalSettingsGroup(0), securitySettingsGroup(0) |
52 mainForm(0), model(0), generalSettingsGroup(0), securitySettingsGroup(0), netConnSettingsUi(0), asyncToSyncCallEventLoop(0), secWarningAccepted(false), defaultConnId(0) |
52 { |
53 { |
53 // init access point settings ui |
|
54 netConnSettingsUi = new CmApplSettingsUi(this); |
|
55 |
|
56 // init storage |
54 // init storage |
57 iStorage.reset(JavaStorage::createInstance()); |
55 iStorage.reset(JavaStorage::createInstance()); |
58 try |
56 try |
59 { |
57 { |
60 iStorage->open(); |
58 iStorage->open(); |
61 } |
59 } |
62 catch (JavaStorageException& aJse) {} |
60 catch (JavaStorageException& aJse) {} |
63 |
61 |
64 // init the suite UID from the application UID |
|
65 readSuiteUid(aJavaAppUid); |
|
66 if (iSuiteUid.size() <= 0) |
|
67 { |
|
68 // TODO: display a no settings available message |
|
69 return; |
|
70 } |
|
71 QTranslator translator; |
62 QTranslator translator; |
72 // load the correct translation of the localized strings for the cmmanager. |
63 // load the correct translation of the localized strings for the cmmanager. |
73 // Load this one first since it contains the smallest amount of strings |
64 // Load this one first since it contains the smallest amount of strings |
74 // (so it's ok to be searched last) |
65 // (so it's ok to be searched last) |
75 if (translator.load("z:/resource/qt/translations/cmapplsettingsui_" + QLocale::system().name())) |
66 installTranslator("cmapplsettingsui"); |
76 { |
67 installTranslator("cmmanager"); |
77 qApp->installTranslator(&translator); |
|
78 } |
|
79 if (translator.load("z:/resource/qt/translations/cmmanager_" + QLocale::system().name())) |
|
80 { |
|
81 qApp->installTranslator(&translator); |
|
82 } |
|
83 // load the correct translation of the localized strings for the java settings |
68 // load the correct translation of the localized strings for the java settings |
84 // Current solution reads it from Z only (this does not work with IAD) |
69 // Current solution reads it from Z only (this does not work with IAD) |
85 // -> check if translator can handle path without drive letter (e.g. the resource |
70 // -> check if translator can handle path without drive letter (e.g. the resource |
86 // is loaded from the same drive where the DLL is loaded) |
71 // is loaded from the same drive where the DLL is loaded) |
87 if (translator.load("z:/resource/qt/translations/javaruntimeapplicationsettings_" + QLocale::system().name())) |
72 installTranslator("javaruntimeapplicationsettings"); |
88 { |
|
89 qApp->installTranslator(&translator); |
|
90 } |
|
91 // init strings |
73 // init strings |
92 BLANKET = hbTrId("txt_java_sett_setlabel_permission_val_blanket"); |
74 BLANKET = QString(hbTrId("txt_java_sett_setlabel_permission_val_blanket")); |
93 SESSION = hbTrId("txt_java_sett_setlabel_permission_val_session"); |
75 SESSION = QString(hbTrId("txt_java_sett_setlabel_permission_val_session")); |
94 ONESHOT = hbTrId("txt_java_sett_setlabel_permission_val_oneshot"); |
76 ONESHOT = QString(hbTrId("txt_java_sett_setlabel_permission_val_oneshot")); |
95 DENIED = hbTrId("txt_java_sett_setlabel_permission_val_no"); |
77 DENIED = QString(hbTrId("txt_java_sett_setlabel_permission_val_no")); |
96 SECURITY_LEVEL = hbTrId("txt_java_sett_setlabel_security_level"); |
78 SECURITY_LEVEL = QString(hbTrId("txt_java_sett_setlabel_security_level")); |
97 USER_DEFINED = hbTrId("txt_java_sett_setlabel_security_level_val_user_defined"); |
79 USER_DEFINED = QString(hbTrId("txt_java_sett_setlabel_security_level_val_user_defined")); |
98 SENSITIVE_SETTINGS = hbTrId("txt_java_sett_info_query_perm_sec"); |
80 SENSITIVE_SETTINGS = QString(hbTrId("txt_java_sett_info_query_perm_sec")); |
99 SENSITIVE_SETTINGS_NET_USAGE = hbTrId("txt_java_sett_info_query_perm_net"); |
81 SENSITIVE_SETTINGS_NET_USAGE = QString(hbTrId("txt_java_sett_info_query_perm_net")); |
100 MUTUALLY_EXCLUSIVE_SETTINGS = hbTrId("txt_java_sett_info_query_perm_warn"); |
82 MUTUALLY_EXCLUSIVE_SETTINGS = QString(hbTrId("txt_java_sett_info_query_perm_warn")); |
101 OK = hbTrId("txt_java_sett_button_settings_ok"); |
83 OK = QString(hbTrId("txt_java_sett_button_settings_ok")); |
102 CANCEL = hbTrId("txt_java_sett_button_settings_cancel"); |
84 CANCEL = QString(hbTrId("txt_java_sett_button_settings_cancel")); |
103 SECURITY_WARNING_TITLE = hbTrId("txt_java_sett_title_note_security_warn"); |
85 SECURITY_WARNING_TITLE = QString(hbTrId("txt_java_sett_title_note_security_warn")); |
104 NET_ACCESS = hbTrId("txt_java_sett_setlabel_net_access"); |
86 NET_ACCESS = QString(hbTrId("txt_java_sett_setlabel_net_access")); |
105 LOW_LEVEL_NET_ACCESS = hbTrId("txt_java_sett_setlabel_low_level_net_access"); |
87 LOW_LEVEL_NET_ACCESS = QString(hbTrId("txt_java_sett_setlabel_low_level_net_access")); |
106 NETWORK_CONNECTION = hbTrId("txt_occ_title_network_connection"); |
88 NETWORK_CONNECTION = QString(hbTrId("txt_occ_title_network_connection")); |
107 |
89 SETTINGS_TITLE = QString(hbTrId("txt_java_sett_title_settings")); |
|
90 SETTINGS_NOT_AVAILABLE = QString(hbTrId("txt_java_sett_info_settings_not_available")); |
|
91 |
|
92 // init the suite UID from the application UID |
|
93 readSuiteUid(aJavaAppUid); |
|
94 if (iSuiteUid.size() <= 0) |
|
95 { |
|
96 return; |
|
97 } |
|
98 |
|
99 // init access point settings ui |
|
100 netConnSettingsUi = new CmApplSettingsUi(this); |
|
101 asyncToSyncCallEventLoop = new QEventLoop(); |
|
102 |
108 // read all settings |
103 // read all settings |
109 readAllSettings(); |
104 readAllSettings(); |
110 |
105 |
111 // init form |
106 // init form |
112 mainForm = new HbDataForm(); |
107 mainForm = new HbDataForm(); |
113 mainForm->setHeading(hbTrId("txt_java_sett_title_settings")); |
108 mainForm->setHeading(QString::fromStdWString(readFromStorage(PACKAGE_NAME, L"", L"", APPLICATION_PACKAGE_TABLE))); |
114 model = new HbDataFormModel(); |
109 model = new HbDataFormModel(); |
115 |
110 |
116 // init settings |
111 // init settings |
117 generalSettingsGroup = model->appendDataFormGroup( |
112 generalSettingsGroup = model->appendDataFormGroup( |
118 hbTrId("txt_java_sett_subtitle_general"), model->invisibleRootItem()); |
113 QString(hbTrId("txt_java_sett_subtitle_general")), model->invisibleRootItem()); |
119 initSettings(generalSettings, generalSettingsGroup); |
114 initSettings(generalSettings, generalSettingsGroup); |
120 securitySettingsGroup = model->appendDataFormGroup( |
115 // append the security settings only if there are any user settings |
121 hbTrId("txt_java_sett_subtitle_security"), model->invisibleRootItem()); |
116 if (extraSettings.size() > 0) |
122 initSettings(securitySettings, securitySettingsGroup); |
117 { |
123 |
118 securitySettingsGroup = model->appendDataFormGroup( |
124 // if security warnings is user defined -> add the extra settings, expand |
119 QString(hbTrId("txt_java_sett_subtitle_security")), model->invisibleRootItem()); |
125 if (securitySettings[0].getCurrentValue() == 1) |
120 initSettings(securitySettings, securitySettingsGroup); |
126 { |
121 |
127 securityWarningsChanged(USER_DEFINED); |
122 // if security warnings is user defined -> add the extra settings, expand |
|
123 if (securitySettings[0].getCurrentValue() == 1) |
|
124 { |
|
125 securityWarningsChanged(USER_DEFINED); |
|
126 } |
128 } |
127 } |
129 |
128 |
130 // link form and model |
129 // link form and model |
131 mainForm->setModel(model); |
130 mainForm->setModel(model); |
132 mainForm->setExpanded(model->indexFromItem(generalSettingsGroup), true); |
131 mainForm->setExpanded(model->indexFromItem(generalSettingsGroup), true); |
133 mainForm->setExpanded(model->indexFromItem(securitySettingsGroup), (securitySettings[0].getCurrentValue() == 1)); |
132 if (extraSettings.size() > 0) |
|
133 { |
|
134 mainForm->setExpanded(model->indexFromItem(securitySettingsGroup), (securitySettings[0].getCurrentValue() == 1)); |
|
135 } |
134 } |
136 } |
135 |
137 |
136 void JavaApplicationSettingsViewPrivate::init(JavaApplicationSettingsView* aPublicView) |
138 void JavaApplicationSettingsViewPrivate::init(JavaApplicationSettingsView* aPublicView) |
137 { |
139 { |
138 iPublicView = aPublicView; |
140 iPublicView = aPublicView; |
139 |
141 |
140 // do the connect for the main form |
142 if (mainForm) |
141 iPublicView->connect(mainForm, SIGNAL(activated(const QModelIndex)), |
143 { |
142 iPublicView, SLOT(_q_dataItemDisplayed(const QModelIndex))); |
144 // do the connect for the main form |
143 |
145 iPublicView->connect(mainForm, SIGNAL(activated(const QModelIndex)), |
144 // set the form as view's widget |
146 iPublicView, SLOT(_q_dataItemDisplayed(const QModelIndex))); |
145 iPublicView->setWidget(mainForm); |
147 |
|
148 // set the form as view's widget |
|
149 iPublicView->setWidget(mainForm); |
|
150 } |
|
151 else |
|
152 { |
|
153 // no settings available |
|
154 HbLabel* label = new HbLabel(SETTINGS_NOT_AVAILABLE, iPublicView); |
|
155 label->setAlignment(Qt::AlignVCenter); |
|
156 } |
146 |
157 |
147 // set title |
158 // set title |
148 iPublicView->setTitle(QString::fromStdWString(readFromStorage(PACKAGE_NAME, L"", L"", APPLICATION_PACKAGE_TABLE))); |
159 iPublicView->setTitle(SETTINGS_TITLE); |
149 } |
160 } |
150 |
161 |
151 JavaApplicationSettingsViewPrivate::~JavaApplicationSettingsViewPrivate() |
162 JavaApplicationSettingsViewPrivate::~JavaApplicationSettingsViewPrivate() |
152 { |
163 { |
153 delete mainForm; |
164 delete mainForm; |
154 delete model; |
165 delete model; |
155 delete netConnSettingsUi; |
166 delete netConnSettingsUi; |
|
167 delete asyncToSyncCallEventLoop; |
|
168 foreach (QTranslator *translator, translators) { |
|
169 qApp->removeTranslator(translator); |
|
170 } |
|
171 qDeleteAll(translators); |
|
172 translators.clear(); |
156 } |
173 } |
157 |
174 |
158 void JavaApplicationSettingsViewPrivate::readAllSettings() |
175 void JavaApplicationSettingsViewPrivate::readAllSettings() |
159 { |
176 { |
160 // general settings |
177 // general settings |
163 if (!findFromStorage(VALUE, NAME, L"Nokia-MIDlet-On-Screen-Keypad", APPLICATION_PACKAGE_ATTRIBUTES_TABLE)) |
180 if (!findFromStorage(VALUE, NAME, L"Nokia-MIDlet-On-Screen-Keypad", APPLICATION_PACKAGE_ATTRIBUTES_TABLE)) |
164 { |
181 { |
165 // if the on screen keypad is predefined, it should not be changable by user |
182 // if the on screen keypad is predefined, it should not be changable by user |
166 // -> right now it is not added to settings list. It should be changed so that |
183 // -> right now it is not added to settings list. It should be changed so that |
167 // the setting should not be editable by user |
184 // the setting should not be editable by user |
168 settingsValues<<hbTrId("txt_java_sett_setlabel_osk_val_no")<<hbTrId("txt_java_sett_setlabel_osk_val_game")<<hbTrId("txt_java_sett_setlabel_osk_val_navigation"); |
185 settingsValues<<QString(hbTrId("txt_java_sett_setlabel_osk_val_no"))<<QString(hbTrId("txt_java_sett_setlabel_osk_val_game"))<<QString(hbTrId("txt_java_sett_setlabel_osk_val_navigation")); |
169 storageValues.push_back(ON_SCREEN_KEYPAD_VALUE_NO); |
186 storageValues.push_back(ON_SCREEN_KEYPAD_VALUE_NO); |
170 storageValues.push_back(ON_SCREEN_KEYPAD_VALUE_GAMEACTIONS); |
187 storageValues.push_back(ON_SCREEN_KEYPAD_VALUE_GAMEACTIONS); |
171 storageValues.push_back(ON_SCREEN_KEYPAD_VALUE_NAVIGATION); |
188 storageValues.push_back(ON_SCREEN_KEYPAD_VALUE_NAVIGATION); |
172 generalSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_osk"), settingsValues, ON_SCREEN_KEYPAD, MIDP_PACKAGE_TABLE, storageValues)); |
189 generalSettings.append(JavaApplicationSettings(QString(hbTrId("txt_java_sett_setlabel_osk")), settingsValues, ON_SCREEN_KEYPAD, MIDP_PACKAGE_TABLE, storageValues)); |
173 readFromStorage(generalSettings[0]); |
190 readFromStorage(generalSettings[0]); |
174 } |
191 } |
175 settingsValues = QStringList(); |
192 settingsValues = QStringList(); |
176 netConn.id = ConnectionManager::getDestinationNetworkIdL(iSuiteUid); |
193 initNetworkConnection(); |
177 readNetworkConnectionName(); |
|
178 settingsValues<<netConn.name; |
194 settingsValues<<netConn.name; |
179 generalSettings.append(JavaApplicationSettings(NETWORK_CONNECTION, settingsValues)); |
195 generalSettings.append(JavaApplicationSettings(NETWORK_CONNECTION, settingsValues)); |
180 netSettIndex = generalSettings.size() - 1; |
196 netSettIndex = generalSettings.size() - 1; |
181 |
197 |
182 // security settings |
198 // security settings |
183 settingsValues = QStringList(); |
199 settingsValues = QStringList(); |
184 storageValues.clear(); |
200 storageValues.clear(); |
185 settingsValues<<hbTrId("txt_java_sett_setlabel_security_level_val_default")<<USER_DEFINED; |
201 settingsValues<<QString(hbTrId("txt_java_sett_setlabel_security_level_val_default"))<<USER_DEFINED; |
186 storageValues.push_back(SECURITY_WARNINGS_DEFAULT_MODE); |
202 storageValues.push_back(SECURITY_WARNINGS_DEFAULT_MODE); |
187 storageValues.push_back(SECURITY_WARNINGS_USER_DEFINED_MODE); |
203 storageValues.push_back(SECURITY_WARNINGS_USER_DEFINED_MODE); |
188 securitySettings.append(JavaApplicationSettings(SECURITY_LEVEL, settingsValues, SECURITY_WARNINGS, MIDP_PACKAGE_TABLE, storageValues)); |
204 securitySettings.append(JavaApplicationSettings(SECURITY_LEVEL, settingsValues, SECURITY_WARNINGS, MIDP_PACKAGE_TABLE, storageValues)); |
189 readFromStorage(securitySettings[0]); |
205 readFromStorage(securitySettings[0]); |
190 |
206 |
191 // extra settings |
207 // extra settings |
192 int i=0; |
|
193 settingsValues = QStringList(); |
208 settingsValues = QStringList(); |
194 storageValues.clear(); |
209 storageValues.clear(); |
195 settingsValues<<ONESHOT<<SESSION<<BLANKET<<DENIED; |
210 settingsValues<<ONESHOT<<SESSION<<BLANKET<<DENIED; |
196 storageValues.push_back(ONESHOT_INTERACTION_MODE); |
211 storageValues.push_back(ONESHOT_INTERACTION_MODE); |
197 storageValues.push_back(SESSION_INTERACTION_MODE); |
212 storageValues.push_back(SESSION_INTERACTION_MODE); |
198 storageValues.push_back(BLANKET_INTERACTION_MODE); |
213 storageValues.push_back(BLANKET_INTERACTION_MODE); |
199 storageValues.push_back(DENIED_INTERACTION_MODE); |
214 storageValues.push_back(DENIED_INTERACTION_MODE); |
200 extraSettings.append(JavaApplicationSettings(NET_ACCESS, settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, NET_ACCESS_SETTINGS, ALLOWED_SETTINGS)); |
215 // init the known localized settings names |
201 readFromStorage(extraSettings[i]); |
216 QHash<QString, QString> localizedSettingsNames; |
202 i++; |
217 localizedSettingsNames[QString::fromStdWString(NET_ACCESS_SETTINGS)] = NET_ACCESS; |
203 extraSettings.append(JavaApplicationSettings(LOW_LEVEL_NET_ACCESS, settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, LOW_LEVEL_NET_ACCESS_SETTINGS, ALLOWED_SETTINGS)); |
218 localizedSettingsNames[QString::fromStdWString(LOW_LEVEL_NET_ACCESS_SETTINGS)] = LOW_LEVEL_NET_ACCESS; |
204 readFromStorage(extraSettings[i]); |
219 localizedSettingsNames[QString::fromStdWString(MESSAGING_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_messaging")); |
205 i++; |
220 localizedSettingsNames[QString::fromStdWString(RESTRICTED_MESSAGING_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_restricted_messaging")); |
206 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_messaging"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, MESSAGING_SETTINGS, ALLOWED_SETTINGS)); |
221 localizedSettingsNames[QString::fromStdWString(CALL_CONTROL_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_call_control")); |
207 readFromStorage(extraSettings[i]); |
222 localizedSettingsNames[QString::fromStdWString(LOCAL_CONNECTIVITY_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_local_conn")); |
208 i++; |
223 localizedSettingsNames[QString::fromStdWString(MULTIMEDIA_RECORDING_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_mm_record")); |
209 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_restricted_messaging"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, RESTRICTED_MESSAGING_SETTINGS, ALLOWED_SETTINGS)); |
224 localizedSettingsNames[QString::fromStdWString(WRITE_USER_DATA_ACCESS_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_write_data")); |
210 readFromStorage(extraSettings[i]); |
225 localizedSettingsNames[QString::fromStdWString(READ_USER_DATA_ACCESS_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_read_data")); |
211 i++; |
226 localizedSettingsNames[QString::fromStdWString(LOCATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_location")); |
212 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_call_control"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, CALL_CONTROL_SETTINGS, ALLOWED_SETTINGS)); |
227 localizedSettingsNames[QString::fromStdWString(LANDMARK_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_landmarks")); |
213 readFromStorage(extraSettings[i]); |
228 localizedSettingsNames[QString::fromStdWString(AUTHENTICATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_auth")); |
214 i++; |
229 localizedSettingsNames[QString::fromStdWString(SMART_CARD_COMMUNICATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_smartcard")); |
215 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_local_conn"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, LOCAL_CONNECTIVITY_SETTINGS, ALLOWED_SETTINGS)); |
230 localizedSettingsNames[QString::fromStdWString(APPLICATION_AUTO_INVOCATION_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_app_auto_invoc")); |
216 readFromStorage(extraSettings[i]); |
231 localizedSettingsNames[QString::fromStdWString(BROADCAST_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_broadcast")); |
217 i++; |
232 localizedSettingsNames[QString::fromStdWString(NFC_WRITE_ACCESS_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_nfc_write_access")); |
218 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_mm_record"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, MULTIMEDIA_RECORDING_SETTINGS, ALLOWED_SETTINGS)); |
233 localizedSettingsNames[QString::fromStdWString(URL_START_SETTINGS)] = QString(hbTrId("txt_java_sett_setlabel_url_start")); |
219 readFromStorage(extraSettings[i]); |
234 vector<IndexedSettingsName> allSecuritySettings = readFromStorage(FUNCTION_GROUP, MIDP_FUNC_GRP_SETTINGS_TABLE); |
220 i++; |
235 // sort the security settings according to how they should be displayed |
221 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_write_data"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, WRITE_USER_DATA_ACCESS_SETTINGS, ALLOWED_SETTINGS)); |
236 std::sort(allSecuritySettings.begin(), allSecuritySettings.end(), AscendingSort()); |
222 readFromStorage(extraSettings[i]); |
237 QHash<QString, int> settingsIndexes; |
223 i++; |
238 for(int i=0; i<allSecuritySettings.size(); i++) |
224 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_read_data"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, READ_USER_DATA_ACCESS_SETTINGS, ALLOWED_SETTINGS)); |
239 { |
225 readFromStorage(extraSettings[i]); |
240 QString rawSettingsName = QString::fromStdWString(allSecuritySettings[i].name); |
226 i++; |
241 QString localizedSettingsName = rawSettingsName; |
227 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_location"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, LOCATION_SETTINGS, ALLOWED_SETTINGS)); |
242 if (localizedSettingsNames.contains(rawSettingsName)) |
228 readFromStorage(extraSettings[i]); |
243 localizedSettingsName = localizedSettingsNames.value(rawSettingsName); |
229 i++; |
244 extraSettings.append(JavaApplicationSettings( |
230 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_landmarks"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, LANDMARK_SETTINGS, ALLOWED_SETTINGS)); |
245 localizedSettingsName, settingsValues, CURRENT_SETTING, |
231 readFromStorage(extraSettings[i]); |
246 MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, |
232 i++; |
247 allSecuritySettings[i].name, ALLOWED_SETTINGS)); |
233 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_auth"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, AUTHENTICATION_SETTINGS, ALLOWED_SETTINGS)); |
248 readFromStorage(extraSettings[i]); |
234 readFromStorage(extraSettings[i]); |
249 settingsIndexes[rawSettingsName] = i; |
235 i++; |
250 } |
236 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_smartcard"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, SMART_CARD_COMMUNICATION_SETTINGS, ALLOWED_SETTINGS)); |
|
237 readFromStorage(extraSettings[i]); |
|
238 i++; |
|
239 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_app_auto_invoc"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, APPLICATION_AUTO_INVOCATION_SETTINGS, ALLOWED_SETTINGS)); |
|
240 readFromStorage(extraSettings[i]); |
|
241 i++; |
|
242 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_broadcast"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, BROADCAST_SETTINGS, ALLOWED_SETTINGS)); |
|
243 readFromStorage(extraSettings[i]); |
|
244 i++; |
|
245 extraSettings.append(JavaApplicationSettings(hbTrId("txt_java_sett_setlabel_nfc_write_access"), settingsValues, CURRENT_SETTING, MIDP_FUNC_GRP_SETTINGS_TABLE, storageValues, FUNCTION_GROUP, NFC_WRITE_ACCESS_SETTINGS, ALLOWED_SETTINGS)); |
|
246 readFromStorage(extraSettings[i]); |
|
247 i++; |
|
248 |
251 |
249 // configure the high risk lists |
252 // configure the high risk lists |
250 QList<JavaApplicationSettings*> highRiskList; |
253 QList<JavaApplicationSettings*> highRiskList; |
|
254 QStringList highRiskSettingsNames; |
|
255 highRiskSettingsNames |
|
256 <<QString::fromStdWString(MULTIMEDIA_RECORDING_SETTINGS) |
|
257 <<QString::fromStdWString(READ_USER_DATA_ACCESS_SETTINGS); |
|
258 configureList(highRiskList, highRiskSettingsNames, settingsIndexes); |
251 // net access with multimedia and read user data |
259 // net access with multimedia and read user data |
252 highRiskList << &(extraSettings[6]) << &(extraSettings[8]); |
260 attachList(QString::fromStdWString(NET_ACCESS_SETTINGS),highRiskList, settingsIndexes); |
253 extraSettings[0].setHighRiskList(highRiskList); |
|
254 // low level net access with multimedia and read user data |
261 // low level net access with multimedia and read user data |
255 extraSettings[1].setHighRiskList(highRiskList); |
262 attachList(QString::fromStdWString(LOW_LEVEL_NET_ACCESS_SETTINGS),highRiskList, settingsIndexes); |
256 // messaging with multimedia and read user data |
263 // messaging with multimedia and read user data |
257 extraSettings[2].setHighRiskList(highRiskList); |
264 attachList(QString::fromStdWString(MESSAGING_SETTINGS),highRiskList, settingsIndexes); |
258 // restricted messaging with multimedia and read user data |
265 // restricted messaging with multimedia and read user data |
259 extraSettings[3].setHighRiskList(highRiskList); |
266 attachList(QString::fromStdWString(RESTRICTED_MESSAGING_SETTINGS),highRiskList, settingsIndexes); |
260 // call control with multimedia and read user data |
267 // call control with multimedia and read user data |
261 extraSettings[4].setHighRiskList(highRiskList); |
268 attachList(QString::fromStdWString(CALL_CONTROL_SETTINGS),highRiskList, settingsIndexes); |
262 // local connectivity with multimedia and read user data |
269 // local connectivity with multimedia and read user data |
263 extraSettings[5].setHighRiskList(highRiskList); |
270 attachList(QString::fromStdWString(LOCAL_CONNECTIVITY_SETTINGS),highRiskList, settingsIndexes); |
264 // multimedia with net access, low level net access, messaging, |
271 // multimedia with net access, low level net access, messaging, |
265 // restricted messaging, call control and local connectivity |
272 // restricted messaging, call control and local connectivity |
266 highRiskList.clear(); |
273 highRiskList.clear(); |
267 highRiskList << &(extraSettings[0]) << &(extraSettings[1]) |
274 highRiskSettingsNames.clear(); |
268 << &(extraSettings[2]) << &(extraSettings[3]) |
275 highRiskSettingsNames |
269 << &(extraSettings[4]) << &(extraSettings[5]); |
276 <<QString::fromStdWString(NET_ACCESS_SETTINGS) |
270 extraSettings[6].setHighRiskList(highRiskList); |
277 <<QString::fromStdWString(LOW_LEVEL_NET_ACCESS_SETTINGS) |
|
278 <<QString::fromStdWString(MESSAGING_SETTINGS) |
|
279 <<QString::fromStdWString(RESTRICTED_MESSAGING_SETTINGS) |
|
280 <<QString::fromStdWString(CALL_CONTROL_SETTINGS) |
|
281 <<QString::fromStdWString(LOCAL_CONNECTIVITY_SETTINGS) |
|
282 <<QString::fromStdWString(MULTIMEDIA_RECORDING_SETTINGS); |
|
283 configureList(highRiskList, highRiskSettingsNames, settingsIndexes); |
|
284 attachList(QString::fromStdWString(MULTIMEDIA_RECORDING_SETTINGS),highRiskList, settingsIndexes); |
271 // read user data with net access, low level net access, messaging, |
285 // read user data with net access, low level net access, messaging, |
272 // restricted messaging, call control and local connectivity |
286 // restricted messaging, call control and local connectivity |
273 extraSettings[8].setHighRiskList(highRiskList); |
287 attachList(QString::fromStdWString(READ_USER_DATA_ACCESS_SETTINGS),highRiskList, settingsIndexes); |
274 |
288 |
275 // configure the mutually exclusive list |
289 // configure the mutually exclusive list |
276 QList<JavaApplicationSettings*> mutuallyExclusiveList; |
290 QList<JavaApplicationSettings*> mutuallyExclusiveList; |
|
291 QStringList mutuallyExclusiveSettingsNames; |
|
292 mutuallyExclusiveSettingsNames |
|
293 <<QString::fromStdWString(APPLICATION_AUTO_INVOCATION_SETTINGS); |
|
294 configureList(mutuallyExclusiveList, mutuallyExclusiveSettingsNames, settingsIndexes); |
277 //net access with application auto invocation |
295 //net access with application auto invocation |
278 mutuallyExclusiveList << &(extraSettings[13]); |
296 attachList(QString::fromStdWString(NET_ACCESS_SETTINGS),mutuallyExclusiveList, settingsIndexes, false /* is high risk list */); |
279 extraSettings[0].setMutuallyExclusiveList(mutuallyExclusiveList); |
|
280 //low level net access with application auto invocation |
297 //low level net access with application auto invocation |
281 extraSettings[1].setMutuallyExclusiveList(mutuallyExclusiveList); |
298 attachList(QString::fromStdWString(LOW_LEVEL_NET_ACCESS_SETTINGS),mutuallyExclusiveList, settingsIndexes, false /* is high risk list */); |
282 //application auto invocation with net access and low level net access |
299 //application auto invocation with net access and low level net access |
283 mutuallyExclusiveList.clear(); |
300 mutuallyExclusiveList.clear(); |
284 mutuallyExclusiveList << &(extraSettings[0]) << &(extraSettings[1]); |
301 mutuallyExclusiveSettingsNames.clear(); |
285 extraSettings[13].setMutuallyExclusiveList(mutuallyExclusiveList); |
302 mutuallyExclusiveSettingsNames |
|
303 <<QString::fromStdWString(NET_ACCESS_SETTINGS) |
|
304 <<QString::fromStdWString(LOW_LEVEL_NET_ACCESS_SETTINGS); |
|
305 configureList(mutuallyExclusiveList, mutuallyExclusiveSettingsNames, settingsIndexes); |
|
306 attachList(QString::fromStdWString(APPLICATION_AUTO_INVOCATION_SETTINGS),mutuallyExclusiveList, settingsIndexes, false /* is high risk list */); |
286 } |
307 } |
287 |
308 |
288 void JavaApplicationSettingsViewPrivate::initSettings(QVector<JavaApplicationSettings>& settings, HbDataFormModelItem * parent) |
309 void JavaApplicationSettingsViewPrivate::initSettings(QVector<JavaApplicationSettings>& settings, HbDataFormModelItem * parent) |
289 { |
310 { |
290 for (int i=0; i<settings.size(); i++) |
311 for (int i=0; i<settings.size(); i++) |
291 { |
312 { |
292 HbDataFormModelItem * appSettings = NULL; |
313 HbDataFormModelItem * appSettings = NULL; |
293 int storageValue = 0; |
314 int currentValue = 0; |
294 int currentValue = 0; |
|
295 switch(settings[i].getValues().size()) |
315 switch(settings[i].getValues().size()) |
296 { |
316 { |
297 case 1: |
317 case 1: |
298 appSettings = model->appendDataFormItem( |
318 appSettings = model->appendDataFormItem( |
299 HbDataFormModelItem::ToggleValueItem, |
319 HbDataFormModelItem::ToggleValueItem, |