1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
#include "RenamingRules.h"
#include "ui_RenamingRules.h"
#include <QMessageBox>
RenamingRules::RenamingRules(QWidget *parent) :
QDialog(parent),
ui(new Ui::RenamingRules)
{
ui->setupUi(this);
connectUI();
setRenamingRules("","");
}
RenamingRules::~RenamingRules()
{
delete ui;
}
void RenamingRules::on_buttonBox_clicked(QAbstractButton *button)
{
if(ui->buttonBox->buttonRole(button)==QDialogButtonBox::RejectRole)
reject();
if(ui->buttonBox->buttonRole(button)==QDialogButtonBox::ResetRole)
{
setRenamingRules("","");
emit sendNewRenamingRules(firstRenamingRule,otherRenamingRule);
}
}
void RenamingRules::setRenamingRules(std::string firstRenamingRule,std::string otherRenamingRule)
{
disconnectUI();
if(firstRenamingRule.find("%name%")==std::string::npos || firstRenamingRule.find("%suffix%")==std::string::npos)
firstRenamingRule.clear();
if(otherRenamingRule.find("%name%")==std::string::npos || otherRenamingRule.find("%suffix%")==std::string::npos
|| otherRenamingRule.find("%number%")==std::string::npos)
otherRenamingRule.clear();
this->firstRenamingRule=firstRenamingRule;
this->otherRenamingRule=otherRenamingRule;
if(!firstRenamingRule.empty())
ui->firstRenamingRule->setText(QString::fromStdString(firstRenamingRule));
else
ui->firstRenamingRule->setText(tr("%1 - copy%2").arg(QStringLiteral("%name%")).arg(QStringLiteral("%suffix%")));
if(!otherRenamingRule.empty())
ui->otherRenamingRule->setText(QString::fromStdString(otherRenamingRule));
else
ui->otherRenamingRule->setText(tr("%1 - copy (%2)%3").arg(QStringLiteral("%name%")).arg(QStringLiteral("%number%")).arg(QStringLiteral("%suffix%")));
connectUI();
}
void RenamingRules::connectUI()
{
connect(ui->firstRenamingRule,&QLineEdit::editingFinished,this,&RenamingRules::firstRenamingRule_haveChanged);
connect(ui->otherRenamingRule,&QLineEdit::editingFinished,this,&RenamingRules::otherRenamingRule_haveChanged);
}
void RenamingRules::disconnectUI()
{
disconnect(ui->firstRenamingRule,&QLineEdit::editingFinished,this,&RenamingRules::firstRenamingRule_haveChanged);
disconnect(ui->otherRenamingRule,&QLineEdit::editingFinished,this,&RenamingRules::otherRenamingRule_haveChanged);
}
void RenamingRules::firstRenamingRule_haveChanged()
{
QString newValue=ui->firstRenamingRule->text();
if(!newValue.contains("%name%") || !newValue.contains("%suffix%"))
newValue.clear();
if(newValue==tr("%1 - copy%2").arg(QStringLiteral("%name%")).arg(QStringLiteral("%name%")))
newValue=QStringLiteral("");
if(newValue.toStdString()==firstRenamingRule)
return;
firstRenamingRule=newValue.toStdString();
emit sendNewRenamingRules(firstRenamingRule,otherRenamingRule);
}
void RenamingRules::otherRenamingRule_haveChanged()
{
QString newValue=ui->otherRenamingRule->text();
if(!newValue.contains("%name%") || !newValue.contains("%suffix%") || !newValue.contains("%number%"))
newValue.clear();
if(newValue==tr("%1 - copy (%2)%3").arg(QStringLiteral("%name%")).arg(QStringLiteral("%number%")).arg(QStringLiteral("%name%")))
newValue=QStringLiteral("");
if(newValue.toStdString()==otherRenamingRule)
return;
otherRenamingRule=newValue.toStdString();
emit sendNewRenamingRules(firstRenamingRule,otherRenamingRule);
}
void RenamingRules::newLanguageLoaded()
{
ui->retranslateUi(this);
setRenamingRules(firstRenamingRule,otherRenamingRule);
}
|