Feature plugins #9

Merged
0xFEEDC0DE64 merged 11 commits from feature-plugins into devel 2017-12-16 21:12:38 +01:00
148 changed files with 994 additions and 867 deletions
Showing only changes of commit daa7cc9405 - Show all commits

View File

@@ -1,3 +1,6 @@
TEMPLATE=subdirs
TEMPLATE = subdirs
SUBDIRS+=zeiterfassung
SUBDIRS += zeiterfassung \
zeiterfassunglib
zeiterfassung.depends += zeiterfassunglib

View File

@@ -0,0 +1,71 @@
translationsinstall.path = $${DESTDIR}/translations
translationsinstall.files = $$[QT_INSTALL_TRANSLATIONS]/qt_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtbase_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtquick1_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtscript_nen.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qt_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtbase_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtquick1_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtscript_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_de.qm \
translations/zeiterfassung_en.qm \
translations/zeiterfassung_de.qm \
../zeiterfassunglib/translations/zeiterfassunglib_en.qm \
../zeiterfassunglib/translations/zeiterfassunglib_de.qm
INSTALLS += translationsinstall
themesinstall.path = $${DESTDIR}/themes
themesinstall.files = themes/dark_theme.qss
INSTALLS += themesinstall
darkthemeinstall.path = $${DESTDIR}/themes/dark_theme
darkthemeinstall.files = themes/dark_theme/checkbox_indeterminate_disabled.png \
themes/dark_theme/radio_unchecked.png \
themes/dark_theme/up_arrow.png \
themes/dark_theme/branch_closed-on.png \
themes/dark_theme/checkbox_checked_disabled.png \
themes/dark_theme/checkbox_unchecked.png \
themes/dark_theme/checkbox_indeterminate.png \
themes/dark_theme/stylesheet-branch-more.png \
themes/dark_theme/checkbox_checked.png \
themes/dark_theme/checkbox_unchecked_disabled.png \
themes/dark_theme/radio_checked.png \
themes/dark_theme/checkbox_indeterminate_focus.png \
themes/dark_theme/checkbox_checked_focus.png \
themes/dark_theme/branch_closed.png \
themes/dark_theme/Vsepartoolbar.png \
themes/dark_theme/radio_checked_disabled.png \
themes/dark_theme/left_arrow.png \
themes/dark_theme/Vmovetoolbar.png \
themes/dark_theme/branch_open-on.png \
themes/dark_theme/close.png \
themes/dark_theme/stylesheet-branch-end.png \
themes/dark_theme/stylesheet-vline.png \
themes/dark_theme/down_arrow_disabled.png \
themes/dark_theme/radio_unchecked_disabled.png \
themes/dark_theme/left_arrow_disabled.png \
themes/dark_theme/Hmovetoolbar.png \
themes/dark_theme/close-pressed.png \
themes/dark_theme/up_arrow_disabled.png \
themes/dark_theme/branch_open.png \
themes/dark_theme/radio_checked_focus.png \
themes/dark_theme/sizegrip.png \
themes/dark_theme/checkbox_unchecked_focus.png \
themes/dark_theme/right_arrow_disabled.png \
themes/dark_theme/Hsepartoolbar.png \
themes/dark_theme/undock.png \
themes/dark_theme/transparent.png \
themes/dark_theme/close-hover.png \
themes/dark_theme/radio_unchecked_focus.png \
themes/dark_theme/down_arrow.png \
themes/dark_theme/right_arrow.png
INSTALLS += darkthemeinstall
stripsinstall.path = $${DESTDIR}/strips
stripsinstall.files = strips/bookingstartstrip.ui \
strips/bookingendstrip.ui \
strips/timeassignmentstrip.ui
INSTALLS += stripsinstall

View File

@@ -0,0 +1,3 @@
scriptsinstall.path = $${DESTDIR}
scriptsinstall.files = unix/start.sh
INSTALLS += scriptsinstall

View File

@@ -0,0 +1,31 @@
CONFIG(debug, release|debug): DEBUG_SIGN = d
libinstall.path = $${DESTDIR}
libinstall.files = win32/Qt.conf \
$$OUT_PWD/../lib/zeiterfassunglib.dll \
$$[QT_INSTALL_BINS]/Qt5Core$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_BINS]/Qt5Gui$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_BINS]/Qt5Network$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_BINS]/Qt5Widgets$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_BINS]/libgcc_s_dw2-1.dll \
$$[QT_INSTALL_BINS]/libstd~1.dll \
$$[QT_INSTALL_BINS]/libwinpthread-1.dll
INSTALLS += libinstall
iconenginesinstall.path = $$DESTDIR/plugins/iconengines
iconenginesinstall.files = $$[QT_INSTALL_PLUGINS]/iconengines/qsvgicon$${DEBUG_SIGN}.dll
imageformatsinstall.path = $$DESTDIR/plugins/imageformats
imageformatsinstall.files = $$[QT_INSTALL_PLUGINS]/imageformats/qdds$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qgif$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qicns$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qico$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qjpeg$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qsvg$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qtga$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qtiff$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qwbmp$${DEBUG_SIGN}.dll \
$$[QT_INSTALL_PLUGINS]/imageformats/qwebp$${DEBUG_SIGN}.dll
platformsinstall.path = $$DESTDIR/plugins/platforms
win32: platformsinstall.files = $$[QT_INSTALL_PLUGINS]/platforms/qwindows$${DEBUG_SIGN}.dll

View File

