swift
countryfilterbar.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 
8 #include "ui_countryfilterbar.h"
9 
12 #include "gui/uppercasevalidator.h"
13 #include "misc/countrylist.h"
14 
15 using namespace swift::gui;
16 using namespace swift::gui::models;
17 using namespace swift::misc;
18 using namespace swift::misc::network;
19 
20 namespace swift::gui::filters
21 {
22  CCountryFilterBar::CCountryFilterBar(QWidget *parent) : CFilterWidget(parent), ui(new Ui::CCountryFilterBar)
23  {
24  ui->setupUi(this);
25  this->setButtonsAndCount(ui->filter_Buttons);
26  connect(ui->le_IsoCode, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
27  connect(ui->le_Name, &QLineEdit::returnPressed, this, &CFilterWidget::triggerFilter);
28 
30  ui->le_IsoCode->setValidator(ucv);
31 
32  // reset form
33  this->clearForm();
34  }
35 
37 
38  std::unique_ptr<swift::gui::models::IModelFilter<CCountryList>> CCountryFilterBar::createModelFilter() const
39  {
40  return std::make_unique<CCountryFilter>(ui->le_IsoCode->text(), ui->le_Name->text());
41  }
42 
43  void CCountryFilterBar::onRowCountChanged(int count, bool withFilter)
44  {
45  ui->filter_Buttons->onRowCountChanged(count, withFilter);
46  }
47 
49  {
50  ui->le_IsoCode->clear();
51  ui->le_Name->clear();
52  }
53 } // namespace swift::gui::filters
virtual std::unique_ptr< swift::gui::models::IModelFilter< swift::misc::CCountryList > > createModelFilter() const
Get the filter, this is the filter itself, not its widget or dialog.
virtual void onRowCountChanged(int count, bool withFilter)
Row count has been changed.
Base for filter dialog.
Definition: filterwidget.h:21
virtual void triggerFilter()
Trigger filtering.
void setButtonsAndCount(CFilterBarButtons *buttons)
Set and connect filter bar buttons.
Filter to search data sets.
Models to be used with views, mainly QTableView.
GUI related classes.
Free functions in swift::misc.