//==============================================================================
// 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();
    }