File indexing completed on 2024-04-21 15:42:55

0001 /***************************************************************************
0002     The configuration page for the synchronization options
0003                              -------------------
0004     begin                : So Nov 20 2005
0005     copyright            : (C) 2005-2019 by Alexander Reinholdt
0006     email                : alexander.reinholdt@kdemail.net
0007  ***************************************************************************/
0008 
0009 /***************************************************************************
0010  *   This program is free software; you can redistribute it and/or modify  *
0011  *   it under the terms of the GNU General Public License as published by  *
0012  *   the Free Software Foundation; either version 2 of the License, or     *
0013  *   (at your option) any later version.                                   *
0014  *                                                                         *
0015  *   This program is distributed in the hope that it will be useful, but   *
0016  *   WITHOUT ANY WARRANTY; without even the implied warranty of            *
0017  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
0018  *   General Public License for more details.                              *
0019  *                                                                         *
0020  *   You should have received a copy of the GNU General Public License     *
0021  *   along with this program; if not, write to the                         *
0022  *   Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston,*
0023  *   MA 02110-1335, USA                                                    *
0024  ***************************************************************************/
0025 
0026 #ifndef SMB4KCONFIGPAGESYNCHRONIZATION_H
0027 #define SMB4KCONFIGPAGESYNCHRONIZATION_H
0028 
0029 // Qt includes
0030 #include <QTabWidget>
0031 
0032 /**
0033  * This class belongs to the configuration dialog and takes
0034  * care of the options that can be defined for rsync.
0035  *
0036  * @author Alexander Reinholdt <alexander.reinholdt@kdemail.net>
0037  */
0038 
0039 class Smb4KConfigPageSynchronization : public QTabWidget
0040 {
0041   Q_OBJECT
0042 
0043   public:
0044     /**
0045      * The constructor.
0046      *
0047      * @param parent        The parent widget
0048      */
0049     explicit Smb4KConfigPageSynchronization(QWidget *parent = 0);
0050 
0051     /**
0052      * The destructor
0053      */
0054     ~Smb4KConfigPageSynchronization();
0055     
0056   protected slots:
0057     /**
0058      * This slot is invoked if the "Archive mode" checkbox has been
0059      * toggled.
0060      *
0061      * @param checked       Is TRUE if the checkbox is checked and FALSE otherwise.
0062      */
0063     void slotArchiveToggled(bool checked);
0064 
0065     /**
0066      * This slot is invoked if the --archive option has to be switched
0067      * off.
0068      *
0069      * @param checked       Is FALSE if one of the connected checkboxes is unchecked
0070      *                      and TRUE otherwise.
0071      */
0072     void slotUncheckArchive(bool checked);
0073 
0074     /**
0075      * This slot is called, when the backup checkbox has been toggled.
0076      * It enables/disables all other backup options according to the
0077      * state the backup button is in.
0078      *
0079      * @param checked       Is TRUE if the m_backup check box has been
0080      *                      checked and FALSE otherwise.
0081      */
0082     void slotBackupToggled(bool checked);
0083     
0084     /**
0085      * This slot is called when the compression checkbox has been toggled.
0086      * It enables/disables all other compression settings according to the 
0087      * state of the compression button.
0088      * 
0089      * @param checked       TRUE if checked and FALSE otherwise
0090      */
0091     void slotCompressToggled(bool checked);
0092     
0093     /**
0094      * This slot is called when the 'keep partially transferred files' checkbox
0095      * has been toggled. It enables/disables the dependent settings according
0096      * to the state of the checkbox.
0097      * 
0098      * @param checked       TRUE if checked and FALSE otherwise
0099      */
0100     void slotKeepPartialToggled(bool checked);
0101     
0102     /**
0103      * This slot is called if the '-F' shortcut has been toggled.
0104      * It unchecks the '-F -F' shortcut.
0105      *
0106      * @param checked       Is TRUE is m_f_filter is checked and FALSE otherwise.
0107      */
0108     void slotFFilterRuleToggled(bool checked);
0109 
0110     /**
0111      * This slot is called if the '-F -F' shortcut has been toggled.
0112      * It unchecks the '-F' shortcut.
0113      *
0114      * @param checked       Is TRUE is m_ff_filter is checked and FALSE otherwise.
0115      */
0116     void slotFFFilterRuleToggled(bool checked);
0117 };
0118 
0119 #endif