Switching views with filters
This commit is contained in:
+6
@@ -130,6 +130,9 @@ namespace AzToolsFramework
|
||||
if (compFilter)
|
||||
{
|
||||
auto& subFilters = compFilter->GetSubFilters();
|
||||
//bool bNoFilters = false;
|
||||
|
||||
|
||||
auto it = AZStd::find_if(subFilters.begin(), subFilters.end(), [subFilters](FilterConstType filter) -> bool
|
||||
{
|
||||
auto assetTypeFilter = qobject_cast<QSharedPointer<const CompositeFilter> >(filter);
|
||||
@@ -147,8 +150,11 @@ namespace AzToolsFramework
|
||||
if (it != subFilters.end())
|
||||
{
|
||||
m_stringFilter = qobject_cast<QSharedPointer<const StringFilter> >(*it);
|
||||
emit switchFilterView(m_stringFilter.toStrongRef()->IsEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
invalidateFilter();
|
||||
Q_EMIT filterChanged();
|
||||
}
|
||||
|
||||
+1
-1
@@ -52,8 +52,8 @@ namespace AzToolsFramework
|
||||
void OnAssetBrowserComponentReady() override;
|
||||
|
||||
Q_SIGNALS:
|
||||
void switchFilterView(int);
|
||||
void filterChanged();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//QSortFilterProxyModel
|
||||
protected:
|
||||
|
||||
@@ -233,6 +233,11 @@ namespace AzToolsFramework
|
||||
Q_EMIT updatedSignal();
|
||||
}
|
||||
|
||||
bool StringFilter::IsEmpty() const
|
||||
{
|
||||
return m_filterString.isEmpty();
|
||||
}
|
||||
|
||||
QString StringFilter::GetNameInternal() const
|
||||
{
|
||||
return m_filterString;
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace AzToolsFramework
|
||||
~StringFilter() override = default;
|
||||
|
||||
void SetFilterString(const QString& filterString);
|
||||
|
||||
bool IsEmpty() const;
|
||||
protected:
|
||||
QString GetNameInternal() const override;
|
||||
bool MatchInternal(const AssetBrowserEntry* entry) const override;
|
||||
|
||||
+2
@@ -52,6 +52,7 @@ namespace AzToolsFramework
|
||||
setSortingEnabled(true);
|
||||
setItemDelegate(m_delegate);
|
||||
header()->hide();
|
||||
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|
||||
setMouseTracking(true);
|
||||
@@ -174,6 +175,7 @@ namespace AzToolsFramework
|
||||
|
||||
void AssetBrowserTreeView::OnAssetBrowserComponentReady()
|
||||
{
|
||||
hideColumn(static_cast<int>(AssetBrowserEntry::Column::Path));
|
||||
if (!m_name.isEmpty())
|
||||
{
|
||||
auto crc = AZ::Crc32(m_name.toUtf8().data());
|
||||
|
||||
@@ -82,7 +82,7 @@ AzAssetBrowserWindow::AzAssetBrowserWindow(QWidget* parent)
|
||||
m_tableModel->setSourceModel(m_filterModel.data());
|
||||
|
||||
m_ui->m_assetBrowserTreeViewWidget->setModel(m_filterModel.data());
|
||||
m_ui->m_assetBrowserTreeViewWidget->hideColumn(static_cast<int>(AssetBrowserEntry::Column::Path));
|
||||
//m_ui->m_assetBrowserTreeViewWidget->hideColumn(static_cast<int>(AssetBrowserEntry::Column::Path));
|
||||
|
||||
m_ui->m_assetBrowserTableViewWidget->setModel(m_tableModel.data());
|
||||
m_ui->m_assetBrowserTableViewWidget->setVisible(false);
|
||||
@@ -97,9 +97,14 @@ AzAssetBrowserWindow::AzAssetBrowserWindow(QWidget* parent)
|
||||
});
|
||||
|
||||
connect(m_filterModel.data(), &AssetBrowserFilterModel::filterChanged, m_tableModel.data(), &AssetBrowserTableModel::UpdateTableModelMaps);
|
||||
connect(m_filterModel.data(), &AssetBrowserFilterModel::switchFilterView, this, &AzAssetBrowserWindow::SwitchDisplayView);
|
||||
|
||||
connect(m_ui->m_assetBrowserTreeViewWidget, &AssetBrowserTreeView::selectionChangedSignal,
|
||||
this, &AzAssetBrowserWindow::SelectionChangedSlot);
|
||||
|
||||
connect(m_ui->m_assetBrowserTableViewWidget, &AssetBrowserTableView::selectionChangedSignal,
|
||||
this, &AzAssetBrowserWindow::SelectionChangedSlot);
|
||||
|
||||
connect(m_ui->m_assetBrowserTreeViewWidget, &QAbstractItemView::doubleClicked, this, &AzAssetBrowserWindow::DoubleClickedItem);
|
||||
|
||||
connect(m_ui->m_assetBrowserTableViewWidget, &QAbstractItemView::doubleClicked, this, &AzAssetBrowserWindow::DoubleClickedItemTableModel);
|
||||
@@ -279,7 +284,7 @@ void AzAssetBrowserWindow::DoubleClickedItemTableModel([[maybe_unused]] const QM
|
||||
}
|
||||
}
|
||||
|
||||
void AzAssetBrowserWindow::SwitchDisplayView(const int state)
|
||||
void AzAssetBrowserWindow::SwitchDisplayView(bool state)
|
||||
{
|
||||
m_ui->m_assetBrowserTableViewWidget->setVisible(state);
|
||||
m_ui->m_assetBrowserTreeViewWidget->setVisible(!state);
|
||||
|
||||
@@ -64,7 +64,7 @@ private Q_SLOTS:
|
||||
void SelectionChangedSlot(const QItemSelection& selected, const QItemSelection& deselected) const;
|
||||
void DoubleClickedItem(const QModelIndex& element);
|
||||
void DoubleClickedItemTableModel(const QModelIndex& element);
|
||||
void SwitchDisplayView(const int state);
|
||||
void SwitchDisplayView(bool state);
|
||||
};
|
||||
|
||||
extern const char* AZ_ASSET_BROWSER_PREVIEW_NAME;
|
||||
|
||||
Reference in New Issue
Block a user