Skip to content

Commit

Permalink
ProxyModelSud filter date
Browse files Browse the repository at this point in the history
  • Loading branch information
BourgeoisLab committed Apr 1, 2024
1 parent b4640d2 commit 0f9ddeb
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 26 deletions.
24 changes: 16 additions & 8 deletions kleiner-brauhelfer-core/proxymodelsud.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
ProxyModelSud::ProxyModelSud(QObject *parent) :
ProxyModel(parent),
mFilterMerkliste(false),
mFilterDate(false),
mFilterStatus(Alle),
mMinDate(QDateTime()),
mMaxDate(QDateTime()),
Expand Down Expand Up @@ -40,6 +41,20 @@ void ProxyModelSud::setFilterStatus(FilterStatus status)
}
}

bool ProxyModelSud::filterDate() const
{
return mFilterDate;
}

void ProxyModelSud::setFilterDate(bool value)
{
if (mFilterDate != value)
{
mFilterDate = value;
invalidate();
}
}

QDateTime ProxyModelSud::filterMinimumDate() const
{
return mMinDate;
Expand Down Expand Up @@ -68,13 +83,6 @@ void ProxyModelSud::setFilterMaximumDate(const QDateTime &dt)
}
}

void ProxyModelSud::setFilterDate(const QDateTime &min, const QDateTime &max)
{
mMinDate = min;
mMaxDate = max;
invalidateRowsFilter();
}

QString ProxyModelSud::filterText() const
{
return mFilterText;
Expand Down Expand Up @@ -122,7 +130,7 @@ bool ProxyModelSud::filterAcceptsRow(int source_row, const QModelIndex &source_p
}
}
}
if (accept && (mMinDate.isValid() || mMaxDate.isValid()))
if (accept && mFilterDate)
{
idx = sourceModel()->index(source_row, ModelSud::ColBraudatum, source_parent);
if (idx.isValid())
Expand Down
10 changes: 6 additions & 4 deletions kleiner-brauhelfer-core/proxymodelsud.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,14 @@ class LIB_EXPORT ProxyModelSud : public ProxyModel
FilterStatus filterStatus() const;
void setFilterStatus(FilterStatus status);

bool filterDate() const;
void setFilterDate(bool value);

QDateTime filterMinimumDate() const;
void setFilterMinimumDate(const QDateTime &dt = QDateTime());
void setFilterMinimumDate(const QDateTime &dt);

QDateTime filterMaximumDate() const;
void setFilterMaximumDate(const QDateTime &dt = QDateTime());

void setFilterDate(const QDateTime &min = QDateTime(), const QDateTime &max = QDateTime());
void setFilterMaximumDate(const QDateTime &dt);

QString filterText() const;
void setFilterText(const QString& text);
Expand All @@ -59,6 +60,7 @@ class LIB_EXPORT ProxyModelSud : public ProxyModel

private:
bool mFilterMerkliste;
bool mFilterDate;
FilterStatus mFilterStatus;
QDateTime mMinDate;
QDateTime mMaxDate;
Expand Down
10 changes: 3 additions & 7 deletions kleiner-brauhelfer/dialogs/dlgbrauuebersicht.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -308,14 +308,10 @@ void DlgBrauUebersicht::setFilterDate()
ProxyModelSud *model = static_cast<ProxyModelSud*>(ui->tableView->model());
if (notAll)
{
QDateTime min = QDateTime(ui->tbDatumVon->date(), QTime(0,0,0));
QDateTime max = QDateTime(ui->tbDatumBis->date(), QTime(23,59,59));
model->setFilterDate(min, max);
}
else
{
model->setFilterDate();
model->setFilterMinimumDate(QDateTime(ui->tbDatumVon->date(), QTime(0,0,0)));
model->setFilterMaximumDate(QDateTime(ui->tbDatumBis->date(), QTime(23,59,59)));
}
model->setFilterDate(notAll);
ui->tbDatumVon->setEnabled(notAll);
ui->tbDatumBis->setEnabled(notAll);
updateDiagram();
Expand Down
10 changes: 3 additions & 7 deletions kleiner-brauhelfer/tabsudauswahl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -263,14 +263,10 @@ void TabSudAuswahl::setFilterDate()
ProxyModelSud *model = static_cast<ProxyModelSud*>(ui->tableSudauswahl->model());
if (notAll)
{
QDateTime min = QDateTime(ui->tbDatumVon->date(), QTime(0,0,0));
QDateTime max = QDateTime(ui->tbDatumBis->date(), QTime(23,59,59));
model->setFilterDate(min, max);
}
else
{
model->setFilterDate();
model->setFilterMinimumDate(QDateTime(ui->tbDatumVon->date(), QTime(0,0,0)));
model->setFilterMaximumDate(QDateTime(ui->tbDatumBis->date(), QTime(23,59,59)));
}
model->setFilterDate(notAll);
ui->tbDatumVon->setEnabled(notAll);
ui->tbDatumBis->setEnabled(notAll);
}
Expand Down

0 comments on commit 0f9ddeb

Please sign in to comment.