1 /*
2     SPDX-FileCopyrightText: 2016 Ragnar Thomsen <rthomsen6@gmail.com>
3 
4     SPDX-License-Identifier: BSD-2-Clause
5 */
6 
7 #include "overwritedialog.h"
8 
9 #include <KLocalizedString>
10 
11 using namespace Kerfuffle;
12 
OverwriteDialog(QWidget * parent,const QList<const Archive::Entry * > & entries,bool error)13 OverwriteDialog::OverwriteDialog(QWidget *parent, const QList<const Archive::Entry*> &entries, bool error)
14         : QDialog(parent)
15         , m_buttonBox(QDialogButtonBox::Cancel, Qt::Horizontal)
16 {
17     m_vBoxLayout.addLayout(&m_messageLayout);
18     m_vBoxLayout.addWidget(&m_entriesList);
19     m_vBoxLayout.addWidget(&m_buttonBox);
20 
21     m_messageLayout.addWidget(&m_messageIcon);
22     m_messageLayout.addWidget(&m_messageText);
23 
24     m_messageIcon.setPixmap(QIcon::fromTheme(QStringLiteral("dialog-warning")).pixmap(QSize(64, 64)));
25     if (error) {
26         m_messageText.setText(i18n("Files with the following paths already exist. Remove them if you really want to overwrite."));
27     } else {
28         m_messageText.setText(i18n("Files with the following paths already exist. Do you want to continue overwriting them?"));
29         m_buttonBox.addButton(QDialogButtonBox::Ok);
30     }
31 
32     connect(&m_buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
33     connect(&m_buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
34 
35     for (const Archive::Entry *entry : entries) {
36         QListWidgetItem *item = new QListWidgetItem(entry->icon(), entry->fullPath(NoTrailingSlash));
37         m_entriesList.addItem(item);
38     }
39 
40     setLayout(&m_vBoxLayout);
41     setFixedSize(window()->sizeHint());
42 }
43 
~OverwriteDialog()44 OverwriteDialog::~OverwriteDialog()
45 {
46 }
47