diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-10 01:27:27 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-10 01:27:27 +0000 |
commit | 76718abdb2138623102398a10f3228e576dd0ae8 (patch) | |
tree | ddb098baac9689b9e661a41c2a28a8a23ef246d4 /src/optiondialog.h | |
download | kdiff3-76718abdb2138623102398a10f3228e576dd0ae8.tar.gz kdiff3-76718abdb2138623102398a10f3228e576dd0ae8.zip |
Added abandoned KDE3 version of kdiff3
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kdiff3@1088041 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/optiondialog.h')
-rw-r--r-- | src/optiondialog.h | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/src/optiondialog.h b/src/optiondialog.h new file mode 100644 index 0000000..98ea0ff --- /dev/null +++ b/src/optiondialog.h @@ -0,0 +1,229 @@ + +/* + * kdiff3 - Text Diff And Merge Tool + * Copyright (C) 2002-2007 Joachim Eibl, joachim.eibl at gmx.de + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef OPTION_DIALOG_H +#define OPTION_DIALOG_H + +class QCheckBox; +class QLabel; +class QLineEdit; +class KColorButton; +class KFontChooser; +class KConfig; + +#include <kdialogbase.h> +#include <qstringlist.h> +#include <list> +#include <kcmdlineargs.h> + +class OptionItem; +class OptionCheckBox; +class OptionEncodingComboBox; +class OptionLineEdit; +class KKeyDialog; + +enum e_LineEndStyle +{ + eLineEndUnix=0, + eLineEndDos +}; + +class OptionDialog : public KDialogBase +{ + Q_OBJECT + +public: + + OptionDialog( bool bShowDirMergeSettings, QWidget *parent = 0, char *name = 0 ); + ~OptionDialog( void ); + QString parseOptions( const QCStringList& optionList ); + QString calcOptionHelp(); + + // Some settings are not available in the option dialog: + QSize m_geometry; + QPoint m_position; + bool m_bMaximised; + bool m_bShowToolBar; + bool m_bShowStatusBar; + int m_toolBarPos; + + // These are the results of the option dialog. + QFont m_font; + bool m_bItalicForDeltas; + + QColor m_fgColor; + QColor m_bgColor; + QColor m_diffBgColor; + QColor m_colorA; + QColor m_colorB; + QColor m_colorC; + QColor m_colorForConflict; + QColor m_currentRangeBgColor; + QColor m_currentRangeDiffBgColor; + QColor m_oldestFileColor; + QColor m_midAgeFileColor; + QColor m_newestFileColor; + QColor m_missingFileColor; + QColor m_manualHelpRangeColor; + + bool m_bWordWrap; + + bool m_bReplaceTabs; + bool m_bAutoIndentation; + int m_tabSize; + bool m_bAutoCopySelection; + bool m_bSameEncoding; + QTextCodec* m_pEncodingA; + bool m_bAutoDetectUnicodeA; + QTextCodec* m_pEncodingB; + bool m_bAutoDetectUnicodeB; + QTextCodec* m_pEncodingC; + bool m_bAutoDetectUnicodeC; + QTextCodec* m_pEncodingOut; + bool m_bAutoSelectOutEncoding; + QTextCodec* m_pEncodingPP; + int m_lineEndStyle; + + bool m_bPreserveCarriageReturn; + bool m_bTryHard; + bool m_bShowWhiteSpaceCharacters; + bool m_bShowWhiteSpace; + bool m_bShowLineNumbers; + bool m_bHorizDiffWindowSplitting; + + int m_whiteSpace2FileMergeDefault; + int m_whiteSpace3FileMergeDefault; + bool m_bIgnoreCase; + bool m_bIgnoreNumbers; + bool m_bIgnoreComments; + QString m_PreProcessorCmd; + QString m_LineMatchingPreProcessorCmd; + bool m_bRunRegExpAutoMergeOnMergeStart; + QString m_autoMergeRegExp; + bool m_bRunHistoryAutoMergeOnMergeStart; + QString m_historyStartRegExp; + QString m_historyEntryStartRegExp; + bool m_bHistoryMergeSorting; + QString m_historyEntryStartSortKeyOrder; + int m_maxNofHistoryEntries; + QString m_IrrelevantMergeCmd; + bool m_bAutoSaveAndQuitOnMergeWithoutConflicts; + + bool m_bAutoAdvance; + int m_autoAdvanceDelay; + + QStringList m_recentAFiles; + QStringList m_recentBFiles; + QStringList m_recentCFiles; + + QStringList m_recentOutputFiles; + + // Directory Merge options + bool m_bDmSyncMode; + bool m_bDmRecursiveDirs; + bool m_bDmFollowFileLinks; + bool m_bDmFollowDirLinks; + bool m_bDmFindHidden; + bool m_bDmCreateBakFiles; + bool m_bDmBinaryComparison; + bool m_bDmFullAnalysis; + bool m_bDmTrustDate; + bool m_bDmTrustDateFallbackToBinary; + bool m_bDmTrustSize; + bool m_bDmCopyNewer; + //bool m_bDmShowOnlyDeltas; + bool m_bDmShowIdenticalFiles; + bool m_bDmUseCvsIgnore; + bool m_bDmWhiteSpaceEqual; + bool m_bDmCaseSensitiveFilenameComparison; + QString m_DmFilePattern; + QString m_DmFileAntiPattern; + QString m_DmDirAntiPattern; + + QString m_language; + bool m_bRightToLeftLanguage; + + QString m_ignorableCmdLineOptions; + bool m_bIntegrateWithClearCase; + + void saveOptions(KConfig* config); + void readOptions(KConfig* config); + + void setState(); // Must be called before calling exec(); + + void addOptionItem(OptionItem*); + KKeyDialog* m_pKeyDialog; +protected slots: + virtual void slotDefault( void ); + virtual void slotOk( void ); + virtual void slotApply( void ); + virtual void slotHelp( void ); + + void slotEncodingChanged(); + void slotHistoryMergeRegExpTester(); + void slotIntegrateWithClearCase(); + void slotRemoveClearCaseIntegration(); +private: + void resetToDefaults(); + + std::list<OptionItem*> m_optionItemList; + + OptionCheckBox* m_pSameEncoding; + OptionEncodingComboBox* m_pEncodingAComboBox; + OptionCheckBox* m_pAutoDetectUnicodeA; + OptionEncodingComboBox* m_pEncodingBComboBox; + OptionCheckBox* m_pAutoDetectUnicodeB; + OptionEncodingComboBox* m_pEncodingCComboBox; + OptionCheckBox* m_pAutoDetectUnicodeC; + OptionEncodingComboBox* m_pEncodingOutComboBox; + OptionCheckBox* m_pAutoSelectOutEncoding; + OptionEncodingComboBox* m_pEncodingPPComboBox; + OptionCheckBox* m_pHistoryAutoMerge; + OptionLineEdit* m_pAutoMergeRegExpLineEdit; + OptionLineEdit* m_pHistoryStartRegExpLineEdit; + OptionLineEdit* m_pHistoryEntryStartRegExpLineEdit; + OptionCheckBox* m_pHistoryMergeSorting; + OptionLineEdit* m_pHistorySortKeyOrderLineEdit; + +private: + void setupFontPage(); + void setupColorPage(); + void setupEditPage(); + void setupDiffPage(); + void setupMergePage(); + void setupDirectoryMergePage(); + void setupKeysPage(); + void setupRegionalPage(); + void setupIntegrationPage(); + void setupOtherOptions(); +}; + + + + +#endif + + + + + + + |