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