From 8ea9b94cd95e39f96d3f5cac002ada826a7df5b0 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Mon, 12 May 2008 17:29:03 +0000 Subject: fix some small glitches for backup: - use the complete path as starting folder for browsing, not the elided one - don't drop the old path if selection was cancelled - show native dir separators git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17473 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/rbutilqt/install.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'rbutil') diff --git a/rbutil/rbutilqt/install.cpp b/rbutil/rbutilqt/install.cpp index c6221e8975..a2344c7346 100644 --- a/rbutil/rbutilqt/install.cpp +++ b/rbutil/rbutilqt/install.cpp @@ -40,8 +40,10 @@ Install::Install(RbSettings *sett,QWidget *parent) : QDialog(parent) if(version != "") { ui.Backupgroup->show(); - m_backupName = settings->mountpoint() + "/.backup/rockbox-backup-"+version+".zip"; - ui.backupLocation->setText(fontMetrics().elidedText(m_backupName,Qt::ElideMiddle,200)); + m_backupName = settings->mountpoint(); + if(!m_backupName.endsWith("/")) m_backupName += "/"; + m_backupName += ".backup/rockbox-backup-"+version+".zip"; + ui.backupLocation->setText(QDir::toNativeSeparators(fontMetrics().elidedText(m_backupName,Qt::ElideMiddle,200))); } else { @@ -123,10 +125,9 @@ void Install::accept() if(ui.backup->isChecked()) { logger->addItem(tr("Beginning Backup..."),LOGINFO); - QString backupName = ui.backupLocation->text(); //! create dir, if it doesnt exist - QFileInfo backupFile(backupName); + QFileInfo backupFile(m_backupName); if(!QDir(backupFile.path()).exists()) { QDir a; @@ -136,7 +137,7 @@ void Install::accept() //! create backup RbZip backup; connect(&backup,SIGNAL(zipProgress(int,int)),this,SLOT(updateDataReadProgress(int,int))); - if(backup.createZip(backupName,settings->mountpoint() + "/.rockbox") == Zip::Ok) + if(backup.createZip(m_backupName,settings->mountpoint() + "/.rockbox") == Zip::Ok) { logger->addItem(tr("Backup successfull"),LOGOK); } @@ -169,8 +170,12 @@ void Install::accept() void Install::changeBackupPath() { - m_backupName = QFileDialog::getSaveFileName(this,"Select Backup Filename",ui.backupLocation->text()); - ui.backupLocation->setText(QWidget::fontMetrics().elidedText(m_backupName,Qt::ElideMiddle,200)); + QString backupString = QFileDialog::getSaveFileName(this,"Select Backup Filename",m_backupName, "*.zip"); + // only update if a filename was entered, ignore if cancelled + if(!backupString.isEmpty()) { + ui.backupLocation->setText(QDir::toNativeSeparators(backupString)); + m_backupName = backupString; + } } void Install::updateDataReadProgress(int read, int total) -- cgit v1.2.3