12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #include "crash-report.hpp"
- #include <QApplication>
- #include <QFontDatabase>
- #include <QPlainTextEdit>
- #include <QPushButton>
- #include <QVBoxLayout>
- #include <QHBoxLayout>
- #include <QClipboard>
- #include "qt-wrappers.hpp"
- OBSCrashReport::OBSCrashReport(QWidget *parent, const char *text)
- : QDialog(parent)
- {
- QPushButton *copyButton = new QPushButton;
- copyButton->setText("Copy crash log");
- QPushButton *exitButton = new QPushButton;
- exitButton->setText("Exit");
- textBox = new QPlainTextEdit;
- textBox->setPlainText(QT_UTF8(text));
- textBox->setLineWrapMode(QPlainTextEdit::NoWrap);
- textBox->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
- QHBoxLayout *buttonLayout = new QHBoxLayout;
- buttonLayout->addWidget(copyButton);
- buttonLayout->addWidget(exitButton);
- QVBoxLayout *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(textBox);
- mainLayout->addItem(buttonLayout);
- setLayout(mainLayout);
- QWidget::connect(copyButton, SIGNAL(clicked()), this,
- SLOT(CopyClicked()));
- QWidget::connect(exitButton, SIGNAL(clicked()), this,
- SLOT(ExitClicked()));
- resize(800, 600);
- setWindowTitle("Oops, OBS has crashed!");
- }
- void OBSCrashReport::ExitClicked()
- {
- exit(-1);
- }
- void OBSCrashReport::CopyClicked()
- {
- QApplication::clipboard()->setText(textBox->toPlainText());
- }
|