| | |
| | |
| |
|
| | #include <QCheckBox> |
| | #include <QDialogButtonBox> |
| | #include <QFileInfo> |
| | #include <QLabel> |
| | #include <QListWidget> |
| | #include <QVBoxLayout> |
| | #include "yuzu/install_dialog.h" |
| | #include "yuzu/uisettings.h" |
| |
|
| | InstallDialog::InstallDialog(QWidget* parent, const QStringList& files) : QDialog(parent) { |
| | file_list = new QListWidget(this); |
| |
|
| | for (const QString& file : files) { |
| | QListWidgetItem* item = new QListWidgetItem(QFileInfo(file).fileName(), file_list); |
| | item->setData(Qt::UserRole, file); |
| | item->setFlags(item->flags() | Qt::ItemIsUserCheckable); |
| | item->setCheckState(Qt::Checked); |
| | } |
| |
|
| | file_list->setMinimumWidth((file_list->sizeHintForColumn(0) * 11) / 10); |
| |
|
| | vbox_layout = new QVBoxLayout; |
| |
|
| | hbox_layout = new QHBoxLayout; |
| |
|
| | description = new QLabel(tr("Please confirm these are the files you wish to install.")); |
| |
|
| | update_description = |
| | new QLabel(tr("Installing an Update or DLC will overwrite the previously installed one.")); |
| |
|
| | buttons = new QDialogButtonBox; |
| | buttons->addButton(QDialogButtonBox::Cancel); |
| | buttons->addButton(tr("Install"), QDialogButtonBox::AcceptRole); |
| |
|
| | connect(buttons, &QDialogButtonBox::accepted, this, &InstallDialog::accept); |
| | connect(buttons, &QDialogButtonBox::rejected, this, &InstallDialog::reject); |
| |
|
| | hbox_layout->addWidget(buttons); |
| |
|
| | vbox_layout->addWidget(description); |
| | vbox_layout->addWidget(update_description); |
| | vbox_layout->addWidget(file_list); |
| | vbox_layout->addLayout(hbox_layout); |
| |
|
| | setLayout(vbox_layout); |
| | setWindowTitle(tr("Install Files to NAND")); |
| | } |
| |
|
| | InstallDialog::~InstallDialog() = default; |
| |
|
| | QStringList InstallDialog::GetFiles() const { |
| | QStringList files; |
| |
|
| | for (int i = 0; i < file_list->count(); ++i) { |
| | const QListWidgetItem* item = file_list->item(i); |
| | if (item->checkState() == Qt::Checked) { |
| | files.append(item->data(Qt::UserRole).toString()); |
| | } |
| | } |
| |
|
| | return files; |
| | } |
| |
|
| | int InstallDialog::GetMinimumWidth() const { |
| | return file_list->width(); |
| | } |
| |
|