Browse Source

Asset browser: move collapse button to menu

We don't need this functionality as a separate button. Move it to the
"hamburger" menu of the Asset Browser. For that a menu that used to
house search view settings was re-used by renaming it to
m_toolsMenuButton.

Fixes: #13005

Signed-off-by: Miłosz Kosobucki <[email protected]>
Miłosz Kosobucki 2 years ago
parent
commit
14df1e2fc5

+ 0 - 14
Assets/Editor/Icons/AssetBrowser/Collapse_All.svg

@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<path d="M3.145,8.433c0-1.47,1.196-2.666,2.666-2.666h9.544c-0.158-0.819-0.88-1.443-1.744-1.443H3.487
-	c-0.978,0-1.778,0.8-1.778,1.778v5.356c0,0.861,0.62,1.582,1.436,1.743V8.433z" fill="#FFFFFF"/>
-<g>
-	<path d="M6.833,11.654c0-1.47,1.196-2.666,2.666-2.666h9.069c-0.158-0.819-0.88-1.443-1.744-1.443H6.7
-		c-0.978,0-1.778,0.8-1.778,1.778v5.356c0,0.978,0.8,1.778,1.778,1.778h0.133V11.654z" fill="#FFFFFF"/>
-</g>
-<path d="M20.513,10.765H10.388c-0.978,0-1.778,0.8-1.778,1.777v5.356c0,0.978,0.8,1.778,1.778,1.778h10.125
-	c0.978,0,1.778-0.8,1.778-1.778v-5.356C22.29,11.565,21.49,10.765,20.513,10.765z M19.332,15.967h-7.763
-	c-0.264,0-0.478-0.355-0.478-0.793c0-0.438,0.214-0.793,0.478-0.793h7.763c0.264,0,0.478,0.355,0.478,0.793
-	C19.81,15.612,19.597,15.967,19.332,15.967z" fill="#FFFFFF"/>
-</svg>

+ 23 - 29
Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.cpp

@@ -38,7 +38,6 @@ namespace AzToolsFramework
 {
     namespace AssetBrowser
     {
-        static constexpr const char* CollapseAllIcon = "Assets/Editor/Icons/AssetBrowser/Collapse_All.svg";
         static constexpr const char* MenuIcon = ":/Menu/menu.svg";
     } // namespace AssetBrowser
 } // namespace AzToolsFramework
@@ -82,7 +81,7 @@ AzAssetBrowserWindow::AzAssetBrowserWindow(QWidget* parent)
     m_ui->setupUi(this);
     m_ui->m_searchWidget->Setup(true, true);
 
-    OnInitViewToggleButton();
+    OnInitToolsMenuButton();
 
     namespace AzAssetBrowser = AzToolsFramework::AssetBrowser;
 
@@ -93,27 +92,18 @@ AzAssetBrowserWindow::AzAssetBrowserWindow(QWidget* parent)
     m_filterModel->SetFilter(m_ui->m_searchWidget->GetFilter());
 
     m_ui->m_assetBrowserTableViewWidget->setVisible(false);
-    m_ui->m_toggleDisplayViewBtn->setVisible(false);
+    m_ui->m_toolsMenuButton->setVisible(false);
     m_ui->m_searchWidget->SetFilterInputInterval(AZStd::chrono::milliseconds(250));
 
     m_assetBrowserModel->SetFilterModel(m_filterModel.data());
     m_assetBrowserModel->EnableTickBus();
 
-    m_ui->m_collapseAllButton->setAutoRaise(true); // hover highlight
-    m_ui->m_collapseAllButton->setIcon(QIcon(AzAssetBrowser::CollapseAllIcon));
-
-    connect(m_ui->m_collapseAllButton, &QToolButton::clicked, this,
-        [this]()
-        {
-            m_ui->m_assetBrowserTreeViewWidget->collapseAll();
-        });
-
     if (ed_useNewAssetBrowserTableView)
     {
-        m_ui->m_toggleDisplayViewBtn->setVisible(true);
-        m_ui->m_toggleDisplayViewBtn->setEnabled(true);
-        m_ui->m_toggleDisplayViewBtn->setAutoRaise(true);
-        m_ui->m_toggleDisplayViewBtn->setIcon(QIcon(AzAssetBrowser::MenuIcon));
+        m_ui->m_toolsMenuButton->setVisible(true);
+        m_ui->m_toolsMenuButton->setEnabled(true);
+        m_ui->m_toolsMenuButton->setAutoRaise(true);
+        m_ui->m_toolsMenuButton->setIcon(QIcon(AzAssetBrowser::MenuIcon));
 
         m_tableModel->setFilterRole(Qt::DisplayRole);
         m_tableModel->setSourceModel(m_filterModel.data());
@@ -146,8 +136,7 @@ AzAssetBrowserWindow::AzAssetBrowserWindow(QWidget* parent)
         m_ui->m_tableViewButton->hide();
     }
 
-    m_ui->horizontalLayout->setAlignment(m_ui->m_toggleDisplayViewBtn, Qt::AlignTop);
-    m_ui->horizontalLayout->setAlignment(m_ui->m_collapseAllButton, Qt::AlignTop);
+    m_ui->horizontalLayout->setAlignment(m_ui->m_toolsMenuButton, Qt::AlignTop);
     m_ui->horizontalLayout->setAlignment(m_ui->m_treeViewButton, Qt::AlignTop);
     m_ui->horizontalLayout->setAlignment(m_ui->m_tableViewButton, Qt::AlignTop);
     m_ui->horizontalLayout->setAlignment(m_ui->m_thumbnailViewButton, Qt::AlignTop);
