| 214 | } |
| 215 | |
| 216 | void Settings::load() |
| 217 | { |
| 218 | std::unique_ptr<QSettings> ptr; |
| 219 | const auto iniName = iniFileName(); |
| 220 | if (QFile::exists(iniName)) { |
| 221 | ptr = std::make_unique<QSettings>(iniName, QSettings::IniFormat); |
| 222 | setPortable(true); |
| 223 | } else { |
| 224 | ptr = std::make_unique<QSettings>(); |
| 225 | setPortable(false); |
| 226 | } |
| 227 | auto& settings = *ptr; |
| 228 | |
| 229 | settings.beginGroup(qs_guiGroup); |
| 230 | |
| 231 | captureHotkey = settings.value(qs_captureHotkey, captureHotkey).toString(); |
| 232 | repeatCaptureHotkey = |
| 233 | settings.value(qs_repeatCaptureHotkey, repeatCaptureHotkey).toString(); |
| 234 | showLastHotkey = settings.value(qs_repeatHotkey, showLastHotkey).toString(); |
| 235 | clipboardHotkey = |
| 236 | settings.value(qs_clipboardHotkey, clipboardHotkey).toString(); |
| 237 | captureLockedHotkey = |
| 238 | settings.value(qs_captureLockedHotkey, captureLockedHotkey).toString(); |
| 239 | |
| 240 | showMessageOnStart = |
| 241 | settings.value(qs_showMessageOnStart, showMessageOnStart).toBool(); |
| 242 | |
| 243 | resultShowType = ResultMode( |
| 244 | std::clamp(settings.value(qs_resultShowType, int(resultShowType)).toInt(), |
| 245 | int(ResultMode::Widget), int(ResultMode::Tooltip))); |
| 246 | |
| 247 | proxyType = |
| 248 | ProxyType(std::clamp(settings.value(qs_proxyType, int(proxyType)).toInt(), |
| 249 | int(ProxyType::Disabled), int(ProxyType::Http))); |
| 250 | proxyHostName = settings.value(qs_proxyHostName, proxyHostName).toString(); |
| 251 | proxyPort = settings.value(qs_proxyPort, proxyPort).toInt(); |
| 252 | proxyUser = settings.value(qs_proxyUser, proxyUser).toString(); |
| 253 | proxySavePassword = |
| 254 | settings.value(qs_proxySavePassword, proxySavePassword).toBool(); |
| 255 | proxyPassword = shuffle(settings.value(qs_proxyPassword).toString()); |
| 256 | |
| 257 | autoUpdateIntervalDays = |
| 258 | settings.value(qs_autoUpdateType, autoUpdateIntervalDays).toInt(); |
| 259 | lastUpdateCheck = |
| 260 | settings.value(qs_lastUpdateCheck, lastUpdateCheck).toDateTime(); |
| 261 | |
| 262 | settings.endGroup(); |
| 263 | |
| 264 | settings.beginGroup(qs_recogntionGroup); |
| 265 | sourceLanguage = settings.value(qs_ocrLanguage, sourceLanguage).toString(); |
| 266 | settings.endGroup(); |
| 267 | |
| 268 | settings.beginGroup(qs_correctionGroup); |
| 269 | useHunspell = settings.value(qs_useHunspell, useHunspell).toBool(); |
| 270 | useUserSubstitutions = |
| 271 | settings.value(qs_useUserSubstitutions, useUserSubstitutions).toBool(); |
| 272 | userSubstitutions = |
| 273 | unpackSubstitutions(settings.value(qs_userSubstitutions).toStringList()); |
no test coverage detected