#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(); }