- Fix folder renaming (would misbehave under certain conditions)

This commit is contained in:
Christophe Dumez 2010-01-19 22:35:54 +00:00
parent d5da8a6277
commit 7f576ccc82
2 changed files with 14 additions and 8 deletions

View file

@ -613,10 +613,13 @@ void PropertiesWidget::renameSelectedFile() {
// Replace path in all files
for(int i=0; i<num_files; ++i) {
QString current_name = misc::toQString(h.get_torrent_info().file_at(i).path.string());
QString new_name = current_name.replace(old_path, new_path);
if(current_name.startsWith(old_path)) {
QString new_name = current_name;
new_name.replace(0, old_path.length(), new_path);
qDebug("Rename %s to %s", current_name.toLocal8Bit().data(), new_name.toLocal8Bit().data());
h.rename_file(i, new_name);
}
}
// Rename folder in torrent files model too
PropListModel->setData(index, new_name_last);
// Remove old folder

View file

@ -350,11 +350,14 @@ public slots:
// Replace path in all files
for(uint i=0; i<nbFiles; ++i) {
QString current_name = files_path.at(i);
QString new_name = current_name.replace(old_path, new_path);
if(current_name.startsWith(old_path)) {
QString new_name = current_name;
new_name.replace(0, old_path.length(), new_path);
qDebug("Rename %s to %s", current_name.toLocal8Bit().data(), new_name.toLocal8Bit().data());
// Rename in files_path
files_path.replace(i, new_name);
}
}
// Rename folder in torrent files model too
PropListModel->setData(index, new_name_last);
}