mirror-chatterino2/src/widgets/qualitypopup.cpp

60 lines
1.7 KiB
C++
Raw Normal View History

#include "qualitypopup.hpp"
#include <QProcess>
namespace chatterino {
namespace widgets {
QualityPopup::QualityPopup(const QString &channel, const QString &path, QStringList options)
: BaseWindow()
2017-12-17 16:45:15 +01:00
, channel(channel)
, path(path)
{
this->ui.okButton.setText("OK");
this->ui.cancelButton.setText("Cancel");
this->setAttribute(Qt::WA_DeleteOnClose, true);
2017-12-17 16:45:15 +01:00
QObject::connect(&this->ui.okButton, &QPushButton::clicked, this,
&QualityPopup::okButtonClicked);
QObject::connect(&this->ui.cancelButton, &QPushButton::clicked, this,
2017-12-17 16:45:15 +01:00
&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);
}
2017-12-17 16:45:15 +01:00
void QualityPopup::showDialog(const QString &channel, const QString &path, QStringList options)
{
QualityPopup *instance = new QualityPopup(channel, path, options);
instance->show();
instance->activateWindow();
instance->raise();
instance->setFocus();
}
2017-12-17 16:45:15 +01:00
void QualityPopup::okButtonClicked()
{
singletons::SettingManager &settings = singletons::SettingManager::getInstance();
QProcess::startDetached(this->path,
{"twitch.tv/" + this->channel, this->ui.selector.currentText(), settings.streamlinkOpts});
this->close();
}
void QualityPopup::cancelButtonClicked()
{
this->close();
}
2017-12-17 16:45:15 +01:00
} // namespace widgets
} // namespace chatterino