File indexing completed on 2024-12-08 10:27:16
0001 /* 0002 The configuration page for the synchronization options 0003 0004 SPDX-FileCopyrightText: 2005-2023 Alexander Reinholdt <alexander.reinholdt@kdemail.net> 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef SMB4KCONFIGPAGESYNCHRONIZATION_H 0009 #define SMB4KCONFIGPAGESYNCHRONIZATION_H 0010 0011 // Qt includes 0012 #include <QCheckBox> 0013 #include <QSpinBox> 0014 #include <QTabWidget> 0015 0016 // KDE includes 0017 #include <KLineEdit> 0018 #include <KUrlRequester> 0019 0020 /** 0021 * This class belongs to the configuration dialog and takes 0022 * care of the options that can be defined for rsync. 0023 * 0024 * @author Alexander Reinholdt <alexander.reinholdt@kdemail.net> 0025 */ 0026 0027 class Smb4KConfigPageSynchronization : public QTabWidget 0028 { 0029 Q_OBJECT 0030 0031 public: 0032 /** 0033 * The constructor. 0034 * 0035 * @param parent The parent widget 0036 */ 0037 explicit Smb4KConfigPageSynchronization(QWidget *parent = nullptr); 0038 0039 /** 0040 * The destructor 0041 */ 0042 ~Smb4KConfigPageSynchronization(); 0043 0044 /** 0045 * Check the settings for problems. Returns TRUE if none were 0046 * found and FALSE otherwise. 0047 * 0048 * @returns TRUE if all settings are okay. 0049 */ 0050 bool checkSettings(); 0051 0052 protected Q_SLOTS: 0053 /** 0054 * This slot is called, when the backup checkbox has been toggled. 0055 * It enables/disables all other backup options according to the 0056 * state the backup button is in. 0057 * 0058 * @param checked Is TRUE if the m_backup check box has been 0059 * checked and FALSE otherwise. 0060 */ 0061 void slotBackupToggled(bool checked); 0062 0063 /** 0064 * This slot is called when the compression checkbox has been toggled. 0065 * It enables/disables all other compression settings according to the 0066 * state of the compression button. 0067 * 0068 * @param checked TRUE if checked and FALSE otherwise 0069 */ 0070 void slotCompressToggled(bool checked); 0071 0072 /** 0073 * This slot is called when the 'keep partially transferred files' checkbox 0074 * has been toggled. It enables/disables the dependent settings according 0075 * to the state of the checkbox. 0076 * 0077 * @param checked TRUE if checked and FALSE otherwise 0078 */ 0079 void slotKeepPartialToggled(bool checked); 0080 0081 /** 0082 * This slot is called if the '-F' shortcut has been toggled. 0083 * It unchecks the '-F -F' shortcut. 0084 * 0085 * @param checked Is TRUE is m_f_filter is checked and FALSE otherwise. 0086 */ 0087 void slotFFilterRuleToggled(bool checked); 0088 0089 /** 0090 * This slot is called if the '-F -F' shortcut has been toggled. 0091 * It unchecks the '-F' shortcut. 0092 * 0093 * @param checked Is TRUE is m_ff_filter is checked and FALSE otherwise. 0094 */ 0095 void slotFFFilterRuleToggled(bool checked); 0096 0097 private: 0098 KUrlRequester *m_synchronizationPrefix; 0099 QCheckBox *m_makeBackups; 0100 QWidget *m_backupSettingsWidget; 0101 QCheckBox *m_useBackupSuffix; 0102 KLineEdit *m_backupSuffix; 0103 QCheckBox *m_useBackupDirectory; 0104 KUrlRequester *m_backupDirectory; 0105 QCheckBox *m_useMinimalTransferSize; 0106 QSpinBox *m_minimalTransferSize; 0107 QCheckBox *m_useMaximalTransferSize; 0108 QSpinBox *m_maximalTransferSize; 0109 QCheckBox *m_usePartialDirectory; 0110 KUrlRequester *m_partialDirectory; 0111 QCheckBox *m_useExcludePattern; 0112 KLineEdit *m_excludePattern; 0113 QCheckBox *m_useExcludeFrom; 0114 KUrlRequester *m_excludeFrom; 0115 QCheckBox *m_useIncludePattern; 0116 KLineEdit *m_includePattern; 0117 QCheckBox *m_useIncludeFrom; 0118 KUrlRequester *m_includeFrom; 0119 QCheckBox *m_useBlockSize; 0120 QSpinBox *m_blockSize; 0121 QWidget *m_compressionSettingsWidget; 0122 QCheckBox *m_useFFilterRule; 0123 QCheckBox *m_useFFFilterRule; 0124 }; 0125 0126 #endif