mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 12:54:40 +01:00
Merge branch 'develop' into bugfixes/AY-6975_retimes_consolidations
This commit is contained in:
commit
0d12dadbb1
6 changed files with 12 additions and 52 deletions
|
|
@ -30,7 +30,8 @@ class AddLastWorkfileToLaunchArgs(PreLaunchHook):
|
||||||
"aftereffects",
|
"aftereffects",
|
||||||
"wrap",
|
"wrap",
|
||||||
"openrv",
|
"openrv",
|
||||||
"cinema4d"
|
"cinema4d",
|
||||||
|
"silhouette",
|
||||||
}
|
}
|
||||||
launch_types = {LaunchTypes.local}
|
launch_types = {LaunchTypes.local}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,8 @@ class OCIOEnvHook(PreLaunchHook):
|
||||||
"hiero",
|
"hiero",
|
||||||
"resolve",
|
"resolve",
|
||||||
"openrv",
|
"openrv",
|
||||||
"cinema4d"
|
"cinema4d",
|
||||||
|
"silhouette",
|
||||||
}
|
}
|
||||||
launch_types = set()
|
launch_types = set()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ class ValidateCurrentSaveFile(pyblish.api.ContextPlugin):
|
||||||
label = "Validate File Saved"
|
label = "Validate File Saved"
|
||||||
order = pyblish.api.ValidatorOrder - 0.1
|
order = pyblish.api.ValidatorOrder - 0.1
|
||||||
hosts = ["fusion", "houdini", "max", "maya", "nuke", "substancepainter",
|
hosts = ["fusion", "houdini", "max", "maya", "nuke", "substancepainter",
|
||||||
"cinema4d"]
|
"cinema4d", "silhouette"]
|
||||||
actions = [SaveByVersionUpAction, ShowWorkfilesAction]
|
actions = [SaveByVersionUpAction, ShowWorkfilesAction]
|
||||||
|
|
||||||
def process(self, context):
|
def process(self, context):
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ def find_free_port(
|
||||||
exclude_ports (list, tuple, set): List of ports that won't be
|
exclude_ports (list, tuple, set): List of ports that won't be
|
||||||
checked form entered range.
|
checked form entered range.
|
||||||
host (str): Host where will check for free ports. Set to
|
host (str): Host where will check for free ports. Set to
|
||||||
"localhost" by default.
|
"127.0.0.1" by default.
|
||||||
"""
|
"""
|
||||||
if port_from is None:
|
if port_from is None:
|
||||||
port_from = 8079
|
port_from = 8079
|
||||||
|
|
@ -42,7 +42,7 @@ def find_free_port(
|
||||||
|
|
||||||
# Default host is localhost but it is possible to look for other hosts
|
# Default host is localhost but it is possible to look for other hosts
|
||||||
if host is None:
|
if host is None:
|
||||||
host = "localhost"
|
host = "127.0.0.1"
|
||||||
|
|
||||||
found_port = None
|
found_port = None
|
||||||
while True:
|
while True:
|
||||||
|
|
@ -78,7 +78,7 @@ class WebServerManager:
|
||||||
self._log = None
|
self._log = None
|
||||||
|
|
||||||
self.port = port or 8079
|
self.port = port or 8079
|
||||||
self.host = host or "localhost"
|
self.host = host or "127.0.0.1"
|
||||||
|
|
||||||
self.on_stop_callbacks = []
|
self.on_stop_callbacks = []
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
from ayon_core.resources import get_image_path
|
|
||||||
from ayon_core.tools.flickcharm import FlickCharm
|
from ayon_core.tools.flickcharm import FlickCharm
|
||||||
|
|
||||||
from qtpy import QtWidgets, QtCore, QtGui, QtSvg
|
from qtpy import QtWidgets, QtCore, QtGui
|
||||||
|
|
||||||
|
|
||||||
class DeselectableTreeView(QtWidgets.QTreeView):
|
class DeselectableTreeView(QtWidgets.QTreeView):
|
||||||
|
|
@ -19,48 +18,6 @@ class DeselectableTreeView(QtWidgets.QTreeView):
|
||||||
QtWidgets.QTreeView.mousePressEvent(self, event)
|
QtWidgets.QTreeView.mousePressEvent(self, event)
|
||||||
|
|
||||||
|
|
||||||
class TreeViewSpinner(QtWidgets.QTreeView):
|
|
||||||
size = 160
|
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
|
||||||
super(TreeViewSpinner, self).__init__(parent=parent)
|
|
||||||
|
|
||||||
loading_image_path = get_image_path("spinner-200.svg")
|
|
||||||
|
|
||||||
self.spinner = QtSvg.QSvgRenderer(loading_image_path)
|
|
||||||
|
|
||||||
self.is_loading = False
|
|
||||||
self.is_empty = True
|
|
||||||
|
|
||||||
def paint_loading(self, event):
|
|
||||||
rect = event.rect()
|
|
||||||
rect = QtCore.QRectF(rect.topLeft(), rect.bottomRight())
|
|
||||||
rect.moveTo(
|
|
||||||
rect.x() + rect.width() / 2 - self.size / 2,
|
|
||||||
rect.y() + rect.height() / 2 - self.size / 2
|
|
||||||
)
|
|
||||||
rect.setSize(QtCore.QSizeF(self.size, self.size))
|
|
||||||
painter = QtGui.QPainter(self.viewport())
|
|
||||||
self.spinner.render(painter, rect)
|
|
||||||
|
|
||||||
def paint_empty(self, event):
|
|
||||||
painter = QtGui.QPainter(self.viewport())
|
|
||||||
rect = event.rect()
|
|
||||||
rect = QtCore.QRectF(rect.topLeft(), rect.bottomRight())
|
|
||||||
qtext_opt = QtGui.QTextOption(
|
|
||||||
QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter
|
|
||||||
)
|
|
||||||
painter.drawText(rect, "No Data", qtext_opt)
|
|
||||||
|
|
||||||
def paintEvent(self, event):
|
|
||||||
if self.is_loading:
|
|
||||||
self.paint_loading(event)
|
|
||||||
elif self.is_empty:
|
|
||||||
self.paint_empty(event)
|
|
||||||
else:
|
|
||||||
super(TreeViewSpinner, self).paintEvent(event)
|
|
||||||
|
|
||||||
|
|
||||||
class TreeView(QtWidgets.QTreeView):
|
class TreeView(QtWidgets.QTreeView):
|
||||||
"""Ultimate TreeView with flick charm and double click signals.
|
"""Ultimate TreeView with flick charm and double click signals.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -184,9 +184,10 @@ class WorkareaModel:
|
||||||
return items
|
return items
|
||||||
|
|
||||||
for filename in os.listdir(workdir):
|
for filename in os.listdir(workdir):
|
||||||
|
# We want to support both files and folders. e.g. Silhoutte uses
|
||||||
|
# folders as its project files. So we do not check whether it is
|
||||||
|
# a file or not.
|
||||||
filepath = os.path.join(workdir, filename)
|
filepath = os.path.join(workdir, filename)
|
||||||
if not os.path.isfile(filepath):
|
|
||||||
continue
|
|
||||||
|
|
||||||
ext = os.path.splitext(filename)[1].lower()
|
ext = os.path.splitext(filename)[1].lower()
|
||||||
if ext not in self._extensions:
|
if ext not in self._extensions:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue