void ActivityWizard::setVisible(bool visible) { if (visible) { DBManager manager; QSqlError error; if (mRecord.contains("id") && mRecord.value("id").toULongLong() != 0) { mActivity = manager.getActivity(mRecord.value("id").toULongLong(), error); if (error.type() != QSqlError::NoError) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); msgBox.setText( tr("There was an error while loading activity from the " "database.")); msgBox.setDetailedText(error.text()); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); msgBox.exec(); reject(); return; } if (!mActivity) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); msgBox.setText(tr("The requested activity does not exist.")); msgBox.setInformativeText(tr("Maybe someone or system clean up " "job deleted the activity. " "Try refreshing the data.")); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); msgBox.exec(); reject(); return; } } else { mActivity = make_shared<Activity>(); } } QWizard::setVisible(visible); }