mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
|
#include "qualitypopup.h"
|
||
|
|
||
|
#include <QProcess>
|
||
|
|
||
|
namespace chatterino {
|
||
|
namespace widgets {
|
||
|
|
||
|
QualityPopup::QualityPopup(const QString &channel, const QString &path, QStringList options)
|
||
|
: channel(channel)
|
||
|
, path(path)
|
||
|
{
|
||
|
this->ui.okButton.setText("OK");
|
||
|
this->ui.cancelButton.setText("Cancel");
|
||
|
|
||
|
QObject::connect(&this->ui.okButton, &QPushButton::clicked, this, &QualityPopup::okButtonClicked);
|
||
|
QObject::connect(&this->ui.cancelButton, &QPushButton::clicked, this,
|
||
|
&QualityPopup::cancelButtonClicked);
|
||
|
|
||
|
this->ui.buttonBox.addButton(&this->ui.okButton, QDialogButtonBox::ButtonRole::AcceptRole);
|
||
|
this->ui.buttonBox.addButton(&this->ui.cancelButton, QDialogButtonBox::ButtonRole::RejectRole);
|
||
|
|
||
|
for (int i = 0; i < options.length(); ++i) {
|
||
|
this->ui.selector.addItem(options.at(i));
|
||
|
}
|
||
|
|
||
|
this->ui.vbox.addWidget(&this->ui.selector);
|
||
|
this->ui.vbox.addWidget(&this->ui.buttonBox);
|
||
|
|
||
|
this->setLayout(&this->ui.vbox);
|
||
|
}
|
||
|
|
||
|
void QualityPopup::showDialog(const QString &channel, const QString &path, QStringList options) {
|
||
|
static QualityPopup *instance = new QualityPopup(channel, path, options);
|
||
|
|
||
|
instance->show();
|
||
|
instance->activateWindow();
|
||
|
instance->raise();
|
||
|
instance->setFocus();
|
||
|
}
|
||
|
|
||
|
void QualityPopup::okButtonClicked() {
|
||
|
QProcess::startDetached(this->path,
|
||
|
{"twitch.tv/" + this->channel, this->ui.selector.currentText()});
|
||
|
this->close();
|
||
|
}
|
||
|
|
||
|
void QualityPopup::cancelButtonClicked()
|
||
|
{
|
||
|
this->close();
|
||
|
}
|
||
|
|
||
|
} // namespace widgets
|
||
|
} // namespace chatterino
|