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);
}
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;
if (ui->cbt_IncludeExclude->checkState() == Qt::Checked)
@@ -115,7 +115,7 @@ namespace BlackGui
ui->le_AirlineName->text(),
ui->le_LiveryCode->text(),
ui->le_FileName->text(),
ui->frp_SimulatorSelector->getValue(),
ui->comp_SimulatorSelector->getValue(),
ui->comp_DistributorSelector->getDistributor()
);
}
@@ -135,7 +135,7 @@ namespace BlackGui
ui->le_AirlineName->clear();
ui->le_LiveryCode->clear();
ui->le_FileName->clear();
ui->frp_SimulatorSelector->checkAll();
ui->comp_SimulatorSelector->checkAll();
ui->comp_DistributorSelector->clear();
ui->cbt_IncludeExclude->setCheckState(Qt::PartiallyChecked);
ui->cbt_Db->setCheckState(Qt::PartiallyChecked);
@@ -143,19 +143,19 @@ namespace BlackGui
ui->cbt_ColorLiveries->setCheckState(Qt::PartiallyChecked);
}
void CAircraftModelFilterBar::ps_simulatorSelectionChanged(const BlackMisc::Simulation::CSimulatorInfo &info)
void CAircraftModelFilterBar::onSimulatorSelectionChanged(const CSimulatorInfo &info)
{
Q_UNUSED(info);
this->triggerFilter();
}
void CAircraftModelFilterBar::ps_distributorChanged(const BlackMisc::Simulation::CDistributor &distributor)
void CAircraftModelFilterBar::onDistributorChanged(const CDistributor &distributor)
{
Q_UNUSED(distributor);
this->triggerFilter();
}
void CAircraftModelFilterBar::ps_checkBoxChanged(bool state)
void CAircraftModelFilterBar::onCheckBoxChanged(bool state)
{
Q_UNUSED(state);
triggerFilter();

View File

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

View File

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

View File

@@ -20,10 +20,8 @@
#include <QScopedPointer>
#include <memory>
class QWidget;
namespace BlackMisc { namespace Simulation { class CDistributorList; class CSimulatorInfo; }}
namespace Ui { class CDistributorFilterBar; }
namespace BlackMisc { namespace Simulation { class CDistributorList; class CSimulatorInfo; }}
namespace BlackGui
{
namespace Filters
@@ -44,13 +42,12 @@ namespace BlackGui
//! Destructor
virtual ~CDistributorFilterBar() override;
//! \copydoc Models::IModelFilterProvider::createModelFilter
virtual std::unique_ptr<BlackGui::Models::IModelFilter<BlackMisc::Simulation::CDistributorList>> createModelFilter() const override;
//! Set 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
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");
this->setWindowTitle("Filter widget");
ps_onStyleSheetChanged();
connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CFilterWidget::ps_onStyleSheetChanged, Qt::QueuedConnection);
this->onStyleSheetChanged();
connect(sGui, &CGuiApplication::styleSheetsChanged, this, &CFilterWidget::onStyleSheetChanged, Qt::QueuedConnection);
}
CFilterWidget::~CFilterWidget()
@@ -33,7 +33,7 @@ namespace BlackGui
{
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_UNUSED(s);
}
@@ -50,29 +50,29 @@ namespace BlackGui
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());
this->setStyleSheet(qss);
}
void CFilterWidget::ps_filterButtonClicked(CFilterBarButtons::FilterButton filterButton)
void CFilterWidget::onFilterButtonClicked(CFilterBarButtons::FilterButton filterButton)
{
switch (filterButton)
{
case CFilterBarButtons::Filter:
emit changeFilter(true);
emit this->changeFilter(true);
break;
case CFilterBarButtons::RemoveFilter:
emit changeFilter(false);
emit rejectDialog();
emit this->changeFilter(false);
emit this->rejectDialog();
break;
case CFilterBarButtons::ClearForm:
clearForm();
emit changeFilter(false);
this->clearForm();
emit this->changeFilter(false);
break;
}
}

View File

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

View File

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

View File

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

View File

@@ -504,6 +504,15 @@ namespace BlackGui
//! Trigger reload from backend by signal requestNewBackendData()
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
Components::CTextEditDialog *textEditDialog();
@@ -538,15 +547,6 @@ namespace BlackGui
BlackMisc::CSettingReadOnly<Settings::TGeneralGui> m_guiSettings { this, &CViewBaseNonTemplate::settingsChanged }; //!< general GUI settings
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
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
void takeFilterOwnership(std::unique_ptr<Models::IModelFilter<ContainerType>> &filter);
//! Removes filter and destroys filter object
void removeFilter();
//! Has filter set?
bool hasFilter() const;
@@ -771,6 +768,9 @@ namespace BlackGui
virtual void paste() override;
virtual void displayJsonPopup() override { this->displayContainerAsJsonPopup(false); }
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
@@ -796,9 +796,6 @@ namespace BlackGui
//! \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_doubleClicked(const QModelIndex &index) override;
virtual void ps_rowSelected(const QModelIndex &index) override;

View File

@@ -131,7 +131,7 @@ namespace BlackGui
this->setFilterWidgetImpl(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_UNUSED(s);
}
@@ -143,7 +143,7 @@ namespace BlackGui
this->setFilterWidgetImpl(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");
s = connect(this, &CViewBaseNonTemplate::modelDataChanged, filterWidget, &CFilterWidget::onRowCountChanged);
Q_ASSERT_X(s, Q_FUNC_INFO, "filter connect");
@@ -241,7 +241,7 @@ namespace BlackGui
{
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());
ma.addAction(CIcons::filter16(), "Remove Filter", CMenuAction::pathViewFilter(), { this, &CViewBaseNonTemplate::ps_removeFilter });
ma.addAction(CIcons::filter16(), "Remove Filter", CMenuAction::pathViewFilter(), { this, &CViewBaseNonTemplate::removeFilter });
}
break;
}