summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2008-05-12 17:29:03 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2008-05-12 17:29:03 +0000
commit8ea9b94cd95e39f96d3f5cac002ada826a7df5b0 (patch)
tree69a44b85dada6f7339d28896becfc12afbbc76f7
parente8df7c490472d68b4e088ba0b6c3670fda42bfdb (diff)
downloadrockbox-8ea9b94cd95e39f96d3f5cac002ada826a7df5b0.tar.gz
rockbox-8ea9b94cd95e39f96d3f5cac002ada826a7df5b0.zip
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
-rw-r--r--rbutil/rbutilqt/install.cpp19
1 files changed, 12 insertions, 7 deletions
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)
40 if(version != "") 40 if(version != "")
41 { 41 {
42 ui.Backupgroup->show(); 42 ui.Backupgroup->show();
43 m_backupName = settings->mountpoint() + "/.backup/rockbox-backup-"+version+".zip"; 43 m_backupName = settings->mountpoint();
44 ui.backupLocation->setText(fontMetrics().elidedText(m_backupName,Qt::ElideMiddle,200)); 44 if(!m_backupName.endsWith("/")) m_backupName += "/";
45 m_backupName += ".backup/rockbox-backup-"+version+".zip";
46 ui.backupLocation->setText(QDir::toNativeSeparators(fontMetrics().elidedText(m_backupName,Qt::ElideMiddle,200)));
45 } 47 }
46 else 48 else
47 { 49 {
@@ -123,10 +125,9 @@ void Install::accept()
123 if(ui.backup->isChecked()) 125 if(ui.backup->isChecked())
124 { 126 {
125 logger->addItem(tr("Beginning Backup..."),LOGINFO); 127 logger->addItem(tr("Beginning Backup..."),LOGINFO);
126 QString backupName = ui.backupLocation->text();
127 128
128 //! create dir, if it doesnt exist 129 //! create dir, if it doesnt exist
129 QFileInfo backupFile(backupName); 130 QFileInfo backupFile(m_backupName);
130 if(!QDir(backupFile.path()).exists()) 131 if(!QDir(backupFile.path()).exists())
131 { 132 {
132 QDir a; 133 QDir a;
@@ -136,7 +137,7 @@ void Install::accept()
136 //! create backup 137 //! create backup
137 RbZip backup; 138 RbZip backup;
138 connect(&backup,SIGNAL(zipProgress(int,int)),this,SLOT(updateDataReadProgress(int,int))); 139 connect(&backup,SIGNAL(zipProgress(int,int)),this,SLOT(updateDataReadProgress(int,int)));
139 if(backup.createZip(backupName,settings->mountpoint() + "/.rockbox") == Zip::Ok) 140 if(backup.createZip(m_backupName,settings->mountpoint() + "/.rockbox") == Zip::Ok)
140 { 141 {
141 logger->addItem(tr("Backup successfull"),LOGOK); 142 logger->addItem(tr("Backup successfull"),LOGOK);
142 } 143 }
@@ -169,8 +170,12 @@ void Install::accept()
169 170
170void Install::changeBackupPath() 171void Install::changeBackupPath()
171{ 172{
172 m_backupName = QFileDialog::getSaveFileName(this,"Select Backup Filename",ui.backupLocation->text()); 173 QString backupString = QFileDialog::getSaveFileName(this,"Select Backup Filename",m_backupName, "*.zip");
173 ui.backupLocation->setText(QWidget::fontMetrics().elidedText(m_backupName,Qt::ElideMiddle,200)); 174 // only update if a filename was entered, ignore if cancelled
175 if(!backupString.isEmpty()) {
176 ui.backupLocation->setText(QDir::toNativeSeparators(backupString));
177 m_backupName = backupString;
178 }
174} 179}
175 180
176void Install::updateDataReadProgress(int read, int total) 181void Install::updateDataReadProgress(int read, int total)