File indexing completed on 2024-05-19 09:38:42

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 class DiffSettings;
0030 
0031 class DIALOGPAGES_EXPORT DiffPage : public QFrame
0032 {
0033     Q_OBJECT
0034 public:
0035     DiffPage();
0036     ~DiffPage() override;
0037 
0038 public:
0039     void setSettings(DiffSettings*);
0040     DiffSettings* settings();
0041 
0042 public:
0043     virtual void restore();
0044     virtual void apply();
0045     virtual void setDefaults();
0046 
0047 protected Q_SLOTS:
0048     void slotExcludeFilePatternToggled(bool);
0049     void slotExcludeFileToggled(bool);
0050 
0051 private:
0052     void addDiffTab();
0053     void addFormatTab();
0054     void addOptionsTab();
0055     void addExcludeTab();
0056 
0057 public:
0058     DiffSettings*  m_settings;
0059 
0060     KUrlRequester* m_diffURLRequester;
0061 
0062     QCheckBox*     m_newFilesCheckBox;
0063     QCheckBox*     m_smallerCheckBox;
0064     QCheckBox*     m_largerCheckBox;
0065     QCheckBox*     m_tabsCheckBox;
0066     QCheckBox*     m_caseCheckBox;
0067     QCheckBox*     m_linesCheckBox;
0068     QCheckBox*     m_whitespaceCheckBox;
0069     QCheckBox*     m_allWhitespaceCheckBox;
0070     QCheckBox*     m_ignoreTabExpansionCheckBox;
0071 
0072     QCheckBox*     m_ignoreRegExpCheckBox;
0073     KLineEdit*     m_ignoreRegExpEdit;
0074     QStringList*   m_ignoreRegExpEditHistory;
0075     QDialog*       m_ignoreRegExpDialog;
0076 
0077     QGroupBox*     m_excludeFilePatternGroupBox;
0078     KEditListWidget*  m_excludeFilePatternEditListBox;
0079 
0080     QGroupBox*     m_excludeFileNameGroupBox;
0081     KUrlComboBox*  m_excludeFileURLComboBox;
0082     KUrlRequester* m_excludeFileURLRequester;
0083 
0084     // loc == lines of context
0085     QSpinBox*      m_locSpinBox;
0086 
0087     QButtonGroup*  m_modeButtonGroup;
0088     QGroupBox*     m_diffProgramGroup;
0089 
0090     QTabWidget*    m_tabWidget;
0091 };
0092 
0093 #endif