Mitgliederverwaltung für einen Landesverband, Clientkomponente
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.
 
 
 
pmv-client/importdialog.cpp

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 {
}
}