Filter minor style/refactoring

* use normal functions instead of slots
* some renamings
This commit is contained in:
Klaus Basan
2018-12-23 06:05:55 +01:00
committed by Mat Sutcliffe
parent f00866fbe7
commit 314c48d5d1
10 changed files with 51 additions and 65 deletions

View File

@@ -79,7 +79,7 @@ namespace BlackGui
ui->filter_Buttons->displayCount(show); ui->filter_Buttons->displayCount(show);
} }
std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CAircraftModelList> > CAircraftModelFilterBar::createModelFilter() const std::unique_ptr<BlackGui::Models::IModelFilter<CAircraftModelList> > CAircraftModelFilterBar::createModelFilter() const
{ {
CAircraftModel::ModelModeFilter mf = CAircraftModel::All; CAircraftModel::ModelModeFilter mf = CAircraftModel::All;
if (ui->cbt_IncludeExclude->checkState() == Qt::Checked) if (ui->cbt_IncludeExclude->checkState() == Qt::Checked)
@@ -115,7 +115,7 @@ namespace BlackGui
ui->le_AirlineName->text(), ui->le_AirlineName->text(),
ui->le_LiveryCode->text(), ui->le_LiveryCode->text(),
ui->le_FileName->text(), ui->le_FileName->text(),
ui->frp_SimulatorSelector->getValue(), ui->comp_SimulatorSelector->getValue(),
ui->comp_DistributorSelector->getDistributor() ui->comp_DistributorSelector->getDistributor()
); );
} }
@@ -135,7 +135,7 @@ namespace BlackGui
ui->le_AirlineName->clear(); ui->le_AirlineName->clear();
ui->le_LiveryCode->clear(); ui->le_LiveryCode->clear();
ui->le_FileName->clear(); ui->le_FileName->clear();
ui->frp_SimulatorSelector->checkAll(); ui->comp_SimulatorSelector->checkAll();
ui->comp_DistributorSelector->clear(); ui->comp_DistributorSelector->clear();
ui->cbt_IncludeExclude->setCheckState(Qt::PartiallyChecked); ui->cbt_IncludeExclude->setCheckState(Qt::PartiallyChecked);
ui->cbt_Db->setCheckState(Qt::PartiallyChecked); ui->cbt_Db->setCheckState(Qt::PartiallyChecked);
@@ -143,19 +143,19 @@ namespace BlackGui
ui->cbt_ColorLiveries->setCheckState(Qt::PartiallyChecked); ui->cbt_ColorLiveries->setCheckState(Qt::PartiallyChecked);
} }
void CAircraftModelFilterBar::ps_simulatorSelectionChanged(const BlackMisc::Simulation::CSimulatorInfo &info) void CAircraftModelFilterBar::onSimulatorSelectionChanged(const CSimulatorInfo &info)
{ {
Q_UNUSED(info); Q_UNUSED(info);
this->triggerFilter(); this->triggerFilter();
} }
void CAircraftModelFilterBar::ps_distributorChanged(const BlackMisc::Simulation::CDistributor &distributor) void CAircraftModelFilterBar::onDistributorChanged(const CDistributor &distributor)
{ {
Q_UNUSED(distributor); Q_UNUSED(distributor);
this->triggerFilter(); this->triggerFilter();
} }
void CAircraftModelFilterBar::ps_checkBoxChanged(bool state) void CAircraftModelFilterBar::onCheckBoxChanged(bool state)
{ {
Q_UNUSED(state); Q_UNUSED(state);
triggerFilter(); triggerFilter();

View File

@@ -36,7 +36,7 @@ namespace BlackGui
*/ */
class BLACKGUI_EXPORT CAircraftModelFilterBar : class BLACKGUI_EXPORT CAircraftModelFilterBar :
public CFilterWidget, public CFilterWidget,
public BlackGui::Models::IModelFilterProvider<BlackMisc::Simulation::CAircraftModelList> public Models::IModelFilterProvider<BlackMisc::Simulation::CAircraftModelList>
{ {
Q_OBJECT Q_OBJECT
@@ -51,9 +51,8 @@ namespace BlackGui
void displayCount(bool show); void displayCount(bool show);
//! \copydoc Models::IModelFilterProvider::createModelFilter //! \copydoc Models::IModelFilterProvider::createModelFilter
virtual std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CAircraftModelList>> createModelFilter() const override; virtual std::unique_ptr<Models::IModelFilter<BlackMisc::Simulation::CAircraftModelList>> createModelFilter() const override;
public slots:
//! \copydoc CFilterWidget::onRowCountChanged //! \copydoc CFilterWidget::onRowCountChanged
virtual void onRowCountChanged(int count, bool withFilter) override; virtual void onRowCountChanged(int count, bool withFilter) override;
@@ -61,15 +60,15 @@ namespace BlackGui
//! \copydoc CFilterWidget::clearForm //! \copydoc CFilterWidget::clearForm
virtual void clearForm() override; virtual void clearForm() override;
private slots: private:
//! Simulator selection changed //! Simulator selection changed
void ps_simulatorSelectionChanged(const BlackMisc::Simulation::CSimulatorInfo &info); void onSimulatorSelectionChanged(const BlackMisc::Simulation::CSimulatorInfo &info);
//! Distributor changed //! Distributor changed
void ps_distributorChanged(const BlackMisc::Simulation::CDistributor &distributor); void onDistributorChanged(const BlackMisc::Simulation::CDistributor &distributor);
//! Checkbox has been changed //! Checkbox has been changed
void ps_checkBoxChanged(bool state); void onCheckBoxChanged(bool state);
private: private:
QScopedPointer<Ui::CAircraftModelFilterBar> ui; QScopedPointer<Ui::CAircraftModelFilterBar> ui;

View File

@@ -281,7 +281,7 @@
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="5"> <item row="2" column="0" colspan="5">
<widget class="BlackGui::Components::CSimulatorSelector" name="frp_SimulatorSelector"/> <widget class="BlackGui::Components::CSimulatorSelector" name="comp_SimulatorSelector"/>
</item> </item>
</layout> </layout>
</widget> </widget>

View File

@@ -20,10 +20,8 @@
#include <QScopedPointer> #include <QScopedPointer>
#include <memory> #include <memory>
class QWidget;
namespace BlackMisc { namespace Simulation { class CDistributorList; class CSimulatorInfo; }}
namespace Ui { class CDistributorFilterBar; } namespace Ui { class CDistributorFilterBar; }
namespace BlackMisc { namespace Simulation { class CDistributorList; class CSimulatorInfo; }}
namespace BlackGui namespace BlackGui
{ {
namespace Filters namespace Filters
@@ -44,13 +42,12 @@ namespace BlackGui
//! Destructor //! Destructor
virtual ~CDistributorFilterBar() override; virtual ~CDistributorFilterBar() override;
//! \copydoc Models::IModelFilterProvider::createModelFilter
virtual std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CDistributorList>> createModelFilter() const override;
//! Set simulator //! Set simulator
void setSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator); void setSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator);
public slots: //! \copydoc Models::IModelFilterProvider::createModelFilter
virtual std::unique_ptr<Models::IModelFilter<BlackMisc::Simulation::CDistributorList>> createModelFilter() const override;
//! \copydoc CFilterWidget::onRowCountChanged //! \copydoc CFilterWidget::onRowCountChanged
virtual void onRowCountChanged(int count, bool withFilter) override; virtual void onRowCountChanged(int count, bool withFilter) override;

View File

@@ -22,8 +22,8 @@ namespace BlackGui
{ {
Q_ASSERT_X(sGui, Q_FUNC_INFO, "sGui missing"); Q_ASSERT_X(sGui, Q_FUNC_INFO, "sGui missing");
this->setWindowTitle("Filter widget"); this->setWindowTitle("Filter widget");
ps_onStyleSheetChanged(); this->onStyleSheetChanged();
connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CFilterWidget::ps_onStyleSheetChanged, Qt::QueuedConnection); connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CFilterWidget::onStyleSheetChanged, Qt::QueuedConnection);
} }
CFilterWidget::~CFilterWidget() CFilterWidget::~CFilterWidget()
@@ -33,7 +33,7 @@ namespace BlackGui
{ {
if (buttons) if (buttons)
{ {
bool s = connect(buttons, &CFilterBarButtons::buttonClicked, this, &CFilterWidget::ps_filterButtonClicked); bool s = connect(buttons, &CFilterBarButtons::buttonClicked, this, &CFilterWidget::onFilterButtonClicked);
Q_ASSERT_X(s, Q_FUNC_INFO, "filter button connect"); Q_ASSERT_X(s, Q_FUNC_INFO, "filter button connect");
Q_UNUSED(s); Q_UNUSED(s);
} }
@@ -50,29 +50,29 @@ namespace BlackGui
void CFilterWidget::triggerFilter() void CFilterWidget::triggerFilter()
{ {
this->ps_filterButtonClicked(CFilterBarButtons::Filter); this->onFilterButtonClicked(CFilterBarButtons::Filter);
} }
void CFilterWidget::ps_onStyleSheetChanged() void CFilterWidget::onStyleSheetChanged()
{ {
const QString qss = sGui->getStyleSheetUtility().style(CStyleSheetUtility::fileNameFilterDialog()); const QString qss = sGui->getStyleSheetUtility().style(CStyleSheetUtility::fileNameFilterDialog());
this->setStyleSheet(qss); this->setStyleSheet(qss);
} }
void CFilterWidget::ps_filterButtonClicked(CFilterBarButtons::FilterButton filterButton) void CFilterWidget::onFilterButtonClicked(CFilterBarButtons::FilterButton filterButton)
{ {
switch (filterButton) switch (filterButton)
{ {
case CFilterBarButtons::Filter: case CFilterBarButtons::Filter:
emit changeFilter(true); emit this->changeFilter(true);
break; break;
case CFilterBarButtons::RemoveFilter: case CFilterBarButtons::RemoveFilter:
emit changeFilter(false); emit this->changeFilter(false);
emit rejectDialog(); emit this->rejectDialog();
break; break;
case CFilterBarButtons::ClearForm: case CFilterBarButtons::ClearForm:
clearForm(); this->clearForm();
emit changeFilter(false); emit this->changeFilter(false);
break; break;
} }
} }

View File

@@ -36,7 +36,6 @@ namespace BlackGui
//! Destructor //! Destructor
virtual ~CFilterWidget(); virtual ~CFilterWidget();
public slots:
//! Row count has been changed //! Row count has been changed
virtual void onRowCountChanged(int count, bool withFilter) = 0; virtual void onRowCountChanged(int count, bool withFilter) = 0;
@@ -60,12 +59,12 @@ namespace BlackGui
//! Convert DB id //! Convert DB id
static int convertDbId(const QString &candidate); static int convertDbId(const QString &candidate);
private slots: private:
//! Button clicked //! Button clicked
void ps_filterButtonClicked(CFilterBarButtons::FilterButton filterButton); void onFilterButtonClicked(CFilterBarButtons::FilterButton filterButton);
//! Stylesheet changed //! Stylesheet changed
void ps_onStyleSheetChanged(); void onStyleSheetChanged();
}; };
} // namespace } // namespace
} // namespace } // namespace

