You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kdiff3/src/optiondialog.h

231 lines
6.1 KiB

/*
* 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 TQCheckBox;
class TQLabel;
class TQLineEdit;
class KColorButton;
class KFontChooser;
class TDEConfig;
#include <kdialogbase.h>
#include <tqstringlist.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, TQWidget *parent = 0, char *name = 0 );
~OptionDialog( void );
TQString parseOptions( const QCStringList& optionList );
TQString calcOptionHelp();
// Some settings are not available in the option dialog:
TQSize m_geometry;
TQPoint m_position;
bool m_bMaximised;
bool m_bShowToolBar;
bool m_bShowStatusBar;
int m_toolBarPos;
// These are the results of the option dialog.
TQFont m_font;
bool m_bItalicForDeltas;
TQColor m_fgColor;
TQColor m_bgColor;
TQColor m_diffBgColor;
TQColor m_colorA;
TQColor m_colorB;
TQColor m_colorC;
TQColor m_colorForConflict;
TQColor m_currentRangeBgColor;
TQColor m_currentRangeDiffBgColor;
TQColor m_oldestFileColor;
TQColor m_midAgeFileColor;
TQColor m_newestFileColor;
TQColor m_missingFileColor;
TQColor m_manualHelpRangeColor;
bool m_bWordWrap;
bool m_bReplaceTabs;
bool m_bAutoIndentation;
int m_tabSize;
bool m_bAutoCopySelection;
bool m_bSameEncoding;
TQTextCodec* m_pEncodingA;
bool m_bAutoDetectUnicodeA;
TQTextCodec* m_pEncodingB;
bool m_bAutoDetectUnicodeB;
TQTextCodec* m_pEncodingC;
bool m_bAutoDetectUnicodeC;
TQTextCodec* m_pEncodingOut;
bool m_bAutoSelectOutEncoding;
TQTextCodec* 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;
TQString m_PreProcessorCmd;
TQString m_LineMatchingPreProcessorCmd;
bool m_bRunRegExpAutoMergeOnMergeStart;
TQString m_autoMergeRegExp;
bool m_bRunHistoryAutoMergeOnMergeStart;
TQString m_historyStartRegExp;
TQString m_historyEntryStartRegExp;
bool m_bHistoryMergeSorting;
TQString m_historyEntryStartSortKeyOrder;
int m_maxNofHistoryEntries;
TQString m_IrrelevantMergeCmd;
bool m_bAutoSaveAndQuitOnMergeWithoutConflicts;
bool m_bAutoAdvance;
int m_autoAdvanceDelay;
TQStringList m_recentAFiles;
TQStringList m_recentBFiles;
TQStringList m_recentCFiles;
TQStringList 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;
TQString m_DmFilePattern;
TQString m_DmFileAntiPattern;
TQString m_DmDirAntiPattern;
TQString m_language;
bool m_bRightToLeftLanguage;
TQString m_ignorableCmdLineOptions;
bool m_bIntegrateWithClearCase;
void saveOptions(TDEConfig* config);
void readOptions(TDEConfig* 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