You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.0 KiB
96 lines
3.0 KiB
/* Diese Datei ist Teil von pmv-client <https://git.piratenpartei-sh.de>
|
|
*
|
|
* 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 <https://www.gnu.org/licenses/>.
|
|
*
|
|
* SPDX-License-Identifier: GPL-3.0-only
|
|
*/
|
|
|
|
#include "importdialog.h"
|
|
#include "ui_importdialog.h"
|
|
|
|
#include <QFileDialog>
|
|
#include <QStandardItemModel>
|
|
#include <QDebug>
|
|
|
|
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<QStandardItem *> rowdata;
|
|
// rowdata = <QStandardItemModel*>ui->tableView->model()->takeRow(0);
|
|
//ui->tableView->model()->removeRow(0);
|
|
qDebug() << ui->tableView->model();
|
|
// model().item(0));
|
|
}
|
|
else {
|
|
|
|
}
|
|
}
|
|
|