summaryrefslogtreecommitdiff
path: root/noncore/settings/backup/backuprestore.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/backup/backuprestore.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/backup/backuprestore.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp
index 478b22f..36b101c 100644
--- a/noncore/settings/backup/backuprestore.cpp
+++ b/noncore/settings/backup/backuprestore.cpp
@@ -1,33 +1,36 @@
#include "backuprestore.h"
#include "errordialog.h"
/* OPIE */
#include <opie2/odebug.h>
#include <opie2/ostorageinfo.h>
using namespace Opie::Core;
+#include <opie2/ofiledialog.h>
+using namespace Opie::Ui;
+
#include <qpe/qpeapplication.h>
#include <qpe/resource.h>
#include <qpe/config.h>
/* QT */
#include <qapplication.h>
#include <qmultilineedit.h>
#include <qdir.h>
#include <qfile.h>
#include <qfileinfo.h>
#include <qlistview.h>
#include <qpushbutton.h>
#include <qheader.h>
#include <qmessagebox.h>
#include <qcombobox.h>
#include <qlist.h>
#include <qregexp.h>
#include <qtextstream.h>
#include <qtextview.h>
#include <qlineedit.h>
#include <qstringlist.h>
/* STD */
#include <errno.h>
@@ -36,48 +39,49 @@ using namespace Opie::Core;
#include <sys/stat.h>
#include <dirent.h>
#define HEADER_NAME 0
#define HEADER_BACKUP 1
#define BACKUP_LOCATION 2
#define EXTENSION ".bck"
const QString tempFileName = "/tmp/backup.err";
BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name, WFlags fl)
: BackupAndRestoreBase(parent, name, fl)
{
backupList->header()->hide();
restoreList->header()->hide();
locationList->header()->hide();
connect( backupButton, SIGNAL( clicked() ), this, SLOT( backup() ) );
connect( restoreButton, SIGNAL( clicked() ), this, SLOT( restore() ) );
connect( backupList, SIGNAL( clicked( QListViewItem* ) ), this, SLOT( selectItem( QListViewItem* ) ) );
connect( restoreSource, SIGNAL( activated( int ) ), this, SLOT( sourceDirChanged( int ) ) );
connect( addLocationButton, SIGNAL( clicked() ), this, SLOT( addLocation() ) );
connect( removeLocationButton, SIGNAL( clicked() ), this, SLOT( removeLocation() ) );
connect( saveLocationsButton, SIGNAL( clicked() ), this, SLOT( saveLocations() ) );
+ connect( selectLocationButton, SIGNAL( clicked() ), this, SLOT( selectLocation() ) );
//add directorys for backing up
applicationSettings = new QListViewItem(backupList, "Application Settings", "", "Settings/");
selectItem(applicationSettings);
applicationSettings = new QListViewItem(backupList, "Application Data", "", "Applications/");
selectItem(applicationSettings);
documents= new QListViewItem(backupList, "Documents", "", "Documents/");
selectItem(documents);
scanForApplicationSettings();
refreshLocations();
refreshBackupLocations();
// Read the list of items to ignore.
QList<QString> dontBackupList;
dontBackupList.setAutoDelete(true);
Config config("BackupAndRestore");
config.setGroup("DontBackup");
int total = config.readNumEntry("Total", 0);
for(int i = 0; i < total; i++)
{
dontBackupList.append(new QString(config.readEntry(QString("%1").arg(i), "")));
}
@@ -568,26 +572,35 @@ void BackupAndRestore::addLocation()
void BackupAndRestore::removeLocation()
{
if ( locationList->selectedItem() )
{
delete( locationList->selectedItem() );
}
}
void BackupAndRestore::saveLocations()
{
Config config("BackupAndRestore");
config.setGroup("Locations");
QStringList locations;
for ( QListViewItemIterator it( locationList ); it.current(); ++it )
{
locations.append( it.current()->text( 0 ) );
}
config.writeEntry( "locations", locations, '|' );
refreshBackupLocations();
}
+void BackupAndRestore::selectLocation()
+{
+ QString location = OFileDialog::getDirectory( OFileSelector::DIRECTORYSELECTOR );
+ if ( !location.isEmpty() )
+ {
+ locationEdit->setText( location );
+ }
+}
+
// backuprestore.cpp