joachim99@8: /* joachim99@8: * kdiff3 - Text Diff And Merge Tool joachim99@8: * This file only: Copyright (C) 2002 Joachim Eibl, joachim.eibl@gmx.de joachim99@8: * joachim99@8: * This program is free software; you can redistribute it and/or modify joachim99@8: * it under the terms of the GNU General Public License as published by joachim99@8: * the Free Software Foundation; either version 2 of the License, or joachim99@8: * (at your option) any later version. joachim99@8: * joachim99@8: * This program is distributed in the hope that it will be useful, joachim99@8: * but WITHOUT ANY WARRANTY; without even the implied warranty of joachim99@8: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the joachim99@8: * GNU General Public License for more details. joachim99@8: * joachim99@8: * You should have received a copy of the GNU General Public License joachim99@8: * along with this program; if not, write to the Free Software joachim99@8: * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. joachim99@8: * joachim99@8: */ joachim99@8: joachim99@8: #ifndef OPTION_DIALOG_H joachim99@8: #define OPTION_DIALOG_H joachim99@8: joachim99@8: class QCheckBox; joachim99@8: class QLabel; joachim99@8: class QLineEdit; joachim99@8: class KColorButton; joachim99@8: class KFontChooser; joachim99@8: class KConfig; joachim99@8: joachim99@8: #include joachim99@8: #include joachim99@8: #include joachim99@8: joachim99@8: class OptionItem; joachim99@8: class KKeyDialog; joachim99@8: joachim99@51: joachim99@8: class OptionDialog : public KDialogBase joachim99@8: { joachim99@8: Q_OBJECT joachim99@8: joachim99@8: public: joachim99@8: joachim99@8: OptionDialog( bool bShowDirMergeSettings, QWidget *parent = 0, char *name = 0 ); joachim99@8: ~OptionDialog( void ); joachim99@8: joachim99@8: // These are the results of the option dialog. joachim99@8: QFont m_font; joachim99@8: bool m_bItalicForDeltas; joachim99@8: joachim99@8: QColor m_fgColor; joachim99@8: QColor m_bgColor; joachim99@8: QColor m_diffBgColor; joachim99@8: QColor m_colorA; joachim99@8: QColor m_colorB; joachim99@8: QColor m_colorC; joachim99@8: QColor m_colorForConflict; joachim99@8: QColor m_currentRangeBgColor; joachim99@8: QColor m_currentRangeDiffBgColor; joachim99@8: joachim99@8: bool m_bReplaceTabs; joachim99@8: bool m_bAutoIndentation; joachim99@8: int m_tabSize; joachim99@8: bool m_bAutoCopySelection; joachim99@51: bool m_bStringEncoding; joachim99@8: joachim99@8: bool m_bPreserveCarriageReturn; joachim99@8: bool m_bTryHard; joachim99@51: bool m_bShowWhiteSpaceCharacters; joachim99@8: bool m_bShowWhiteSpace; joachim99@8: bool m_bShowLineNumbers; joachim99@8: bool m_bHorizDiffWindowSplitting; joachim99@8: joachim99@51: int m_whiteSpace2FileMergeDefault; joachim99@51: int m_whiteSpace3FileMergeDefault; joachim99@8: bool m_bUpCase; joachim99@8: bool m_bIgnoreNumbers; joachim99@51: bool m_bIgnoreComments; joachim99@8: QString m_PreProcessorCmd; joachim99@8: QString m_LineMatchingPreProcessorCmd; joachim99@8: joachim99@8: bool m_bAutoAdvance; joachim99@8: int m_autoAdvanceDelay; joachim99@8: joachim99@8: QStringList m_recentAFiles; joachim99@8: QStringList m_recentBFiles; joachim99@8: QStringList m_recentCFiles; joachim99@8: joachim99@8: QStringList m_recentOutputFiles; joachim99@8: joachim99@8: // Directory Merge options joachim99@8: bool m_bDmSyncMode; joachim99@8: bool m_bDmRecursiveDirs; joachim99@8: bool m_bDmFollowFileLinks; joachim99@8: bool m_bDmFollowDirLinks; joachim99@8: bool m_bDmFindHidden; joachim99@8: bool m_bDmCreateBakFiles; joachim99@8: bool m_bDmTrustDate; joachim99@51: bool m_bDmTrustSize; joachim99@8: bool m_bDmCopyNewer; joachim99@8: bool m_bDmShowOnlyDeltas; joachim99@8: bool m_bDmUseCvsIgnore; joachim99@8: QString m_DmFilePattern; joachim99@8: QString m_DmFileAntiPattern; joachim99@8: QString m_DmDirAntiPattern; joachim99@8: joachim99@8: void saveOptions(KConfig* config); joachim99@8: void readOptions(KConfig* config); joachim99@8: joachim99@8: void setState(); // Must be called before calling exec(); joachim99@8: joachim99@8: void addOptionItem(OptionItem*); joachim99@8: KKeyDialog* m_pKeyDialog; joachim99@8: protected slots: joachim99@8: virtual void slotDefault( void ); joachim99@8: virtual void slotOk( void ); joachim99@8: virtual void slotApply( void ); joachim99@8: virtual void slotHelp( void ); joachim99@8: joachim99@8: private: joachim99@8: void resetToDefaults(); joachim99@51: joachim99@8: std::list m_optionItemList; joachim99@51: joachim99@8: // FontConfigDlg joachim99@8: KFontChooser *m_fontChooser; joachim99@8: joachim99@8: private: joachim99@8: void setupFontPage(); joachim99@8: void setupColorPage(); joachim99@8: void setupEditPage(); joachim99@8: void setupDiffPage(); joachim99@8: void setupDirectoryMergePage(); joachim99@8: void setupKeysPage(); joachim99@51: void setupOtherOptions(); joachim99@8: }; joachim99@8: joachim99@8: joachim99@8: joachim99@8: #endif joachim99@8: joachim99@8: joachim99@8: joachim99@8: joachim99@8: joachim99@8: joachim99@8: