1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

fix(toxsave, profileimporter): Added remove function call before overwrite file

Fix #3558.
This commit is contained in:
Diadlo 2016-07-29 13:58:02 +03:00
parent a163d18754
commit 58ea0afed1
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727
2 changed files with 20 additions and 22 deletions

View File

@ -67,9 +67,16 @@ bool handleToxSave(const QString& path)
QString profilePath = Settings::getInstance().getSettingsDirPath() + profile + Core::TOX_EXT;
if (QFileInfo(profilePath).exists() && !GUI::askQuestion(QObject::tr("Profile already exists", "import confirm title"),
QObject::tr("A profile named \"%1\" already exists. Do you want to erase it?", "import confirm text").arg(profile)))
return false;
if (QFileInfo(profilePath).exists())
{
QString title = QObject::tr("Profile already exists", "import confirm title");
QString message = QObject::tr("A profile named \"%1\" already exists. Do you want to erase it?", "import confirm text").arg(profile);
bool erase = GUI::askQuestion(title, message);
if (!erase)
return false;
QFile(profilePath).remove();
}
QFile::copy(path, profilePath);
// no good way to update the ui from here... maybe we need a Widget:refreshUi() function...

View File

@ -61,26 +61,17 @@ bool ProfileImporter::importProfile()
if (QFileInfo(profilePath).exists())
{
QMessageBox::StandardButton reply;
reply = QMessageBox::warning( this,
tr("Profile already exists", "import confirm title"),
tr("A profile named \"%1\" already exists. Do you want to erase it?", "import confirm text").arg(profile),
QMessageBox::Yes | QMessageBox::No);
QString title = QObject::tr("Profile already exists", "import confirm title");
QString message = QObject::tr("A profile named \"%1\" already exists. Do you want to erase it?", "import confirm text").arg(profile);
bool erase = GUI::askQuestion(title, message);
if (reply == QMessageBox::Yes)
{
QFile::copy(path, profilePath);
return true; //import successfull
}
else
{
return false; //import canelled
}
}
else
{
QFile::copy(path, profilePath);
return true; //import successfull
if (!erase)
return false; //import canelled
QFile(profilePath).remove();
}
QFile::copy(path, profilePath);
return true; //import successfull
}