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