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
|
||||
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
|
||||
if (!ioHandler->lagreFil(filSti, kundeKart, prosjektKart, bindinger)) {
|
||||
ErrorCodes error = ioHandler->getError();
|
||||
switch (error) {
|
||||
case ErrorCodes::SKRIVEFEIL:
|
||||
QMessageBox::critical(this, "Feil oppstod", "Kan ikke opprette databasefilen. Kontroller at du har skriverettigheter der du har oppgitt stedet på harddisken.");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
if (!filSti.isEmpty()) {
|
||||
if (!ioHandler->lagreFil(filSti, kundeKart, prosjektKart, bindinger)) {
|
||||
ErrorCodes error = ioHandler->getError();
|
||||
switch (error) {
|
||||
case ErrorCodes::SKRIVEFEIL:
|
||||
QMessageBox::critical(this, "Feil oppstod", "Kan ikke opprette databasefilen. Kontroller at du har skriverettigheter der du har oppgitt stedet på harddisken.");
|
||||
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() {
|
||||
// konstruer stien ved hjelp av QFileDialog
|
||||
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)) {
|
||||
ErrorCodes error = ioHandler->getError();
|
||||
switch (error) {
|
||||
case ErrorCodes::UGYLDIG_FIL:
|
||||
QMessageBox::critical(this, "Feil oppstod", "Dette ser ikke ut til å være en gyldig sæterprosjekt databasefil");
|
||||
break;
|
||||
case ErrorCodes::APP_VERSJONSKONFLIKT:
|
||||
QMessageBox::critical(this, "Feil oppstod", "Versjonskonflikt i programmet. Sjekk hjemmesiden for programvareoppdateringer før du prøver å åpne denne filen");
|
||||
break;
|
||||
case ErrorCodes::DB_VERSJONSKONFLIKT:
|
||||
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;
|
||||
case ErrorCodes::LESEFEIL:
|
||||
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;
|
||||
default:
|
||||
break;
|
||||
|
||||
if (!filSti.isEmpty()) {
|
||||
// invokerer lastFil fra DataHandler klassen der alle IO funksjoner ligger
|
||||
if (!ioHandler->lastFil(filSti, kundeKart, prosjektKart, bindinger)) {
|
||||
ErrorCodes error = ioHandler->getError();
|
||||
switch (error) {
|
||||
case ErrorCodes::UGYLDIG_FIL:
|
||||
QMessageBox::critical(this, "Feil oppstod", "Dette ser ikke ut til å være en gyldig sæterprosjekt databasefil");
|
||||
break;
|
||||
case ErrorCodes::APP_VERSJONSKONFLIKT:
|
||||
QMessageBox::critical(this, "Feil oppstod", "Versjonskonflikt i programmet. Sjekk hjemmesiden for programvareoppdateringer før du prøver å åpne denne filen");
|
||||
break;
|
||||
case ErrorCodes::DB_VERSJONSKONFLIKT:
|
||||
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;
|
||||
case ErrorCodes::LESEFEIL:
|
||||
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;
|
||||
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;
|
||||
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();
|
||||
// oppdater grensesnittet basert på de boolske verdiene i klassen
|
||||
oppdaterTittel();
|
||||
oppdaterUI();
|
||||
}
|
||||
|
||||
// oppdater grensesnittet basert på de boolske verdiene i klassen
|
||||
oppdaterTittel();
|
||||
oppdaterUI();
|
||||
}
|
||||
|
||||
/* oppdaterTittel():
|
||||
|
|
@ -244,10 +249,13 @@ int MainWindow::tellProsjekter() {
|
|||
*/
|
||||
|
||||
int MainWindow::hentKundeIndeksPosisjon(int kundeNummer) {
|
||||
int indeks = 0;
|
||||
for (int i = 0; i < kundeKart.size(); ++i) {
|
||||
if (kundeKart.at(i).value("id").toInt() == kundeNummer)
|
||||
return i;
|
||||
indeks = i;
|
||||
}
|
||||
|
||||
return indeks;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user