Fixed bugs with refreshing label

This commit is contained in:
0xFEEDC0DE64
2017-12-18 21:50:30 +01:00
parent a456318a06
commit 01583dea10
6 changed files with 27 additions and 11 deletions

View File

@@ -32,10 +32,12 @@ AdvanvedViewDialog::AdvanvedViewDialog(StripsWidget &stripsWidget) :
ui->setupUi(this); ui->setupUi(this);
ui->bookingsView->setModel(m_bookingsModel); ui->bookingsView->setModel(m_bookingsModel);
ui->bookingsView->setEnabled(m_bookingsModel->enabled());
connect(m_bookingsModel, &BookingsModel::enabledChanged, ui->bookingsView, &QWidget::setEnabled); connect(m_bookingsModel, &BookingsModel::enabledChanged, ui->bookingsView, &QWidget::setEnabled);
connect(ui->bookingsView, &QWidget::customContextMenuRequested, this, &AdvanvedViewDialog::contextMenuBooking); connect(ui->bookingsView, &QWidget::customContextMenuRequested, this, &AdvanvedViewDialog::contextMenuBooking);
ui->timeAssignmentsView->setModel(m_timeAssignmentsModel); ui->timeAssignmentsView->setModel(m_timeAssignmentsModel);
ui->timeAssignmentsView->setEnabled(m_timeAssignmentsModel->enabled());
connect(m_timeAssignmentsModel, &TimeAssignmentsModel::enabledChanged, ui->timeAssignmentsView, &QWidget::setEnabled); connect(m_timeAssignmentsModel, &TimeAssignmentsModel::enabledChanged, ui->timeAssignmentsView, &QWidget::setEnabled);
connect(ui->timeAssignmentsView, &QWidget::customContextMenuRequested, this, &AdvanvedViewDialog::contextMenuTimeAssignment); connect(ui->timeAssignmentsView, &QWidget::customContextMenuRequested, this, &AdvanvedViewDialog::contextMenuTimeAssignment);
} }

View File

@@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>640</width> <width>1024</width>
<height>480</height> <height>480</height>
</rect> </rect>
</property> </property>

View File

@@ -7,7 +7,7 @@ BookingsModel::BookingsModel(StripsWidget &stripsWidget, QObject *parent) :
m_stripsWidget(stripsWidget) m_stripsWidget(stripsWidget)
{ {
connect(&stripsWidget, &StripsWidget::bookingsChanged, this, &BookingsModel::bookingsChanged); connect(&stripsWidget, &StripsWidget::bookingsChanged, this, &BookingsModel::bookingsChanged);
connect(&stripsWidget, &StripsWidget::refreshingBookingsChanged, this, &BookingsModel::enabledChanged); connect(&stripsWidget, &StripsWidget::refreshingBookingsChanged, [=](bool refreshing){ enabledChanged(!refreshing); });
} }
StripsWidget &BookingsModel::stripsWidget() const StripsWidget &BookingsModel::stripsWidget() const

View File

@@ -7,7 +7,7 @@ TimeAssignmentsModel::TimeAssignmentsModel(StripsWidget &stripsWidget, QObject *
m_stripsWidget(stripsWidget) m_stripsWidget(stripsWidget)
{ {
connect(&stripsWidget, &StripsWidget::timeAssignmentsChanged, this, &TimeAssignmentsModel::timeAssignmentsChanged); connect(&stripsWidget, &StripsWidget::timeAssignmentsChanged, this, &TimeAssignmentsModel::timeAssignmentsChanged);
connect(&stripsWidget, &StripsWidget::refreshingBookingsChanged, this, &TimeAssignmentsModel::enabledChanged); connect(&stripsWidget, &StripsWidget::refreshingTimeAssignmentsChanged, [=](bool refreshing){ enabledChanged(!refreshing); });
} }
StripsWidget &TimeAssignmentsModel::stripsWidget() const StripsWidget &TimeAssignmentsModel::stripsWidget() const

View File

@@ -140,11 +140,11 @@ void StripsWidget::refresh()
m_stripsLayout->addWidget(new QLabel(tr("Loading..."), this)); m_stripsLayout->addWidget(new QLabel(tr("Loading..."), this));
refreshBookings(); refreshBookings(false);
refreshTimeAssignments(); refreshTimeAssignments(false);
} }
void StripsWidget::refreshBookings() void StripsWidget::refreshBookings(bool createLabel)
{ {
if(!m_date.isValid()) if(!m_date.isValid())
{ {
@@ -152,7 +152,14 @@ void StripsWidget::refreshBookings()
return; return;
} }
if(m_bookings.count()) if(createLabel)
{
clearStrips();
m_stripsLayout->addWidget(new QLabel(tr("Loading..."), this));
}
if(!m_bookings.empty())
{ {
m_bookings.clear(); m_bookings.clear();
Q_EMIT bookingsChanged(m_bookings); Q_EMIT bookingsChanged(m_bookings);
@@ -170,7 +177,7 @@ void StripsWidget::refreshBookings()
connect(m_getBookingsReply.get(), &ZeiterfassungReply::finished, this, &StripsWidget::getBookingsFinished); connect(m_getBookingsReply.get(), &ZeiterfassungReply::finished, this, &StripsWidget::getBookingsFinished);
} }
void StripsWidget::refreshTimeAssignments() void StripsWidget::refreshTimeAssignments(bool createLabel)
{ {
if(!m_date.isValid()) if(!m_date.isValid())
{ {
@@ -178,7 +185,14 @@ void StripsWidget::refreshTimeAssignments()
return; return;
} }
if(m_timeAssignments.count()) if(createLabel)
{
clearStrips();
m_stripsLayout->addWidget(new QLabel(tr("Loading..."), this));
}
if(!m_timeAssignments.empty())
{ {
m_timeAssignments.clear(); m_timeAssignments.clear();
Q_EMIT timeAssignmentsChanged(m_timeAssignments); Q_EMIT timeAssignmentsChanged(m_timeAssignments);

View File

@@ -46,8 +46,8 @@ public:
bool endEnabled() const; bool endEnabled() const;
void refresh(); void refresh();
void refreshBookings(); void refreshBookings(bool createLabel = true);
void refreshTimeAssignments(); void refreshTimeAssignments(bool createLabel = true);
bool createStrips(); bool createStrips();
void clearStrips(); void clearStrips();