mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
keep creators view label at same height as asset filtering
This commit is contained in:
parent
b17a71fe14
commit
1bc4d6c66a
2 changed files with 42 additions and 1 deletions
|
|
@ -15,6 +15,7 @@ from openpype.tools.utils.assets_widget import (
|
|||
|
||||
class CreateDialogAssetsWidget(SingleSelectAssetsWidget):
|
||||
current_context_required = QtCore.Signal()
|
||||
header_height_changed = QtCore.Signal(int)
|
||||
|
||||
def __init__(self, controller, parent):
|
||||
self._controller = controller
|
||||
|
|
@ -27,6 +28,27 @@ class CreateDialogAssetsWidget(SingleSelectAssetsWidget):
|
|||
self._last_selection = None
|
||||
self._enabled = None
|
||||
|
||||
self._last_filter_height = None
|
||||
|
||||
def _check_header_height(self):
|
||||
"""Catch header height changes.
|
||||
|
||||
Label on top of creaters should have same height so Creators view has
|
||||
same offset.
|
||||
"""
|
||||
height = self.header_widget.height()
|
||||
if height != self._last_filter_height:
|
||||
self._last_filter_height = height
|
||||
self.header_height_changed.emit(height)
|
||||
|
||||
def resizeEvent(self, event):
|
||||
super(CreateDialogAssetsWidget, self).resizeEvent(event)
|
||||
self._check_header_height()
|
||||
|
||||
def showEvent(self, event):
|
||||
super(CreateDialogAssetsWidget, self).showEvent(event)
|
||||
self._check_header_height()
|
||||
|
||||
def _on_current_asset_click(self):
|
||||
self.current_context_required.emit()
|
||||
|
||||
|
|
@ -71,6 +93,7 @@ class AssetsHierarchyModel(QtGui.QStandardItemModel):
|
|||
Uses controller to load asset hierarchy. All asset documents are stored by
|
||||
their parents.
|
||||
"""
|
||||
|
||||
def __init__(self, controller):
|
||||
super(AssetsHierarchyModel, self).__init__()
|
||||
self._controller = controller
|
||||
|
|
@ -143,6 +166,7 @@ class AssetsHierarchyModel(QtGui.QStandardItemModel):
|
|||
|
||||
class AssetsDialog(QtWidgets.QDialog):
|
||||
"""Dialog to select asset for a context of instance."""
|
||||
|
||||
def __init__(self, controller, parent):
|
||||
super(AssetsDialog, self).__init__(parent)
|
||||
self.setWindowTitle("Select asset")
|
||||
|
|
|
|||
|
|
@ -255,6 +255,14 @@ class CreateDialog(QtWidgets.QDialog):
|
|||
context_layout.addWidget(tasks_widget, 1)
|
||||
|
||||
# --- Creators view ---
|
||||
creators_header_widget = QtWidgets.QWidget(self)
|
||||
header_label_widget = QtWidgets.QLabel(
|
||||
"Choose family:", creators_header_widget
|
||||
)
|
||||
creators_header_layout = QtWidgets.QHBoxLayout(creators_header_widget)
|
||||
creators_header_layout.setContentsMargins(0, 0, 0, 0)
|
||||
creators_header_layout.addWidget(header_label_widget, 1)
|
||||
|
||||
creators_view = QtWidgets.QListView(self)
|
||||
creators_model = QtGui.QStandardItemModel()
|
||||
creators_view.setModel(creators_model)
|
||||
|
|
@ -289,7 +297,7 @@ class CreateDialog(QtWidgets.QDialog):
|
|||
mid_widget = QtWidgets.QWidget(self)
|
||||
mid_layout = QtWidgets.QVBoxLayout(mid_widget)
|
||||
mid_layout.setContentsMargins(0, 0, 0, 0)
|
||||
mid_layout.addWidget(QtWidgets.QLabel("Choose family:", self))
|
||||
mid_layout.addWidget(creators_header_widget, 0)
|
||||
mid_layout.addWidget(creators_view, 1)
|
||||
mid_layout.addLayout(form_layout, 0)
|
||||
# ------------
|
||||
|
|
@ -362,6 +370,10 @@ class CreateDialog(QtWidgets.QDialog):
|
|||
help_btn.clicked.connect(self._on_help_btn)
|
||||
help_btn.resized.connect(self._on_help_btn_resize)
|
||||
|
||||
assets_widget.header_height_changed.connect(
|
||||
self._on_asset_filter_height_change
|
||||
)
|
||||
|
||||
create_btn.clicked.connect(self._on_create)
|
||||
variant_widget.resized.connect(self._on_variant_widget_resize)
|
||||
variant_input.returnPressed.connect(self._on_create)
|
||||
|
|
@ -394,6 +406,7 @@ class CreateDialog(QtWidgets.QDialog):
|
|||
self.variant_hints_menu = variant_hints_menu
|
||||
self.variant_hints_group = variant_hints_group
|
||||
|
||||
self._creators_header_widget = creators_header_widget
|
||||
self.creators_model = creators_model
|
||||
self.creators_view = creators_view
|
||||
self.create_btn = create_btn
|
||||
|
|
@ -472,6 +485,10 @@ class CreateDialog(QtWidgets.QDialog):
|
|||
def _invalidate_prereq(self):
|
||||
self._prereq_timer.start()
|
||||
|
||||
def _on_asset_filter_height_change(self, height):
|
||||
self._creators_header_widget.setMinimumHeight(height)
|
||||
self._creators_header_widget.setMaximumHeight(height)
|
||||
|
||||
def _on_prereq_timer(self):
|
||||
prereq_available = True
|
||||
creator_btn_tooltips = []
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue