| 135 | } // namespace |
| 136 | |
| 137 | void Settings::save() const |
| 138 | { |
| 139 | std::unique_ptr<QSettings> ptr; |
| 140 | const auto iniName = iniFileName(); |
| 141 | if (isPortable_) { |
| 142 | ptr = std::make_unique<QSettings>(iniName, QSettings::IniFormat); |
| 143 | } else { |
| 144 | ptr = std::make_unique<QSettings>(); |
| 145 | QFile::remove(iniName); |
| 146 | } |
| 147 | auto& settings = *ptr; |
| 148 | |
| 149 | settings.beginGroup(qs_guiGroup); |
| 150 | |
| 151 | settings.setValue(qs_captureHotkey, captureHotkey); |
| 152 | settings.setValue(qs_repeatCaptureHotkey, repeatCaptureHotkey); |
| 153 | settings.setValue(qs_repeatHotkey, showLastHotkey); |
| 154 | settings.setValue(qs_clipboardHotkey, clipboardHotkey); |
| 155 | settings.setValue(qs_captureLockedHotkey, captureLockedHotkey); |
| 156 | |
| 157 | settings.setValue(qs_showMessageOnStart, showMessageOnStart); |
| 158 | |
| 159 | settings.setValue(qs_resultShowType, int(resultShowType)); |
| 160 | |
| 161 | settings.setValue(qs_proxyType, int(proxyType)); |
| 162 | settings.setValue(qs_proxyHostName, proxyHostName); |
| 163 | settings.setValue(qs_proxyPort, proxyPort); |
| 164 | settings.setValue(qs_proxyUser, proxyUser); |
| 165 | settings.setValue(qs_proxySavePassword, proxySavePassword); |
| 166 | if (proxySavePassword) { |
| 167 | settings.setValue(qs_proxyPassword, shuffle(proxyPassword)); |
| 168 | } else { |
| 169 | settings.remove(qs_proxyPassword); |
| 170 | } |
| 171 | |
| 172 | settings.setValue(qs_autoUpdateType, autoUpdateIntervalDays); |
| 173 | settings.setValue(qs_lastUpdateCheck, lastUpdateCheck); |
| 174 | |
| 175 | settings.endGroup(); |
| 176 | |
| 177 | settings.beginGroup(qs_recogntionGroup); |
| 178 | settings.setValue(qs_ocrLanguage, sourceLanguage); |
| 179 | settings.endGroup(); |
| 180 | |
| 181 | settings.beginGroup(qs_correctionGroup); |
| 182 | settings.setValue(qs_useHunspell, useHunspell); |
| 183 | settings.setValue(qs_useUserSubstitutions, useUserSubstitutions); |
| 184 | settings.setValue(qs_userSubstitutions, packSubstitutions(userSubstitutions)); |
| 185 | settings.endGroup(); |
| 186 | |
| 187 | settings.beginGroup(qs_translationGroup); |
| 188 | |
| 189 | settings.setValue(qs_doTranslation, doTranslation); |
| 190 | settings.setValue(qs_ignoreSslErrors, ignoreSslErrors); |
| 191 | settings.setValue(qs_translationLanguage, targetLanguage); |
| 192 | settings.setValue(qs_translationTimeout, int(translationTimeout.count())); |
| 193 | settings.setValue(qs_translators, translators); |
| 194 |
no test coverage detected