Saeterprosjekt/src/core/loaderdialog.cpp

49 lines
1.5 KiB
C++

#include "loaderdialog.h"
#include "ui_loaderdialog.h"
LoaderDialog::LoaderDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::LoaderDialog) {
ui->setupUi(this);
ui->labelAppVer->setText(tr("Versjon %1").arg(APP_VERSJON));
}
LoaderDialog::~LoaderDialog() {
delete ui;
}
void LoaderDialog::load() {
QFile postNummerFil(":/res/postnummerregister-ansi.txt");
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, QOverload<>::of(&LoaderDialog::timerDone));
int linjeNum = 0;
if (postNummerFil.open(QIODevice::ReadOnly)) {
QTextStream pIn(&postNummerFil);
QStringList postnrListe = pIn.readAll().split(QRegExp("[\r\n]"),QString::SkipEmptyParts);
linjeNum = postnrListe.size();
ui->progressBar->setMinimum(0);
ui->progressBar->setMaximum(linjeNum);
for (int i = 0; i < linjeNum; ++i) {
QStringList linjeVerdi = postnrListe.at(i).split(":");
ui->labelArbeidsBeskrivelse->setText(tr("Laster postkode %1 for by/sted: %2").arg(linjeVerdi.at(0).toInt()).arg(linjeVerdi.at(1)));
emit sendPostNummer(linjeVerdi.at(0).toInt(), linjeVerdi.at(1));
ui->progressBar->setValue(i + 1);
}
ui->labelArbeidsBeskrivelse->setText(tr("Alle postkoder lastet inn"));
}
postNummerFil.close();
timer->setSingleShot(true);
timer->start(7000);
}
void LoaderDialog::timerDone() {
emit finish();
this->hide();
}