joachim99@8
|
1 /*
|
joachim99@8
|
2 * kdiff3 - Text Diff And Merge Tool
|
joachim99@8
|
3 * This file only: Copyright (C) 2002 Joachim Eibl, joachim.eibl@gmx.de
|
joachim99@8
|
4 *
|
joachim99@8
|
5 * This program is free software; you can redistribute it and/or modify
|
joachim99@8
|
6 * it under the terms of the GNU General Public License as published by
|
joachim99@8
|
7 * the Free Software Foundation; either version 2 of the License, or
|
joachim99@8
|
8 * (at your option) any later version.
|
joachim99@8
|
9 *
|
joachim99@8
|
10 * This program is distributed in the hope that it will be useful,
|
joachim99@8
|
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
joachim99@8
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
joachim99@8
|
13 * GNU General Public License for more details.
|
joachim99@8
|
14 *
|
joachim99@8
|
15 * You should have received a copy of the GNU General Public License
|
joachim99@8
|
16 * along with this program; if not, write to the Free Software
|
joachim99@8
|
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
joachim99@8
|
18 *
|
joachim99@8
|
19 */
|
joachim99@8
|
20
|
joachim99@8
|
21 #ifndef OPTION_DIALOG_H
|
joachim99@8
|
22 #define OPTION_DIALOG_H
|
joachim99@8
|
23
|
joachim99@8
|
24 class QCheckBox;
|
joachim99@8
|
25 class QLabel;
|
joachim99@8
|
26 class QLineEdit;
|
joachim99@8
|
27 class KColorButton;
|
joachim99@8
|
28 class KFontChooser;
|
joachim99@8
|
29 class KConfig;
|
joachim99@8
|
30
|
joachim99@8
|
31 #include <kdialogbase.h>
|
joachim99@8
|
32 #include <qstringlist.h>
|
joachim99@8
|
33 #include <list>
|
joachim99@8
|
34
|
joachim99@8
|
35 class OptionItem;
|
joachim99@8
|
36 class KKeyDialog;
|
joachim99@8
|
37
|
joachim99@58
|
38 enum eLineEndStyle
|
joachim99@58
|
39 {
|
joachim99@58
|
40 eLineEndUnix=0,
|
joachim99@58
|
41 eLineEndDos
|
joachim99@58
|
42 };
|
joachim99@51
|
43
|
joachim99@8
|
44 class OptionDialog : public KDialogBase
|
joachim99@8
|
45 {
|
joachim99@8
|
46 Q_OBJECT
|
joachim99@8
|
47
|
joachim99@8
|
48 public:
|
joachim99@8
|
49
|
joachim99@8
|
50 OptionDialog( bool bShowDirMergeSettings, QWidget *parent = 0, char *name = 0 );
|
joachim99@8
|
51 ~OptionDialog( void );
|
joachim99@8
|
52
|
joachim99@8
|
53 // These are the results of the option dialog.
|
joachim99@8
|
54 QFont m_font;
|
joachim99@8
|
55 bool m_bItalicForDeltas;
|
joachim99@8
|
56
|
joachim99@8
|
57 QColor m_fgColor;
|
joachim99@8
|
58 QColor m_bgColor;
|
joachim99@8
|
59 QColor m_diffBgColor;
|
joachim99@8
|
60 QColor m_colorA;
|
joachim99@8
|
61 QColor m_colorB;
|
joachim99@8
|
62 QColor m_colorC;
|
joachim99@8
|
63 QColor m_colorForConflict;
|
joachim99@8
|
64 QColor m_currentRangeBgColor;
|
joachim99@8
|
65 QColor m_currentRangeDiffBgColor;
|
joachim99@8
|
66
|
joachim99@8
|
67 bool m_bReplaceTabs;
|
joachim99@8
|
68 bool m_bAutoIndentation;
|
joachim99@8
|
69 int m_tabSize;
|
joachim99@8
|
70 bool m_bAutoCopySelection;
|
joachim99@51
|
71 bool m_bStringEncoding;
|
joachim99@58
|
72 int m_lineEndStyle;
|
joachim99@8
|
73
|
joachim99@8
|
74 bool m_bPreserveCarriageReturn;
|
joachim99@8
|
75 bool m_bTryHard;
|
joachim99@51
|
76 bool m_bShowWhiteSpaceCharacters;
|
joachim99@8
|
77 bool m_bShowWhiteSpace;
|
joachim99@8
|
78 bool m_bShowLineNumbers;
|
joachim99@8
|
79 bool m_bHorizDiffWindowSplitting;
|
joachim99@8
|
80
|
joachim99@51
|
81 int m_whiteSpace2FileMergeDefault;
|
joachim99@51
|
82 int m_whiteSpace3FileMergeDefault;
|
joachim99@8
|
83 bool m_bUpCase;
|
joachim99@8
|
84 bool m_bIgnoreNumbers;
|
joachim99@51
|
85 bool m_bIgnoreComments;
|
joachim99@8
|
86 QString m_PreProcessorCmd;
|
joachim99@8
|
87 QString m_LineMatchingPreProcessorCmd;
|
joachim99@8
|
88
|
joachim99@8
|
89 bool m_bAutoAdvance;
|
joachim99@8
|
90 int m_autoAdvanceDelay;
|
joachim99@8
|
91
|
joachim99@8
|
92 QStringList m_recentAFiles;
|
joachim99@8
|
93 QStringList m_recentBFiles;
|
joachim99@8
|
94 QStringList m_recentCFiles;
|
joachim99@8
|
95
|
joachim99@8
|
96 QStringList m_recentOutputFiles;
|
joachim99@8
|
97
|
joachim99@8
|
98 // Directory Merge options
|
joachim99@8
|
99 bool m_bDmSyncMode;
|
joachim99@8
|
100 bool m_bDmRecursiveDirs;
|
joachim99@8
|
101 bool m_bDmFollowFileLinks;
|
joachim99@8
|
102 bool m_bDmFollowDirLinks;
|
joachim99@8
|
103 bool m_bDmFindHidden;
|
joachim99@8
|
104 bool m_bDmCreateBakFiles;
|
joachim99@8
|
105 bool m_bDmTrustDate;
|
joachim99@51
|
106 bool m_bDmTrustSize;
|
joachim99@8
|
107 bool m_bDmCopyNewer;
|
joachim99@8
|
108 bool m_bDmShowOnlyDeltas;
|
joachim99@8
|
109 bool m_bDmUseCvsIgnore;
|
joachim99@8
|
110 QString m_DmFilePattern;
|
joachim99@8
|
111 QString m_DmFileAntiPattern;
|
joachim99@8
|
112 QString m_DmDirAntiPattern;
|
joachim99@8
|
113
|
joachim99@58
|
114 QString m_language;
|
joachim99@58
|
115 QString m_fileCodec;
|
joachim99@58
|
116
|
joachim99@8
|
117 void saveOptions(KConfig* config);
|
joachim99@8
|
118 void readOptions(KConfig* config);
|
joachim99@8
|
119
|
joachim99@8
|
120 void setState(); // Must be called before calling exec();
|
joachim99@8
|
121
|
joachim99@8
|
122 void addOptionItem(OptionItem*);
|
joachim99@8
|
123 KKeyDialog* m_pKeyDialog;
|
joachim99@8
|
124 protected slots:
|
joachim99@8
|
125 virtual void slotDefault( void );
|
joachim99@8
|
126 virtual void slotOk( void );
|
joachim99@8
|
127 virtual void slotApply( void );
|
joachim99@8
|
128 virtual void slotHelp( void );
|
joachim99@8
|
129
|
joachim99@8
|
130 private:
|
joachim99@8
|
131 void resetToDefaults();
|
joachim99@51
|
132
|
joachim99@8
|
133 std::list<OptionItem*> m_optionItemList;
|
joachim99@51
|
134
|
joachim99@8
|
135 // FontConfigDlg
|
joachim99@8
|
136 KFontChooser *m_fontChooser;
|
joachim99@8
|
137
|
joachim99@8
|
138 private:
|
joachim99@8
|
139 void setupFontPage();
|
joachim99@8
|
140 void setupColorPage();
|
joachim99@8
|
141 void setupEditPage();
|
joachim99@8
|
142 void setupDiffPage();
|
joachim99@8
|
143 void setupDirectoryMergePage();
|
joachim99@8
|
144 void setupKeysPage();
|
joachim99@58
|
145 void setupRegionalPage();
|
joachim99@51
|
146 void setupOtherOptions();
|
joachim99@8
|
147 };
|
joachim99@8
|
148
|
joachim99@8
|
149
|
joachim99@8
|
150
|
joachim99@58
|
151
|
joachim99@8
|
152 #endif
|
joachim99@8
|
153
|
joachim99@8
|
154
|
joachim99@8
|
155
|
joachim99@8
|
156
|
joachim99@8
|
157
|
joachim99@8
|
158
|
joachim99@8
|
159
|