Added duration of current booking to booking end strip #40

This commit is contained in:
0xFEEDC0DE64
2017-12-21 20:32:10 +01:00
parent 0720659763
commit 88b4e79282
5 changed files with 68 additions and 48 deletions

View File

@@ -19,7 +19,7 @@
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" stretch="0,1,0"> <layout class="QHBoxLayout" stretch="0,1,0,0">
<property name="spacing"> <property name="spacing">
<number>10</number> <number>10</number>
</property> </property>
@@ -73,6 +73,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QLabel" name="labelDuration">
<property name="styleSheet">
<string notr="true">background-color: rgba(0,0,0,30);</string>
</property>
<property name="text">
<string notr="true">9:99h</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="labelId"> <widget class="QLabel" name="labelId">
<property name="styleSheet"> <property name="styleSheet">

View File

@@ -352,7 +352,8 @@ bool StripsWidget::createStrips()
lastBooking = &endBooking; lastBooking = &endBooking;
bookingTimespan = timeAdd(bookingTimespan, timeBetween(startBooking.time, endBooking.time)); auto currBookingDuration = timeBetween(startBooking.time, endBooking.time);
bookingTimespan = timeAdd(bookingTimespan, currBookingDuration);
minimumTime = timeAdd(endBooking.time, QTime(0, 1)); minimumTime = timeAdd(endBooking.time, QTime(0, 1));
while(timeAssignmentTime < bookingTimespan) while(timeAssignmentTime < bookingTimespan)
@@ -362,7 +363,7 @@ bool StripsWidget::createStrips()
errorMessage = tr("Missing time assignment! Missing: %0") errorMessage = tr("Missing time assignment! Missing: %0")
.arg(tr("%0h").arg(timeBetween(timeAssignmentTime, bookingTimespan).toString(tr("HH:mm:ss")))); .arg(tr("%0h").arg(timeBetween(timeAssignmentTime, bookingTimespan).toString(tr("HH:mm:ss"))));
appendBookingEndStrip(endBooking.id, endBooking.time); appendBookingEndStrip(endBooking.id, endBooking.time, currBookingDuration);
goto after; goto after;
} }
@@ -408,7 +409,7 @@ bool StripsWidget::createStrips()
.arg(bookingTimespan.toString(tr("HH:mm:ss"))); .arg(bookingTimespan.toString(tr("HH:mm:ss")));
} }
appendBookingEndStrip(endBooking.id, endBooking.time); appendBookingEndStrip(endBooking.id, endBooking.time, currBookingDuration);
if(timeAssignmentTime > bookingTimespan) if(timeAssignmentTime > bookingTimespan)
goto after; goto after;
@@ -552,7 +553,7 @@ QWidget *StripsWidget::appendBookingStartStrip(int id, const QTime &time)
return widget; return widget;
} }
QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time) QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time, const QTime &duration)
{ {
auto widget = m_mainWindow.stripFactory().createBookingEndStrip(this).release(); auto widget = m_mainWindow.stripFactory().createBookingEndStrip(this).release();
@@ -561,6 +562,11 @@ QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time)
else else
qWarning() << "no labelTime found!"; qWarning() << "no labelTime found!";
if(auto labelDuration = widget->findChild<QWidget*>(QStringLiteral("labelDuration")))
labelDuration->setProperty("text", tr("%0h").arg(duration.toString(tr("HH:mm"))));
else
qWarning() << "no labelDuration found!";
if(auto labelId = widget->findChild<QWidget*>(QStringLiteral("labelId"))) if(auto labelId = widget->findChild<QWidget*>(QStringLiteral("labelId")))
labelId->setProperty("text", QString::number(id)); labelId->setProperty("text", QString::number(id));
else else

View File

@@ -74,7 +74,7 @@ private:
QString buildProjectString(const QString &project) const; QString buildProjectString(const QString &project) const;
QWidget *appendBookingStartStrip(int id, const QTime &time); QWidget *appendBookingStartStrip(int id, const QTime &time);
QWidget *appendBookingEndStrip(int id, const QTime &time); QWidget *appendBookingEndStrip(int id, const QTime &time, const QTime &duration);
QWidget *appendTimeAssignmentStrip(int id, const QTime &duration, const QString &project, const QString &subproject, QWidget *appendTimeAssignmentStrip(int id, const QTime &duration, const QString &project, const QString &subproject,
const QString &workpackage, const QString &text); const QString &workpackage, const QString &text);

View File

@@ -214,27 +214,27 @@
<translation>Über &amp;zeiterfassung</translation> <translation>Über &amp;zeiterfassung</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="278"/> <location filename="../mainwindow.ui" line="282"/>
<source>About &amp;Qt</source> <source>About &amp;Qt</source>
<translation>Über &amp;Qt</translation> <translation>Über &amp;Qt</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="287"/> <location filename="../mainwindow.ui" line="291"/>
<source>&amp;Today</source> <source>&amp;Today</source>
<translation>&amp;Heute</translation> <translation>&amp;Heute</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="296"/> <location filename="../mainwindow.ui" line="300"/>
<source>&amp;Refresh everything</source> <source>&amp;Refresh everything</source>
<translation>Alles &amp;neu laden</translation> <translation>Alles &amp;neu laden</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="305"/> <location filename="../mainwindow.ui" line="309"/>
<source>&amp;Settings</source> <source>&amp;Settings</source>
<translation>&amp;Einstellungen</translation> <translation>&amp;Einstellungen</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="314"/> <location filename="../mainwindow.ui" line="318"/>
<source>Help</source> <source>Help</source>
<translation>Hilfe</translation> <translation>Hilfe</translation>
</message> </message>
@@ -393,7 +393,7 @@ Booking ID: %1</source>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="257"/> <location filename="../stripswidget.cpp" line="257"/>
<location filename="../stripswidget.cpp" line="424"/> <location filename="../stripswidget.cpp" line="425"/>
<source>%0: %1</source> <source>%0: %1</source>
<translation>%0: %1</translation> <translation>%0: %1</translation>
</message> </message>
@@ -404,17 +404,19 @@ Booking ID: %1</source>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="257"/> <location filename="../stripswidget.cpp" line="257"/>
<location filename="../stripswidget.cpp" line="363"/> <location filename="../stripswidget.cpp" line="364"/>
<location filename="../stripswidget.cpp" line="426"/> <location filename="../stripswidget.cpp" line="427"/>
<location filename="../stripswidget.cpp" line="566"/>
<source>%0h</source> <source>%0h</source>
<translation>%0h</translation> <translation>%0h</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="257"/> <location filename="../stripswidget.cpp" line="257"/>
<location filename="../stripswidget.cpp" line="426"/> <location filename="../stripswidget.cpp" line="427"/>
<location filename="../stripswidget.cpp" line="541"/> <location filename="../stripswidget.cpp" line="542"/>
<location filename="../stripswidget.cpp" line="560"/> <location filename="../stripswidget.cpp" line="561"/>
<location filename="../stripswidget.cpp" line="579"/> <location filename="../stripswidget.cpp" line="566"/>
<location filename="../stripswidget.cpp" line="585"/>
<source>HH:mm</source> <source>HH:mm</source>
<translation>HH:mm</translation> <translation>HH:mm</translation>
</message> </message>
@@ -424,15 +426,15 @@ Booking ID: %1</source>
<translation>Kontierung fehlend!</translation> <translation>Kontierung fehlend!</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="363"/> <location filename="../stripswidget.cpp" line="364"/>
<location filename="../stripswidget.cpp" line="407"/>
<location filename="../stripswidget.cpp" line="408"/> <location filename="../stripswidget.cpp" line="408"/>
<location filename="../stripswidget.cpp" line="409"/>
<source>HH:mm:ss</source> <source>HH:mm:ss</source>
<translation>HH:mm:ss</translation> <translation>HH:mm:ss</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="281"/> <location filename="../stripswidget.cpp" line="281"/>
<location filename="../stripswidget.cpp" line="379"/> <location filename="../stripswidget.cpp" line="380"/>
<source>There is another booking after an unfinished time assignment. <source>There is another booking after an unfinished time assignment.
Booking ID: %0 Booking ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
@@ -441,7 +443,7 @@ Time assignment ID: %1</source>
<message> <message>
<location filename="../stripswidget.cpp" line="289"/> <location filename="../stripswidget.cpp" line="289"/>
<location filename="../stripswidget.cpp" line="324"/> <location filename="../stripswidget.cpp" line="324"/>
<location filename="../stripswidget.cpp" line="388"/> <location filename="../stripswidget.cpp" line="389"/>
<source>There is another time assignment after an unfinished time assignment. <source>There is another time assignment after an unfinished time assignment.
Time assignment ID: %0 Time assignment ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
@@ -460,12 +462,12 @@ Booking ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="362"/> <location filename="../stripswidget.cpp" line="363"/>
<source>Missing time assignment! Missing: %0</source> <source>Missing time assignment! Missing: %0</source>
<translation>Kontierung fehlend! %0 nicht kontiert</translation> <translation>Kontierung fehlend! %0 nicht kontiert</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="425"/> <location filename="../stripswidget.cpp" line="426"/>
<source>Assigned time</source> <source>Assigned time</source>
<translation>Kontierte Zeit</translation> <translation>Kontierte Zeit</translation>
</message> </message>
@@ -480,14 +482,14 @@ Booking ID: %1</source>
<translation>%0 (%1)</translation> <translation>%0 (%1)</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="406"/> <location filename="../stripswidget.cpp" line="407"/>
<source>Time assignment time longer than booking time! <source>Time assignment time longer than booking time!
Time assignment: %0 Time assignment: %0
Booking: %1</source> Booking: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="437"/> <location filename="../stripswidget.cpp" line="438"/>
<source>Strip rendering aborted due error. <source>Strip rendering aborted due error.
Your bookings and time assignments for this day are in an illegal state!</source> Your bookings and time assignments for this day are in an illegal state!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -533,7 +535,7 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation>Ungültig</translation> <translation>Ungültig</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="579"/> <location filename="../stripswidget.cpp" line="585"/>
<source>Open</source> <source>Open</source>
<translation>Offen</translation> <translation>Offen</translation>
</message> </message>

View File

@@ -214,27 +214,27 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="278"/> <location filename="../mainwindow.ui" line="282"/>
<source>About &amp;Qt</source> <source>About &amp;Qt</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="287"/> <location filename="../mainwindow.ui" line="291"/>
<source>&amp;Today</source> <source>&amp;Today</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="296"/> <location filename="../mainwindow.ui" line="300"/>
<source>&amp;Refresh everything</source> <source>&amp;Refresh everything</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="305"/> <location filename="../mainwindow.ui" line="309"/>
<source>&amp;Settings</source> <source>&amp;Settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="314"/> <location filename="../mainwindow.ui" line="318"/>
<source>Help</source> <source>Help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -393,7 +393,7 @@ Booking ID: %1</source>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="257"/> <location filename="../stripswidget.cpp" line="257"/>
<location filename="../stripswidget.cpp" line="424"/> <location filename="../stripswidget.cpp" line="425"/>
<source>%0: %1</source> <source>%0: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -404,17 +404,19 @@ Booking ID: %1</source>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="257"/> <location filename="../stripswidget.cpp" line="257"/>
<location filename="../stripswidget.cpp" line="363"/> <location filename="../stripswidget.cpp" line="364"/>
<location filename="../stripswidget.cpp" line="426"/> <location filename="../stripswidget.cpp" line="427"/>
<location filename="../stripswidget.cpp" line="566"/>
<source>%0h</source> <source>%0h</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="257"/> <location filename="../stripswidget.cpp" line="257"/>
<location filename="../stripswidget.cpp" line="426"/> <location filename="../stripswidget.cpp" line="427"/>
<location filename="../stripswidget.cpp" line="541"/> <location filename="../stripswidget.cpp" line="542"/>
<location filename="../stripswidget.cpp" line="560"/> <location filename="../stripswidget.cpp" line="561"/>
<location filename="../stripswidget.cpp" line="579"/> <location filename="../stripswidget.cpp" line="566"/>
<location filename="../stripswidget.cpp" line="585"/>
<source>HH:mm</source> <source>HH:mm</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -424,15 +426,15 @@ Booking ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="363"/> <location filename="../stripswidget.cpp" line="364"/>
<location filename="../stripswidget.cpp" line="407"/>
<location filename="../stripswidget.cpp" line="408"/> <location filename="../stripswidget.cpp" line="408"/>
<location filename="../stripswidget.cpp" line="409"/>
<source>HH:mm:ss</source> <source>HH:mm:ss</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="281"/> <location filename="../stripswidget.cpp" line="281"/>
<location filename="../stripswidget.cpp" line="379"/> <location filename="../stripswidget.cpp" line="380"/>
<source>There is another booking after an unfinished time assignment. <source>There is another booking after an unfinished time assignment.
Booking ID: %0 Booking ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
@@ -441,7 +443,7 @@ Time assignment ID: %1</source>
<message> <message>
<location filename="../stripswidget.cpp" line="289"/> <location filename="../stripswidget.cpp" line="289"/>
<location filename="../stripswidget.cpp" line="324"/> <location filename="../stripswidget.cpp" line="324"/>
<location filename="../stripswidget.cpp" line="388"/> <location filename="../stripswidget.cpp" line="389"/>
<source>There is another time assignment after an unfinished time assignment. <source>There is another time assignment after an unfinished time assignment.
Time assignment ID: %0 Time assignment ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
@@ -460,24 +462,24 @@ Booking ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="362"/> <location filename="../stripswidget.cpp" line="363"/>
<source>Missing time assignment! Missing: %0</source> <source>Missing time assignment! Missing: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="406"/> <location filename="../stripswidget.cpp" line="407"/>
<source>Time assignment time longer than booking time! <source>Time assignment time longer than booking time!
Time assignment: %0 Time assignment: %0
Booking: %1</source> Booking: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="425"/> <location filename="../stripswidget.cpp" line="426"/>
<source>Assigned time</source> <source>Assigned time</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="437"/> <location filename="../stripswidget.cpp" line="438"/>
<source>Strip rendering aborted due error. <source>Strip rendering aborted due error.
Your bookings and time assignments for this day are in an illegal state!</source> Your bookings and time assignments for this day are in an illegal state!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -533,7 +535,7 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="579"/> <location filename="../stripswidget.cpp" line="585"/>
<source>Open</source> <source>Open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>