From 8edb0851cfffc8b7f32b716c9b17b22b37547b77 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 <0xFEEDC0DE64@gmail.com> Date: Tue, 5 Dec 2017 21:16:46 +0100 Subject: [PATCH] Added many german translations --- dialogs/aboutmedialog.ui | 7 +- dialogs/authenticationdialog.ui | 7 +- dialogs/buchungdialog.ui | 15 +- dialogs/languageselectiondialog.ui | 7 +- dialogs/settingsdialog.ui | 7 +- dialogs/timeassignmentdialog.cpp | 46 +-- dialogs/timeassignmentdialog.h | 10 +- dialogs/timeassignmentdialog.ui | 25 +- main.cpp | 30 +- mainwindow.cpp | 144 ++++---- mainwindow.h | 6 +- mainwindow.ui | 4 +- models/timeassignmentsmodel.cpp | 8 +- strips/buchungstrip.ui | 8 +- strips/timeassignmentstrip.cpp | 6 +- strips/timeassignmentstrip.h | 2 +- strips/timeassignmentstrip.ui | 18 +- translations/zeiterfassung_de.qm | Bin 23 -> 7384 bytes translations/zeiterfassung_de.ts | 573 +++++++++++++++++++++++++++++ translations/zeiterfassung_en.ts | 573 +++++++++++++++++++++++++++++ zeiterfassung.cpp | 48 +-- zeiterfassung.h | 18 +- zeiterfassungsettings.cpp | 24 +- zeiterfassungsettings.h | 12 +- 24 files changed, 1388 insertions(+), 210 deletions(-) diff --git a/dialogs/aboutmedialog.ui b/dialogs/aboutmedialog.ui index b06751a..6b6bc52 100644 --- a/dialogs/aboutmedialog.ui +++ b/dialogs/aboutmedialog.ui @@ -22,8 +22,13 @@ + + + 20 + + - <h1>About me</h1> + About me diff --git a/dialogs/authenticationdialog.ui b/dialogs/authenticationdialog.ui index 5def3d0..16ff60c 100644 --- a/dialogs/authenticationdialog.ui +++ b/dialogs/authenticationdialog.ui @@ -46,8 +46,13 @@ + + + 20 + + - <h1>Authentication</h1> + Authentication diff --git a/dialogs/buchungdialog.ui b/dialogs/buchungdialog.ui index 985a5e2..fba2724 100644 --- a/dialogs/buchungdialog.ui +++ b/dialogs/buchungdialog.ui @@ -22,8 +22,13 @@ + + + 20 + + - <h1>Buchung</h1> + Buchung @@ -72,14 +77,14 @@ - HH:mm:ss + HH:mm:ss - HH:mm:ss + HH:mm:ss @@ -96,12 +101,12 @@ - K + K - G + G diff --git a/dialogs/languageselectiondialog.ui b/dialogs/languageselectiondialog.ui index 6689f15..aafb0a9 100644 --- a/dialogs/languageselectiondialog.ui +++ b/dialogs/languageselectiondialog.ui @@ -22,8 +22,13 @@ + + + 20 + + - <h1>Language selection</h1> + Language selection diff --git a/dialogs/settingsdialog.ui b/dialogs/settingsdialog.ui index e4c48f9..f93d7ff 100644 --- a/dialogs/settingsdialog.ui +++ b/dialogs/settingsdialog.ui @@ -22,8 +22,13 @@ + + + 20 + + - <h1>Settings</h1> + Settings diff --git a/dialogs/timeassignmentdialog.cpp b/dialogs/timeassignmentdialog.cpp index 2a4faf6..b04de89 100644 --- a/dialogs/timeassignmentdialog.cpp +++ b/dialogs/timeassignmentdialog.cpp @@ -7,7 +7,7 @@ #include "zeiterfassungsettings.h" -TimeAssignmentDialog::TimeAssignmentDialog(const QMap &projekte, const ZeiterfassungSettings &settings, +TimeAssignmentDialog::TimeAssignmentDialog(const QMap &projects, const ZeiterfassungSettings &settings, QWidget *parent) : QDialog(parent), ui(new Ui::TimeAssignmentDialog) @@ -15,30 +15,30 @@ TimeAssignmentDialog::TimeAssignmentDialog(const QMap &projekt ui->setupUi(this); { - for(const auto &preferedProjekt : settings.projekte()) + for(const auto &preferedProject : settings.projects()) { - if(!projekte.contains(preferedProjekt)) + if(!projects.contains(preferedProject)) { - qWarning() << "cannot find projekt" << preferedProjekt; + qWarning() << "cannot find project" << preferedProject; continue; } - ui->comboBoxProjekt->addItem(projekte.value(preferedProjekt) % " (" % preferedProjekt % ')', preferedProjekt); + ui->comboBoxProject->addItem(projects.value(preferedProject) % " (" % preferedProject % ')', preferedProject); } - if(settings.projekte().count()) - ui->comboBoxProjekt->insertSeparator(ui->comboBoxProjekt->count()); + if(settings.projects().count()) + ui->comboBoxProject->insertSeparator(ui->comboBoxProject->count()); - for(auto iter = projekte.constBegin(); iter != projekte.constEnd(); iter++) + for(auto iter = projects.constBegin(); iter != projects.constEnd(); iter++) { - if(!settings.projekte().contains(iter.key())) - ui->comboBoxProjekt->addItem(iter.value() % " (" % iter.key() % ')', iter.key()); + if(!settings.projects().contains(iter.key())) + ui->comboBoxProject->addItem(iter.value() % " (" % iter.key() % ')', iter.key()); } } - for(const auto &subprojekt : settings.subprojekte()) - ui->comboBoxSubprojekt->addItem(subprojekt); - ui->comboBoxSubprojekt->clearEditText(); + for(const auto &subproject : settings.subprojects()) + ui->comboBoxSubproject->addItem(subproject); + ui->comboBoxSubproject->clearEditText(); for(const auto &workpackage : settings.workpackages()) ui->comboBoxWorkpackage->addItem(workpackage); @@ -74,28 +74,28 @@ void TimeAssignmentDialog::setTimespan(const QTime ×pan) ui->timeEditTimespan->setTime(timespan); } -QString TimeAssignmentDialog::getProjekt() const +QString TimeAssignmentDialog::getProject() const { - return ui->comboBoxProjekt->currentData().toString(); + return ui->comboBoxProject->currentData().toString(); } -void TimeAssignmentDialog::setProjekt(const QString &projekt) +void TimeAssignmentDialog::setProject(const QString &project) { - auto index = ui->comboBoxProjekt->findData(projekt); + auto index = ui->comboBoxProject->findData(project); if(index >= 0) - ui->comboBoxProjekt->setCurrentIndex(index); + ui->comboBoxProject->setCurrentIndex(index); else - qWarning() << "could not find projekt" << projekt; + qWarning() << "could not find project" << project; } -QString TimeAssignmentDialog::getSubprojekt() const +QString TimeAssignmentDialog::getSubproject() const { - return ui->comboBoxSubprojekt->currentText(); + return ui->comboBoxSubproject->currentText(); } -void TimeAssignmentDialog::setSubprojekt(const QString &subprojekt) +void TimeAssignmentDialog::setSubproject(const QString &subproject) { - ui->comboBoxSubprojekt->setCurrentText(subprojekt); + ui->comboBoxSubproject->setCurrentText(subproject); } QString TimeAssignmentDialog::getWorkpackage() const diff --git a/dialogs/timeassignmentdialog.h b/dialogs/timeassignmentdialog.h index ddbde93..3399eb2 100644 --- a/dialogs/timeassignmentdialog.h +++ b/dialogs/timeassignmentdialog.h @@ -15,7 +15,7 @@ class TimeAssignmentDialog : public QDialog Q_OBJECT public: - explicit TimeAssignmentDialog(const QMap &projekte, const ZeiterfassungSettings &settings, + explicit TimeAssignmentDialog(const QMap &projects, const ZeiterfassungSettings &settings, QWidget *parent = 0); ~TimeAssignmentDialog(); @@ -25,11 +25,11 @@ public: QTime getTimespan() const; void setTimespan(const QTime ×pan); - QString getProjekt() const; - void setProjekt(const QString &projekt); + QString getProject() const; + void setProject(const QString &project); - QString getSubprojekt() const; - void setSubprojekt(const QString &subprojekt); + QString getSubproject() const; + void setSubproject(const QString &subproject); QString getWorkpackage() const; void setWorkpackage(const QString &workpackage); diff --git a/dialogs/timeassignmentdialog.ui b/dialogs/timeassignmentdialog.ui index 017efdb..3587f7c 100644 --- a/dialogs/timeassignmentdialog.ui +++ b/dialogs/timeassignmentdialog.ui @@ -22,8 +22,13 @@ + + + 20 + + - <h1>Time assignment</h1> + Time assignment @@ -50,19 +55,19 @@ - + - Projekt: + Project: - comboBoxProjekt + comboBoxProject - + - Subprojekt: + Subproject: @@ -83,22 +88,22 @@ - HH:mm:ss + HH:mm:ss - HH:mm:ss + HH:mm:ss - + - + true diff --git a/main.cpp b/main.cpp index b25b2cd..749d287 100755 --- a/main.cpp +++ b/main.cpp @@ -5,7 +5,7 @@ #include #include #include - +#include #include #include "zeiterfassungsettings.h" @@ -58,7 +58,7 @@ int main(int argc, char *argv[]) QCoreApplication::setApplicationVersion(QStringLiteral("1.1")); QSplashScreen splashScreen(QPixmap(":/zeiterfassung/images/splash.png")); - splashScreen.showMessage(QObject::tr("Loading settings...")); + splashScreen.showMessage(QCoreApplication::translate("main", "Loading settings...")); splashScreen.show(); ZeiterfassungSettings settings(&app); @@ -73,7 +73,9 @@ int main(int argc, char *argv[]) if(dialog.language() == QLocale::AnyLanguage) { - QMessageBox::warning(&splashScreen, QObject::tr("Invalid language selection!"), QObject::tr("You did not select a valid language!")); + QMessageBox::warning(&splashScreen, QCoreApplication::translate("main", "Invalid language selection!"), + QCoreApplication::translate("main", "Invalid language selection!") % "\n\n" % + QCoreApplication::translate("main", "You did not select a valid language.")); goto again0; } @@ -91,7 +93,7 @@ int main(int argc, char *argv[]) loadAndInstallTranslator(zeiterfassungTranslator, locale, QStringLiteral("zeiterfassung"), QStringLiteral("_"), QStringLiteral(":/zeiterfassung/translations")); - splashScreen.showMessage(QObject::tr("Loading login page...")); + splashScreen.showMessage(QCoreApplication::translate("main", "Loading login page...")); Zeiterfassung erfassung(settings.url(), &app); @@ -106,11 +108,11 @@ int main(int argc, char *argv[]) if(!eventLoop.success()) { bool ok; - QMessageBox::warning(&splashScreen, QObject::tr("Could not access Zeiterfassung"), - QObject::tr("The Zeiterfassung could not be accessed:\n\n%0").arg(eventLoop.message())); + QMessageBox::warning(&splashScreen, QCoreApplication::translate("main", "Could not access Zeiterfassung!"), + QCoreApplication::translate("main", "Could not access Zeiterfassung!") % "\n\n" % eventLoop.message()); - auto url = QInputDialog::getText(&splashScreen, QObject::tr("Base url"), - QObject::tr("Please enter the base url to the Zeiterfassung:"), + auto url = QInputDialog::getText(&splashScreen, QCoreApplication::translate("main", "Base url"), + QCoreApplication::translate("main", "Please enter the base url to the Zeiterfassung:"), QLineEdit::Normal, settings.url(), &ok); if(!ok) return -1; @@ -120,7 +122,7 @@ int main(int argc, char *argv[]) } } - splashScreen.showMessage(QObject::tr("Authenticating...")); + splashScreen.showMessage(QCoreApplication::translate("main", "Authenticating...")); if(settings.username().isNull() || settings.password().isNull()) { @@ -141,8 +143,8 @@ int main(int argc, char *argv[]) if(!eventLoop.success()) { - QMessageBox::warning(&splashScreen, QObject::tr("Could not authenticate with Zeiterfassung"), - QObject::tr("The Zeiterfassung authentication was not successful:\n\n%0").arg(eventLoop.message())); + QMessageBox::warning(&splashScreen, QCoreApplication::translate("main", "Could not authenticate with Zeiterfassung!"), + QCoreApplication::translate("main", "Could not authenticate with Zeiterfassung!") % "\n\n" % eventLoop.message()); AuthenticationDialog dialog(&splashScreen); dialog.setUsername(settings.username()); @@ -156,7 +158,7 @@ int main(int argc, char *argv[]) } } - splashScreen.showMessage(QObject::tr("Getting user information...")); + splashScreen.showMessage(QCoreApplication::translate("main", "Getting user information...")); Zeiterfassung::UserInfo userInfo; @@ -175,8 +177,8 @@ int main(int argc, char *argv[]) if(!eventLoop.success()) { - QMessageBox::warning(&splashScreen, QObject::tr("Could not get user information!"), - QObject::tr("Could not get user information:\n\n%0").arg(eventLoop.message())); + QMessageBox::warning(&splashScreen, QCoreApplication::translate("main", "Could not get user information!"), + QCoreApplication::translate("main", "Could not get user information!") % "\n\n" % eventLoop.message()); return -1; } diff --git a/mainwindow.cpp b/mainwindow.cpp index 68d8177..0f6a92a 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -78,13 +78,13 @@ MainWindow::MainWindow(ZeiterfassungSettings &settings, Zeiterfassung &erfassung ui->timeEditTime->setTime(timeNormalise(QTime::currentTime())); - connect(&m_erfassung, &Zeiterfassung::getProjekteFinished, - this, &MainWindow::getProjekteFinished); - erfassung.doGetProjekte(userInfo.userId, QDate::currentDate()); + connect(&m_erfassung, &Zeiterfassung::getProjectsFinished, + this, &MainWindow::getProjekctsFinished); + erfassung.doGetProjects(userInfo.userId, QDate::currentDate()); - ui->comboBoxProjekt->setMaxVisibleItems(10); + ui->comboBoxProject->setMaxVisibleItems(10); - ui->comboBoxSubprojekt->lineEdit()->setPlaceholderText(tr("Subprojekt")); + ui->comboBoxSubproject->lineEdit()->setPlaceholderText(tr("Subproject")); ui->comboBoxWorkpackage->lineEdit()->setPlaceholderText(tr("Workpackage")); ui->comboBoxText->lineEdit()->setPlaceholderText(tr("Text")); @@ -149,8 +149,8 @@ void MainWindow::refresh(bool forceAuswertung) ui->pushButtonPrev->setEnabled(false); ui->pushButtonNext->setEnabled(false); ui->timeEditTime->setEnabled(false); - ui->comboBoxProjekt->setEnabled(false); - ui->comboBoxSubprojekt->setEnabled(false); + ui->comboBoxProject->setEnabled(false); + ui->comboBoxSubproject->setEnabled(false); ui->comboBoxWorkpackage->setEnabled(false); ui->comboBoxText->setEnabled(false); ui->pushButtonStart->setEnabled(false); @@ -158,7 +158,7 @@ void MainWindow::refresh(bool forceAuswertung) ui->treeViewBuchungen->setEnabled(false); ui->treeViewTimeAssignments->setEnabled(false); - m_workingTimeLabel->setText(tr("%0: %1").arg(tr("Working time")).arg(tr("???"))); + m_workingTimeLabel->setText(tr("%0: %1").arg(tr("Assigned time")).arg(tr("???"))); auto waitForBuchugen = m_buchungenModel->refresh(m_userInfo.userId, ui->dateEditDate->date(), ui->dateEditDate->date()); if(waitForBuchugen) @@ -214,10 +214,10 @@ void MainWindow::refresh(bool forceAuswertung) } } -void MainWindow::getProjekteFinished(bool success, const QString &message, const QVector &projekte) +void MainWindow::getProjekctsFinished(bool success, const QString &message, const QVector &projects) { - disconnect(&m_erfassung, &Zeiterfassung::getProjekteFinished, - this, &MainWindow::getProjekteFinished); + disconnect(&m_erfassung, &Zeiterfassung::getProjectsFinished, + this, &MainWindow::getProjekctsFinished); if(!success) { @@ -225,10 +225,10 @@ void MainWindow::getProjekteFinished(bool success, const QString &message, const return; } - m_projekte.clear(); + m_projects.clear(); - for(const auto &projekt : projekte) - m_projekte.insert(projekt.value, projekt.label); + for(const auto &project : projects) + m_projects.insert(project.value, project.label); updateComboboxes(); } @@ -352,8 +352,8 @@ void MainWindow::contextMenuBuchung(const QPoint &pos) ui->pushButtonPrev->setEnabled(false); ui->pushButtonNext->setEnabled(false); ui->timeEditTime->setEnabled(false); - ui->comboBoxProjekt->setEnabled(false); - ui->comboBoxSubprojekt->setEnabled(false); + ui->comboBoxProject->setEnabled(false); + ui->comboBoxSubproject->setEnabled(false); ui->comboBoxWorkpackage->setEnabled(false); ui->comboBoxText->setEnabled(false); ui->pushButtonStart->setEnabled(false); @@ -406,8 +406,8 @@ void MainWindow::contextMenuBuchung(const QPoint &pos) ui->pushButtonPrev->setEnabled(false); ui->pushButtonNext->setEnabled(false); ui->timeEditTime->setEnabled(false); - ui->comboBoxProjekt->setEnabled(false); - ui->comboBoxSubprojekt->setEnabled(false); + ui->comboBoxProject->setEnabled(false); + ui->comboBoxSubproject->setEnabled(false); ui->comboBoxWorkpackage->setEnabled(false); ui->comboBoxText->setEnabled(false); ui->pushButtonStart->setEnabled(false); @@ -464,8 +464,8 @@ void MainWindow::contextMenuBuchung(const QPoint &pos) ui->pushButtonPrev->setEnabled(false); ui->pushButtonNext->setEnabled(false); ui->timeEditTime->setEnabled(false); - ui->comboBoxProjekt->setEnabled(false); - ui->comboBoxSubprojekt->setEnabled(false); + ui->comboBoxProject->setEnabled(false); + ui->comboBoxSubproject->setEnabled(false); ui->comboBoxWorkpackage->setEnabled(false); ui->comboBoxText->setEnabled(false); ui->pushButtonStart->setEnabled(false); @@ -513,11 +513,11 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos) auto selectedAction = menu.exec(ui->treeViewTimeAssignments->viewport()->mapToGlobal(pos)); if(selectedAction == editAction) { - TimeAssignmentDialog dialog(m_projekte, m_settings, this); + TimeAssignmentDialog dialog(m_projects, m_settings, this); dialog.setTime(timeAssignment.time); dialog.setTimespan(timeAssignment.timespan); - dialog.setProjekt(timeAssignment.projekt); - dialog.setSubprojekt(timeAssignment.subprojekt); + dialog.setProject(timeAssignment.project); + dialog.setSubproject(timeAssignment.subproject); dialog.setWorkpackage(timeAssignment.workpackage); dialog.setText(timeAssignment.text); again1: @@ -528,7 +528,7 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos) m_erfassung.doUpdateTimeAssignment(timeAssignment.id, m_userInfo.userId, ui->dateEditDate->date(), dialog.getTime(), dialog.getTimespan(), - dialog.getProjekt(), dialog.getSubprojekt(), + dialog.getProject(), dialog.getSubproject(), dialog.getWorkpackage(), dialog.getText()); eventLoop.exec(); @@ -540,16 +540,16 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos) ui->pushButtonPrev->setEnabled(false); ui->pushButtonNext->setEnabled(false); ui->timeEditTime->setEnabled(false); - ui->comboBoxProjekt->setEnabled(false); - ui->comboBoxSubprojekt->setEnabled(false); + ui->comboBoxProject->setEnabled(false); + ui->comboBoxSubproject->setEnabled(false); ui->comboBoxWorkpackage->setEnabled(false); ui->comboBoxText->setEnabled(false); ui->pushButtonStart->setEnabled(false); ui->pushButtonEnd->setEnabled(false); ui->treeViewTimeAssignments->setEnabled(false); - m_settings.prependProjekt(dialog.getProjekt()); - m_settings.prependSubprojekt(dialog.getSubprojekt()); + m_settings.prependProject(dialog.getProject()); + m_settings.prependSubproject(dialog.getSubproject()); m_settings.prependWorkpackage(dialog.getWorkpackage()); m_settings.prependText(dialog.getText()); @@ -599,8 +599,8 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos) ui->pushButtonPrev->setEnabled(false); ui->pushButtonNext->setEnabled(false); ui->timeEditTime->setEnabled(false); - ui->comboBoxProjekt->setEnabled(false); - ui->comboBoxSubprojekt->setEnabled(false); + ui->comboBoxProject->setEnabled(false); + ui->comboBoxSubproject->setEnabled(false); ui->comboBoxWorkpackage->setEnabled(false); ui->comboBoxText->setEnabled(false); ui->pushButtonStart->setEnabled(false); @@ -636,7 +636,7 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos) auto selectedAction = menu.exec(ui->treeViewTimeAssignments->viewport()->mapToGlobal(pos)); if(selectedAction == createAction) { - TimeAssignmentDialog dialog(m_projekte, m_settings, this); + TimeAssignmentDialog dialog(m_projects, m_settings, this); again2: if(dialog.exec() == QDialog::Accepted) { @@ -645,7 +645,7 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos) m_erfassung.doCreateTimeAssignment(m_userInfo.userId, ui->dateEditDate->date(), dialog.getTime(), dialog.getTimespan(), - dialog.getProjekt(), dialog.getSubprojekt(), + dialog.getProject(), dialog.getSubproject(), dialog.getWorkpackage(), dialog.getText()); eventLoop.exec(); @@ -657,16 +657,16 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos) ui->pushButtonPrev->setEnabled(false); ui->pushButtonNext->setEnabled(false); ui->timeEditTime->setEnabled(false); - ui->comboBoxProjekt->setEnabled(false); - ui->comboBoxSubprojekt->setEnabled(false); + ui->comboBoxProject->setEnabled(false); + ui->comboBoxSubproject->setEnabled(false); ui->comboBoxWorkpackage->setEnabled(false); ui->comboBoxText->setEnabled(false); ui->pushButtonStart->setEnabled(false); ui->pushButtonEnd->setEnabled(false); ui->treeViewTimeAssignments->setEnabled(false); - m_settings.prependProjekt(dialog.getProjekt()); - m_settings.prependSubprojekt(dialog.getSubprojekt()); + m_settings.prependProject(dialog.getProject()); + m_settings.prependSubproject(dialog.getSubproject()); m_settings.prependWorkpackage(dialog.getWorkpackage()); m_settings.prependText(dialog.getText()); @@ -730,7 +730,7 @@ void MainWindow::pushButtonStartPressed() m_erfassung.doUpdateTimeAssignment(timeAssignment.id, m_userInfo.userId, timeAssignment.date, timeAssignment.time, timespan, - timeAssignment.projekt, timeAssignment.subprojekt, + timeAssignment.project, timeAssignment.subproject, timeAssignment.workpackage, timeAssignment.text); eventLoop.exec(); @@ -750,7 +750,7 @@ void MainWindow::pushButtonStartPressed() m_erfassung.doCreateTimeAssignment(m_userInfo.userId, ui->dateEditDate->date(), m_timeAssignmentTime, QTime(0, 0), - ui->comboBoxProjekt->currentData().toString(), ui->comboBoxSubprojekt->currentText(), + ui->comboBoxProject->currentData().toString(), ui->comboBoxSubproject->currentText(), ui->comboBoxWorkpackage->currentText(), ui->comboBoxText->currentText()); eventLoop.exec(); @@ -761,8 +761,8 @@ void MainWindow::pushButtonStartPressed() return; } - m_settings.prependProjekt(ui->comboBoxProjekt->currentData().toString()); - m_settings.prependSubprojekt(ui->comboBoxSubprojekt->currentText()); + m_settings.prependProject(ui->comboBoxProject->currentData().toString()); + m_settings.prependSubproject(ui->comboBoxSubproject->currentText()); m_settings.prependWorkpackage(ui->comboBoxWorkpackage->currentText()); m_settings.prependText(ui->comboBoxText->currentText()); @@ -801,7 +801,7 @@ void MainWindow::pushButtonEndPressed() m_erfassung.doUpdateTimeAssignment(timeAssignment.id, m_userInfo.userId, timeAssignment.date, timeAssignment.time, timespan, - timeAssignment.projekt, timeAssignment.subprojekt, + timeAssignment.project, timeAssignment.subproject, timeAssignment.workpackage, timeAssignment.text); eventLoop.exec(); @@ -902,8 +902,8 @@ void MainWindow::validateEntries() lastTimeAssignment = &timeAssignment; - ui->verticalLayout2->addWidget(new TimeAssignmentStrip(timeAssignment.id, timeAssignment.timespan, buildProjektString(timeAssignment.projekt), - timeAssignment.subprojekt, timeAssignment.workpackage, timeAssignment.text, + ui->verticalLayout2->addWidget(new TimeAssignmentStrip(timeAssignment.id, timeAssignment.timespan, buildProjectString(timeAssignment.project), + timeAssignment.subproject, timeAssignment.workpackage, timeAssignment.text, m_settings, ui->scrollAreaWidgetContents)); if(timeAssignment.timespan == QTime(0, 0)) @@ -957,8 +957,8 @@ void MainWindow::validateEntries() lastTimeAssignment = &timeAssignment; - ui->verticalLayout2->addWidget(new TimeAssignmentStrip(timeAssignment.id, timeAssignment.timespan, buildProjektString(timeAssignment.projekt), - timeAssignment.subprojekt, timeAssignment.workpackage, timeAssignment.text, + ui->verticalLayout2->addWidget(new TimeAssignmentStrip(timeAssignment.id, timeAssignment.timespan, buildProjectString(timeAssignment.project), + timeAssignment.subproject, timeAssignment.workpackage, timeAssignment.text, m_settings, ui->scrollAreaWidgetContents)); if(timeAssignment.timespan == QTime(0, 0)) @@ -1031,8 +1031,8 @@ void MainWindow::validateEntries() lastTimeAssignment = &timeAssignment; - ui->verticalLayout2->addWidget(new TimeAssignmentStrip(timeAssignment.id, timeAssignment.timespan, buildProjektString(timeAssignment.projekt), - timeAssignment.subprojekt, timeAssignment.workpackage, timeAssignment.text, + ui->verticalLayout2->addWidget(new TimeAssignmentStrip(timeAssignment.id, timeAssignment.timespan, buildProjectString(timeAssignment.project), + timeAssignment.subproject, timeAssignment.workpackage, timeAssignment.text, m_settings, ui->scrollAreaWidgetContents)); if(timeAssignment.timespan == QTime(0, 0)) @@ -1087,7 +1087,7 @@ void MainWindow::validateEntries() after: if(errorMessage.isEmpty()) - m_workingTimeLabel->setText(tr("%0: %1").arg(tr("Working time")).arg(tr("%0h").arg(m_timeAssignmentTime.toString(QStringLiteral("HH:mm"))))); + m_workingTimeLabel->setText(tr("%0: %1").arg(tr("Assigned time")).arg(tr("%0h").arg(m_timeAssignmentTime.toString(QStringLiteral("HH:mm"))))); else { auto label = new QLabel(tr("Strip rendering aborted due error."), ui->scrollAreaWidgetContents); @@ -1106,8 +1106,8 @@ void MainWindow::validateEntries() } ui->timeEditTime->setEnabled(true); - ui->comboBoxProjekt->setEnabled(true); - ui->comboBoxSubprojekt->setEnabled(true); + ui->comboBoxProject->setEnabled(true); + ui->comboBoxSubproject->setEnabled(true); ui->comboBoxWorkpackage->setEnabled(true); ui->comboBoxText->setEnabled(true); ui->pushButtonStart->setEnabled(true); @@ -1115,40 +1115,40 @@ void MainWindow::validateEntries() void MainWindow::updateComboboxes() { - ui->comboBoxProjekt->clear(); + ui->comboBoxProject->clear(); { - auto preferedProjekte = m_settings.projekte(); + auto preferedProjects = m_settings.projects(); - for(const auto &preferedProjekt : preferedProjekte) + for(const auto &preferedProject : preferedProjects) { - if(!m_projekte.contains(preferedProjekt)) + if(!m_projects.contains(preferedProject)) { - qWarning() << "cannot find projekt" << preferedProjekt; + qWarning() << "cannot find project" << preferedProject; continue; } - ui->comboBoxProjekt->addItem(m_projekte.value(preferedProjekt) % " (" % preferedProjekt % ')', preferedProjekt); + ui->comboBoxProject->addItem(m_projects.value(preferedProject) % " (" % preferedProject % ')', preferedProject); } - if(preferedProjekte.count()) - ui->comboBoxProjekt->insertSeparator(ui->comboBoxProjekt->count()); + if(preferedProjects.count()) + ui->comboBoxProject->insertSeparator(ui->comboBoxProject->count()); - for(auto iter = m_projekte.constBegin(); iter != m_projekte.constEnd(); iter++) + for(auto iter = m_projects.constBegin(); iter != m_projects.constEnd(); iter++) { - if(!preferedProjekte.contains(iter.key())) - ui->comboBoxProjekt->addItem(iter.value() % " (" % iter.key() % ')', iter.key()); + if(!preferedProjects.contains(iter.key())) + ui->comboBoxProject->addItem(iter.value() % " (" % iter.key() % ')', iter.key()); } } - ui->comboBoxSubprojekt->clear(); + ui->comboBoxSubproject->clear(); { - auto subprojekte = m_settings.subprojekte(); - for(const auto &subprojekt : subprojekte) - ui->comboBoxSubprojekt->addItem(subprojekt); - if(subprojekte.count()) - ui->comboBoxSubprojekt->setCurrentText(QString()); + auto subprojects = m_settings.subprojects(); + for(const auto &subproject : subprojects) + ui->comboBoxSubproject->addItem(subproject); + if(subprojects.count()) + ui->comboBoxSubproject->setCurrentText(QString()); } ui->comboBoxWorkpackage->clear(); @@ -1182,13 +1182,13 @@ void MainWindow::clearStrips() } } -QString MainWindow::buildProjektString(const QString &projekt) +QString MainWindow::buildProjectString(const QString &project) { - if(m_projekte.contains(projekt)) - return m_projekte.value(projekt) % " (" % projekt % ")"; + if(m_projects.contains(project)) + return m_projects.value(project) % " (" % project % ")"; else { - qWarning() << "could not find projekt" << projekt; - return projekt; + qWarning() << "could not find project" << project; + return project; } } diff --git a/mainwindow.h b/mainwindow.h index f5f1884..68f158a 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -28,7 +28,7 @@ public: private Q_SLOTS: void refresh(bool forceAuswertung = false); - void getProjekteFinished(bool success, const QString &message, const QVector &projekte); + void getProjekctsFinished(bool success, const QString &message, const QVector &projects); void getAuswertungFinished(bool success, const QString &message, const QByteArray &content); void refreshBuchungenFinished(bool success, const QString &message); void refreshTimeAssignmentsFinished(bool success, const QString &message); @@ -42,13 +42,13 @@ private: void updateComboboxes(); void clearStrips(); - QString buildProjektString(const QString &projekt); + QString buildProjectString(const QString &project); Ui::MainWindow *ui; ZeiterfassungSettings &m_settings; Zeiterfassung &m_erfassung; const Zeiterfassung::UserInfo &m_userInfo; - QMap m_projekte; + QMap m_projects; QDate m_auswertungDate; QByteArray m_auswertung; QLabel *m_workingTimeLabel; diff --git a/mainwindow.ui b/mainwindow.ui index 43590c5..18384e3 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -68,7 +68,7 @@ - + false @@ -81,7 +81,7 @@ - + false diff --git a/models/timeassignmentsmodel.cpp b/models/timeassignmentsmodel.cpp index 9f69242..0ade0a7 100644 --- a/models/timeassignmentsmodel.cpp +++ b/models/timeassignmentsmodel.cpp @@ -35,8 +35,8 @@ QVariant TimeAssignmentsModel::data(const QModelIndex &index, int role) const case 0: return timeAssignment.id; case 1: return timeAssignment.time; case 2: return timeAssignment.timespan; - case 3: return timeAssignment.projekt; - case 4: return timeAssignment.subprojekt; + case 3: return timeAssignment.project; + case 4: return timeAssignment.subproject; case 5: return timeAssignment.workpackage; case 6: return timeAssignment.text; } @@ -59,8 +59,8 @@ QVariant TimeAssignmentsModel::headerData(int section, Qt::Orientation orientati case 0: return tr("ID"); case 1: return tr("Time"); case 2: return tr("Timespan"); - case 3: return tr("Projekt"); - case 4: return tr("Subprojekt"); + case 3: return tr("Project"); + case 4: return tr("Subproject"); case 5: return tr("Workpackage"); case 6: return tr("Text"); } diff --git a/strips/buchungstrip.ui b/strips/buchungstrip.ui index f381e60..18cf853 100644 --- a/strips/buchungstrip.ui +++ b/strips/buchungstrip.ui @@ -7,7 +7,7 @@ 0 0 500 - 52 + 54 @@ -37,7 +37,7 @@ QFrame::Sunken - TextLabel + 9:99 @@ -49,14 +49,14 @@ - TextLabel + TYPE - TextLabel + 0123456 Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing diff --git a/strips/timeassignmentstrip.cpp b/strips/timeassignmentstrip.cpp index 90d1cf3..af04e29 100644 --- a/strips/timeassignmentstrip.cpp +++ b/strips/timeassignmentstrip.cpp @@ -6,7 +6,7 @@ #include "zeiterfassungsettings.h" -TimeAssignmentStrip::TimeAssignmentStrip(int id, const QTime &duration, const QString &projekt, const QString &subprojekt, +TimeAssignmentStrip::TimeAssignmentStrip(int id, const QTime &duration, const QString &project, const QString &subproject, const QString &workpackage, const QString &text, const ZeiterfassungSettings &settings, QWidget *parent) : QFrame(parent), @@ -20,10 +20,10 @@ TimeAssignmentStrip::TimeAssignmentStrip(int id, const QTime &duration, const QS setStyleSheet(QStringLiteral("%0 { background-color: %1; }").arg(staticMetaObject.className()).arg(settings.timeAssignmentBackgroundColor())); ui->labelTime->setText(duration == QTime(0, 0) ? tr("Open") : duration.toString(QStringLiteral("HH:mm"))); - ui->labelProjekt->setText(projekt); + ui->labelProject->setText(project); ui->labelId->setText(QString::number(id)); - ui->labelSubprojekt->setText(subprojekt); + ui->labelSubproject->setText(subproject); ui->labelWorkpackage->setText(workpackage); ui->labelText->setText(text); } diff --git a/strips/timeassignmentstrip.h b/strips/timeassignmentstrip.h index 96346a2..168e288 100644 --- a/strips/timeassignmentstrip.h +++ b/strips/timeassignmentstrip.h @@ -13,7 +13,7 @@ class TimeAssignmentStrip : public QFrame Q_OBJECT public: - explicit TimeAssignmentStrip(int id, const QTime &duration, const QString &projekt, const QString &subprojekt, + explicit TimeAssignmentStrip(int id, const QTime &duration, const QString &project, const QString &subproject, const QString &workpackage, const QString &text, const ZeiterfassungSettings &settings, QWidget *parent = 0); ~TimeAssignmentStrip(); diff --git a/strips/timeassignmentstrip.ui b/strips/timeassignmentstrip.ui index effb0a0..ca01979 100644 --- a/strips/timeassignmentstrip.ui +++ b/strips/timeassignmentstrip.ui @@ -7,7 +7,7 @@ 0 0 500 - 80 + 82 @@ -42,26 +42,26 @@ QFrame::Sunken - TextLabel + 9:99 - + 15 - TextLabel + PROJECT 1 (12345) - TextLabel + 0123456 Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing @@ -73,7 +73,7 @@ - + 120 @@ -81,7 +81,7 @@ - TextLabel + Subproject @@ -94,14 +94,14 @@ - TextLabel + Workpackage - TextLabel + Text diff --git a/translations/zeiterfassung_de.qm b/translations/zeiterfassung_de.qm index 9dad8dffceb9623e88f8b96d9cd0caf25574c6fa..e5b60bd3e511d7b9a46df1637640be755baed55c 100644 GIT binary patch literal 7384 zcmcE7ks@*G{hX<16=n7(EZlq7iGhLX1_J}j6$S=oC@t*Fz@U-Az`!<_fx%gyfq|oz zfx%0Kfq~hMfx*Xxfq{1)1Ium}1_s`C2G+EF3=G1&46JLuFfgz%LTLU=5L);<1M3D; z1_l-b2rZ(+zfmfDgjSh$oVYxH8j)8%dkL9&K7Xt(9GFHKkgA5GZ zIjm_(~^82A$)wD1P@Y205J z7=(*BlCSzCLG8vMU1v0|Vz#36TCjoVSey85qR-xC~6*F)%RC<639;i-Cdh4%b~NEd~aL zVs5eTAa_jXRuE8RVBpH&R*cMWMB~e&e!@wj)6haCzF9e@;);I1A`F59fl-^RE8o31%_OP zOon8J3=WWo*cccXI2@DmOG^}TQ`s3979fL@)**g);ckyGUPFoGL$e>fkpBd5*czCQjrYg^U2Rk zS12t`Ey_#GO~qv{7efd`DnkWB36f6MkkpD2TpA=8(5=>G@MLg7(#{cDoLZ#o>4M7y zDGU=Z9nT3e1E0H<7#zXA&j5!*2}34B8bc;S6+4AOmw+bjYR*D27yqOcaN+hGfE$0Hy{pxQ1ee0&pVBLrF-SAkD=EiFsgO^I{sn!4Sew z$xwil1Xx2V3!q63Q#ludJA*5O2ZJkvA3TbfUHx1@@xlXD9$ZqCSpd#2JPh6p{tUhh zz9{NhgF_sHLa^%)VhCmMV{l?{W$;N7HRR#kFD+UDyRR%+Nc(AD&SShF)g2I5yH!(9WJTosP zzZ{%4*}xhQ6%wtnaaMTzAk=zB-7l<_i;VBAiC#Yots)s-g zr8H=z3XTi7+eM(Rs7lQ&Ni9lCEG{n1OULFJ6$V#^B8GBsRs*F#P`wPwkf6YWSd-3x zh$>#kl(NLU}G8};@!{E)3&ydFeYB+$L2QpIuR_wx^$Lm;JoSB}NnxaqwEw0g% z8y7<`IHjgAA`$WjO|{_NS!gq!MX=1e*OR;Dn^W5WwKV;KrcKfRX~h^+-NLI=D8;WynPf zoo@_j3~3CYqB;-BT}p^>$uCIFQ%FfoODxSPQ3!Bx1E-(VBCG)ufaWl4kpqeV)Cfw% zRlFfNNEzXvB1lPx9#h3wUF1fDi%?wy>ck{66oET4kerGfFh~iev>=7p1S15_s)*7T zx#(td1}8jh>5PxT2RYrqQ!SedIIUpQA_A^p(A*E#$l{uUy_NyBKT{dN9S68#X4kwF zY*xrIgfbK{7(&5qtUnAn-~tEM zhl>I?bxOd7rXa;XpJz@^YI}lcc8z4=UVKM1v1n8A?G0BJ)Y zoP-oq>8T~)ab<p6Aq6^Yg^>dp6d0-)O2M-l_%au0a5)dDuF!`LZl&gxq!uZZ zWTYx2K{K#INj{j5lBvMe2_jR4F$6>1lfjS(?udZgnhg$DP)|*PA)Nua;SBNzVzdy{ tD~7}_$fvO3xe}xhQ;EzkRY=K%^m`$LhYE=bsL_s8ICU^EFfcJP0swr34Ql`Z literal 23 fcmcE7ks@*G{hX<16=n7(EZlpygMop8iIEWihQJ9+ diff --git a/translations/zeiterfassung_de.ts b/translations/zeiterfassung_de.ts index 1552582..e792135 100644 --- a/translations/zeiterfassung_de.ts +++ b/translations/zeiterfassung_de.ts @@ -1,4 +1,577 @@ + + AboutMeDialog + + About me + Über mich + + + User-ID: + Benutzer-ID: + + + E-Mail: + E-Mail: + + + Long username: + Langer Benutzername: + + + Text: + Text: + + + Username: + Benutzername: + + + + AuthenticationDialog + + Authentication + Authentifizierung + + + Username: + Benutzername: + + + Password: + Passwort: + + + + BuchungDialog + + Buchung + + + + Time: + Zeit: + + + Timespan: + Zeitspanne: + + + Type: + Typ: + + + Text: + Text: + + + + BuchungStrip + + START + KOMMEN + + + END + GEHEN + + + UNKNOWN + UNBEKANNT + + + + BuchungenModel + + ID + ID + + + Time + Zeit + + + Timespan + Zeitspanne + + + Type + Typ + + + Text + Text + + + + LanguageSelectionDialog + + Language selection + Sprachauswahl + + + Please select a language: + Bitte wählen sie eine Sprache: + + + Language: + Sprache: + + + English + Englisch + + + German + Deutsch + + + + MainWindow + + Start + Kommen + + + End + Gehen + + + Optimized view + Optimierte Anzeige + + + Advanced view + Erweiterte Anzeige + + + Buchungen + + + + Time assignments + Kontierungen + + + &File + &Datei + + + &About + &Über + + + &View + &Ansicht + + + &Tools + &Werkzeuge + + + &Quit + &Beenden + + + About &Me + Über &mich + + + About &zeiterfassung + Über &zeiterfassung + + + About &Qt + Über &Qt + + + &Today + &Heute + + + &Refresh + &Aktualisieren + + + &Auswertung + + + + &Settings + &Einstellungen + + + Zeiterfassung - %0 (%1) + Zeiterfassung - %0 (%1) + + + Could not open auswertung! + + + + Could not open default PDF viewer! + Konnte das PDF-Anzeigeprogramm nicht öffnen! + + + Workpackage + Arbeitspaket + + + Text + Text + + + %0: %1 + %0: %1 + + + ??? + ??? + + + Unknown error occured. + + + + An unknown error occured. + + + + Balance + Saldo + + + Holidays + Urlaubsanspruch + + + Could not load Buchungen! + + + + Could not load Auswertung! + + + + %0h + %0h + + + Could not refresh Buchungen! + + + + Could not refresh time assignments! + Konnte Kontierungen nicht aktualisieren! + + + Edit + Bearbeiten + + + Delete + Löschen + + + Could not update Buchung! + + + + Could not delete Buchung! + + + + Create + Erstellen + + + Could not create Buchung! + + + + Could not update time assignment! + Konnte Kontierung nicht bearbeiten! + + + Could not delete time assignment! + Konnte Kontierung nicht löschen! + + + Could not create time assignment! + Konnte Kontierung nicht erstellen! + + + Missing Buchung. + + + + Expected start Buchung, instead got type %0 +Buchung ID: %1 + + + + Break + Pause + + + Missing time assignment. + Kontierung fehlend. + + + Expected %0 but received %1 in time assignment. +Time assignment ID: %2 + + + + There is another Buchung after an unfinished time assignment. +Buchung ID: %0 +Time assignment ID: %1 + + + + There is another time assignment after an unfinished time assignment. +Time assignment ID: %0 +Time assignment ID: %1 + + + + Switch + Wechseln + + + The last time assignment is finished without end Buchung +Time assignment ID: %0 + + + + Expected end Buchung, instead got type %0 +Buchung ID: %1 + + + + Missing time assignment(s)! Missing: %0h + + + + Time assignment time longer than Buchung time! Time assignment: %0 Buchung: %1 + + + + Strip rendering aborted due error. + + + + Illegal state! + Ungültiger Zustand! + + + Your Buchungen and time assignments for this day are in an invalid state: + +%0 + + + + Assigned time + Kontierte Zeit + + + Subproject + Subprojekt + + + + SettingsDialog + + Settings + Einstellungen + + + buchungStartBackgroundColor + + + + buchungEndBackgroundColor + + + + buchungOtherBackgroundColor + + + + timeAssignmentBackgroundColor + + + + + TimeAssignmentDialog + + Time assignment + Kontierung + + + Time: + Zeit: + + + Timespan: + Zeitspanne: + + + Workpackage: + Arbeitspaket: + + + Text: + Text: + + + Project: + Projekt: + + + Subproject: + Subprojekt: + + + + TimeAssignmentStrip + + Open + Offen + + + + TimeAssignmentsModel + + ID + ID + + + Time + Zeit + + + Timespan + Zeitspanne + + + Workpackage + Arbeitspaket + + + Text + Text + + + Project + Projekt + + + Subproject + Subprojekt + + + + Zeiterfassung + + Request error occured: %0 + + + + Could not find necessary keywords in login page! + + + + Request did not contain a Location header. + + + + Authentication failure. Please check username and password. + + + + An unknown authentication failure occured. Redirected to: %0 + + + + Parsing JSON failed: %0 + + + + JSON document is not an object! + + + + JSON does not contain evoAppsUser! + + + + evoAppsUser is not an object! + + + + JSON document is not an array! + + + + JSON does not contain bookingNr! + + + + JSON does not contain elements! + + + + elements is not an array! + + + + + main + + Loading settings... + Lade Einstellungen... + + + Invalid language selection! + Ungültige Sprachauswahl! + + + Loading login page... + Lade Login-Seite... + + + Base url + Basis URL + + + Please enter the base url to the Zeiterfassung: + Bitte geben Sie die Basis URL zur Zeiterfassung ein: + + + Authenticating... + Authentifizieren... + + + Getting user information... + Hole Benutzer Information... + + + Could not get user information! + Konnte Benutzer Information nicht holen! + + + You did not select a valid language. + Sie haben keine gültige Sprache ausgewählt. + + + Could not access Zeiterfassung! + Konnte Zeiterfassung nicht erreichen! + + + Could not authenticate with Zeiterfassung! + Konnte nicht bei Zeiterfassung authentifizieren! + + diff --git a/translations/zeiterfassung_en.ts b/translations/zeiterfassung_en.ts index bc6d6e7..156c37a 100644 --- a/translations/zeiterfassung_en.ts +++ b/translations/zeiterfassung_en.ts @@ -1,4 +1,577 @@ + + AboutMeDialog + + About me + + + + User-ID: + + + + E-Mail: + + + + Long username: + + + + Text: + + + + Username: + + + + + AuthenticationDialog + + Authentication + + + + Username: + + + + Password: + + + + + BuchungDialog + + Buchung + + + + Time: + + + + Timespan: + + + + Type: + + + + Text: + + + + + BuchungStrip + + START + + + + END + + + + UNKNOWN + + + + + BuchungenModel + + ID + + + + Time + + + + Timespan + + + + Type + + + + Text + + + + + LanguageSelectionDialog + + Language selection + + + + Please select a language: + + + + Language: + + + + English + + + + German + + + + + MainWindow + + Start + + + + End + + + + Optimized view + + + + Advanced view + + + + Buchungen + + + + Time assignments + + + + &File + + + + &About + + + + &View + + + + &Tools + + + + &Quit + + + + About &Me + + + + About &zeiterfassung + + + + About &Qt + + + + &Today + + + + &Refresh + + + + &Auswertung + + + + &Settings + + + + Zeiterfassung - %0 (%1) + + + + Could not open auswertung! + + + + Could not open default PDF viewer! + + + + Workpackage + + + + Text + + + + %0: %1 + + + + ??? + + + + Unknown error occured. + + + + An unknown error occured. + + + + Balance + + + + Holidays + + + + Could not load Buchungen! + + + + Could not load Auswertung! + + + + %0h + + + + Could not refresh Buchungen! + + + + Could not refresh time assignments! + + + + Edit + + + + Delete + + + + Could not update Buchung! + + + + Could not delete Buchung! + + + + Create + + + + Could not create Buchung! + + + + Could not update time assignment! + + + + Could not delete time assignment! + + + + Could not create time assignment! + + + + Missing Buchung. + + + + Expected start Buchung, instead got type %0 +Buchung ID: %1 + + + + Break + + + + Missing time assignment. + + + + Expected %0 but received %1 in time assignment. +Time assignment ID: %2 + + + + There is another Buchung after an unfinished time assignment. +Buchung ID: %0 +Time assignment ID: %1 + + + + There is another time assignment after an unfinished time assignment. +Time assignment ID: %0 +Time assignment ID: %1 + + + + Switch + + + + The last time assignment is finished without end Buchung +Time assignment ID: %0 + + + + Expected end Buchung, instead got type %0 +Buchung ID: %1 + + + + Missing time assignment(s)! Missing: %0h + + + + Time assignment time longer than Buchung time! Time assignment: %0 Buchung: %1 + + + + Strip rendering aborted due error. + + + + Illegal state! + + + + Your Buchungen and time assignments for this day are in an invalid state: + +%0 + + + + Assigned time + + + + Subproject + + + + + SettingsDialog + + Settings + + + + buchungStartBackgroundColor + + + + buchungEndBackgroundColor + + + + buchungOtherBackgroundColor + + + + timeAssignmentBackgroundColor + + + + + TimeAssignmentDialog + + Time assignment + + + + Time: + + + + Timespan: + + + + Workpackage: + + + + Text: + + + + Project: + + + + Subproject: + + + + + TimeAssignmentStrip + + Open + + + + + TimeAssignmentsModel + + ID + + + + Time + + + + Timespan + + + + Workpackage + + + + Text + + + + Project + + + + Subproject + + + + + Zeiterfassung + + Request error occured: %0 + + + + Could not find necessary keywords in login page! + + + + Request did not contain a Location header. + + + + Authentication failure. Please check username and password. + + + + An unknown authentication failure occured. Redirected to: %0 + + + + Parsing JSON failed: %0 + + + + JSON document is not an object! + + + + JSON does not contain evoAppsUser! + + + + evoAppsUser is not an object! + + + + JSON document is not an array! + + + + JSON does not contain bookingNr! + + + + JSON does not contain elements! + + + + elements is not an array! + + + + + main + + Loading settings... + + + + Invalid language selection! + + + + Loading login page... + + + + Base url + + + + Please enter the base url to the Zeiterfassung: + + + + Authenticating... + + + + Getting user information... + + + + Could not get user information! + + + + You did not select a valid language. + + + + Could not access Zeiterfassung! + + + + Could not authenticate with Zeiterfassung! + + + diff --git a/zeiterfassung.cpp b/zeiterfassung.cpp index 89c6627..85c8e4a 100644 --- a/zeiterfassung.cpp +++ b/zeiterfassung.cpp @@ -210,7 +210,7 @@ bool Zeiterfassung::doGetTimeAssignments(int userId, const QDate &start, const Q } bool Zeiterfassung::doCreateTimeAssignment(int userId, const QDate &date, const QTime &time, const QTime ×pan, - const QString &projekt, const QString &subprojekt, const QString &workpackage, + const QString &project, const QString &subproject, const QString &workpackage, const QString &text) { if(m_replies.createTimeAssignment) @@ -234,12 +234,12 @@ bool Zeiterfassung::doCreateTimeAssignment(int userId, const QDate &date, const QJsonArray koWertList; { QJsonObject obj; - obj[QStringLiteral("value")] = projekt; + obj[QStringLiteral("value")] = project; koWertList << obj; } { QJsonObject obj; - obj[QStringLiteral("value")] = subprojekt; + obj[QStringLiteral("value")] = subproject; koWertList << obj; } { @@ -258,7 +258,7 @@ bool Zeiterfassung::doCreateTimeAssignment(int userId, const QDate &date, const } bool Zeiterfassung::doUpdateTimeAssignment(int timeAssignmentId, int userId, const QDate &date, const QTime &time, - const QTime ×pan, const QString &projekt, const QString &subprojekt, + const QTime ×pan, const QString &project, const QString &subproject, const QString &workpackage, const QString &text) { if(m_replies.updateTimeAssignment) @@ -287,12 +287,12 @@ bool Zeiterfassung::doUpdateTimeAssignment(int timeAssignmentId, int userId, con QJsonArray koWertList; { QJsonObject obj; - obj[QStringLiteral("value")] = projekt; + obj[QStringLiteral("value")] = project; koWertList << obj; } { QJsonObject obj; - obj[QStringLiteral("value")] = subprojekt; + obj[QStringLiteral("value")] = subproject; koWertList << obj; } { @@ -330,11 +330,11 @@ bool Zeiterfassung::doDeleteTimeAssignment(int timeAssignmentId) return true; } -bool Zeiterfassung::doGetProjekte(int userId, const QDate &date) +bool Zeiterfassung::doGetProjects(int userId, const QDate &date) { - if(m_replies.getProjekte) + if(m_replies.getProjects) { - qWarning() << "another getProjekte already processing!"; + qWarning() << "another getProjects already processing!"; return false; } @@ -344,8 +344,8 @@ bool Zeiterfassung::doGetProjekte(int userId, const QDate &date) .arg(date.toString(QStringLiteral("yyyyMMdd"))))); request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar")); - m_replies.getProjekte = m_manager->get(request); - connect(m_replies.getProjekte, &QNetworkReply::finished, this, &Zeiterfassung::getProjekteRequestFinished); + m_replies.getProjects = m_manager->get(request); + connect(m_replies.getProjects, &QNetworkReply::finished, this, &Zeiterfassung::getProjectsRequestFinished); return true; } @@ -781,26 +781,26 @@ void Zeiterfassung::deleteTimeAssignmentRequestFinished() m_replies.deleteTimeAssignment = Q_NULLPTR; } -void Zeiterfassung::getProjekteRequestFinished() +void Zeiterfassung::getProjectsRequestFinished() { - if(m_replies.getProjekte->error() != QNetworkReply::NoError) + if(m_replies.getProjects->error() != QNetworkReply::NoError) { - Q_EMIT getProjekteFinished(false, tr("Request error occured: %0").arg(m_replies.getProjekte->error()), {}); + Q_EMIT getProjectsFinished(false, tr("Request error occured: %0").arg(m_replies.getProjects->error()), {}); goto end; } { QJsonParseError error; - QJsonDocument document = QJsonDocument::fromJson(m_replies.getProjekte->readAll(), &error); + QJsonDocument document = QJsonDocument::fromJson(m_replies.getProjects->readAll(), &error); if(error.error != QJsonParseError::NoError) { - Q_EMIT getProjekteFinished(false, tr("Parsing JSON failed: %0").arg(error.errorString()), {}); + Q_EMIT getProjectsFinished(false, tr("Parsing JSON failed: %0").arg(error.errorString()), {}); goto end; } if(!document.isObject()) { - Q_EMIT getProjekteFinished(false, tr("JSON document is not an object!"), {}); + Q_EMIT getProjectsFinished(false, tr("JSON document is not an object!"), {}); goto end; } @@ -808,7 +808,7 @@ void Zeiterfassung::getProjekteRequestFinished() if(!rootObj.contains(QStringLiteral("elements"))) { - Q_EMIT getProjekteFinished(false, tr("JSON does not contain elements!"), {}); + Q_EMIT getProjectsFinished(false, tr("JSON does not contain elements!"), {}); goto end; } @@ -816,29 +816,29 @@ void Zeiterfassung::getProjekteRequestFinished() if(!elements.isArray()) { - Q_EMIT getProjekteFinished(false, tr("elements is not an array!"), {}); + Q_EMIT getProjectsFinished(false, tr("elements is not an array!"), {}); goto end; } auto elementsArr = elements.toArray(); - QVector projekte; + QVector projects; for(const auto &val : elementsArr) { auto obj = val.toObject(); - projekte.append({ + projects.append({ obj.value(QStringLiteral("label")).toString(), obj.value(QStringLiteral("value")).toString() }); } - Q_EMIT getProjekteFinished(true, QString(), projekte); + Q_EMIT getProjectsFinished(true, QString(), projects); } end: - m_replies.getProjekte->deleteLater(); - m_replies.getProjekte = Q_NULLPTR; + m_replies.getProjects->deleteLater(); + m_replies.getProjects = Q_NULLPTR; } void Zeiterfassung::getAuswertungRequest0Finished() diff --git a/zeiterfassung.h b/zeiterfassung.h index 0e84f9d..dc722e5 100644 --- a/zeiterfassung.h +++ b/zeiterfassung.h @@ -47,12 +47,12 @@ public: QTime time; QTime timespan; QString text; - QString projekt; - QString subprojekt; + QString project; + QString subproject; QString workpackage; }; - struct Projekt + struct Project { QString label; QString value; @@ -72,14 +72,14 @@ public Q_SLOTS: bool doGetTimeAssignments(int userId, const QDate &start, const QDate &end); bool doCreateTimeAssignment(int userId, const QDate &date, const QTime &time, const QTime ×pan, - const QString &projekt, const QString &subprojekt, const QString &workpackage, + const QString &project, const QString &subproject, const QString &workpackage, const QString &text); bool doUpdateTimeAssignment(int timeAssignmentId, int userId, const QDate &date, const QTime &time, - const QTime ×pan, const QString &projekt, const QString &subprojekt, + const QTime ×pan, const QString &project, const QString &subproject, const QString &workpackage, const QString &text); bool doDeleteTimeAssignment(int timeAssignmentId); - bool doGetProjekte(int userId, const QDate &date); + bool doGetProjects(int userId, const QDate &date); bool doGetAuswertung(int userId, const QDate &date); Q_SIGNALS: @@ -99,7 +99,7 @@ Q_SIGNALS: void updateTimeAssignmentFinished(bool success, const QString &message, int timeAssignmentId); void deleteTimeAssignmentFinished(bool success, const QString &message); - void getProjekteFinished(bool success, const QString &message, const QVector &projekte); + void getProjectsFinished(bool success, const QString &message, const QVector &projects); void getAuswertungFinished(bool success, const QString &message, const QByteArray &content); private Q_SLOTS: @@ -117,7 +117,7 @@ private Q_SLOTS: void updateTimeAssignmentRequestFinished(); void deleteTimeAssignmentRequestFinished(); - void getProjekteRequestFinished(); + void getProjectsRequestFinished(); void getAuswertungRequest0Finished(); void getAuswertungRequest1Finished(); @@ -140,7 +140,7 @@ private: QNetworkReply *updateTimeAssignment; QNetworkReply *deleteTimeAssignment; - QNetworkReply *getProjekte; + QNetworkReply *getProjects; QNetworkReply *getAuswertung; } m_replies; }; diff --git a/zeiterfassungsettings.cpp b/zeiterfassungsettings.cpp index f1cf9b2..76dd4ab 100644 --- a/zeiterfassungsettings.cpp +++ b/zeiterfassungsettings.cpp @@ -72,34 +72,34 @@ void ZeiterfassungSettings::setPassword(const QString &password) setValue("password", password); } -QStringList ZeiterfassungSettings::projekte() const +QStringList ZeiterfassungSettings::projects() const { - return value("projekte").toStringList(); + return value("projects").toStringList(); } -void ZeiterfassungSettings::setProjekte(const QStringList &projekte) +void ZeiterfassungSettings::setProjects(const QStringList &projects) { - setValue("projekte", projekte); + setValue("projects", projects); } -void ZeiterfassungSettings::prependProjekt(const QString &projekt) +void ZeiterfassungSettings::prependProject(const QString &project) { - prepentItem("projekte", projekt); + prepentItem("projects", project); } -QStringList ZeiterfassungSettings::subprojekte() const +QStringList ZeiterfassungSettings::subprojects() const { - return value("subprojekte").toStringList(); + return value("subprojects").toStringList(); } -void ZeiterfassungSettings::setSubprojekte(const QStringList &subprojekte) +void ZeiterfassungSettings::setSubprojects(const QStringList &subprojects) { - setValue("subprojekte", subprojekte); + setValue("subprojects", subprojects); } -void ZeiterfassungSettings::prependSubprojekt(const QString &subprojekt) +void ZeiterfassungSettings::prependSubproject(const QString &subproject) { - prepentItem("subprojekte", subprojekt); + prepentItem("subprojects", subproject); } QStringList ZeiterfassungSettings::workpackages() const diff --git a/zeiterfassungsettings.h b/zeiterfassungsettings.h index 9b6c9be..7511424 100644 --- a/zeiterfassungsettings.h +++ b/zeiterfassungsettings.h @@ -30,13 +30,13 @@ public: QString password() const; void setPassword(const QString &password); - QStringList projekte() const; - void setProjekte(const QStringList &projekte); - void prependProjekt(const QString &projekt); + QStringList projects() const; + void setProjects(const QStringList &projects); + void prependProject(const QString &project); - QStringList subprojekte() const; - void setSubprojekte(const QStringList &subprojekte); - void prependSubprojekt(const QString &subprojekt); + QStringList subprojects() const; + void setSubprojects(const QStringList &subprojects); + void prependSubproject(const QString &subproject); QStringList workpackages() const; void setWorkpackages(const QStringList &workpackages);