File indexing completed on 2024-04-28 05:47:44

0001 /*
0002     SPDX-FileCopyrightText: 2016 Ragnar Thomsen <rthomsen6@gmail.com>
0003 
0004     SPDX-License-Identifier: BSD-2-Clause
0005 */
0006 
0007 #include "overwritedialog.h"
0008 
0009 #include <KLocalizedString>
0010 
0011 using namespace Kerfuffle;
0012 
0013 OverwriteDialog::OverwriteDialog(QWidget *parent, const QList<const Archive::Entry *> &entries, bool error)
0014     : QDialog(parent)
0015     , m_buttonBox(QDialogButtonBox::Cancel, Qt::Horizontal)
0016 {
0017     m_vBoxLayout.addLayout(&m_messageLayout);
0018     m_vBoxLayout.addWidget(&m_entriesList);
0019     m_vBoxLayout.addWidget(&m_buttonBox);
0020 
0021     m_messageLayout.addWidget(&m_messageIcon);
0022     m_messageLayout.addWidget(&m_messageText);
0023 
0024     m_messageIcon.setPixmap(QIcon::fromTheme(QStringLiteral("dialog-warning")).pixmap(QSize(64, 64)));
0025     if (error) {
0026         m_messageText.setText(i18n("Files with the following paths already exist. Remove them if you really want to overwrite."));
0027     } else {
0028         m_messageText.setText(i18n("Files with the following paths already exist. Do you want to continue overwriting them?"));
0029         m_buttonBox.addButton(QDialogButtonBox::Ok);
0030     }
0031 
0032     connect(&m_buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
0033     connect(&m_buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
0034 
0035     for (const Archive::Entry *entry : entries) {
0036         QListWidgetItem *item = new QListWidgetItem(entry->icon(), entry->fullPath(NoTrailingSlash));
0037         m_entriesList.addItem(item);
0038     }
0039 
0040     setLayout(&m_vBoxLayout);
0041     setFixedSize(window()->sizeHint());
0042 }
0043 
0044 OverwriteDialog::~OverwriteDialog()
0045 {
0046 }
0047 
0048 #include "moc_overwritedialog.cpp"