@@ -24,6 +24,12 @@
#include "replies/userinforeply.h"
#include "stripfactory.h"
struct {
QTranslator qtTranslator;
QTranslator zeiterfassungTranslator;
QTranslator zeiterfassunglibTranslator;
} translators;
bool loadAndInstallTranslator(QTranslator &translator,
const QLocale &locale,
const QString &filename,
@@ -72,12 +78,10 @@ bool loadTranslations(QSplashScreen &splashScreen, ZeiterfassungSettings &settin
QLocale locale(settings.language(), QLocale::Austria);
QLocale::setDefault(locale);
QTranslator qtTranslator(qApp);
QTranslator zeiterfassungTranslator(qApp);
auto translationsDir = QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(QStringLiteral("translations"));
loadAndInstallTranslator(qtTranslator, locale, QStringLiteral("qt"), QStringLiteral("_"), translationsDir);
loadAndInstallTranslator(zeiterfassungTranslator, locale, QStringLiteral("zeiterfassung"), QStringLiteral("_"), translationsDir);
loadAndInstallTranslator(translators.qtTranslator, locale, QStringLiteral("qt"), QStringLiteral("_"), translationsDir);
loadAndInstallTranslator(translators.zeiterfassungTranslator, locale, QStringLiteral("zeiterfassung"), QStringLiteral("_"), translationsDir);
loadAndInstallTranslator(translators.zeiterfassunglibTranslator, locale, QStringLiteral("zeiterfassunglib"), QStringLiteral("_"), translationsDir);
return true;
}

View File

@@ -111,141 +111,6 @@
<translation>Text</translation>
</message>
</context>
<context>
<name>CreateBookingReply</name>
<message>
<location filename="../replies/createbookingreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation>JSON Dokument ist kein Objekt!</translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation>JSON beinhaltet keine bookingNr!</translation>
</message>
</context>
<context>
<name>CreateTimeAssignmentReply</name>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation>JSON Dokument ist kein Objekt!</translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation>JSON beinhaltet keine bookingNr!</translation>
</message>
</context>
<context>
<name>DeleteBookingReply</name>
<message>
<location filename="../replies/deletebookingreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
</context>
<context>
<name>DeleteTimeAssignmentReply</name>
<message>
<location filename="../replies/deletetimeassignmentreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
</context>
<context>
<name>GetAuswertungReply</name>
<message>
<location filename="../replies/getauswertungreply.cpp" line="22"/>
<location filename="../replies/getauswertungreply.cpp" line="40"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
</context>
<context>
<name>GetBookingsReply</name>
<message>
<location filename="../replies/getbookingsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="43"/>
<source>JSON document is not an array!</source>
<translation>JSON Dokument ist keine Liste!</translation>
</message>
</context>
<context>
<name>GetProjectsReply</name>
<message>
<location filename="../replies/getprojectsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation>JSON Dokument ist kein Objekt!</translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="52"/>
<source>JSON does not contain elements!</source>
<translation>JSON beinhaltet kein elements!</translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="61"/>
<source>elements is not an array!</source>
<translation>elements ist keine Liste!</translation>
</message>
</context>
<context>
<name>GetTimeAssignmentsReply</name>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="27"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="37"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="44"/>
<source>JSON document is not an array!</source>
<translation>JSON Dokument ist keine Liste!</translation>
</message>
</context>
<context>
<name>LanguageSelectionDialog</name>
<message>
@@ -275,42 +140,6 @@
<translation>Deutsch</translation>
</message>
</context>
<context>
<name>LoginPageReply</name>
<message>
<location filename="../replies/loginpagereply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/loginpagereply.cpp" line="24"/>
<source>Could not find necessary keywords in login page!</source>
<translation>Konnte notwendiges Schlüsselwort in der Login-Seite finden!</translation>
</message>
</context>
<context>
<name>LoginReply</name>
<message>
<location filename="../replies/loginreply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="24"/>
<source>Response did not contain a Location header.</source>
<translation>Antwort enthielt keinen Location-Header.</translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="39"/>
<source>Authentication failure. Please check username and password.</source>
<translation>Authentifizierungsfehler. Bitte überprüfen Sie Benutzername und Passwort.</translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="45"/>
<source>An unknown authentication failure occured. Redirected to: %0</source>
<translation>Bei der Authentifizierung ist ein unbekannter Fehler aufgetreten. Weiterleitung nach %0</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
@@ -330,8 +159,8 @@
</message>
<message>
<location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.cpp" line="689"/>
<location filename="../mainwindow.cpp" line="700"/>
<location filename="../mainwindow.cpp" line="731"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Start</source>
<translation>Kommen</translation>
</message>
@@ -426,178 +255,180 @@
<translation>Hilfe</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="62"/>
<location filename="../mainwindow.cpp" line="63"/>
<source>Zeiterfassung - %0 (%1)</source>
<translation>Zeiterfassung - %0 (%1)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="638"/>
<location filename="../mainwindow.cpp" line="647"/>
<location filename="../mainwindow.cpp" line="652"/>
<location filename="../mainwindow.cpp" line="661"/>
<source>Could not open auswertung!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="647"/>
<location filename="../mainwindow.cpp" line="661"/>
<source>Could not open default PDF viewer!</source>
<translation>Konnte den PDF-Anzeiger nicht öffnen!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="93"/>
<location filename="../mainwindow.cpp" line="94"/>
<source>Subproject</source>
<translation>Subprojekt</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="94"/>
<location filename="../mainwindow.cpp" line="95"/>
<source>Workpackage</source>
<translation>Arbeitspaket</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="95"/>
<location filename="../mainwindow.cpp" line="96"/>
<source>Text</source>
<translation>Text</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="200"/>
<location filename="../mainwindow.cpp" line="201"/>
<location filename="../mainwindow.cpp" line="706"/>
<location filename="../mainwindow.cpp" line="707"/>
<location filename="../mainwindow.cpp" line="214"/>
<location filename="../mainwindow.cpp" line="215"/>
<location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>%0: %1</source>
<translation>%0: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="706"/>
<location filename="../mainwindow.cpp" line="707"/>
<location filename="../mainwindow.cpp" line="111"/>
<location filename="../mainwindow.cpp" line="668"/>
<location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>???</source>
<translation>???</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="200"/>
<location filename="../mainwindow.cpp" line="706"/>
<location filename="../mainwindow.cpp" line="214"/>
<location filename="../mainwindow.cpp" line="748"/>
<source>Balance</source>
<translation>Saldo</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="201"/>
<location filename="../mainwindow.cpp" line="707"/>
<location filename="../mainwindow.cpp" line="215"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>Holidays</source>
<translation>Urlaubstage</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="140"/>
<location filename="../mainwindow.cpp" line="141"/>
<location filename="../mainwindow.cpp" line="154"/>
<location filename="../mainwindow.cpp" line="155"/>
<source>Could not load bookings!</source>
<translation>Konnte Buchungen nicht laden!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="162"/>
<location filename="../mainwindow.cpp" line="176"/>
<source>Could not load Auswertung!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="194"/>
<location filename="../mainwindow.cpp" line="208"/>
<source>%0h</source>
<translation>%0h</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="307"/>
<location filename="../mainwindow.cpp" line="321"/>
<source>Could not delete booking!</source>
<translation>Konnte Buchung nicht löschen!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="254"/>
<location filename="../mainwindow.cpp" line="268"/>
<source>Edit booking</source>
<translation>Buchung bearbeiten</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="255"/>
<location filename="../mainwindow.cpp" line="269"/>
<source>Delete booking</source>
<translation>Buchung löschen</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="283"/>
<location filename="../mainwindow.cpp" line="297"/>
<source>Could not edit booking!</source>
<translation>Konnte Buchung nicht bearbeiten!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="213"/>
<location filename="../mainwindow.cpp" line="227"/>
<source>Create booking</source>
<translation>Buchung erstellen</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="170"/>
<location filename="../mainwindow.cpp" line="181"/>
<location filename="../mainwindow.cpp" line="184"/>
<location filename="../mainwindow.cpp" line="195"/>
<source>n/a</source>
<translation>n/v</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="214"/>
<location filename="../mainwindow.cpp" line="228"/>
<source>Refresh bookings</source>
<translation>Buchungen aktualisieren</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="239"/>
<location filename="../mainwindow.cpp" line="444"/>
<location filename="../mainwindow.cpp" line="566"/>
<location filename="../mainwindow.cpp" line="253"/>
<location filename="../mainwindow.cpp" line="458"/>
<location filename="../mainwindow.cpp" line="580"/>
<source>Could not create booking!</source>
<translation>Konnte Buchung nicht erstellen!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="291"/>
<location filename="../mainwindow.cpp" line="305"/>
<source>Do you really want to delete the booking?</source>
<translation>Möchten Sie die Buchung wirklich löschen?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="321"/>
<location filename="../mainwindow.cpp" line="335"/>
<source>Refresh time assignments</source>
<translation>Kontierungen aktualisieren</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="361"/>
<location filename="../mainwindow.cpp" line="375"/>
<source>Edit time assignment</source>
<translation>Kontierung bearbeiten</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="362"/>
<location filename="../mainwindow.cpp" line="376"/>
<source>Delete time assignment</source>
<translation>Kontierung löschen</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="393"/>
<location filename="../mainwindow.cpp" line="476"/>
<location filename="../mainwindow.cpp" line="547"/>
<location filename="../mainwindow.cpp" line="407"/>
<location filename="../mainwindow.cpp" line="490"/>
<location filename="../mainwindow.cpp" line="561"/>
<source>Could not edit time assignment!</source>
<translation>Konnte Kontierung nicht bearbeiten!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="401"/>
<location filename="../mainwindow.cpp" line="415"/>
<source>Do you really want to delete the time assignment?</source>
<translation>Möchten Sie die Kontierung wirklich löschen?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="419"/>
<location filename="../mainwindow.cpp" line="433"/>
<source>Could not delete time assignment!</source>
<translation>Konnte Kontierung nicht löschen!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="732"/>
<location filename="../mainwindow.cpp" line="741"/>
<location filename="../mainwindow.cpp" line="774"/>
<location filename="../mainwindow.cpp" line="783"/>
<source>%0 (%1)</source>
<translation>%0 (%1)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="320"/>
<location filename="../mainwindow.cpp" line="334"/>
<source>Create time assignment</source>
<translation>Kontierung erstellen</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="346"/>
<location filename="../mainwindow.cpp" line="497"/>
<location filename="../mainwindow.cpp" line="360"/>
<location filename="../mainwindow.cpp" line="511"/>
<source>Could not create time assignment!</source>
<translation>Konnte Kontierung nicht erstellen!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="689"/>
<location filename="../mainwindow.cpp" line="700"/>
<location filename="../mainwindow.cpp" line="731"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Switch</source>
<translation>Wechseln</translation>
</message>
@@ -941,29 +772,6 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation>Text</translation>
</message>
</context>
<context>
<name>UpdateBookingReply</name>
<message>
<location filename="../replies/updatebookingreply.cpp" line="21"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="31"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="38"/>
<source>JSON document is not an object!</source>
<translation>JSON Dokument ist kein Objekt!</translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="47"/>
<source>JSON does not contain bookingNr!</source>
<translation>JSON beinhaltet keine bookingNr!</translation>
</message>
</context>
<context>
<name>UpdateDialog</name>
<message>
@@ -983,62 +791,11 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation>Heute nicht mehr anzeigen</translation>
</message>
<message>
<location filename="../dialogs/updatedialog.cpp" line="95"/>
<location filename="../dialogs/updatedialog.cpp" line="97"/>
<source>Could not open default webbrowser!</source>
<translation>Konnte den Standard-Browser nicht öffnen!</translation>
</message>
</context>
<context>
<name>UpdateTimeAssignmentReply</name>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation>JSON Dokument ist kein Objekt!</translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation>JSON beinhaltet keine bookingNr!</translation>
</message>
</context>
<context>
<name>UserInfoReply</name>
<message>
<location filename="../replies/userinforeply.cpp" line="25"/>
<source>Request error occured: %0</source>
<translation>Fehler bei Anfrage aufgetreten: %0</translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="35"/>
<source>Parsing JSON failed: %0</source>
<translation>JSON konnte nicht geparst werden: %0</translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="42"/>
<source>JSON document is not an object!</source>
<translation>JSON Dokument ist kein Objekt!</translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="51"/>
<source>JSON does not contain evoAppsUser!</source>
<translation>JSON beinhaltet kein evoAppsUser!</translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="60"/>
<source>evoAppsUser is not an object!</source>
<translation>evoAppsUser ist kein Objekt!</translation>
</message>
</context>
<context>
<name>bookingEndStrip</name>
<message>
@@ -1058,101 +815,101 @@ Your bookings and time assignments for this day are in an illegal state!</source
<context>
<name>main</name>
<message>
<location filename="../main.cpp" line="71"/>
<location filename="../main.cpp" line="293"/>
<source>Loading settings...</source>
<translation>Lade Einstellungen...</translation>
</message>
<message>
<location filename="../main.cpp" line="76"/>
<location filename="../main.cpp" line="51"/>
<source>Loading translations...</source>
<translation>Lade Übersetzungen...</translation>
</message>
<message>
<location filename="../main.cpp" line="88"/>
<location filename="../main.cpp" line="89"/>
<location filename="../main.cpp" line="63"/>
<location filename="../main.cpp" line="64"/>
<source>Invalid language selection!</source>
<translation>Ungültige Sprachauswahl!</translation>
</message>
<message>
<location filename="../main.cpp" line="90"/>
<location filename="../main.cpp" line="65"/>
<source>You did not select a valid language!</source>
<translation>Sie haben keine gültige Sprachauswahl getroffen!</translation>
</message>
<message>
<location filename="../main.cpp" line="111"/>
<location filename="../main.cpp" line="88"/>
<source>Loading theme...</source>
<translation>Lade Aussehen...</translation>
</message>
<message>
<location filename="../main.cpp" line="119"/>
<location filename="../main.cpp" line="120"/>
<location filename="../main.cpp" line="127"/>
<location filename="../main.cpp" line="128"/>
<location filename="../main.cpp" line="99"/>
<location filename="../main.cpp" line="100"/>
<location filename="../main.cpp" line="107"/>
<location filename="../main.cpp" line="108"/>
<source>Could not load theme!</source>
<translation>Konnte Aussehen nicht laden!</translation>
</message>
<message>
<location filename="../main.cpp" line="121"/>
<location filename="../main.cpp" line="101"/>
<source>Theme file does not exist!</source>
<translation>Aussehen-Datei existiert nicht!</translation>
</message>
<message>
<location filename="../main.cpp" line="139"/>
<location filename="../main.cpp" line="165"/>
<source>Loading login page...</source>
<translation>Lade Login-Seite...</translation>
</message>
<message>
<location filename="../main.cpp" line="156"/>
<location filename="../main.cpp" line="157"/>
<location filename="../main.cpp" line="178"/>
<location filename="../main.cpp" line="179"/>
<source>Could not access Zeiterfassung!</source>
<translation>Konnte Zeiterfassung nicht erreichen!</translation>
</message>
<message>
<location filename="../main.cpp" line="159"/>
<location filename="../main.cpp" line="182"/>
<source>Base url</source>
<translation>Basis URL</translation>
</message>
<message>
<location filename="../main.cpp" line="160"/>
<location filename="../main.cpp" line="183"/>
<source>Please enter the base url to the Zeiterfassung:</source>
<translation>Bitte geben Sie die Basis URL zur Zeiterfassung ein:</translation>
</message>
<message>
<location filename="../main.cpp" line="171"/>
<location filename="../main.cpp" line="200"/>
<source>Authenticating...</source>
<translation>Authentifiziere...</translation>
</message>
<message>
<location filename="../main.cpp" line="194"/>
<location filename="../main.cpp" line="195"/>
<location filename="../main.cpp" line="225"/>
<location filename="../main.cpp" line="226"/>
<source>Could not authenticate with Zeiterfassung!</source>
<translation>Konnte nicht mit Zeiterfassung authentifizieren!</translation>
</message>
<message>
<location filename="../main.cpp" line="209"/>
<location filename="../main.cpp" line="247"/>
<source>Getting user information...</source>
<translation>Hole Benutzer Information...</translation>
</message>
<message>
<location filename="../main.cpp" line="224"/>
<location filename="../main.cpp" line="225"/>
<location filename="../main.cpp" line="260"/>
<location filename="../main.cpp" line="261"/>
<source>Could not get user information!</source>
<translation>Konnte Benutzer Information nicht holen!</translation>
</message>
<message>
<location filename="../main.cpp" line="232"/>
<location filename="../main.cpp" line="121"/>
<source>Loading strip layouts...</source>
<translation>Lade Streifenlayouts...</translation>
</message>
<message>
<location filename="../main.cpp" line="237"/>
<location filename="../main.cpp" line="238"/>
<location filename="../main.cpp" line="246"/>
<location filename="../main.cpp" line="247"/>
<location filename="../main.cpp" line="256"/>
<location filename="../main.cpp" line="257"/>
<location filename="../main.cpp" line="266"/>
<location filename="../main.cpp" line="267"/>
<location filename="../main.cpp" line="125"/>
<location filename="../main.cpp" line="126"/>
<location filename="../main.cpp" line="134"/>
<location filename="../main.cpp" line="135"/>
<location filename="../main.cpp" line="144"/>
<location filename="../main.cpp" line="145"/>
<location filename="../main.cpp" line="154"/>
<location filename="../main.cpp" line="155"/>
<source>Could not load strips!</source>
<translation>Konnte Streifenlayouts nicht laden!</translation>
</message>

View File

@@ -111,141 +111,6 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateBookingReply</name>
<message>
<location filename="../replies/createbookingreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateTimeAssignmentReply</name>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeleteBookingReply</name>
<message>
<location filename="../replies/deletebookingreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeleteTimeAssignmentReply</name>
<message>
<location filename="../replies/deletetimeassignmentreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetAuswertungReply</name>
<message>
<location filename="../replies/getauswertungreply.cpp" line="22"/>
<location filename="../replies/getauswertungreply.cpp" line="40"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetBookingsReply</name>
<message>
<location filename="../replies/getbookingsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="43"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetProjectsReply</name>
<message>
<location filename="../replies/getprojectsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="52"/>
<source>JSON does not contain elements!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="61"/>
<source>elements is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetTimeAssignmentsReply</name>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="27"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="37"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="44"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LanguageSelectionDialog</name>
<message>
@@ -275,42 +140,6 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoginPageReply</name>
<message>
<location filename="../replies/loginpagereply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginpagereply.cpp" line="24"/>
<source>Could not find necessary keywords in login page!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoginReply</name>
<message>
<location filename="../replies/loginreply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="24"/>
<source>Response did not contain a Location header.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="39"/>
<source>Authentication failure. Please check username and password.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="45"/>
<source>An unknown authentication failure occured. Redirected to: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
@@ -330,8 +159,8 @@
</message>
<message>
<location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.cpp" line="689"/>
<location filename="../mainwindow.cpp" line="700"/>
<location filename="../mainwindow.cpp" line="731"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
@@ -426,178 +255,180 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="62"/>
<location filename="../mainwindow.cpp" line="63"/>
<source>Zeiterfassung - %0 (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="638"/>
<location filename="../mainwindow.cpp" line="647"/>
<location filename="../mainwindow.cpp" line="652"/>
<location filename="../mainwindow.cpp" line="661"/>
<source>Could not open auswertung!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="647"/>
<location filename="../mainwindow.cpp" line="661"/>
<source>Could not open default PDF viewer!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="93"/>
<location filename="../mainwindow.cpp" line="94"/>
<source>Subproject</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="94"/>
<location filename="../mainwindow.cpp" line="95"/>
<source>Workpackage</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="95"/>
<location filename="../mainwindow.cpp" line="96"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="200"/>
<location filename="../mainwindow.cpp" line="201"/>
<location filename="../mainwindow.cpp" line="706"/>
<location filename="../mainwindow.cpp" line="707"/>
<location filename="../mainwindow.cpp" line="214"/>
<location filename="../mainwindow.cpp" line="215"/>
<location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>%0: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="706"/>
<location filename="../mainwindow.cpp" line="707"/>
<location filename="../mainwindow.cpp" line="111"/>
<location filename="../mainwindow.cpp" line="668"/>
<location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>???</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="200"/>
<location filename="../mainwindow.cpp" line="706"/>
<location filename="../mainwindow.cpp" line="214"/>
<location filename="../mainwindow.cpp" line="748"/>
<source>Balance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="201"/>
<location filename="../mainwindow.cpp" line="707"/>
<location filename="../mainwindow.cpp" line="215"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>Holidays</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="140"/>
<location filename="../mainwindow.cpp" line="141"/>
<location filename="../mainwindow.cpp" line="154"/>
<location filename="../mainwindow.cpp" line="155"/>
<source>Could not load bookings!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="162"/>
<location filename="../mainwindow.cpp" line="176"/>
<source>Could not load Auswertung!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="194"/>
<location filename="../mainwindow.cpp" line="208"/>
<source>%0h</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="307"/>
<location filename="../mainwindow.cpp" line="321"/>
<source>Could not delete booking!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="254"/>
<location filename="../mainwindow.cpp" line="268"/>
<source>Edit booking</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="255"/>
<location filename="../mainwindow.cpp" line="269"/>
<source>Delete booking</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="283"/>
<location filename="../mainwindow.cpp" line="297"/>
<source>Could not edit booking!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="213"/>
<location filename="../mainwindow.cpp" line="227"/>
<source>Create booking</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="170"/>
<location filename="../mainwindow.cpp" line="181"/>
<location filename="../mainwindow.cpp" line="184"/>
<location filename="../mainwindow.cpp" line="195"/>
<source>n/a</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="214"/>
<location filename="../mainwindow.cpp" line="228"/>
<source>Refresh bookings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="239"/>
<location filename="../mainwindow.cpp" line="444"/>
<location filename="../mainwindow.cpp" line="566"/>
<location filename="../mainwindow.cpp" line="253"/>
<location filename="../mainwindow.cpp" line="458"/>
<location filename="../mainwindow.cpp" line="580"/>
<source>Could not create booking!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="291"/>
<location filename="../mainwindow.cpp" line="305"/>
<source>Do you really want to delete the booking?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="321"/>
<location filename="../mainwindow.cpp" line="335"/>
<source>Refresh time assignments</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="361"/>
<location filename="../mainwindow.cpp" line="375"/>
<source>Edit time assignment</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="362"/>
<location filename="../mainwindow.cpp" line="376"/>
<source>Delete time assignment</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="393"/>
<location filename="../mainwindow.cpp" line="476"/>
<location filename="../mainwindow.cpp" line="547"/>
<location filename="../mainwindow.cpp" line="407"/>
<location filename="../mainwindow.cpp" line="490"/>
<location filename="../mainwindow.cpp" line="561"/>
<source>Could not edit time assignment!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="401"/>
<location filename="../mainwindow.cpp" line="415"/>
<source>Do you really want to delete the time assignment?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="419"/>
<location filename="../mainwindow.cpp" line="433"/>
<source>Could not delete time assignment!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="732"/>
<location filename="../mainwindow.cpp" line="741"/>
<location filename="../mainwindow.cpp" line="774"/>
<location filename="../mainwindow.cpp" line="783"/>
<source>%0 (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="320"/>
<location filename="../mainwindow.cpp" line="334"/>
<source>Create time assignment</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="346"/>
<location filename="../mainwindow.cpp" line="497"/>
<location filename="../mainwindow.cpp" line="360"/>
<location filename="../mainwindow.cpp" line="511"/>
<source>Could not create time assignment!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="689"/>
<location filename="../mainwindow.cpp" line="700"/>
<location filename="../mainwindow.cpp" line="731"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Switch</source>
<translation type="unfinished"></translation>
</message>
@@ -941,29 +772,6 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UpdateBookingReply</name>
<message>
<location filename="../replies/updatebookingreply.cpp" line="21"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="31"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="38"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="47"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UpdateDialog</name>
<message>
@@ -983,62 +791,11 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../dialogs/updatedialog.cpp" line="95"/>
<location filename="../dialogs/updatedialog.cpp" line="97"/>
<source>Could not open default webbrowser!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UpdateTimeAssignmentReply</name>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UserInfoReply</name>
<message>
<location filename="../replies/userinforeply.cpp" line="25"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="35"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="42"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="51"/>
<source>JSON does not contain evoAppsUser!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="60"/>
<source>evoAppsUser is not an object!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>bookingEndStrip</name>
<message>
@@ -1058,101 +815,101 @@ Your bookings and time assignments for this day are in an illegal state!</source
<context>
<name>main</name>
<message>
<location filename="../main.cpp" line="71"/>
<location filename="../main.cpp" line="293"/>
<source>Loading settings...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="76"/>
<location filename="../main.cpp" line="51"/>
<source>Loading translations...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="88"/>
<location filename="../main.cpp" line="89"/>
<location filename="../main.cpp" line="63"/>
<location filename="../main.cpp" line="64"/>
<source>Invalid language selection!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="90"/>
<location filename="../main.cpp" line="65"/>
<source>You did not select a valid language!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="111"/>
<location filename="../main.cpp" line="88"/>
<source>Loading theme...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="119"/>
<location filename="../main.cpp" line="120"/>
<location filename="../main.cpp" line="127"/>
<location filename="../main.cpp" line="128"/>
<location filename="../main.cpp" line="99"/>
<location filename="../main.cpp" line="100"/>
<location filename="../main.cpp" line="107"/>
<location filename="../main.cpp" line="108"/>
<source>Could not load theme!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="121"/>
<location filename="../main.cpp" line="101"/>
<source>Theme file does not exist!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="139"/>
<location filename="../main.cpp" line="165"/>
<source>Loading login page...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="156"/>
<location filename="../main.cpp" line="157"/>
<location filename="../main.cpp" line="178"/>
<location filename="../main.cpp" line="179"/>
<source>Could not access Zeiterfassung!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="159"/>
<location filename="../main.cpp" line="182"/>
<source>Base url</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="160"/>
<location filename="../main.cpp" line="183"/>
<source>Please enter the base url to the Zeiterfassung:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="171"/>
<location filename="../main.cpp" line="200"/>
<source>Authenticating...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="194"/>
<location filename="../main.cpp" line="195"/>
<location filename="../main.cpp" line="225"/>
<location filename="../main.cpp" line="226"/>
<source>Could not authenticate with Zeiterfassung!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="209"/>
<location filename="../main.cpp" line="247"/>
<source>Getting user information...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="224"/>
<location filename="../main.cpp" line="225"/>
<location filename="../main.cpp" line="260"/>
<location filename="../main.cpp" line="261"/>
<source>Could not get user information!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="232"/>
<location filename="../main.cpp" line="121"/>
<source>Loading strip layouts...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="237"/>
<location filename="../main.cpp" line="238"/>
<location filename="../main.cpp" line="246"/>
<location filename="../main.cpp" line="247"/>
<location filename="../main.cpp" line="256"/>
<location filename="../main.cpp" line="257"/>
<location filename="../main.cpp" line="266"/>
<location filename="../main.cpp" line="267"/>
<location filename="../main.cpp" line="125"/>
<location filename="../main.cpp" line="126"/>
<location filename="../main.cpp" line="134"/>
<location filename="../main.cpp" line="135"/>
<location filename="../main.cpp" line="144"/>
<location filename="../main.cpp" line="145"/>
<location filename="../main.cpp" line="154"/>
<location filename="../main.cpp" line="155"/>
<source>Could not load strips!</source>
<translation type="unfinished"></translation>
</message>

1
zeiterfassung/unix/start.sh Executable file
View File

@@ -0,0 +1 @@
LD_LIBRARY_PATH=../lib ./zeiterfassung

View File

View File

@@ -1,18 +1,19 @@
QT += network gui widgets uitools
TARGET = zeiterfassung
TEMPLATE = app
CONFIG += c++14
CONFIG -= app_bundle
# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
DESTDIR = $${OUT_PWD}/../bin
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
LIBS += -L$$OUT_PWD/../lib -lzeiterfassunglib
INCLUDEPATH += $$PWD/../zeiterfassunglib
DEPENDPATH += $$PWD/../zeiterfassunglib
DEFINES += QT_DEPRECATED_WARNINGS QT_DISABLE_DEPRECATED_BEFORE=0x060000 QT_MESSAGELOGCONTEXT
RC_ICONS = icon.ico
@@ -30,23 +31,7 @@ SOURCES += main.cpp \
dialogs/updatedialog.cpp \
stripswidget.cpp \
timeutils.cpp \
stripfactory.cpp \
zeiterfassungapi.cpp \
replies/loginpagereply.cpp \
replies/loginreply.cpp \
replies/userinforeply.cpp \
replies/getbookingsreply.cpp \
replies/createbookingreply.cpp \
replies/updatebookingreply.cpp \
replies/deletebookingreply.cpp \
replies/gettimeassignmentsreply.cpp \
replies/createtimeassignmentreply.cpp \
replies/updatetimeassignmentreply.cpp \
replies/getprojectsreply.cpp \
replies/getauswertungreply.cpp \
replies/zeiterfassungreply.cpp \
replies/deletetimeassignmentreply.cpp \
replies/getpresencestatusreply.cpp
stripfactory.cpp
HEADERS += \
mainwindow.h \
@@ -62,24 +47,7 @@ HEADERS += \
dialogs/updatedialog.h \
stripswidget.h \
timeutils.h \
stripfactory.h \
zeiterfassungapi.h \
replies/loginpagereply.h \
replies/loginreply.h \
replies/userinforeply.h \
replies/getbookingsreply.h \
replies/createbookingreply.h \
replies/updatebookingreply.h \
replies/deletebookingreply.h \
replies/gettimeassignmentsreply.h \
replies/createtimeassignmentreply.h \
replies/updatetimeassignmentreply.h \
replies/getprojectsreply.h \
replies/getauswertungreply.h \
replies/zeiterfassungreply.h \
replies/deletetimeassignmentreply.h \
cpp14polyfills.h \
replies/getpresencestatusreply.h
stripfactory.h
FORMS += \
mainwindow.ui \
@@ -98,89 +66,6 @@ TRANSLATIONS += \
translations/zeiterfassung_en.ts \
translations/zeiterfassung_de.ts
win32 {
CONFIG(debug, release|debug) {
translationsinstall.path = $${OUT_PWD}/debug/translations
themesinstall.path = $${OUT_PWD}/debug/themes
darkthemeinstall.path = $${OUT_PWD}/debug/themes/dark_theme
stripsinstall.path = $${OUT_PWD}/debug/strips
} else {
translationsinstall.path = $${OUT_PWD}/release/translations
themesinstall.path = $${OUT_PWD}/release/themes
darkthemeinstall.path = $${OUT_PWD}/release/themes/dark_theme
stripsinstall.path = $${OUT_PWD}/release/strips
}
}
unix {
translationsinstall.path = $${OUT_PWD}/translations
themesinstall.path = $${OUT_PWD}/themes
darkthemeinstall.path = $${OUT_PWD}/themes/dark_theme
stripsinstall.path = $${OUT_PWD}/strips
}
translationsinstall.files = $$[QT_INSTALL_TRANSLATIONS]/qt_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtbase_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtquick1_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtscript_nen.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_en.qm \
$$[QT_INSTALL_TRANSLATIONS]/qt_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtbase_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtquick1_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtscript_de.qm \
$$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_de.qm \
translations/zeiterfassung_en.qm \
translations/zeiterfassung_de.qm
themesinstall.files = themes/dark_theme.qss
darkthemeinstall.files = themes/dark_theme/checkbox_indeterminate_disabled.png \
themes/dark_theme/radio_unchecked.png \
themes/dark_theme/up_arrow.png \
themes/dark_theme/branch_closed-on.png \
themes/dark_theme/checkbox_checked_disabled.png \
themes/dark_theme/checkbox_unchecked.png \
themes/dark_theme/checkbox_indeterminate.png \
themes/dark_theme/stylesheet-branch-more.png \
themes/dark_theme/checkbox_checked.png \
themes/dark_theme/checkbox_unchecked_disabled.png \
themes/dark_theme/radio_checked.png \
themes/dark_theme/checkbox_indeterminate_focus.png \
themes/dark_theme/checkbox_checked_focus.png \
themes/dark_theme/branch_closed.png \
themes/dark_theme/Vsepartoolbar.png \
themes/dark_theme/radio_checked_disabled.png \
themes/dark_theme/left_arrow.png \
themes/dark_theme/Vmovetoolbar.png \
themes/dark_theme/branch_open-on.png \
themes/dark_theme/close.png \
themes/dark_theme/stylesheet-branch-end.png \
themes/dark_theme/stylesheet-vline.png \
themes/dark_theme/down_arrow_disabled.png \
themes/dark_theme/radio_unchecked_disabled.png \
themes/dark_theme/left_arrow_disabled.png \
themes/dark_theme/Hmovetoolbar.png \
themes/dark_theme/close-pressed.png \
themes/dark_theme/up_arrow_disabled.png \
themes/dark_theme/branch_open.png \
themes/dark_theme/radio_checked_focus.png \
themes/dark_theme/sizegrip.png \
themes/dark_theme/checkbox_unchecked_focus.png \
themes/dark_theme/right_arrow_disabled.png \
themes/dark_theme/Hsepartoolbar.png \
themes/dark_theme/undock.png \
themes/dark_theme/transparent.png \
themes/dark_theme/close-hover.png \
themes/dark_theme/radio_unchecked_focus.png \
themes/dark_theme/down_arrow.png \
themes/dark_theme/right_arrow.png
stripsinstall.files = strips/bookingstartstrip.ui \
strips/bookingendstrip.ui \
strips/timeassignmentstrip.ui
INSTALLS += translationsinstall
INSTALLS += themesinstall
INSTALLS += darkthemeinstall
INSTALLS += stripsinstall
include(installs.pri)
unix: include(installs_unix.pri)
win32: include(installs_win32.pri)

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class CreateBookingReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT CreateBookingReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class CreateTimeAssignmentReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT CreateTimeAssignmentReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class DeleteBookingReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT DeleteBookingReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class DeleteTimeAssignmentReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT DeleteTimeAssignmentReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -6,9 +6,10 @@
#include <QNetworkReply>
#include <QByteArray>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class GetAuswertungReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT GetAuswertungReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -6,10 +6,11 @@
#include <QNetworkReply>
#include <QVector>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class GetBookingsReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT GetBookingsReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,10 +5,11 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class GetPresenceStatusReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT GetPresenceStatusReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -6,10 +6,11 @@
#include <QNetworkReply>
#include <QVector>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class GetProjectsReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT GetProjectsReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -6,10 +6,11 @@
#include <QNetworkReply>
#include <QVector>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class GetTimeAssignmentsReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT GetTimeAssignmentsReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class LoginPageReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT LoginPageReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class LoginReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT LoginReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class UpdateBookingReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT UpdateBookingReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,9 +5,10 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class UpdateTimeAssignmentReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT UpdateTimeAssignmentReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -5,10 +5,11 @@
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class UserInfoReply : public ZeiterfassungReply
class ZEITERFASSUNGLIBSHARED_EXPORT UserInfoReply : public ZeiterfassungReply
{
Q_OBJECT

View File

@@ -3,9 +3,11 @@
#include <QObject>
#include "zeiterfassunglib_global.h"
class ZeiterfassungApi;
class ZeiterfassungReply : public QObject
class ZEITERFASSUNGLIBSHARED_EXPORT ZeiterfassungReply : public QObject
{
Q_OBJECT

Binary file not shown.

View File

@@ -0,0 +1,267 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
<context>
<name>CreateBookingReply</name>
<message>
<location filename="../replies/createbookingreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateTimeAssignmentReply</name>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeleteBookingReply</name>
<message>
<location filename="../replies/deletebookingreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeleteTimeAssignmentReply</name>
<message>
<location filename="../replies/deletetimeassignmentreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetAuswertungReply</name>
<message>
<location filename="../replies/getauswertungreply.cpp" line="22"/>
<location filename="../replies/getauswertungreply.cpp" line="40"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetBookingsReply</name>
<message>
<location filename="../replies/getbookingsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="43"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetPresenceStatusReply</name>
<message>
<location filename="../replies/getpresencestatusreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getpresencestatusreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getpresencestatusreply.cpp" line="43"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetProjectsReply</name>
<message>
<location filename="../replies/getprojectsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="52"/>
<source>JSON does not contain elements!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="61"/>
<source>elements is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetTimeAssignmentsReply</name>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="27"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="37"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="44"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoginPageReply</name>
<message>
<location filename="../replies/loginpagereply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginpagereply.cpp" line="24"/>
<source>Could not find necessary keywords in login page!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoginReply</name>
<message>
<location filename="../replies/loginreply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="24"/>
<source>Response did not contain a Location header.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="39"/>
<source>Authentication failure. Please check username and password.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="45"/>
<source>An unknown authentication failure occured. Redirected to: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UpdateBookingReply</name>
<message>
<location filename="../replies/updatebookingreply.cpp" line="21"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="31"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="38"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="47"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UpdateTimeAssignmentReply</name>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UserInfoReply</name>
<message>
<location filename="../replies/userinforeply.cpp" line="25"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="35"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="42"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="51"/>
<source>JSON does not contain evoAppsUser!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="60"/>
<source>evoAppsUser is not an object!</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@@ -0,0 +1,267 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>CreateBookingReply</name>
<message>
<location filename="../replies/createbookingreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createbookingreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CreateTimeAssignmentReply</name>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/createtimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeleteBookingReply</name>
<message>
<location filename="../replies/deletebookingreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeleteTimeAssignmentReply</name>
<message>
<location filename="../replies/deletetimeassignmentreply.cpp" line="15"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetAuswertungReply</name>
<message>
<location filename="../replies/getauswertungreply.cpp" line="22"/>
<location filename="../replies/getauswertungreply.cpp" line="40"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetBookingsReply</name>
<message>
<location filename="../replies/getbookingsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getbookingsreply.cpp" line="43"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetPresenceStatusReply</name>
<message>
<location filename="../replies/getpresencestatusreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getpresencestatusreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getpresencestatusreply.cpp" line="43"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetProjectsReply</name>
<message>
<location filename="../replies/getprojectsreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="52"/>
<source>JSON does not contain elements!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getprojectsreply.cpp" line="61"/>
<source>elements is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GetTimeAssignmentsReply</name>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="27"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="37"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="44"/>
<source>JSON document is not an array!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoginPageReply</name>
<message>
<location filename="../replies/loginpagereply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginpagereply.cpp" line="24"/>
<source>Could not find necessary keywords in login page!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoginReply</name>
<message>
<location filename="../replies/loginreply.cpp" line="17"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="24"/>
<source>Response did not contain a Location header.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="39"/>
<source>Authentication failure. Please check username and password.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/loginreply.cpp" line="45"/>
<source>An unknown authentication failure occured. Redirected to: %0</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UpdateBookingReply</name>
<message>
<location filename="../replies/updatebookingreply.cpp" line="21"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="31"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="38"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatebookingreply.cpp" line="47"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UpdateTimeAssignmentReply</name>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="26"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="36"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="43"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/updatetimeassignmentreply.cpp" line="52"/>
<source>JSON does not contain bookingNr!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UserInfoReply</name>
<message>
<location filename="../replies/userinforeply.cpp" line="25"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="35"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="42"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="51"/>
<source>JSON does not contain evoAppsUser!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="60"/>
<source>evoAppsUser is not an object!</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@@ -8,6 +8,8 @@
#include <QDate>
#include <QTime>
#include "zeiterfassunglib_global.h"
class QNetworkAccessManager;
class LoginPageReply;
@@ -25,7 +27,7 @@ class GetProjectsReply;
class GetAuswertungReply;
class GetPresenceStatusReply;
class ZeiterfassungApi : public QObject
class ZEITERFASSUNGLIBSHARED_EXPORT ZeiterfassungApi : public QObject
{
Q_OBJECT

View File

@@ -0,0 +1,56 @@
QT += network gui widgets
TARGET = zeiterfassunglib
TEMPLATE = lib
CONFIG += c++14
DESTDIR = $${OUT_PWD}/../lib
DEFINES += QT_DEPRECATED_WARNINGS QT_DISABLE_DEPRECATED_BEFORE=0x060000 QT_MESSAGELOGCONTEXT
DEFINES += ZEITERFASSUNGLIB_LIBRARY
SOURCES += zeiterfassungapi.cpp \
replies/createtimeassignmentreply.cpp \
replies/updatebookingreply.cpp \
replies/getbookingsreply.cpp \
replies/getpresencestatusreply.cpp \
replies/gettimeassignmentsreply.cpp \
replies/deletetimeassignmentreply.cpp \
replies/loginpagereply.cpp \
replies/getprojectsreply.cpp \
replies/getauswertungreply.cpp \
replies/loginreply.cpp \
replies/userinforeply.cpp \
replies/zeiterfassungreply.cpp \
replies/updatetimeassignmentreply.cpp \
replies/deletebookingreply.cpp \
replies/createbookingreply.cpp
HEADERS += cpp14polyfills.h \
zeiterfassunglib_global.h \
zeiterfassungapi.h \
replies/createtimeassignmentreply.h \
replies/updatebookingreply.h \
replies/getbookingsreply.h \
replies/getpresencestatusreply.h \
replies/gettimeassignmentsreply.h \
replies/deletetimeassignmentreply.h \
replies/loginpagereply.h \
replies/getprojectsreply.h \
replies/getauswertungreply.h \
replies/loginreply.h \
replies/userinforeply.h \
replies/zeiterfassungreply.h \
replies/updatetimeassignmentreply.h \
replies/deletebookingreply.h \
replies/createbookingreply.h
TRANSLATIONS += \
translations/zeiterfassunglib_en.ts \
translations/zeiterfassunglib_de.ts
# unix {
# target.path = /usr/lib
# INSTALLS += target
# }

View File

@@ -0,0 +1,12 @@
#ifndef ZEITERFASSUNGLIB_GLOBAL_H
#define ZEITERFASSUNGLIB_GLOBAL_H
#include <QtCore/qglobal.h>
#if defined(ZEITERFASSUNGLIB_LIBRARY)
# define ZEITERFASSUNGLIBSHARED_EXPORT Q_DECL_EXPORT
#else
# define ZEITERFASSUNGLIBSHARED_EXPORT Q_DECL_IMPORT
#endif
#endif // ZEITERFASSUNGLIB_GLOBAL_H