swift
filterbarbuttons.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2015 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include <QLineEdit>
7 #include <QString>
8 #include <QToolButton>
9 
10 #include "ui_filterbarbuttons.h"
11 
12 namespace swift::gui::filters
13 {
14  CFilterBarButtons::CFilterBarButtons(QWidget *parent) : QFrame(parent), ui(new Ui::CFilterBarButtons)
15  {
16  ui->setupUi(this);
17  connect(ui->tb_ClearForm, &QToolButton::clicked, this, &CFilterBarButtons::ps_buttonClicked);
18  connect(ui->tb_Filter, &QToolButton::clicked, this, &CFilterBarButtons::ps_buttonClicked);
19  connect(ui->tb_RemoveFilter, &QToolButton::clicked, this, &CFilterBarButtons::ps_buttonClicked);
20  connect(ui->tb_New, &QToolButton::clicked, this, &CFilterBarButtons::ps_buttonClicked);
21  }
22 
24 
25  void CFilterBarButtons::displayCount(bool show) { ui->le_Count->setVisible(show); }
26 
27  void CFilterBarButtons::ps_buttonClicked()
28  {
29  const QObject *sender = QObject::sender();
30  if (sender == ui->tb_ClearForm) { emit buttonClicked(ClearForm); }
31  else if (sender == ui->tb_Filter) { emit buttonClicked(Filter); }
32  else if (sender == ui->tb_RemoveFilter) { emit buttonClicked(RemoveFilter); }
33  else if (sender == ui->tb_New)
34  {
35  emit buttonClicked(RemoveFilter);
36  emit buttonClicked(ClearForm);
37  }
38  }
39 
40  void CFilterBarButtons::onRowCountChanged(int count, bool withFilter)
41  {
42  QString v = QString::number(count);
43  if (withFilter) { v += "F"; }
44  ui->le_Count->setText(v);
45  }
46 
48  {
49  switch (filterButton)
50  {
51  case ClearForm: ui->tb_ClearForm->click(); break;
52  case RemoveFilter: ui->tb_RemoveFilter->click(); break;
53  case Filter: ui->tb_Filter->click(); break;
54  default: break;
55  }
56  }
57 
58 } // namespace swift::gui::filters
void clickButton(swift::gui::filters::CFilterBarButtons::FilterButton filterButton)
Trigger button.
void onRowCountChanged(int count, bool withFilter)
Row count has been changed.
void displayCount(bool show)
Show the counter.
void buttonClicked(swift::gui::filters::CFilterBarButtons::FilterButton filterButton)
Filter button clicked.
CFilterBarButtons(QWidget *parent=nullptr)
Constructor.
Filter to search data sets.