@@ -229,33 +218,38 @@ void AzAssetBrowserWindow::resizeEvent(QResizeEvent* resizeEvent)
     QWidget::resizeEvent(resizeEvent);
 }
 
-void AzAssetBrowserWindow::OnInitViewToggleButton()
+void AzAssetBrowserWindow::OnInitToolsMenuButton()
 {
-    CreateSwitchViewMenu();
-    m_ui->m_toggleDisplayViewBtn->setMenu(m_viewSwitchMenu);
-    m_ui->m_toggleDisplayViewBtn->setPopupMode(QToolButton::InstantPopup);
+    CreateToolsMenu();
+    m_ui->m_toolsMenuButton->setMenu(m_toolsMenu);
+    m_ui->m_toolsMenuButton->setPopupMode(QToolButton::InstantPopup);
 
-    connect(m_viewSwitchMenu, &QMenu::aboutToShow, this, &AzAssetBrowserWindow::UpdateDisplayInfo);
+    connect(m_toolsMenu, &QMenu::aboutToShow, this, &AzAssetBrowserWindow::UpdateDisplayInfo);
 }
 
-void AzAssetBrowserWindow::CreateSwitchViewMenu()
+void AzAssetBrowserWindow::CreateToolsMenu()
 {
-    if (m_viewSwitchMenu != nullptr)
+    if (m_toolsMenu != nullptr)
     {
         return;
     }
 
-    m_viewSwitchMenu = new QMenu("Asset Browser Mode Selection", this);
+    m_toolsMenu = new QMenu("Asset Browser Mode Selection", this);
 
     m_listViewMode = new QAction(tr("List View"), this);
     m_listViewMode->setCheckable(true);
     connect(m_listViewMode, &QAction::triggered, this, &AzAssetBrowserWindow::SetListViewMode);
-    m_viewSwitchMenu->addAction(m_listViewMode);
+    m_toolsMenu->addAction(m_listViewMode);
 
     m_treeViewMode = new QAction(tr("Tree View"), this);
     m_treeViewMode->setCheckable(true);
     connect(m_treeViewMode, &QAction::triggered, this, &AzAssetBrowserWindow::SetTreeViewMode);
-    m_viewSwitchMenu->addAction(m_treeViewMode);
+    m_toolsMenu->addAction(m_treeViewMode);
+
+    m_toolsMenu->addSeparator();
+    auto* collapseAllAction = new QAction(tr("Collapse All"), this);
+    connect(collapseAllAction, &QAction::triggered, this, [this] { m_ui->m_assetBrowserTreeViewWidget->collapseAll(); });
+    m_toolsMenu->addAction(collapseAllAction);
 
     UpdateDisplayInfo();
 }
@@ -264,7 +258,7 @@ void AzAssetBrowserWindow::UpdateDisplayInfo()
 {
     namespace AzAssetBrowser = AzToolsFramework::AssetBrowser;
 
-    if (m_viewSwitchMenu == nullptr)
+    if (m_toolsMenu == nullptr)
     {
         return;
     }

+ 3 - 3
Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.h

@@ -61,11 +61,11 @@ protected:
     void resizeEvent(QResizeEvent* resizeEvent) override;
 
 private:
-    void OnInitViewToggleButton();
+    void OnInitToolsMenuButton();
     void UpdateDisplayInfo();
 
 protected slots:
-    void CreateSwitchViewMenu();
+    void CreateToolsMenu();
     void SetTreeViewMode();
     void SetListViewMode();
     void UpdateWidgetAfterFilter();
@@ -77,7 +77,7 @@ private:
     QScopedPointer<AzToolsFramework::AssetBrowser::AssetBrowserFilterModel> m_filterModel;
     QScopedPointer<AzToolsFramework::AssetBrowser::AssetBrowserTableModel> m_tableModel;
     AzToolsFramework::AssetBrowser::AssetBrowserModel* m_assetBrowserModel;
-    QMenu* m_viewSwitchMenu = nullptr;
+    QMenu* m_toolsMenu = nullptr;
     QAction* m_treeViewMode = nullptr;
     QAction* m_listViewMode = nullptr;
     AzToolsFramework::AssetBrowser::AssetBrowserDisplayState m_assetBrowserDisplayState =

+ 2 - 15
Code/Editor/AzAssetBrowser/AzAssetBrowserWindow.ui

@@ -93,28 +93,15 @@
           </widget>
          </item>
          <item>
-          <widget class="QToolButton" name="m_toggleDisplayViewBtn">
+          <widget class="QToolButton" name="m_toolsMenuButton">
            <property name="toolTip">
-            <string extracomment="Change Search View">Change Search View</string>
+            <string extracomment="Asset Browser menu">Asset Browser menu</string>
            </property>
            <property name="text">
             <string>...</string>
            </property>
           </widget>
          </item>
-         <item>
-          <widget class="QToolButton" name="m_collapseAllButton">
-           <property name="focusPolicy">
-            <enum>Qt::ClickFocus</enum>
-           </property>
-           <property name="toolTip">
-            <string extracomment="Collapse All">Collapse All</string>
-           </property>
-           <property name="text">
-            <string/>
-           </property>
-          </widget>
-         </item>
          <item>
           <widget class="QToolButton" name="m_treeViewButton">
            <property name="text">