| 139 | } |
| 140 | |
| 141 | function initConfig( |
| 142 | config: ConfigParser | undefined = undefined |
| 143 | ): ConfigParser { |
| 144 | if (!config) config = new ConfigParser(); |
| 145 | |
| 146 | config.setRule("autoCopy", new TypeRule<boolean>(false)); |
| 147 | config.setRule("listenClipboard", new TypeRule<boolean>(true)); |
| 148 | config.setRule("enableOCR", new TypeRule<boolean>(true)); // 启用 OCR |
| 149 | config.setRule("dragCopy", new TypeRule<boolean>(false)); |
| 150 | config.setRule("doubleClickCopy", new TypeRule<boolean>(true)); |
| 151 | config.setRule("incrementalCopy", new TypeRule<boolean>(false)); |
| 152 | config.setRule("stayTop", new TypeRule<boolean>(true)); |
| 153 | config.setRule("smartDict", new TypeRule<boolean>(true)); |
| 154 | config.setRule("contrastDict", new TypeRule<boolean>(true)); |
| 155 | config.setRule("focusSource", new TypeRule<boolean>(false)); |
| 156 | config.setRule("smartTranslate", new TypeRule<boolean>(true)); |
| 157 | config.setRule("autoPaste", new TypeRule<boolean>(false)); |
| 158 | config.setRule("autoHide", new TypeRule<boolean>(false)); |
| 159 | config.setRule("autoShow", new TypeRule<boolean>(false)); |
| 160 | config.setRule("autoFormat", new TypeRule<boolean>(false)); |
| 161 | config.setRule("autoPurify", new TypeRule<boolean>(true)); |
| 162 | config.setRule("enableNotify", new TypeRule<boolean>(false)); |
| 163 | config.setRule("neverShow", new TypeRule<boolean>(false)); |
| 164 | config.setRule("neverShowTips", new TypeRule<boolean>(false)); // 不显示提示 |
| 165 | config.setRule("showGoogleMessage", new TypeRule<boolean>(true)); |
| 166 | config.setRule("activeWindows", new TypeRule<string[]>([])); |
| 167 | config.setRule( |
| 168 | "dragCopyMode", |
| 169 | new UnionRule<DragCopyMode>("dragCopyGlobal", dragCopyModes) |
| 170 | ); |
| 171 | config.setRule("dragCopyWhiteList", new TypeRule<string[]>([])); |
| 172 | config.setRule("dragCopyBlackList", new TypeRule<string[]>([])); |
| 173 | |
| 174 | config.setRule( |
| 175 | "listenClipboardMode", |
| 176 | new UnionRule<ListenClipboardMode>( |
| 177 | "listenClipboardGlobal", |
| 178 | listenClipboardModes |
| 179 | ) |
| 180 | ); |
| 181 | config.setRule("listenClipboardWhiteList", new TypeRule<string[]>([])); |
| 182 | config.setRule("listenClipboardBlackList", new TypeRule<string[]>([])); |
| 183 | |
| 184 | config.setRule("isNewUser", new TypeRule<boolean>(true)); |
| 185 | config.setRule("toastTip", new TypeRule<boolean>(false)); |
| 186 | config.setRule("closeAsQuit", new TypeRule<boolean>(true)); |
| 187 | config.setRule("autoCheckUpdate", new TypeRule<boolean>(true)); |
| 188 | config.setRule("openAtLogin", new TypeRule<boolean>(false)); |
| 189 | config.setRule("enableDoubleCopyTranslate", new TypeRule<boolean>(false)); |
| 190 | config.setRule( |
| 191 | "version", |
| 192 | new TypeRule<string>(version, (ver: string) => { |
| 193 | return ver === version; |
| 194 | }) |
| 195 | ); |
| 196 | |
| 197 | //外观相关 |
| 198 | config.setRule("skipTaskbar", new TypeRule<boolean>(false)); |