File: multitrack-video-error.cpp

package info (click to toggle)
obs-studio 30.2.3%2Bdfsg-3.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 47,928 kB
  • sloc: ansic: 202,137; cpp: 112,403; makefile: 868; python: 599; sh: 275; javascript: 19
file content (50 lines) | stat: -rw-r--r-- 1,208 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "multitrack-video-error.hpp"

#include <QMessageBox>
#include <QPushButton>
#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;
	} else if (type == Type::Critical) {
		mb.setText(error);
		mb.setIcon(QMessageBox::Critical);
		mb.setStandardButtons(
			QMessageBox::StandardButton::Ok); // cannot continue
		mb.exec();
	}

	return false;
}