obs-studio/UI/multitrack-video-error.cpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
1.2 KiB
C++
Raw Normal View History

2024-04-18 13:41:36 +00:00
#include "multitrack-video-error.hpp"
#include <QMessageBox>
#include <QPushButton>
2024-04-18 13:41:36 +00:00
#include "obs-app.hpp"
MultitrackVideoError MultitrackVideoError::critical(QString error)
{
return {Type::Critical, error};
}
MultitrackVideoError MultitrackVideoError::warning(QString error)
{
return {Type::Warning, error};
}
MultitrackVideoError MultitrackVideoError::cancel()
{
return {Type::Cancel, {}};
}
bool MultitrackVideoError::ShowDialog(
QWidget *parent, const QString &multitrack_video_name) const
{
QMessageBox mb(parent);
mb.setTextFormat(Qt::RichText);
mb.setWindowTitle(QTStr("Output.StartStreamFailed"));
if (type == Type::Warning) {
mb.setText(
error +
QTStr("FailedToStartStream.WarningRetryNonMultitrackVideo")
.arg(multitrack_video_name));
mb.setIcon(QMessageBox::Warning);
QAbstractButton *yesButton =
mb.addButton(QTStr("Yes"), QMessageBox::YesRole);
mb.addButton(QTStr("No"), QMessageBox::NoRole);
mb.exec();
return mb.clickedButton() == yesButton;
2024-04-18 13:41:36 +00:00
} else if (type == Type::Critical) {
mb.setText(error);
mb.setIcon(QMessageBox::Critical);
mb.setStandardButtons(
QMessageBox::StandardButton::Ok); // cannot continue
mb.exec();
}
return false;
}