File indexing completed on 2024-04-28 05:42:48

0001 /*
0002     SPDX-FileCopyrightText: 2001-2004 Otto Bruggeman <otto.bruggeman@home.nl>
0003     SPDX-FileCopyrightText: 2001-2003 John Firebaugh <jfirebaugh@kde.org>
0004     SPDX-FileCopyrightText: 2007 Kevin Kofler <kevin.kofler@chello.at>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #ifndef DIFFPAGE_H
0010 #define DIFFPAGE_H
0011 
0012 #include <QFrame>
0013 #include <QStringList>
0014 
0015 #include "dialogpages_export.h"
0016 
0017 class QCheckBox;
0018 class QDialog;
0019 class QSpinBox;
0020 class QButtonGroup;
0021 class QGroupBox;
0022 class QTabWidget;
0023 
0024 class KLineEdit;
0025 class KEditListWidget;
0026 class KUrlComboBox;
0027 class KUrlRequester;
0028 
0029 namespace KompareDiff2 {
0030 class DiffSettings;
0031 }
0032 
0033 class DIALOGPAGES_EXPORT DiffPage : public QFrame
0034 {
0035     Q_OBJECT
0036 public:
0037     DiffPage();
0038     ~DiffPage() override;
0039 
0040 public:
0041     void setSettings(KompareDiff2::DiffSettings*);
0042     KompareDiff2::DiffSettings* settings();
0043 
0044 public:
0045     virtual void restore();
0046     virtual void apply();
0047     virtual void setDefaults();
0048 
0049 protected Q_SLOTS:
0050     void slotExcludeFilePatternToggled(bool);
0051     void slotExcludeFileToggled(bool);
0052 
0053 private:
0054     void addDiffTab();
0055     void addFormatTab();
0056     void addOptionsTab();
0057     void addExcludeTab();
0058 
0059 public:
0060     KompareDiff2::DiffSettings*  m_settings;
0061 
0062     KUrlRequester* m_diffURLRequester;
0063 
0064     QCheckBox*     m_newFilesCheckBox;
0065     QCheckBox*     m_smallerCheckBox;
0066     QCheckBox*     m_largerCheckBox;
0067     QCheckBox*     m_tabsCheckBox;
0068     QCheckBox*     m_caseCheckBox;
0069     QCheckBox*     m_linesCheckBox;
0070     QCheckBox*     m_whitespaceCheckBox;
0071     QCheckBox*     m_allWhitespaceCheckBox;
0072     QCheckBox*     m_ignoreTabExpansionCheckBox;
0073 
0074     QCheckBox*     m_ignoreRegExpCheckBox;
0075     KLineEdit*     m_ignoreRegExpEdit;
0076     QStringList*   m_ignoreRegExpEditHistory;
0077     QDialog*       m_ignoreRegExpDialog;
0078 
0079     QGroupBox*     m_excludeFilePatternGroupBox;
0080     KEditListWidget*  m_excludeFilePatternEditListBox;
0081 
0082     QGroupBox*     m_excludeFileNameGroupBox;
0083     KUrlComboBox*  m_excludeFileURLComboBox;
0084     KUrlRequester* m_excludeFileURLRequester;
0085 
0086     // loc == lines of context
0087     QSpinBox*      m_locSpinBox;
0088 
0089     QButtonGroup*  m_modeButtonGroup;
0090     QGroupBox*     m_diffProgramGroup;
0091 
0092     QTabWidget*    m_tabWidget;
0093 };
0094 
0095 #endif