void SQLExecutionWidget::copySelection(QTableWidget *results_tbw, bool use_popup) { if(!results_tbw) throw Exception(ERR_OPR_NOT_ALOC_OBJECT ,__PRETTY_FUNCTION__,__FILE__,__LINE__); if(!use_popup || (use_popup && QApplication::mouseButtons()==Qt::RightButton)) { QMenu copy_menu; if(use_popup) copy_menu.addAction(trUtf8("Copy selection")); if(!use_popup || (use_popup && copy_menu.exec(QCursor::pos()))) { QList<QTableWidgetSelectionRange> sel_range=results_tbw->selectedRanges(); if(!sel_range.isEmpty()) { QTableWidgetSelectionRange selection=sel_range.at(0); //Generates the csv buffer and assigns it to application's clipboard QByteArray buf=generateCSVBuffer(results_tbw, selection.topRow(), selection.leftColumn(), selection.rowCount(), selection.columnCount()); qApp->clipboard()->setText(buf); } } } }
void SQLExecutionWidget::exportResults(QTableWidget *results_tbw) { if(!results_tbw) throw Exception(ERR_OPR_NOT_ALOC_OBJECT ,__PRETTY_FUNCTION__,__FILE__,__LINE__); QFileDialog csv_file_dlg; csv_file_dlg.setDefaultSuffix(QString("csv")); csv_file_dlg.setFileMode(QFileDialog::AnyFile); csv_file_dlg.setWindowTitle(trUtf8("Save CSV file")); csv_file_dlg.setNameFilter(trUtf8("Comma-separated values file (*.csv);;All files (*.*)")); csv_file_dlg.setModal(true); csv_file_dlg.setAcceptMode(QFileDialog::AcceptSave); csv_file_dlg.exec(); if(csv_file_dlg.result()==QDialog::Accepted) { QFile file; file.setFileName(csv_file_dlg.selectedFiles().at(0)); if(!file.open(QFile::WriteOnly)) throw Exception(Exception::getErrorMessage(ERR_FILE_DIR_NOT_ACCESSED) .arg(csv_file_dlg.selectedFiles().at(0)) , ERR_FILE_DIR_NOT_ACCESSED ,__PRETTY_FUNCTION__,__FILE__,__LINE__); file.write(generateCSVBuffer(results_tbw, 0, 0, results_tbw->rowCount(), results_tbw->columnCount())); file.close(); } }
void SQLToolWidget::exportResults(void) { csv_file_dlg.exec(); if(csv_file_dlg.result()==QDialog::Accepted) { QFile file; file.setFileName(csv_file_dlg.selectedFiles().at(0)); if(!file.open(QFile::WriteOnly)) throw Exception(Exception::getErrorMessage(ERR_FILE_DIR_NOT_ACCESSED) .arg(csv_file_dlg.selectedFiles().at(0)) , ERR_FILE_DIR_NOT_ACCESSED ,__PRETTY_FUNCTION__,__FILE__,__LINE__); file.write(generateCSVBuffer(0, 0, results_tbw->rowCount(), results_tbw->columnCount())); file.close(); } }
void SQLToolWidget::copySelection(void) { if(QApplication::mouseButtons()==Qt::RightButton) { if(copy_menu.exec(QCursor::pos())) { QList<QTableWidgetSelectionRange> sel_range=results_tbw->selectedRanges(); if(!sel_range.isEmpty()) { QTableWidgetSelectionRange selection=sel_range.at(0); //Generates the csv buffer and assigns it to application's clipboard QByteArray buf=generateCSVBuffer(selection.topRow(), selection.leftColumn(), selection.rowCount(), selection.columnCount()); qApp->clipboard()->setText(buf); } } } }