mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
use filters widget in workfiles tool
This commit is contained in:
parent
f9f55b48b0
commit
ba4ecc6f80
1 changed files with 14 additions and 32 deletions
|
|
@ -6,12 +6,11 @@ from ayon_core.tools.utils import (
|
||||||
FoldersWidget,
|
FoldersWidget,
|
||||||
GoToCurrentButton,
|
GoToCurrentButton,
|
||||||
MessageOverlayObject,
|
MessageOverlayObject,
|
||||||
NiceCheckbox,
|
|
||||||
PlaceholderLineEdit,
|
PlaceholderLineEdit,
|
||||||
RefreshButton,
|
RefreshButton,
|
||||||
TasksWidget,
|
TasksWidget,
|
||||||
|
FoldersFiltersWidget,
|
||||||
)
|
)
|
||||||
from ayon_core.tools.utils.lib import checkstate_int_to_enum
|
|
||||||
from ayon_core.tools.workfiles.control import BaseWorkfileController
|
from ayon_core.tools.workfiles.control import BaseWorkfileController
|
||||||
|
|
||||||
from .files_widget import FilesWidget
|
from .files_widget import FilesWidget
|
||||||
|
|
@ -69,7 +68,6 @@ class WorkfilesToolWindow(QtWidgets.QWidget):
|
||||||
self._default_window_flags = flags
|
self._default_window_flags = flags
|
||||||
|
|
||||||
self._folders_widget = None
|
self._folders_widget = None
|
||||||
self._folder_filter_input = None
|
|
||||||
|
|
||||||
self._files_widget = None
|
self._files_widget = None
|
||||||
|
|
||||||
|
|
@ -178,48 +176,33 @@ class WorkfilesToolWindow(QtWidgets.QWidget):
|
||||||
col_widget = QtWidgets.QWidget(parent)
|
col_widget = QtWidgets.QWidget(parent)
|
||||||
header_widget = QtWidgets.QWidget(col_widget)
|
header_widget = QtWidgets.QWidget(col_widget)
|
||||||
|
|
||||||
folder_filter_input = PlaceholderLineEdit(header_widget)
|
filters_widget = FoldersFiltersWidget(header_widget)
|
||||||
folder_filter_input.setPlaceholderText("Filter folders..")
|
|
||||||
|
|
||||||
go_to_current_btn = GoToCurrentButton(header_widget)
|
go_to_current_btn = GoToCurrentButton(header_widget)
|
||||||
refresh_btn = RefreshButton(header_widget)
|
refresh_btn = RefreshButton(header_widget)
|
||||||
|
|
||||||
|
header_layout = QtWidgets.QHBoxLayout(header_widget)
|
||||||
|
header_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
header_layout.addWidget(filters_widget, 1)
|
||||||
|
header_layout.addWidget(go_to_current_btn, 0)
|
||||||
|
header_layout.addWidget(refresh_btn, 0)
|
||||||
|
|
||||||
folder_widget = FoldersWidget(
|
folder_widget = FoldersWidget(
|
||||||
controller, col_widget, handle_expected_selection=True
|
controller, col_widget, handle_expected_selection=True
|
||||||
)
|
)
|
||||||
|
|
||||||
my_tasks_tooltip = (
|
|
||||||
"Filter folders and task to only those you are assigned to."
|
|
||||||
)
|
|
||||||
|
|
||||||
my_tasks_label = QtWidgets.QLabel("My tasks")
|
|
||||||
my_tasks_label.setToolTip(my_tasks_tooltip)
|
|
||||||
|
|
||||||
my_tasks_checkbox = NiceCheckbox(folder_widget)
|
|
||||||
my_tasks_checkbox.setChecked(False)
|
|
||||||
my_tasks_checkbox.setToolTip(my_tasks_tooltip)
|
|
||||||
|
|
||||||
header_layout = QtWidgets.QHBoxLayout(header_widget)
|
|
||||||
header_layout.setContentsMargins(0, 0, 0, 0)
|
|
||||||
header_layout.addWidget(folder_filter_input, 1)
|
|
||||||
header_layout.addWidget(go_to_current_btn, 0)
|
|
||||||
header_layout.addWidget(refresh_btn, 0)
|
|
||||||
header_layout.addWidget(my_tasks_label, 0)
|
|
||||||
header_layout.addWidget(my_tasks_checkbox, 0)
|
|
||||||
|
|
||||||
col_layout = QtWidgets.QVBoxLayout(col_widget)
|
col_layout = QtWidgets.QVBoxLayout(col_widget)
|
||||||
col_layout.setContentsMargins(0, 0, 0, 0)
|
col_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
col_layout.addWidget(header_widget, 0)
|
col_layout.addWidget(header_widget, 0)
|
||||||
col_layout.addWidget(folder_widget, 1)
|
col_layout.addWidget(folder_widget, 1)
|
||||||
|
|
||||||
folder_filter_input.textChanged.connect(self._on_folder_filter_change)
|
filters_widget.text_changed.connect(self._on_folder_filter_change)
|
||||||
go_to_current_btn.clicked.connect(self._on_go_to_current_clicked)
|
filters_widget.my_tasks_changed.connect(
|
||||||
refresh_btn.clicked.connect(self._on_refresh_clicked)
|
|
||||||
my_tasks_checkbox.stateChanged.connect(
|
|
||||||
self._on_my_tasks_checkbox_state_changed
|
self._on_my_tasks_checkbox_state_changed
|
||||||
)
|
)
|
||||||
|
go_to_current_btn.clicked.connect(self._on_go_to_current_clicked)
|
||||||
|
refresh_btn.clicked.connect(self._on_refresh_clicked)
|
||||||
|
|
||||||
self._folder_filter_input = folder_filter_input
|
|
||||||
self._folders_widget = folder_widget
|
self._folders_widget = folder_widget
|
||||||
|
|
||||||
return col_widget
|
return col_widget
|
||||||
|
|
@ -403,11 +386,10 @@ class WorkfilesToolWindow(QtWidgets.QWidget):
|
||||||
else:
|
else:
|
||||||
self.close()
|
self.close()
|
||||||
|
|
||||||
def _on_my_tasks_checkbox_state_changed(self, state):
|
def _on_my_tasks_checkbox_state_changed(self, enabled: bool) -> None:
|
||||||
folder_ids = None
|
folder_ids = None
|
||||||
task_ids = None
|
task_ids = None
|
||||||
state = checkstate_int_to_enum(state)
|
if enabled:
|
||||||
if state == QtCore.Qt.Checked:
|
|
||||||
entity_ids = self._controller.get_my_tasks_entity_ids(
|
entity_ids = self._controller.get_my_tasks_entity_ids(
|
||||||
self._project_name
|
self._project_name
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue