diff --git a/zeiterfassungguilib/mainwindow.cpp b/zeiterfassungguilib/mainwindow.cpp index 071fba7..e3d93ad 100644 --- a/zeiterfassungguilib/mainwindow.cpp +++ b/zeiterfassungguilib/mainwindow.cpp @@ -355,6 +355,7 @@ void MainWindow::dateChangedSlot(const QDate &date) { if(m_currentStripWidget) { + m_currentStripWidget->setHighlighted(false); disconnect(m_currentStripWidget, &StripsWidget::minimumTimeChanged, this, &MainWindow::minimumTimeChanged); disconnect(m_currentStripWidget, &StripsWidget::startEnabledChanged, this, &MainWindow::startEnabledChanged); disconnect(m_currentStripWidget, &StripsWidget::endEnabledChanged, this, &MainWindow::endEnabledChanged); @@ -362,6 +363,8 @@ void MainWindow::dateChangedSlot(const QDate &date) m_currentStripWidget = m_stripsWidgets[i]; + m_currentStripWidget->setHighlighted(true); + minimumTimeChanged(); startEnabledChanged(); endEnabledChanged(); diff --git a/zeiterfassungguilib/stripswidget.cpp b/zeiterfassungguilib/stripswidget.cpp index ab0e37c..131efba 100644 --- a/zeiterfassungguilib/stripswidget.cpp +++ b/zeiterfassungguilib/stripswidget.cpp @@ -13,7 +13,7 @@ #include "stripfactory.h" StripsWidget::StripsWidget(MainWindow &mainWindow, QWidget *parent) : - QWidget(parent), + QFrame(parent), m_mainWindow(mainWindow), m_refreshing(false), m_refreshingBookings(false), @@ -84,6 +84,20 @@ void StripsWidget::setDate(const QDate &date) } } +bool StripsWidget::highlighted() const +{ + return m_highlighted; +} + +void StripsWidget::setHighlighted(bool highlighted) +{ + if(m_highlighted != highlighted) + { + Q_EMIT highlightedChanged(m_highlighted = highlighted); + setFrameStyle(highlighted ? QFrame::Box : QFrame::NoFrame); + } +} + const QVector &StripsWidget::bookings() const { return m_bookings; diff --git a/zeiterfassungguilib/stripswidget.h b/zeiterfassungguilib/stripswidget.h index 38f1b61..f9a9cbe 100644 --- a/zeiterfassungguilib/stripswidget.h +++ b/zeiterfassungguilib/stripswidget.h @@ -2,7 +2,7 @@ #include -#include +#include #include #include "zeiterfassungguilib_global.h" @@ -15,7 +15,7 @@ template class QVector; class MainWindow; -class ZEITERFASSUNGGUILIBSHARED_EXPORT StripsWidget : public QWidget +class ZEITERFASSUNGGUILIBSHARED_EXPORT StripsWidget : public QFrame { Q_OBJECT @@ -32,6 +32,9 @@ public: const QDate &date() const; void setDate(const QDate &date); + bool highlighted() const; + void setHighlighted(bool highlighted); + const QVector &bookings() const; const QVector &timeAssignments() const; @@ -52,6 +55,7 @@ public: Q_SIGNALS: void dateChanged(const QDate &date); + void highlightedChanged(bool highlighted); void bookingsChanged(const QVector &bookings); void timeAssignmentsChanged(const QVector &timeAssignments); @@ -86,6 +90,7 @@ private: QLabel *m_label; QDate m_date; + bool m_highlighted; QVector m_bookings; QVector m_timeAssignments;