diff options
Diffstat (limited to 'rbutil')
-rw-r--r-- | rbutil/rbutilqt/install.cpp | 19 |
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 | ||
170 | void Install::changeBackupPath() | 171 | void 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 | ||
176 | void Install::updateDataReadProgress(int read, int total) | 181 | void Install::updateDataReadProgress(int read, int total) |