multitrack-video-error.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "multitrack-video-error.hpp"
  2. #include <QMessageBox>
  3. #include <QPushButton>
  4. #include "obs-app.hpp"
  5. MultitrackVideoError MultitrackVideoError::critical(QString error)
  6. {
  7. return {Type::Critical, error};
  8. }
  9. MultitrackVideoError MultitrackVideoError::warning(QString error)
  10. {
  11. return {Type::Warning, error};
  12. }
  13. MultitrackVideoError MultitrackVideoError::cancel()
  14. {
  15. return {Type::Cancel, {}};
  16. }
  17. bool MultitrackVideoError::ShowDialog(
  18. QWidget *parent, const QString &multitrack_video_name) const
  19. {
  20. QMessageBox mb(parent);
  21. mb.setTextFormat(Qt::RichText);
  22. mb.setWindowTitle(QTStr("Output.StartStreamFailed"));
  23. if (type == Type::Warning) {
  24. mb.setText(
  25. error +
  26. QTStr("FailedToStartStream.WarningRetryNonMultitrackVideo")
  27. .arg(multitrack_video_name));
  28. mb.setIcon(QMessageBox::Warning);
  29. QAbstractButton *yesButton =
  30. mb.addButton(QTStr("Yes"), QMessageBox::YesRole);
  31. mb.addButton(QTStr("No"), QMessageBox::NoRole);
  32. mb.exec();
  33. return mb.clickedButton() == yesButton;
  34. } else if (type == Type::Critical) {
  35. mb.setText(error);
  36. mb.setIcon(QMessageBox::Critical);
  37. mb.setStandardButtons(
  38. QMessageBox::StandardButton::Ok); // cannot continue
  39. mb.exec();
  40. }
  41. return false;
  42. }