View File

@@ -17,10 +17,10 @@ namespace BlackGui
{ {
namespace Models namespace Models
{ {
CDistributorFilter::CDistributorFilter(const Simulation::CSimulatorInfo &simulator) : CDistributorFilter::CDistributorFilter(const CSimulatorInfo &simulator) :
m_simulator(simulator) m_simulator(simulator)
{ {
this->m_valid = true; m_valid = true;
} }
CDistributorList CDistributorFilter::filter(const CDistributorList &inDistributors) const CDistributorList CDistributorFilter::filter(const CDistributorList &inDistributors) const

View File

@@ -844,14 +844,14 @@ namespace BlackGui
} }
template <class T> template <class T>
bool CViewBase<T>::ps_filterDialogFinished(int status) bool CViewBase<T>::filterDialogFinished(int status)
{ {
QDialog::DialogCode statusCode = static_cast<QDialog::DialogCode>(status); QDialog::DialogCode statusCode = static_cast<QDialog::DialogCode>(status);
return ps_filterWidgetChangedFilter(statusCode == QDialog::Accepted); return filterWidgetChangedFilter(statusCode == QDialog::Accepted);
} }
template <class T> template <class T>
bool CViewBase<T>::ps_filterWidgetChangedFilter(bool enabled) bool CViewBase<T>::filterWidgetChangedFilter(bool enabled)
{ {
if (enabled) if (enabled)
{ {
@@ -884,12 +884,6 @@ namespace BlackGui
return true; // handled return true; // handled
} }
template <class T>
void CViewBase<T>::ps_removeFilter()
{
this->derivedModel()->removeFilter();
}
template <class T> template <class T>
void CViewBase<T>::ps_clicked(const QModelIndex &index) void CViewBase<T>::ps_clicked(const QModelIndex &index)
{ {

View File

@@ -504,6 +504,15 @@ namespace BlackGui
//! Trigger reload from backend by signal requestNewBackendData() //! Trigger reload from backend by signal requestNewBackendData()
void triggerReloadFromBackend(); void triggerReloadFromBackend();
//! Remove filter
virtual void removeFilter() = 0;
//! Filter dialog finished
virtual bool filterDialogFinished(int status) = 0;
//! Filter changed in filter widget
virtual bool filterWidgetChangedFilter(bool enabled) = 0;
//! Init text edit dialog if required and return pointer to it //! Init text edit dialog if required and return pointer to it
Components::CTextEditDialog *textEditDialog(); Components::CTextEditDialog *textEditDialog();
@@ -538,15 +547,6 @@ namespace BlackGui
BlackMisc::CSettingReadOnly<Settings::TGeneralGui> m_guiSettings { this, &CViewBaseNonTemplate::settingsChanged }; //!< general GUI settings BlackMisc::CSettingReadOnly<Settings::TGeneralGui> m_guiSettings { this, &CViewBaseNonTemplate::settingsChanged }; //!< general GUI settings
protected slots: protected slots:
//! Remove filter
virtual void ps_removeFilter() = 0;
//! Filter dialog finished
virtual bool ps_filterDialogFinished(int status) = 0;
//! Filter changed in filter widget
virtual bool ps_filterWidgetChangedFilter(bool enabled) = 0;
//! Index clicked //! Index clicked
virtual void ps_clicked(const QModelIndex &index) = 0; virtual void ps_clicked(const QModelIndex &index) = 0;
@@ -728,9 +728,6 @@ namespace BlackGui
//! Set filter and take ownership, any previously set filter will be destroyed //! Set filter and take ownership, any previously set filter will be destroyed
void takeFilterOwnership(std::unique_ptr<Models::IModelFilter<ContainerType>> &filter); void takeFilterOwnership(std::unique_ptr<Models::IModelFilter<ContainerType>> &filter);
//! Removes filter and destroys filter object
void removeFilter();
//! Has filter set? //! Has filter set?
bool hasFilter() const; bool hasFilter() const;
@@ -771,6 +768,9 @@ namespace BlackGui
virtual void paste() override; virtual void paste() override;
virtual void displayJsonPopup() override { this->displayContainerAsJsonPopup(false); } virtual void displayJsonPopup() override { this->displayContainerAsJsonPopup(false); }
virtual void displaySelectedJsonPopup() override { this->displayContainerAsJsonPopup(true); } virtual void displaySelectedJsonPopup() override { this->displayContainerAsJsonPopup(true); }
virtual bool filterDialogFinished(int status) override;
virtual bool filterWidgetChangedFilter(bool enabled) override;
virtual void removeFilter() override;
//! @} //! @}
//! Modify JSON data loaded in BlackGui::Views::CViewBaseNonTemplate::ps_loadJson //! Modify JSON data loaded in BlackGui::Views::CViewBaseNonTemplate::ps_loadJson
@@ -796,9 +796,6 @@ namespace BlackGui
//! \name Slot overrides from base class //! \name Slot overrides from base class
//! @{ //! @{
virtual bool ps_filterDialogFinished(int status) override;
virtual bool ps_filterWidgetChangedFilter(bool enabled) override;
virtual void ps_removeFilter() override;
virtual void ps_clicked(const QModelIndex &index) override; virtual void ps_clicked(const QModelIndex &index) override;
virtual void ps_doubleClicked(const QModelIndex &index) override; virtual void ps_doubleClicked(const QModelIndex &index) override;
virtual void ps_rowSelected(const QModelIndex &index) override; virtual void ps_rowSelected(const QModelIndex &index) override;

View File

@@ -131,7 +131,7 @@ namespace BlackGui
this->setFilterWidgetImpl(filterDialog); this->setFilterWidgetImpl(filterDialog);
if (filterDialog) if (filterDialog)
{ {
const bool s = connect(filterDialog, &CFilterDialog::finished, this, &CViewBaseNonTemplate::ps_filterDialogFinished); const bool s = connect(filterDialog, &CFilterDialog::finished, this, &CViewBaseNonTemplate::filterDialogFinished);
Q_ASSERT_X(s, Q_FUNC_INFO, "filter dialog connect"); Q_ASSERT_X(s, Q_FUNC_INFO, "filter dialog connect");
Q_UNUSED(s); Q_UNUSED(s);
} }
@@ -143,7 +143,7 @@ namespace BlackGui
this->setFilterWidgetImpl(filterWidget); this->setFilterWidgetImpl(filterWidget);
if (filterWidget) if (filterWidget)
{ {
bool s = connect(filterWidget, &CFilterWidget::changeFilter, this, &CViewBaseNonTemplate::ps_filterWidgetChangedFilter); bool s = connect(filterWidget, &CFilterWidget::changeFilter, this, &CViewBaseNonTemplate::filterWidgetChangedFilter);
Q_ASSERT_X(s, Q_FUNC_INFO, "filter connect"); Q_ASSERT_X(s, Q_FUNC_INFO, "filter connect");
s = connect(this, &CViewBaseNonTemplate::modelDataChanged, filterWidget, &CFilterWidget::onRowCountChanged); s = connect(this, &CViewBaseNonTemplate::modelDataChanged, filterWidget, &CFilterWidget::onRowCountChanged);
Q_ASSERT_X(s, Q_FUNC_INFO, "filter connect"); Q_ASSERT_X(s, Q_FUNC_INFO, "filter connect");
@@ -241,7 +241,7 @@ namespace BlackGui
{ {
const bool dialog = qobject_cast<QDialog *>(m_filterWidget); const bool dialog = qobject_cast<QDialog *>(m_filterWidget);
if (dialog) ma.addAction(CIcons::filter16(), "Show filter " + CShortcut::toParenthesisString(CShortcut::keyDisplayFilter()), CMenuAction::pathViewFilter(), { this, &CViewBaseNonTemplate::displayFilterDialog }, CShortcut::keyDisplayFilter()); if (dialog) ma.addAction(CIcons::filter16(), "Show filter " + CShortcut::toParenthesisString(CShortcut::keyDisplayFilter()), CMenuAction::pathViewFilter(), { this, &CViewBaseNonTemplate::displayFilterDialog }, CShortcut::keyDisplayFilter());
ma.addAction(CIcons::filter16(), "Remove Filter", CMenuAction::pathViewFilter(), { this, &CViewBaseNonTemplate::ps_removeFilter }); ma.addAction(CIcons::filter16(), "Remove Filter", CMenuAction::pathViewFilter(), { this, &CViewBaseNonTemplate::removeFilter });
} }
break; break;
} }