OSDN Git Service

Fix crash when registry is set to an unexpected value
[winmerge-jp/winmerge-jp.git] / Src / OptionsDef.h
1 /** 
2  * @file  OptionsDef.h
3  *
4  * @brief Constants for option-names
5  */
6 #pragma once
7
8 #include "UnicodeString.h"
9
10 #ifndef OP
11 #define OP(x) 
12 #endif
13
14 // User's language
15 extern const String OPT_SELECTED_LANGUAGE OP("Locale/LanguageId");
16
17 // View-menu
18 extern const String OPT_SHOW_UNIQUE_LEFT OP("Settings/ShowUniqueLeft");
19 extern const String OPT_SHOW_UNIQUE_MIDDLE OP("Settings/ShowUniqueMiddle");
20 extern const String OPT_SHOW_UNIQUE_RIGHT OP("Settings/ShowUniqueRight");
21 extern const String OPT_SHOW_DIFFERENT OP("Settings/ShowDifferent");
22 extern const String OPT_SHOW_IDENTICAL OP("Settings/ShowIdentical");
23 extern const String OPT_SHOW_BINARIES OP("Settings/ShowBinaries");
24 extern const String OPT_SHOW_SKIPPED OP("Settings/ShowSkipped");
25 extern const String OPT_SHOW_DIFFERENT_LEFT_ONLY OP("Settings/ShowDifferentLeftOnly");
26 extern const String OPT_SHOW_DIFFERENT_MIDDLE_ONLY OP("Settings/ShowDifferentMiddleOnly");
27 extern const String OPT_SHOW_DIFFERENT_RIGHT_ONLY OP("Settings/ShowDifferentRightOnly");
28 extern const String OPT_SHOW_MISSING_LEFT_ONLY OP("Settings/ShowMissingLeftOnly");
29 extern const String OPT_SHOW_MISSING_MIDDLE_ONLY OP("Settings/ShowMissingMiddleOnly");
30 extern const String OPT_SHOW_MISSING_RIGHT_ONLY OP("Settings/ShowMissingRightOnly");
31 extern const String OPT_TREE_MODE OP("Settings/TreeMode");
32
33 // Show/hide toolbar/statusbar/tabbar
34 extern const String OPT_SHOW_TOOLBAR OP("Settings/ShowToolbar");
35 extern const String OPT_SHOW_STATUSBAR OP("Settings/ShowStatusbar");
36 extern const String OPT_SHOW_TABBAR OP("Settings/ShowTabbar");
37 extern const String OPT_TOOLBAR_SIZE OP("Settings/ToolbarSize");
38 extern const String OPT_RESIZE_PANES OP("Settings/AutoResizePanes");
39
40 extern const String OPT_SYNTAX_HIGHLIGHT OP("Settings/HiliteSyntax");
41 extern const String OPT_VIEW_WHITESPACE OP("Settings/ViewWhitespace");
42 extern const String OPT_VIEW_EOL OP("Settings/ViewEOL");
43 extern const String OPT_SCROLL_TO_FIRST OP("Settings/ScrollToFirst");
44 extern const String OPT_SCROLL_TO_FIRST_INLINE_DIFF OP("Settings/ScrollToFirstInlineDiff");
45 extern const String OPT_RENDERING_MODE OP("Settings/RenderingMode");
46
47 // Difference (in-line) highlight
48 extern const String OPT_WORDDIFF_HIGHLIGHT OP("Settings/HiliteWordDiff");
49 extern const String OPT_BREAK_ON_WORDS OP("Settings/BreakOnWords");
50 extern const String OPT_BREAK_TYPE OP("Settings/BreakType");
51 extern const String OPT_BREAK_SEPARATORS OP("Settings/HiliteBreakSeparators");
52
53 // Backup options
54 extern const String OPT_BACKUP_FOLDERCMP OP("Backup/EnableFolder");
55 extern const String OPT_BACKUP_FILECMP OP("Backup/EnableFile");
56 extern const String OPT_BACKUP_LOCATION OP("Backup/Location");
57 extern const String OPT_BACKUP_GLOBALFOLDER OP("Backup/GlobalFolder");
58 extern const String OPT_BACKUP_ADD_BAK OP("Backup/NameAddBak");
59 extern const String OPT_BACKUP_ADD_TIME OP("Backup/NameAddTime");
60
61 extern const String OPT_DIRVIEW_SORT_COLUMN OP("Settings/DirViewSortCol");
62 extern const String OPT_DIRVIEW_SORT_COLUMN3 OP("Settings/DirViewSortCol3");
63 extern const String OPT_DIRVIEW_SORT_ASCENDING OP("Settings/DirViewSortAscending");
64 extern const String OPT_DIRVIEW_EXPAND_SUBDIRS OP("Settings/DirViewExpandSubdirs");
65 extern const String OPT_DIRVIEW_COLUMN_ORDERS OP("DirView/ColumnOrders");
66 extern const String OPT_DIRVIEW_COLUMN_WIDTHS OP("DirView/ColumnWidths");
67 extern const String OPT_DIRVIEW3_COLUMN_ORDERS OP("DirView3/ColumnOrders");
68 extern const String OPT_DIRVIEW3_COLUMN_WIDTHS OP("DirView3/ColumnWidths");
69
70 // Window/Pane
71 extern const String OPT_ACTIVE_FRAME_MAX OP("Settings/ActiveFrameMax");
72 extern const String OPT_ACTIVE_PANE OP("Settings/ActivePane");
73
74 // Folder Compare Report
75 extern const String OPT_REPORTFILES_REPORTTYPE OP("ReportFiles/ReportType");
76 extern const String OPT_REPORTFILES_COPYTOCLIPBOARD OP("ReportFiles/CopyToClipboard");
77 extern const String OPT_REPORTFILES_INCLUDEFILECMPREPORT OP("ReportFiles/IncludeFileCmpReport");
78
79 // File compare
80 extern const String OPT_AUTOMATIC_RESCAN OP("Settings/AutomaticRescan");
81 extern const String OPT_ALLOW_MIXED_EOL OP("Settings/AllowMixedEOL");
82 // restore old copy behaviour (always copy "full line" instead of "selected text only"), with a hidden option
83 extern const String OPT_COPY_FULL_LINE OP("Settings/CopyFullLine");
84 extern const String OPT_TAB_SIZE OP("Settings/TabSize");
85 extern const String OPT_TAB_TYPE OP("Settings/TabType");
86 extern const String OPT_WORDWRAP OP("Settings/WordWrap");
87 extern const String OPT_VIEW_LINENUMBERS OP("Settings/ViewLineNumbers");
88 extern const String OPT_VIEW_FILEMARGIN OP("Settings/ViewFileMargin");
89 extern const String OPT_DIFF_CONTEXT OP("Settings/DiffContextV2");
90 extern const String OPT_INVERT_DIFF_CONTEXT OP("Settings/InvertDiffContext");
91
92 extern const String OPT_EXT_EDITOR_CMD OP("Settings/ExternalEditor");
93 extern const String OPT_USE_RECYCLE_BIN OP("Settings/UseRecycleBin");
94 extern const String OPT_SINGLE_INSTANCE OP("Settings/SingleInstance");
95 extern const String OPT_MERGE_MODE OP("Settings/MergingMode");
96 extern const String OPT_CLOSE_WITH_ESC OP("Settings/CloseWithEsc");
97 extern const String OPT_CLOSE_WITH_OK OP("Settings/CloseWithOK");
98 extern const String OPT_VERIFY_OPEN_PATHS OP("Settings/VerifyOpenPaths");
99 extern const String OPT_AUTO_COMPLETE_SOURCE OP("Settings/AutoCompleteSource");
100 extern const String OPT_IGNORE_SMALL_FILETIME OP("Settings/IgnoreSmallFileTime");
101 extern const String OPT_ASK_MULTIWINDOW_CLOSE OP("Settings/AskClosingMultipleWindows");
102 extern const String OPT_PRESERVE_FILETIMES OP("Settings/PreserveFiletimes");
103
104 extern const String OPT_CP_DEFAULT_MODE OP("Settings/CodepageDefaultMode");
105 extern const String OPT_CP_DEFAULT_CUSTOM OP("Settings/CodepageDefaultCustomValue");
106 extern const String OPT_CP_DETECT OP("Settings/CodepageDetection");
107
108 extern const String OPT_PROJECTS_PATH OP("Settings/ProjectsPath");
109 extern const String OPT_USE_SYSTEM_TEMP_PATH OP("Settings/UseSystemTempPath");
110 extern const String OPT_CUSTOM_TEMP_PATH OP("Settings/CustomTempPath");
111
112 extern const String OPT_SPLIT_HORIZONTALLY OP("Settings/SplitHorizontally");
113 extern const String OPT_FILE_SIZE_THRESHOLD OP("Settings/OPT_FILE_SIZE_THRESHOLD");
114
115 // Color options
116 // The difference color
117 extern const String OPT_CLR_DIFF OP("Settings/DifferenceColor");
118 // The selected difference color
119 extern const String OPT_CLR_SELECTED_DIFF OP("Settings/SelectedDifferenceColor");
120 // The difference deleted color
121 extern const String OPT_CLR_DIFF_DELETED OP("Settings/DifferenceDeletedColor");
122 // The selected difference deleted color
123 extern const String OPT_CLR_SELECTED_DIFF_DELETED OP("Settings/SelectedDifferenceDeletedColor");
124 // The difference text color
125 extern const String OPT_CLR_DIFF_TEXT OP("Settings/DifferenceTextColor");
126 // The selected difference text color
127 extern const String OPT_CLR_SELECTED_DIFF_TEXT OP("Settings/SelectedDifferenceTextColor");
128 // The ignored lines color
129 extern const String OPT_CLR_TRIVIAL_DIFF OP("Settings/TrivialDifferenceColor");
130 // The ignored and deleted lines color
131 extern const String OPT_CLR_TRIVIAL_DIFF_DELETED OP("Settings/TrivialDifferenceDeletedColor");
132 // The ignored text color
133 extern const String OPT_CLR_TRIVIAL_DIFF_TEXT OP("Settings/TrivialDifferenceTextColor");
134 // The moved block color
135 extern const String OPT_CLR_MOVEDBLOCK OP("Settings/MovedBlockColor");
136 // The moved block deleted lines color
137 extern const String OPT_CLR_MOVEDBLOCK_DELETED OP("Settings/MovedBlockDeletedColor");
138 // The moved block text color
139 extern const String OPT_CLR_MOVEDBLOCK_TEXT OP("Settings/MovedBlockTextColor");
140 // The selected moved block color
141 extern const String OPT_CLR_SELECTED_MOVEDBLOCK OP("Settings/SelectedMovedBlockColor");
142 // The selected moved block deleted lines
143 extern const String OPT_CLR_SELECTED_MOVEDBLOCK_DELETED OP("Settings/SelectedMovedBlockDeletedColor");
144 // The selected moved block text color
145 extern const String OPT_CLR_SELECTED_MOVEDBLOCK_TEXT OP("Settings/SelectedMovedBlockTextColor");
146 // The SNP block color
147 extern const String OPT_CLR_SNP OP("Settings/SNPColor");
148 // The SNP block deleted lines color
149 extern const String OPT_CLR_SNP_DELETED OP("Settings/SNPDeletedColor");
150 // The SNP block text color
151 extern const String OPT_CLR_SNP_TEXT OP("Settings/SNPTextColor");
152 // The selected SNP block color
153 extern const String OPT_CLR_SELECTED_SNP OP("Settings/SelectedSNPColor");
154 // The selected SNP block deleted lines
155 extern const String OPT_CLR_SELECTED_SNP_DELETED OP("Settings/SelectedSNPDeletedColor");
156 // The selected SNP block text color
157 extern const String OPT_CLR_SELECTED_SNP_TEXT OP("Settings/SelectedSNPTextColor");
158 // The word difference color
159 extern const String OPT_CLR_WORDDIFF OP("Settings/WordDifferenceColor");
160 // The word difference deleted color
161 extern const String OPT_CLR_WORDDIFF_DELETED OP("Settings/WordDifferenceDeletedColor");
162 // The word difference text color
163 extern const String OPT_CLR_WORDDIFF_TEXT OP("Settings/WordDifferenceTextColor");
164 // The selected word difference color
165 extern const String OPT_CLR_SELECTED_WORDDIFF OP("Settings/SelectedWordDifferenceColor");
166 // The word difference deleted color
167 extern const String OPT_CLR_SELECTED_WORDDIFF_DELETED OP("Settings/SelectedWordDifferenceDeletedColor");
168 // The selected word difference text color
169 extern const String OPT_CLR_SELECTED_WORDDIFF_TEXT OP("Settings/SelectedWordDifferenceTextColor");
170 // Whether to use default (theme) text colors
171 extern const String OPT_CLR_DEFAULT_TEXT_COLORING OP("Settings/DefaultTextColoring");
172
173 // DirCompare Color options
174 // The item equal background color
175 extern const String OPT_DIRCLR_ITEM_EQUAL OP("Settings/DirItemEqualColor");
176 // The item equal text color
177 extern const String OPT_DIRCLR_ITEM_EQUAL_TEXT OP("Settings/DirItemEqualTextColor");
178 // The item diff background color
179 extern const String OPT_DIRCLR_ITEM_DIFF OP("Settings/DirItemDiffColor");
180 // The item diff text color
181 extern const String OPT_DIRCLR_ITEM_DIFF_TEXT OP("Settings/DirItemDiffTextColor");
182 // The item not-exist-all background color
183 extern const String OPT_DIRCLR_ITEM_NOT_EXIST_ALL OP("Settings/DirItemNotExistAllColor");
184 // The item not-exist-all text color
185 extern const String OPT_DIRCLR_ITEM_NOT_EXIST_ALL_TEXT OP("Settings/DirItemNotExistAllTextColor");
186 // The item filtered background color
187 extern const String OPT_DIRCLR_ITEM_FILTERED OP("Settings/DirItemFilteredColor");
188 // The item filtered text color
189 extern const String OPT_DIRCLR_ITEM_FILTERED_TEXT OP("Settings/DirItemFilteredTextColor");
190 // The background color
191 extern const String OPT_DIRCLR_MARGIN OP("Settings/DirMarginColor");
192 // Use dir compare coloring?
193 extern const String OPT_DIRCLR_USE_COLORS OP("Settings/UseDirCompareColors");
194
195 extern const String OPT_COLOR_SCHEME OP("Settings/ColorScheme");
196
197 // Compare options
198 extern const String OPT_CMP_IGNORE_WHITESPACE OP("Settings/IgnoreSpace");
199 extern const String OPT_CMP_IGNORE_BLANKLINES OP("Settings/IgnoreBlankLines");
200 extern const String OPT_CMP_FILTER_COMMENTLINES OP("Settings/FilterCommentsLines");
201 extern const String OPT_CMP_IGNORE_CASE OP("Settings/IgnoreCase");
202 extern const String OPT_CMP_IGNORE_EOL OP("Settings/IgnoreEol");
203 extern const String OPT_CMP_IGNORE_CODEPAGE OP("Settings/IgnoreCodepage");
204 extern const String OPT_CMP_METHOD OP("Settings/CompMethod2");
205 extern const String OPT_CMP_MOVED_BLOCKS OP("Settings/MovedBlocks");
206 extern const String OPT_CMP_MATCH_SIMILAR_LINES OP("Settings/MatchSimilarLines");
207 extern const String OPT_CMP_STOP_AFTER_FIRST OP("Settings/StopAfterFirst");
208 extern const String OPT_CMP_QUICK_LIMIT OP("Settings/QuickMethodLimit");
209 extern const String OPT_CMP_BINARY_LIMIT OP("Settings/BinaryMethodLimit");
210 extern const String OPT_CMP_COMPARE_THREADS OP("Settings/CompareThreads");
211 extern const String OPT_CMP_WALK_UNIQUE_DIRS OP("Settings/ScanUnpairedDir");
212 extern const String OPT_CMP_IGNORE_REPARSE_POINTS OP("Settings/IgnoreReparsePoints");
213 extern const String OPT_CMP_INCLUDE_SUBDIRS OP("Settings/Recurse");
214 extern const String OPT_CMP_DIFF_ALGORITHM OP("Settings/DiffAlgorithm");
215 extern const String OPT_CMP_INDENT_HEURISTIC OP("Settings/IndentHeuristic");
216 extern const String OPT_CMP_COMPLETELY_BLANK_OUT_IGNORED_CHANGES OP("Settings/CompletelyBlankOutIgnoredChanges");
217
218 // Image Compare options
219 extern const String OPT_CMP_IMG_FILEPATTERNS OP("Settings/ImageFilePatterns");
220 extern const String OPT_CMP_IMG_SHOWDIFFERENCES OP("Settings/ImageShowDifferences");
221 extern const String OPT_CMP_IMG_OVERLAYMODE OP("Settings/ImageOverlayMode");
222 extern const String OPT_CMP_IMG_OVERLAYALPHA OP("Settings/ImageOverlayAlpha");
223 extern const String OPT_CMP_IMG_DRAGGING_MODE OP("Settings/ImageDraggingMode");
224 extern const String OPT_CMP_IMG_ZOOM OP("Settings/ImageZoom");
225 extern const String OPT_CMP_IMG_USEBACKCOLOR OP("Settings/ImageUseBackColor");
226 extern const String OPT_CMP_IMG_BACKCOLOR OP("Settings/ImageBackColor");
227 extern const String OPT_CMP_IMG_DIFFBLOCKSIZE OP("Settings/ImageDiffBlockSize");
228 extern const String OPT_CMP_IMG_DIFFCOLORALPHA OP("Settings/ImageDiffColorAlpha");
229 extern const String OPT_CMP_IMG_THRESHOLD OP("Settings/ImageColorDistanceThreshold");
230 extern const String OPT_CMP_IMG_INSERTIONDELETIONDETECTION_MODE OP("Settings/ImageInsertionDeletionDetectionMode");
231 extern const String OPT_CMP_IMG_VECTOR_IMAGE_ZOOM_RATIO OP("Settings/ImageVectorImageZoomRatio");
232 extern const String OPT_CMP_ENABLE_IMGCMP_IN_DIRCMP OP("Settings/EnableImageCompareInFolderCompare");
233 extern const String OPT_CMP_IMG_OCR_RESULT_TYPE OP("Settings/ImageOcrResultType");
234
235 // Binary options
236 extern const String OPT_CMP_BIN_FILEPATTERNS OP("Settings/BinaryFilePatterns");
237
238 // Table options
239 extern const String OPT_CMP_CSV_FILEPATTERNS OP("Settings/CSVFilePatterns");
240 extern const String OPT_CMP_TSV_FILEPATTERNS OP("Settings/TSVFilePatterns");
241 extern const String OPT_CMP_DSV_FILEPATTERNS OP("Settings/DSVFilePatterns");
242 extern const String OPT_CMP_DSV_DELIM_CHAR   OP("Settings/DSVDelimiterCharacter");
243 extern const String OPT_CMP_TBL_ALLOW_NEWLINES_IN_QUOTES OP("Settings/TableAllowNewlinesInQuotes");
244 extern const String OPT_CMP_TBL_QUOTE_CHAR   OP("Settings/TableQuoteCharacter");
245
246 /// Are regular expression linefilters enabled?
247 extern const String OPT_LINEFILTER_ENABLED OP("Settings/IgnoreRegExp");
248 /// Currently selected filefilter
249 extern const String OPT_FILEFILTER_CURRENT OP("Settings/FileFilterCurrent");
250 extern const String OPT_FILTER_USERPATH OP("Settings/UserFilterPath");
251 extern const String OPT_FILEFILTER_SHARED OP("Settings/Filters/Shared");
252
253 /// Substitution Filters
254 extern const String OPT_SUBSTITUTION_FILTERS_ENABLED OP("Settings/SubstitutionFiltersEnabled");
255
256 // Archive support
257 extern const String OPT_ARCHIVE_ENABLE OP("Merge7z/Enable");
258 extern const String OPT_ARCHIVE_PROBETYPE OP("Merge7z/ProbeSignature");
259 extern const String OPT_ARCHIVE_FILTER_INDEX OP("Merge7z/FilterIndex");
260
261 // Patch Creator
262 extern const String OPT_PATCHCREATOR_PATCH_STYLE OP("PatchCreator/PatchStyle");
263 extern const String OPT_PATCHCREATOR_CONTEXT_LINES OP("PatchCreator/ContextLines");
264 extern const String OPT_PATCHCREATOR_CASE_SENSITIVE OP("PatchCreator/CaseSensitive");
265 extern const String OPT_PATCHCREATOR_EOL_SENSITIVE OP("PatchCreator/EOLSensitive");
266 extern const String OPT_PATCHCREATOR_IGNORE_BLANK_LINES OP("PatchCreator/IgnoreBlankLines");
267 extern const String OPT_PATCHCREATOR_WHITESPACE OP("PatchCreator/Whitespace");
268 extern const String OPT_PATCHCREATOR_OPEN_TO_EDITOR OP("PatchCreator/OpenToEditor");
269 extern const String OPT_PATCHCREATOR_INCLUDE_CMD_LINE OP("PatchCreator/IncludeCmdLine");
270
271 // Plugins
272 extern const String OPT_PLUGINS_ENABLED OP("Settings/PluginsEnabled");
273 extern const String OPT_PLUGINS_CUSTOM_SETTINGS_LIST OP("Settings/PluginsCustomSettingsList");
274 extern const String OPT_PLUGINS_UNPACKER_MODE OP("Settings/UnpackerMode");
275 extern const String OPT_PLUGINS_PREDIFFER_MODE OP("Settings/PredifferMode");
276 extern const String OPT_PLUGINS_UNPACK_DONT_CHECK_EXTENSION OP("Plugins/UnpackDontCheckExtension");
277 extern const String OPT_PLUGINS_OPEN_IN_SAME_FRAME_TYPE OP("Plugins/OpenInSameFrameType");
278
279 // Startup options
280 extern const String OPT_SHOW_SELECT_FILES_AT_STARTUP OP("Settings/ShowFileDialog");
281
282 // MDI Tab Bar
283 extern const String OPT_TABBAR_AUTO_MAXWIDTH OP("Settings/TabBarAutoMaxWidth");
284
285 // MRU
286 extern const String OPT_MRU_MAX OP("Settings/MRUMax");
287
288 // Font options
289 extern const String OPT_FONT_FILECMP OP("Font/");
290 extern const String OPT_FONT_DIRCMP OP("FontDirCompare/");
291
292 extern const String OPT_FONT_USECUSTOM OP("Specified");
293 extern const String OPT_FONT_POINTSIZE OP("PointSize");
294 extern const String OPT_FONT_HEIGHT OP("Height");
295 extern const String OPT_FONT_ESCAPEMENT OP("Escapement");
296 extern const String OPT_FONT_ORIENTATION OP("Orientation");
297 extern const String OPT_FONT_WEIGHT OP("Weight");
298 extern const String OPT_FONT_ITALIC OP("Italic");
299 extern const String OPT_FONT_UNDERLINE OP("Underline");
300 extern const String OPT_FONT_STRIKEOUT OP("StrikeOut");
301 extern const String OPT_FONT_CHARSET OP("CharSet");
302 extern const String OPT_FONT_OUTPRECISION OP("OutPrecision");
303 extern const String OPT_FONT_CLIPPRECISION OP("ClipPrecision");
304 extern const String OPT_FONT_QUALITY OP("Quality");
305 extern const String OPT_FONT_PITCHANDFAMILY OP("PitchAndFamily");
306 extern const String OPT_FONT_FACENAME OP("FaceName");