void Exporter::seePreview() { QTextDocument *document = buildFinalDoc(); if(dialogMode == "export") { previewDialog = new QDialog(this); previewDialog->setAttribute(Qt::WA_DeleteOnClose); previewDialog->setWindowTitle(document->metaInformation(QTextDocument::DocumentTitle)); previewDialog->setMinimumSize(500,500); QVBoxLayout *layout = new QVBoxLayout; QTextBrowser *browser = new QTextBrowser; if(ui->fileTypeComboBox->currentIndex() == 2){ // if format is txt (plaintext) browser->setPlainText(document->toPlainText()); } else{ browser->setDocument(document); } QDialogButtonBox *buttons = new QDialogButtonBox((QDialogButtonBox::Ok | QDialogButtonBox::Cancel), Qt::Horizontal); connect(buttons, SIGNAL(accepted()), this, SLOT(accept())); connect(buttons, SIGNAL(rejected()), this, SLOT(closePreview())); layout->addWidget(browser); layout->addWidget(buttons); previewDialog->setLayout(layout); previewDialog->show(); } if(dialogMode == "print") { QPrinter printer; QPrintPreviewDialog printPreviewDialog(&printer, this, Qt::Dialog); connect(&printPreviewDialog, SIGNAL(paintRequested(QPrinter*)), this, SLOT(previewPrint(QPrinter*))) ; printPreviewDialog.exec(); }