void MQLEdit::filePrint() { QPrinter printer(QPrinter::HighResolution); QPrintDialog printdlg(&printer, this); if (printdlg.exec() == QDialog::Accepted) _text->print(&printer); }
void CSVToolWindow::filePrint() { if (QMessageBox::question(this, tr("Are you sure?"), tr("<p>Printing does not work well yet. Files " "with more than a handful of columns print " "each column only a few characters wide.<p>" "Are you sure you want to print?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::Yes) { /* TODO: make this split wide files across multiple pages. */ QTextDocument textdoc(_table); QTextCursor cursor(&textdoc); QTextTableFormat tblfmt; // to avoid attempting to access text from an empty // element (pointer) QTableWidgetItem *cell; QFont docfont = textdoc.defaultFont(); docfont.setPointSize(8); textdoc.setDefaultFont(docfont); cursor.insertTable(_table->rowCount(), _table->columnCount()); if (_firstRowHeader->isChecked()) { tblfmt.setHeaderRowCount(1); for (int i = 0; i < _table->columnCount(); i++) { cell = _table->horizontalHeaderItem(i); if(cell) cursor.insertText(cell->text()); cursor.movePosition(QTextCursor::NextCell); } } for (int row = 0; row < _table->rowCount(); row++) for (int col = 0; col < _table->columnCount(); col++) { cell = _table->item(row, col); if(cell) cursor.insertText(cell->text()); cursor.movePosition(QTextCursor::NextCell); } QPrinter printer(QPrinter::HighResolution); printer.setOrientation(QPrinter::Landscape); QPrintDialog printdlg(&printer, this); if (printdlg.exec() == QDialog::Accepted) textdoc.print(&printer); } }