change change view button

This commit is contained in:
Jakub Trllo 2025-08-07 15:01:34 +02:00
parent bc6bd4be29
commit c800e35f3f
2 changed files with 25 additions and 4 deletions

View file

@ -178,6 +178,7 @@ class OverviewWidget(QtWidgets.QFrame):
self._create_btn = create_btn
self._delete_btn = delete_btn
self._change_view_btn = change_view_btn
self._product_attributes_widget = product_attributes_widget
self._create_widget = create_widget
@ -415,6 +416,7 @@ class OverviewWidget(QtWidgets.QFrame):
old_view = self._get_current_view()
new_view = self._get_view_by_idx(new_idx)
is_list_view = isinstance(new_view, InstanceListView)
if not new_view.refreshed:
new_view.refresh()
@ -429,6 +431,9 @@ class OverviewWidget(QtWidgets.QFrame):
instance_ids, context_selected, convertor_identifiers
)
self._change_view_btn.set_view_type(
"card" if is_list_view else "list"
)
self._product_views_layout.setCurrentIndex(new_idx)
self._on_product_change()

View file

@ -10,6 +10,7 @@ from ayon_core.tools.flickcharm import FlickCharm
from ayon_core.tools.utils import (
IconButton,
PixmapLabel,
get_qt_icon,
)
from ayon_core.tools.publisher.constants import ResetKeySequence
@ -287,12 +288,27 @@ class RemoveInstanceBtn(PublishIconBtn):
self.setToolTip("Remove selected instances")
class ChangeViewBtn(PublishIconBtn):
class ChangeViewBtn(IconButton):
"""Create toggle view button."""
def __init__(self, parent=None):
icon_path = get_icon_path("change_view")
super().__init__(icon_path, parent)
self.setToolTip("Swap between views")
super().__init__(parent)
self.set_view_type("list")
def set_view_type(self, view_type):
if view_type == "list":
# icon_name = "data_table"
icon_name = "view_agenda"
tooltip = "Change to list view"
else:
icon_name = "dehaze"
tooltip = "Change to card view"
icon = get_qt_icon({
"type": "material-symbols",
"name": icon_name,
})
self.setIcon(icon)
self.setToolTip(tooltip)
class AbstractInstanceView(QtWidgets.QWidget):