| 
					
				 | 
			
			
				@@ -0,0 +1,52 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |