Add "Open All" button to blocked mods dialog

Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
This commit is contained in:
kumquat-ir
2022-07-16 19:14:54 -04:00
parent dce435c882
commit 33e34ebb83
7 changed files with 64 additions and 46 deletions

View File

@ -0,0 +1,28 @@
#include "BlockedModsDialog.h"
#include "ui_BlockedModsDialog.h"
#include "qpushbutton.h"
#include <QDialogButtonBox>
#include <QDesktopServices>
BlockedModsDialog::BlockedModsDialog(QWidget *parent, const QString &title, const QString &text, const QString &body, const QList<QUrl> &urls) :
QDialog(parent), ui(new Ui::BlockedModsDialog), urls(urls) {
ui->setupUi(this);
auto openAllButton = ui->buttonBox->addButton(tr("Open All"), QDialogButtonBox::ActionRole);
connect(openAllButton, &QPushButton::clicked, this, &BlockedModsDialog::openAll);
this->setWindowTitle(title);
ui->label->setText(text);
ui->textBrowser->setText(body);
}
BlockedModsDialog::~BlockedModsDialog() {
delete ui;
}
void BlockedModsDialog::openAll() {
for(auto &url : urls) {
QDesktopServices::openUrl(url);
}
}

View File

@ -0,0 +1,22 @@
#pragma once
#include <QDialog>
QT_BEGIN_NAMESPACE
namespace Ui { class BlockedModsDialog; }
QT_END_NAMESPACE
class BlockedModsDialog : public QDialog {
Q_OBJECT
public:
BlockedModsDialog(QWidget *parent, const QString &title, const QString &text, const QString &body, const QList<QUrl> &urls);
~BlockedModsDialog() override;
private:
Ui::BlockedModsDialog *ui;
const QList<QUrl> &urls;
void openAll();
};

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ScrollMessageBox</class>
<widget class="QDialog" name="ScrollMessageBox">
<class>BlockedModsDialog</class>
<widget class="QDialog" name="BlockedModsDialog">
<property name="geometry">
<rect>
<x>0</x>
@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string notr="true">ScrollMessageBox</string>
<string notr="true">BlockedModsDialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
@ -51,7 +51,7 @@
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>ScrollMessageBox</receiver>
<receiver>BlockedModsDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
@ -67,7 +67,7 @@
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>ScrollMessageBox</receiver>
<receiver>BlockedModsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">

View File

@ -1,15 +0,0 @@
#include "ScrollMessageBox.h"
#include "ui_ScrollMessageBox.h"
ScrollMessageBox::ScrollMessageBox(QWidget *parent, const QString &title, const QString &text, const QString &body) :
QDialog(parent), ui(new Ui::ScrollMessageBox) {
ui->setupUi(this);
this->setWindowTitle(title);
ui->label->setText(text);
ui->textBrowser->setText(body);
}
ScrollMessageBox::~ScrollMessageBox() {
delete ui;
}

View File

@ -1,20 +0,0 @@
#pragma once
#include <QDialog>
QT_BEGIN_NAMESPACE
namespace Ui { class ScrollMessageBox; }
QT_END_NAMESPACE
class ScrollMessageBox : public QDialog {
Q_OBJECT
public:
ScrollMessageBox(QWidget *parent, const QString &title, const QString &text, const QString &body);
~ScrollMessageBox() override;
private:
Ui::ScrollMessageBox *ui;
};