summaryrefslogtreecommitdiff
path: root/plugins/CopyEngine/Ultracopier-0.3/fileExistsDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/CopyEngine/Ultracopier-0.3/fileExistsDialog.cpp')
-rw-r--r--plugins/CopyEngine/Ultracopier-0.3/fileExistsDialog.cpp39
1 files changed, 26 insertions, 13 deletions
diff --git a/plugins/CopyEngine/Ultracopier-0.3/fileExistsDialog.cpp b/plugins/CopyEngine/Ultracopier-0.3/fileExistsDialog.cpp
index 78c3bd0..191dd79 100644
--- a/plugins/CopyEngine/Ultracopier-0.3/fileExistsDialog.cpp
+++ b/plugins/CopyEngine/Ultracopier-0.3/fileExistsDialog.cpp
@@ -3,7 +3,7 @@
#include <QDebug>
-fileExistsDialog::fileExistsDialog(QWidget *parent,QFileInfo source,QFileInfo destination) :
+fileExistsDialog::fileExistsDialog(QWidget *parent,QFileInfo source,QFileInfo destination,QString firstRenamingRule,QString otherRenamingRule) :
QDialog(parent),
ui(new Ui::fileExistsDialog)
{
@@ -44,6 +44,8 @@ fileExistsDialog::fileExistsDialog(QWidget *parent,QFileInfo source,QFileInfo de
ui->label_destination_modified->setVisible(false);
ui->label_content_destination_modified->setVisible(false);
}
+ this->firstRenamingRule=firstRenamingRule;
+ this->otherRenamingRule=otherRenamingRule;
}
fileExistsDialog::~fileExistsDialog()
@@ -82,34 +84,45 @@ void fileExistsDialog::on_SuggestNewName_clicked()
QString fileName=destinationInfo.fileName();
QString suffix="";
QString destination;
+ QString newFileName;
+ //resolv the suffix
if(fileName.contains(QRegExp("^(.*)(\\.[a-z0-9]+)$")))
{
suffix=fileName;
suffix.replace(QRegExp("^(.*)(\\.[a-z0-9]+)$"),"\\2");
fileName.replace(QRegExp("^(.*)(\\.[a-z0-9]+)$"),"\\1");
}
+ //resolv the new name
+ int num=1;
do
{
- if(!fileName.startsWith(tr("Copy of ")))
- fileName=tr("Copy of ")+fileName;
- else
+ if(num==1)
{
- if(fileName.contains(QRegExp("_[0-9]+$")))
+ if(firstRenamingRule=="")
+ newFileName=tr("%1 - copy").arg(fileName);
+ else
{
- QString number=fileName;
- number.replace(QRegExp("^.*_([0-9]+)$"),"\\1");
- int num=number.toInt()+1;
- fileName.remove(QRegExp("[0-9]+$"));
- fileName+=QString::number(num);
+ newFileName=firstRenamingRule;
+ newFileName.replace("%name%",fileName);
}
+ }
+ else
+ {
+ if(otherRenamingRule=="")
+ newFileName=tr("%1 - copy (%2)").arg(fileName).arg(num);
else
- fileName+="_2";
+ {
+ newFileName=otherRenamingRule;
+ newFileName.replace("%name%",fileName);
+ newFileName.replace("%number%",QString::number(num));
+ }
}
- destination=absolutePath+QDir::separator()+fileName+suffix;
+ destination=absolutePath+QDir::separator()+newFileName+suffix;
destinationInfo.setFile(destination);
+ num++;
}
while(destinationInfo.exists());
- ui->lineEditNewName->setText(fileName+suffix);
+ ui->lineEditNewName->setText(newFileName+suffix);
}
void fileExistsDialog::on_Rename_clicked()