Gave error dlg a description of the error for the user.

This commit is contained in:
Ira Aspen 2016-02-09 03:10:57 +00:00
parent d078cf52c9
commit aa658f95f6
3 changed files with 17 additions and 8 deletions

View file

@ -4,18 +4,19 @@
#include <QPushButton>
#include <QVBoxLayout>
DlgAddSetResult::DlgAddSetResult(QWidget *parent, bool success) : QDialog(parent) {
DlgAddSetResult::DlgAddSetResult(QWidget *parent, bool success, QString msg) : QDialog(parent) {
status = new QLabel(this);
restart = new QLabel(this);
message = new QLabel(this);
if (success) {
setWindowTitle(tr("Success"));
status->setText(QString("Sets/cards added to Cockatrice."));
restart->setText(QString("You must restart Cockatrice to use the new sets/cards."));
message->setText(QString("You must restart Cockatrice to use the new sets/cards."));
}
else {
setWindowTitle(tr("Failed"));
status->setText(QString("Sets/cards failed to import."));
message->setText(msg);
}
QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
@ -25,7 +26,7 @@ DlgAddSetResult::DlgAddSetResult(QWidget *parent, bool success) : QDialog(parent
QVBoxLayout *parentLayout = new QVBoxLayout(this);
parentLayout->addWidget(status);
parentLayout->addWidget(restart);
parentLayout->addWidget(message);
parentLayout->addWidget(buttonBox);
setLayout(parentLayout);

View file

@ -3,15 +3,16 @@
#include <QDialog>
#include <QLabel>
#include <QString>
class DlgAddSetResult : public QDialog {
Q_OBJECT
public:
DlgAddSetResult(QWidget *parent, bool success);
DlgAddSetResult(QWidget *parent, bool success, QString msg);
private slots:
void closeDialog();
private:
QLabel *status, *restart;
QLabel *status, *message;
QPushButton *ok;
};

View file

@ -885,16 +885,23 @@ void TabDeckEditor::actAddCustomSet()
if (!dialog.exec())
return;
QString fileName = dialog.selectedFiles().at(0);
if (!QFile::exists(fileName)) {
DlgAddSetResult dlg(this, false, QString("Selected file cannot be found."));
dlg.exec();
return;
}
QDir dir(dataDir + "/customsets");
int nextPrefix = getNextCustomSetPrefix(dir);
QString fileName = dialog.selectedFiles().at(0);
bool res = QFile::copy(
fileName, dir.absolutePath() + "/" + (nextPrefix > 9 ? "" : "0") +
QString::number(nextPrefix) + "." + QFileInfo(fileName).fileName()
);
DlgAddSetResult dlg(this, res);
DlgAddSetResult dlg(this, res, QString());
dlg.exec();
}