Fikset bug #12
This commit is contained in:
parent
aeb6a5d9c7
commit
1e3c342693
|
|
@ -35,30 +35,32 @@ void MainWindow::on_actionNy_triggered() {
|
||||||
// konstruer stien ved hjelp av QFileDialog
|
// konstruer stien ved hjelp av QFileDialog
|
||||||
filSti = QFileDialog::getSaveFileName(this, "Opprett ny databasefil", "/", "Database fil (*.saeter)");
|
filSti = QFileDialog::getSaveFileName(this, "Opprett ny databasefil", "/", "Database fil (*.saeter)");
|
||||||
// invokerer lagreFil fra DataHandler klassen der alle IO funksjoner ligger, kontroller om vi kan skrive til filen
|
// invokerer lagreFil fra DataHandler klassen der alle IO funksjoner ligger, kontroller om vi kan skrive til filen
|
||||||
if (!ioHandler->lagreFil(filSti, kundeKart, prosjektKart, bindinger)) {
|
if (!filSti.isEmpty()) {
|
||||||
ErrorCodes error = ioHandler->getError();
|
if (!ioHandler->lagreFil(filSti, kundeKart, prosjektKart, bindinger)) {
|
||||||
switch (error) {
|
ErrorCodes error = ioHandler->getError();
|
||||||
case ErrorCodes::SKRIVEFEIL:
|
switch (error) {
|
||||||
QMessageBox::critical(this, "Feil oppstod", "Kan ikke opprette databasefilen. Kontroller at du har skriverettigheter der du har oppgitt stedet på harddisken.");
|
case ErrorCodes::SKRIVEFEIL:
|
||||||
break;
|
QMessageBox::critical(this, "Feil oppstod", "Kan ikke opprette databasefilen. Kontroller at du har skriverettigheter der du har oppgitt stedet på harddisken.");
|
||||||
default:
|
break;
|
||||||
break;
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Oppdaterer diverse brytere i klassen for å reflektere endringer i programmet
|
||||||
|
harFil = true;
|
||||||
|
filLagret = true;
|
||||||
|
oppdaterTittel();
|
||||||
|
oppdaterUI();
|
||||||
|
|
||||||
|
delete hest;
|
||||||
|
hest = new ArbeidsHest(this);
|
||||||
|
|
||||||
|
connect(hest, SIGNAL(alert(ProsjektFil,AlertConditions)), this, SLOT(varsle(ProsjektFil,AlertCondition)));
|
||||||
|
|
||||||
|
hest->setTidTaging(1000);
|
||||||
|
hest->settProsjekt(prosjektKart);
|
||||||
|
hest->run();
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// Oppdaterer diverse brytere i klassen for å reflektere endringer i programmet
|
|
||||||
harFil = true;
|
|
||||||
filLagret = true;
|
|
||||||
oppdaterTittel();
|
|
||||||
oppdaterUI();
|
|
||||||
|
|
||||||
delete hest;
|
|
||||||
hest = new ArbeidsHest(this);
|
|
||||||
|
|
||||||
connect(hest, SIGNAL(alert(ProsjektFil,AlertConditions)), this, SLOT(varsle(ProsjektFil,AlertCondition)));
|
|
||||||
|
|
||||||
hest->setTidTaging(1000);
|
|
||||||
hest->settProsjekt(prosjektKart);
|
|
||||||
hest->run();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,55 +73,58 @@ void MainWindow::on_actionNy_triggered() {
|
||||||
void MainWindow::on_action_pne_triggered() {
|
void MainWindow::on_action_pne_triggered() {
|
||||||
// konstruer stien ved hjelp av QFileDialog
|
// konstruer stien ved hjelp av QFileDialog
|
||||||
filSti = QFileDialog::getOpenFileName(this, "Åpne databasefil", "/", "Database fil (*.saeter)");
|
filSti = QFileDialog::getOpenFileName(this, "Åpne databasefil", "/", "Database fil (*.saeter)");
|
||||||
// invokerer lastFil fra DataHandler klassen der alle IO funksjoner ligger
|
|
||||||
if (!ioHandler->lastFil(filSti, kundeKart, prosjektKart, bindinger)) {
|
if (!filSti.isEmpty()) {
|
||||||
ErrorCodes error = ioHandler->getError();
|
// invokerer lastFil fra DataHandler klassen der alle IO funksjoner ligger
|
||||||
switch (error) {
|
if (!ioHandler->lastFil(filSti, kundeKart, prosjektKart, bindinger)) {
|
||||||
case ErrorCodes::UGYLDIG_FIL:
|
ErrorCodes error = ioHandler->getError();
|
||||||
QMessageBox::critical(this, "Feil oppstod", "Dette ser ikke ut til å være en gyldig sæterprosjekt databasefil");
|
switch (error) {
|
||||||
break;
|
case ErrorCodes::UGYLDIG_FIL:
|
||||||
case ErrorCodes::APP_VERSJONSKONFLIKT:
|
QMessageBox::critical(this, "Feil oppstod", "Dette ser ikke ut til å være en gyldig sæterprosjekt databasefil");
|
||||||
QMessageBox::critical(this, "Feil oppstod", "Versjonskonflikt i programmet. Sjekk hjemmesiden for programvareoppdateringer før du prøver å åpne denne filen");
|
break;
|
||||||
break;
|
case ErrorCodes::APP_VERSJONSKONFLIKT:
|
||||||
case ErrorCodes::DB_VERSJONSKONFLIKT:
|
QMessageBox::critical(this, "Feil oppstod", "Versjonskonflikt i programmet. Sjekk hjemmesiden for programvareoppdateringer før du prøver å åpne denne filen");
|
||||||
QMessageBox::critical(this, "Feil oppstod", "Versjonskonflikt i databasefilen. Filen du prøver å åpne er enten en eldre eller nyere versjon av hva programmet er skrevet for å håndtere. Sjekk hjemmesiden for programvareoppdateringer før du prøver å åpne denne filen");
|
break;
|
||||||
break;
|
case ErrorCodes::DB_VERSJONSKONFLIKT:
|
||||||
case ErrorCodes::LESEFEIL:
|
QMessageBox::critical(this, "Feil oppstod", "Versjonskonflikt i databasefilen. Filen du prøver å åpne er enten en eldre eller nyere versjon av hva programmet er skrevet for å håndtere. Sjekk hjemmesiden for programvareoppdateringer før du prøver å åpne denne filen");
|
||||||
QMessageBox::critical(this, "Feil oppstod", "Kunne ikke lese fra disken. Sjekk at du har de nødvenige rettighetene til katalogen og/eller filen før du åpner databasen");
|
break;
|
||||||
break;
|
case ErrorCodes::LESEFEIL:
|
||||||
default:
|
QMessageBox::critical(this, "Feil oppstod", "Kunne ikke lese fra disken. Sjekk at du har de nødvenige rettighetene til katalogen og/eller filen før du åpner databasen");
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
harFil = false;
|
||||||
|
filLagret = false;
|
||||||
|
} else { // hvis databasefilen kan åpnes, er alt fryd og gammen. Hvis ikke kan ikke denne filen brukes
|
||||||
|
// oppdater grensesnittet med antall kunder og prosjekter som er lagret i filen
|
||||||
|
oppdaterTellere();
|
||||||
|
// Oppdaterer diverse brytere i klassen for å reflektere endringer i programmet
|
||||||
|
harFil = true;
|
||||||
|
filLagret = true;
|
||||||
|
|
||||||
|
// Sjekk om kundekartoteket allerede er åpnet, hvis ikke trenger vi ikke å foreta oss noe. Hvis den er åpen må vi oppdatere tabellen
|
||||||
|
if (kListe) {
|
||||||
|
kundeW->lagKundeTabell(kundeKart);
|
||||||
|
} else if (pListe) { // Hvis prosjektkartoteket er åpen, oppdater dette grensesnittet
|
||||||
|
prosjektW->oppdaterProsjektListe(prosjektKart, bindinger, kundeKart);
|
||||||
|
}
|
||||||
|
|
||||||
|
delete hest;
|
||||||
|
hest = new ArbeidsHest(this);
|
||||||
|
|
||||||
|
connect(hest, SIGNAL(alert(ProsjektFil,AlertConditions)), this, SLOT(varsle(ProsjektFil,AlertConditions)));
|
||||||
|
|
||||||
|
hest->setTidTaging(1000);
|
||||||
|
hest->settProsjekt(prosjektKart);
|
||||||
|
hest->run();
|
||||||
}
|
}
|
||||||
|
|
||||||
harFil = false;
|
// oppdater grensesnittet basert på de boolske verdiene i klassen
|
||||||
filLagret = false;
|
oppdaterTittel();
|
||||||
} else { // hvis databasefilen kan åpnes, er alt fryd og gammen. Hvis ikke kan ikke denne filen brukes
|
oppdaterUI();
|
||||||
// oppdater grensesnittet med antall kunder og prosjekter som er lagret i filen
|
|
||||||
oppdaterTellere();
|
|
||||||
// Oppdaterer diverse brytere i klassen for å reflektere endringer i programmet
|
|
||||||
harFil = true;
|
|
||||||
filLagret = true;
|
|
||||||
|
|
||||||
// Sjekk om kundekartoteket allerede er åpnet, hvis ikke trenger vi ikke å foreta oss noe. Hvis den er åpen må vi oppdatere tabellen
|
|
||||||
if (kListe) {
|
|
||||||
kundeW->lagKundeTabell(kundeKart);
|
|
||||||
} else if (pListe) { // Hvis prosjektkartoteket er åpen, oppdater dette grensesnittet
|
|
||||||
prosjektW->oppdaterProsjektListe(prosjektKart, bindinger, kundeKart);
|
|
||||||
}
|
|
||||||
|
|
||||||
delete hest;
|
|
||||||
hest = new ArbeidsHest(this);
|
|
||||||
|
|
||||||
connect(hest, SIGNAL(alert(ProsjektFil,AlertConditions)), this, SLOT(varsle(ProsjektFil,AlertConditions)));
|
|
||||||
|
|
||||||
hest->setTidTaging(1000);
|
|
||||||
hest->settProsjekt(prosjektKart);
|
|
||||||
hest->run();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// oppdater grensesnittet basert på de boolske verdiene i klassen
|
|
||||||
oppdaterTittel();
|
|
||||||
oppdaterUI();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* oppdaterTittel():
|
/* oppdaterTittel():
|
||||||
|
|
@ -244,10 +249,13 @@ int MainWindow::tellProsjekter() {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int MainWindow::hentKundeIndeksPosisjon(int kundeNummer) {
|
int MainWindow::hentKundeIndeksPosisjon(int kundeNummer) {
|
||||||
|
int indeks = 0;
|
||||||
for (int i = 0; i < kundeKart.size(); ++i) {
|
for (int i = 0; i < kundeKart.size(); ++i) {
|
||||||
if (kundeKart.at(i).value("id").toInt() == kundeNummer)
|
if (kundeKart.at(i).value("id").toInt() == kundeNummer)
|
||||||
return i;
|
indeks = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return indeks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user