//============================================================================== // Event filter //============================================================================== bool MainWindow::eventFilter(QObject *obj, QEvent *event) { // if disabled Background button clicked // if (obj == bgBtn && bgBtn->isEnabled() == false) if (obj == ui->bgButton && ui->bgButton->isChecked() == false) { if (event->type() == QEvent::MouseButtonRelease) { emit bgBtnClicked(); return true; } else return false; } // if disabled Logo button clicked // else if (obj == logoBtn && logoBtn->isEnabled() == false) else if (obj == ui->logoButton && ui->logoButton->isChecked() == false) { if (event->type() == QEvent::MouseButtonRelease) { emit logoBtnClicked(); return true; } else return false; } // if disabled USB button clicked // else if (obj == usbBtn && usbBtn->isEnabled() == false) else if (obj == ui->usbButton && ui->usbButton->isChecked() == false) { if (event->type() == QEvent::MouseButtonRelease) { emit usbBtnClicked(); return true; } else return false; } // if RD button clicked // else if (obj == rdBtn && rdBtn->isEnabled() == false) else if (obj == ui->rdButton && ui->rdButton->isChecked() == false) { if (event->type() == QEvent::MouseButtonRelease) { emit rdBtnClicked(); return true; } else return false; } else if (obj == previewClose) { if (event->type() == QEvent::MouseButtonPress) { closePreview(); return true; } else return false; } else return QMainWindow::eventFilter(obj, event); }
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(); }