File indexing completed on 2024-04-28 15:39:07

0001 // SPDX-FileCopyrightText: 2020 Tobias Leupold <tl at stonemx dot de>
0002 //
0003 // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 
0005 // Local includes
0006 #include "RetrySkipAbortDialog.h"
0007 
0008 // KDE includes
0009 #include <KLocalizedString>
0010 
0011 // Qt includes
0012 #include <QAbstractButton>
0013 
0014 RetrySkipAbortDialog::RetrySkipAbortDialog(QWidget *parent, const QString &title,
0015                                            const QString &text, bool isSingleFile)
0016     : QMessageBox(parent)
0017 {
0018     setIcon(QMessageBox::Warning);
0019     setWindowTitle(title);
0020 
0021     if (isSingleFile) {
0022         setStandardButtons(QMessageBox::Retry | QMessageBox::Abort);
0023     } else {
0024         setStandardButtons(QMessageBox::Retry | QMessageBox::Discard | QMessageBox::Abort);
0025         button(QMessageBox::Discard)->setText(i18n("Skip current image"));
0026     }
0027 
0028     setText(text);
0029 }
0030 
0031 int RetrySkipAbortDialog::exec()
0032 {
0033     const auto reply = QMessageBox::exec();
0034     if (reply == QMessageBox::Discard) {
0035         return Reply::Skip;
0036     } else if (reply == QMessageBox::Abort) {
0037         return Reply::Abort;
0038     } else {
0039         return Reply::Retry;
0040     }
0041 }