/* Diese Datei ist Teil von pmv-client * * pmv-client ist Freie Software: Sie können es unter den Bedingungen * der GNU General Public License, wie von der Free Software Foundation, * Version 3 der Lizenz weiter verteilen und/oder modifizieren. * * Dieses Programm wird in der Hoffnung bereitgestellt, dass es nützlich sein * wird, jedoch OHNE JEDE GEWÄHR,; sogar ohne die implizite Gewähr der * MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. * Siehe die GNU General Public License für weitere Einzelheiten. * * Sie sollten eine Kopie der GNU General Public License zusammen mit diesem * Programm erhalten haben. Wenn nicht, siehe . * * SPDX-License-Identifier: GPL-3.0-only */ #include "importdialog.h" #include "ui_importdialog.h" #include #include #include ImportDialog::ImportDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ImportDialog) { ui->setupUi(this); } ImportDialog::~ImportDialog() { delete ui; } void ImportDialog::on_pushButton_clicked() { // CSV-Datei importieren QString separator = ","; QStandardItemModel *model = new QStandardItemModel; if (ui->radioButton_semicolon->isChecked()) { separator = ";"; } else if (ui->radioButton_tab->isChecked()) { separator = "\t"; } QFileDialog dlg; QString fn = dlg.getOpenFileName(this, "Datei auswählen", QDir::homePath(), "CSV-Dateien (*.csv);;Alle Dateien (*.*)"); if (!fn.isEmpty()) { qDebug() << "Öffne Datei: " << fn; // Daten in das tableWidget laden zur Vorschau QFile file(fn); int lineindex = 0; if (file.open(QIODevice::ReadOnly)) { QTextStream in(&file); QRegularExpression re; re.setPattern("^\"|\"$"); while (!in.atEnd()) { QString fileLine = in.readLine(); QStringList lineToken = fileLine.split(separator, Qt::SkipEmptyParts); for (int j = 0; j < lineToken.size(); j++) { QString value = lineToken.at(j); if (ui->checkBox_quotes->isChecked()) { value = value.remove(re); } QStandardItem *item = new QStandardItem(value); model->setItem(lineindex, j, item); } lineindex++; } file.close(); ui->tableView->setModel(model); } } } void ImportDialog::on_checkBox_header_toggled(bool checked) { if (checked) { // QModelIndex index = ui->tableView->model()->index(0,0); //QMap itm =ui->tableView->model()->itemData(index); QList rowdata; // rowdata = ui->tableView->model()->takeRow(0); //ui->tableView->model()->removeRow(0); qDebug() << ui->tableView->model(); // model().item(0)); } else { } }