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@51
|
38
|
joachim99@8
|
39 class OptionDialog : public KDialogBase
|
joachim99@8
|
40 {
|
joachim99@8
|
41 Q_OBJECT
|
joachim99@8
|
42
|
joachim99@8
|
43 public:
|
joachim99@8
|
44
|
joachim99@8
|
45 OptionDialog( bool bShowDirMergeSettings, QWidget *parent = 0, char *name = 0 );
|
joachim99@8
|
46 ~OptionDialog( void );
|
joachim99@8
|
47
|
joachim99@8
|
48 // These are the results of the option dialog.
|
joachim99@8
|
49 QFont m_font;
|
joachim99@8
|
50 bool m_bItalicForDeltas;
|
joachim99@8
|
51
|
joachim99@8
|
52 QColor m_fgColor;
|
joachim99@8
|
53 QColor m_bgColor;
|
joachim99@8
|
54 QColor m_diffBgColor;
|
joachim99@8
|
55 QColor m_colorA;
|
joachim99@8
|
56 QColor m_colorB;
|
joachim99@8
|
57 QColor m_colorC;
|
joachim99@8
|
58 QColor m_colorForConflict;
|
joachim99@8
|
59 QColor m_currentRangeBgColor;
|
joachim99@8
|
60 QColor m_currentRangeDiffBgColor;
|
joachim99@8
|
61
|
joachim99@8
|
62 bool m_bReplaceTabs;
|
joachim99@8
|
63 bool m_bAutoIndentation;
|
joachim99@8
|
64 int m_tabSize;
|
joachim99@8
|
65 bool m_bAutoCopySelection;
|
joachim99@51
|
66 bool m_bStringEncoding;
|
joachim99@8
|
67
|
joachim99@8
|
68 bool m_bPreserveCarriageReturn;
|
joachim99@8
|
69 bool m_bTryHard;
|
joachim99@51
|
70 bool m_bShowWhiteSpaceCharacters;
|
joachim99@8
|
71 bool m_bShowWhiteSpace;
|
joachim99@8
|
72 bool m_bShowLineNumbers;
|
joachim99@8
|
73 bool m_bHorizDiffWindowSplitting;
|
joachim99@8
|
74
|
joachim99@51
|
75 int m_whiteSpace2FileMergeDefault;
|
joachim99@51
|
76 int m_whiteSpace3FileMergeDefault;
|
joachim99@8
|
77 bool m_bUpCase;
|
joachim99@8
|
78 bool m_bIgnoreNumbers;
|
joachim99@51
|
79 bool m_bIgnoreComments;
|
joachim99@8
|
80 QString m_PreProcessorCmd;
|
joachim99@8
|
81 QString m_LineMatchingPreProcessorCmd;
|
joachim99@8
|
82
|
joachim99@8
|
83 bool m_bAutoAdvance;
|
joachim99@8
|
84 int m_autoAdvanceDelay;
|
joachim99@8
|
85
|
joachim99@8
|
86 QStringList m_recentAFiles;
|
joachim99@8
|
87 QStringList m_recentBFiles;
|
joachim99@8
|
88 QStringList m_recentCFiles;
|
joachim99@8
|
89
|
joachim99@8
|
90 QStringList m_recentOutputFiles;
|
joachim99@8
|
91
|
joachim99@8
|
92 // Directory Merge options
|
joachim99@8
|
93 bool m_bDmSyncMode;
|
joachim99@8
|
94 bool m_bDmRecursiveDirs;
|
joachim99@8
|
95 bool m_bDmFollowFileLinks;
|
joachim99@8
|
96 bool m_bDmFollowDirLinks;
|
joachim99@8
|
97 bool m_bDmFindHidden;
|
joachim99@8
|
98 bool m_bDmCreateBakFiles;
|
joachim99@8
|
99 bool m_bDmTrustDate;
|
joachim99@51
|
100 bool m_bDmTrustSize;
|
joachim99@8
|
101 bool m_bDmCopyNewer;
|
joachim99@8
|
102 bool m_bDmShowOnlyDeltas;
|
joachim99@8
|
103 bool m_bDmUseCvsIgnore;
|
joachim99@8
|
104 QString m_DmFilePattern;
|
joachim99@8
|
105 QString m_DmFileAntiPattern;
|
joachim99@8
|
106 QString m_DmDirAntiPattern;
|
joachim99@8
|
107
|
joachim99@8
|
108 void saveOptions(KConfig* config);
|
joachim99@8
|
109 void readOptions(KConfig* config);
|
joachim99@8
|
110
|
joachim99@8
|
111 void setState(); // Must be called before calling exec();
|
joachim99@8
|
112
|
joachim99@8
|
113 void addOptionItem(OptionItem*);
|
joachim99@8
|
114 KKeyDialog* m_pKeyDialog;
|
joachim99@8
|
115 protected slots:
|
joachim99@8
|
116 virtual void slotDefault( void );
|
joachim99@8
|
117 virtual void slotOk( void );
|
joachim99@8
|
118 virtual void slotApply( void );
|
joachim99@8
|
119 virtual void slotHelp( void );
|
joachim99@8
|
120
|
joachim99@8
|
121 private:
|
joachim99@8
|
122 void resetToDefaults();
|
joachim99@51
|
123
|
joachim99@8
|
124 std::list<OptionItem*> m_optionItemList;
|
joachim99@51
|
125
|
joachim99@8
|
126 // FontConfigDlg
|
joachim99@8
|
127 KFontChooser *m_fontChooser;
|
joachim99@8
|
128
|
joachim99@8
|
129 private:
|
joachim99@8
|
130 void setupFontPage();
|
joachim99@8
|
131 void setupColorPage();
|
joachim99@8
|
132 void setupEditPage();
|
joachim99@8
|
133 void setupDiffPage();
|
joachim99@8
|
134 void setupDirectoryMergePage();
|
joachim99@8
|
135 void setupKeysPage();
|
joachim99@51
|
136 void setupOtherOptions();
|
joachim99@8
|
137 };
|
joachim99@8
|
138
|
joachim99@8
|
139
|
joachim99@8
|
140
|
joachim99@8
|
141 #endif
|
joachim99@8
|
142
|
joachim99@8
|
143
|
joachim99@8
|
144
|
joachim99@8
|
145
|
joachim99@8
|
146
|
joachim99@8
|
147
|
joachim99@8
|
148
|