mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
main windows will set shadow widget to visible if any widget changed state to working
This commit is contained in:
parent
8563e53858
commit
c2f9a42eb3
3 changed files with 35 additions and 1 deletions
|
|
@ -20,6 +20,7 @@ def main(user_role=None):
|
|||
|
||||
widget = MainWidget(user_role)
|
||||
widget.show()
|
||||
widget.reset()
|
||||
|
||||
sys.exit(app.exec_())
|
||||
|
||||
|
|
|
|||
|
|
@ -193,6 +193,9 @@ QPushButton[btn-type="expand-toggle"] {
|
|||
background-color: #21252B;
|
||||
}
|
||||
|
||||
#ShadowWidget {
|
||||
font-size: 36pt;
|
||||
}
|
||||
QTabWidget::pane {
|
||||
border-top-style: none;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
from Qt import QtWidgets, QtGui
|
||||
from .base import SystemWidget, ProjectWidget
|
||||
from .base import CategoryState, SystemWidget, ProjectWidget
|
||||
from .widgets import ShadowWidget
|
||||
from .. import style
|
||||
|
||||
|
||||
|
|
@ -31,3 +32,32 @@ class MainWidget(QtWidgets.QWidget):
|
|||
layout.addWidget(header_tab_widget)
|
||||
|
||||
self.setLayout(layout)
|
||||
|
||||
self.tab_widgets = [
|
||||
studio_widget,
|
||||
project_widget
|
||||
]
|
||||
|
||||
self._shadow_widget = ShadowWidget("Working...", self)
|
||||
|
||||
for widget in self.tab_widgets:
|
||||
widget.state_changed.connect(self._on_state_change)
|
||||
|
||||
def _on_state_change(self):
|
||||
any_working = False
|
||||
for widget in self.tab_widgets:
|
||||
if widget.state is CategoryState.Working:
|
||||
any_working = True
|
||||
break
|
||||
|
||||
if (
|
||||
(any_working and self._shadow_widget.isVisible())
|
||||
or (not any_working and not self._shadow_widget.isVisible())
|
||||
):
|
||||
return
|
||||
|
||||
self._shadow_widget.setVisible(any_working)
|
||||
|
||||
def reset(self):
|
||||
for widget in self.tab_widgets:
|
||||
widget.reset()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue