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.
tdeadmin/kdat/BackupProfileWidget.h

150 lines
4.1 KiB

// KDat - a tar-based DAT archiver
// Copyright (C) 1998-2000 Sean Vyain, svyain@mail.tds.net
// Copyright (C) 2001-2002 Lawrence Widman, kdat@cardiothink.com
//
// 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef _BackupProfileWidget_h_
#define _BackupProfileWidget_h_
#include <ktabctl.h>
#include <tqstrlist.h>
class TQCheckBox;
class TQComboBox;
class TQLabel;
class TQLineEdit;
class TQListBox;
class BackupProfile;
/**
* @short Display/edit the parameters for a backup operation.
*/
class BackupProfileWidget : public KTabCtl {
Q_OBJECT
TQ_OBJECT
TQLineEdit* _archiveName;
TQComboBox* _workingDir;
TQListBox* _files;
TQCheckBox* _oneFilesystem;
TQCheckBox* _incremental;
TQLabel* _snapshotLabel;
TQLineEdit* _snapshotFile;
TQCheckBox* _removeSnapshot;
TQStringList _absoluteFiles;
TQStringList _relativeFiles;
private slots:
void slotTextChanged( const TQString & text );
void slotIncrementalToggled( bool set );
void slotToggled( bool set );
void slotWorkingDirActivated( const TQString & text );
public:
/**
* Create a backup profile widget.
*
* @param archiveName The default name for the new archive.
* @param files The list of files to be archived.
* @param parent The parent widget of this dialog.
* @param name The widget name of this dialog.
*/
BackupProfileWidget( TQWidget* parent=0, const char* name=0 );
/**
* Destroy the backup profile widget.
*/
~BackupProfileWidget();
/**
* Set the parameters for the backup profile.
*
* @param backupProfile The backup profile to display/edit.
*/
void setBackupProfile( BackupProfile* backupProfile );
/**
* Set the list of files for the backup profile, with full paths.
*
* @param files The list.
*/
void setAbsoluteFiles( const TQStringList& files );
/**
* Query the name of the archive.
*
* @return The name of the new archive.
*/
TQString getArchiveName();
/**
* Query the working directory for the tar command.
*
* @return The working directory.
*/
TQString getWorkingDirectory();
/**
* Query the list of files to backup, relative to the working directory.
*
* @return The file list.
*/
const TQStringList& getRelativeFiles();
/**
* Query the list of files to backup, with full paths.
*
* @return The file list.
*/
const TQStringList& getAbsoluteFiles();
/**
* Query whether or not to cross filesystem boundaries when performing the
* backup.
*
* @return TRUE if the backup is restricted to a single filesystem, FALSE
* if the backup can cross filesystem boundaries.
*/
bool isOneFilesystem();
/**
* Query whether this is to be a GNU incremental backup.
*
* @return TRUE if incremental, otherwise FALSE.
*/
bool isIncremental();
/**
* Query the name of the snapshot file to use for an incremental backup.
*
* @return The name of the snapshot file.
*/
TQString getSnapshotFile();
/**
* Query whether to remove the snapshot file before beginning an
* incremental backup. This has the effect of performing a full backup.
*
* @return TRUE if the snapshot file should be removed, otherwise FALSE.
*/
bool getRemoveSnapshot();
signals:
/**
* Emitted whenever the user changes anything.
*/
void sigSomethingChanged();
};
#endif