mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
Merge pull request #4255 from ynput/feature/OP-4634_Use-qtpy-in-tools
General: Update MacOs to PySide6
This commit is contained in:
commit
37a4ec6564
201 changed files with 5944 additions and 2398 deletions
|
|
@ -908,24 +908,25 @@ class ApplicationLaunchContext:
|
|||
self.launch_args.extend(self.data.pop("app_args"))
|
||||
|
||||
# Handle launch environemtns
|
||||
env = self.data.pop("env", None)
|
||||
if env is not None and not isinstance(env, dict):
|
||||
src_env = self.data.pop("env", None)
|
||||
if src_env is not None and not isinstance(src_env, dict):
|
||||
self.log.warning((
|
||||
"Passed `env` kwarg has invalid type: {}. Expected: `dict`."
|
||||
" Using `os.environ` instead."
|
||||
).format(str(type(env))))
|
||||
env = None
|
||||
).format(str(type(src_env))))
|
||||
src_env = None
|
||||
|
||||
if env is None:
|
||||
env = os.environ
|
||||
if src_env is None:
|
||||
src_env = os.environ
|
||||
|
||||
# subprocess.Popen keyword arguments
|
||||
self.kwargs = {
|
||||
"env": {
|
||||
key: str(value)
|
||||
for key, value in env.items()
|
||||
}
|
||||
ignored_env = {"QT_API", }
|
||||
env = {
|
||||
key: str(value)
|
||||
for key, value in src_env.items()
|
||||
if key not in ignored_env
|
||||
}
|
||||
# subprocess.Popen keyword arguments
|
||||
self.kwargs = {"env": env}
|
||||
|
||||
if platform.system().lower() == "windows":
|
||||
# Detach new process from currently running process on Windows
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ class SearchComboBox(QtWidgets.QComboBox):
|
|||
super(SearchComboBox, self).__init__(parent)
|
||||
|
||||
self.setEditable(True)
|
||||
self.setInsertPolicy(self.NoInsert)
|
||||
self.setInsertPolicy(QtWidgets.QComboBox.NoInsert)
|
||||
self.lineEdit().setPlaceholderText(placeholder)
|
||||
|
||||
# Apply completer settings
|
||||
|
|
|
|||
|
|
@ -156,8 +156,10 @@ class SyncProjectListWidget(QtWidgets.QWidget):
|
|||
if selected_index and \
|
||||
selected_index.isValid() and \
|
||||
not self._selection_changed:
|
||||
mode = QtCore.QItemSelectionModel.Select | \
|
||||
QtCore.QItemSelectionModel.Rows
|
||||
mode = (
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
self.project_list.selectionModel().select(selected_index, mode)
|
||||
|
||||
if self.current_project:
|
||||
|
|
@ -271,8 +273,10 @@ class _SyncRepresentationWidget(QtWidgets.QWidget):
|
|||
for selected_id in self._selected_ids:
|
||||
index = self.model.get_index(selected_id)
|
||||
if index and index.isValid():
|
||||
mode = QtCore.QItemSelectionModel.Select | \
|
||||
QtCore.QItemSelectionModel.Rows
|
||||
mode = (
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
self.selection_model.select(index, mode)
|
||||
existing_ids.add(selected_id)
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class CopyFile(load.LoaderPlugin):
|
|||
|
||||
@staticmethod
|
||||
def copy_file_to_clipboard(path):
|
||||
from Qt import QtCore, QtWidgets
|
||||
from qtpy import QtCore, QtWidgets
|
||||
|
||||
clipboard = QtWidgets.QApplication.clipboard()
|
||||
assert clipboard, "Must have running QApplication instance"
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class CopyFilePath(load.LoaderPlugin):
|
|||
|
||||
@staticmethod
|
||||
def copy_path_to_clipboard(path):
|
||||
from Qt import QtWidgets
|
||||
from qtpy import QtWidgets
|
||||
|
||||
clipboard = QtWidgets.QApplication.clipboard()
|
||||
assert clipboard, "Must have running QApplication instance"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import uuid
|
|||
import clique
|
||||
from pymongo import UpdateOne
|
||||
import qargparse
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype import style
|
||||
from openpype.client import get_versions, get_representations
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import copy
|
||||
from collections import defaultdict
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.client import get_representations
|
||||
from openpype.pipeline import load, Anatomy
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ CURRENT_FILE = os.path.abspath(__file__)
|
|||
|
||||
def show_error_messagebox(title, message, detail_message=None):
|
||||
"""Function will show message and process ends after closing it."""
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
from openpype import style
|
||||
|
||||
app = QtWidgets.QApplication([])
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ def _load_stylesheet():
|
|||
|
||||
def _load_font():
|
||||
"""Load and register fonts into Qt application."""
|
||||
from Qt import QtGui
|
||||
from qtpy import QtGui
|
||||
|
||||
# Check if font ids are still loaded
|
||||
if _Cache.font_ids is not None:
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ def create_qcolor(*args):
|
|||
*args (tuple): It is possible to pass initialization arguments for
|
||||
Qcolor.
|
||||
"""
|
||||
from Qt import QtGui
|
||||
from qtpy import QtGui
|
||||
|
||||
return QtGui.QColor(*args)
|
||||
|
||||
|
|
|
|||
1520
openpype/style/pyside6_resources.py
Normal file
1520
openpype/style/pyside6_resources.py
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,11 +1,13 @@
|
|||
import Qt
|
||||
import qtpy
|
||||
|
||||
|
||||
initialized = False
|
||||
resources = None
|
||||
if Qt.__binding__ == "PySide2":
|
||||
if qtpy.API == "pyside6":
|
||||
from . import pyside6_resources as resources
|
||||
elif qtpy.API == "pyside2":
|
||||
from . import pyside2_resources as resources
|
||||
elif Qt.__binding__ == "PyQt5":
|
||||
elif qtpy.API == "pyqt5":
|
||||
from . import pyqt5_resources as resources
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ from openpype.client import (
|
|||
get_output_link_versions,
|
||||
)
|
||||
|
||||
from Qt import QtWidgets
|
||||
from qtpy import QtWidgets
|
||||
|
||||
|
||||
class SimpleLinkView(QtWidgets.QWidget):
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets
|
||||
from qtpy import QtWidgets
|
||||
|
||||
from .widgets import AttributeDefinitionsWidget
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import collections
|
|||
import uuid
|
||||
import json
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.lib import FileDefItem
|
||||
from openpype.tools.utils import (
|
||||
|
|
@ -599,14 +599,14 @@ class FilesView(QtWidgets.QListView):
|
|||
def __init__(self, *args, **kwargs):
|
||||
super(FilesView, self).__init__(*args, **kwargs)
|
||||
|
||||
self.setEditTriggers(QtWidgets.QListView.NoEditTriggers)
|
||||
self.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
self.setSelectionMode(
|
||||
QtWidgets.QAbstractItemView.ExtendedSelection
|
||||
)
|
||||
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
self.setAcceptDrops(True)
|
||||
self.setDragEnabled(True)
|
||||
self.setDragDropMode(self.InternalMove)
|
||||
self.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove)
|
||||
|
||||
remove_btn = InViewButton(self)
|
||||
pix_enabled = paint_image_with_color(
|
||||
|
|
@ -616,7 +616,7 @@ class FilesView(QtWidgets.QListView):
|
|||
get_image(filename="delete.png"), QtCore.Qt.gray
|
||||
)
|
||||
icon = QtGui.QIcon(pix_enabled)
|
||||
icon.addPixmap(pix_disabled, icon.Disabled, icon.Off)
|
||||
icon.addPixmap(pix_disabled, QtGui.QIcon.Disabled, QtGui.QIcon.Off)
|
||||
remove_btn.setIcon(icon)
|
||||
remove_btn.setEnabled(False)
|
||||
|
||||
|
|
@ -734,7 +734,7 @@ class FilesWidget(QtWidgets.QFrame):
|
|||
|
||||
layout = QtWidgets.QStackedLayout(self)
|
||||
layout.setContentsMargins(0, 0, 0, 0)
|
||||
layout.setStackingMode(layout.StackAll)
|
||||
layout.setStackingMode(QtWidgets.QStackedLayout.StackAll)
|
||||
layout.addWidget(empty_widget)
|
||||
layout.addWidget(files_view)
|
||||
layout.setCurrentWidget(empty_widget)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
import copy
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.lib.attribute_definitions import (
|
||||
AbtractAttrDef,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
|
||||
FAMILY_ROLE = QtCore.Qt.UserRole + 1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import uuid
|
||||
from Qt import QtGui, QtCore
|
||||
from qtpy import QtGui, QtCore
|
||||
|
||||
from openpype.pipeline import discover_legacy_creator_plugins
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,20 @@
|
|||
import re
|
||||
import inspect
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
import qtawesome
|
||||
|
||||
from openpype.pipeline.create import SUBSET_NAME_ALLOWED_SYMBOLS
|
||||
from openpype.tools.utils import ErrorMessageBox
|
||||
|
||||
if hasattr(QtGui, "QRegularExpressionValidator"):
|
||||
RegularExpressionValidatorClass = QtGui.QRegularExpressionValidator
|
||||
RegularExpressionClass = QtCore.QRegularExpression
|
||||
else:
|
||||
RegularExpressionValidatorClass = QtGui.QRegExpValidator
|
||||
RegularExpressionClass = QtCore.QRegExp
|
||||
|
||||
|
||||
class CreateErrorMessageBox(ErrorMessageBox):
|
||||
def __init__(
|
||||
|
|
@ -82,12 +89,12 @@ class CreateErrorMessageBox(ErrorMessageBox):
|
|||
content_layout.addWidget(tb_widget)
|
||||
|
||||
|
||||
class SubsetNameValidator(QtGui.QRegExpValidator):
|
||||
class SubsetNameValidator(RegularExpressionValidatorClass):
|
||||
invalid = QtCore.Signal(set)
|
||||
pattern = "^[{}]*$".format(SUBSET_NAME_ALLOWED_SYMBOLS)
|
||||
|
||||
def __init__(self):
|
||||
reg = QtCore.QRegExp(self.pattern)
|
||||
reg = RegularExpressionClass(self.pattern)
|
||||
super(SubsetNameValidator, self).__init__(reg)
|
||||
|
||||
def validate(self, text, pos):
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import sys
|
|||
import traceback
|
||||
import re
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.client import get_asset_by_name, get_subsets
|
||||
from openpype import style
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.style import (
|
||||
load_stylesheet,
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ travelled only very slightly with the cursor.
|
|||
"""
|
||||
|
||||
import copy
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
|
||||
class FlickData(object):
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ class ActionBar(QtWidgets.QWidget):
|
|||
view.setResizeMode(QtWidgets.QListView.Adjust)
|
||||
view.setSelectionMode(QtWidgets.QListView.NoSelection)
|
||||
view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
view.setEditTriggers(QtWidgets.QListView.NoEditTriggers)
|
||||
view.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
view.setWrapping(True)
|
||||
view.setGridSize(QtCore.QSize(70, 75))
|
||||
view.setIconSize(QtCore.QSize(30, 30))
|
||||
|
|
@ -423,7 +423,7 @@ class ActionHistory(QtWidgets.QPushButton):
|
|||
return
|
||||
|
||||
widget = QtWidgets.QListWidget()
|
||||
widget.setSelectionMode(widget.NoSelection)
|
||||
widget.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
|
||||
widget.setStyleSheet("""
|
||||
* {
|
||||
font-family: "Courier New";
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class ProjectIconView(QtWidgets.QListView):
|
|||
|
||||
# Workaround for scrolling being super slow or fast when
|
||||
# toggling between the two visual modes
|
||||
self.setVerticalScrollMode(self.ScrollPerPixel)
|
||||
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
|
||||
self.setObjectName("IconView")
|
||||
|
||||
self._mode = None
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import sys
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype import style
|
||||
from openpype.client import get_projects, get_project
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sys
|
||||
import traceback
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.client import get_projects, get_project
|
||||
from openpype import style
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtGui, QtCore
|
||||
from qtpy import QtWidgets, QtGui, QtCore
|
||||
|
||||
|
||||
class LoadedInSceneDelegate(QtWidgets.QStyledItemDelegate):
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import inspect
|
||||
from Qt import QtGui
|
||||
from qtpy import QtGui
|
||||
import qtawesome
|
||||
|
||||
from openpype.lib.attribute_definitions import AbtractAttrDef
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import math
|
|||
import time
|
||||
from uuid import uuid4
|
||||
|
||||
from Qt import QtCore, QtGui
|
||||
from qtpy import QtCore, QtGui
|
||||
import qtawesome
|
||||
|
||||
from openpype.client import (
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import pprint
|
|||
import traceback
|
||||
import collections
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.client import (
|
||||
get_subset_families,
|
||||
|
|
@ -35,6 +35,7 @@ from openpype.tools.utils import (
|
|||
ErrorMessageBox,
|
||||
lib as tools_lib
|
||||
)
|
||||
from openpype.tools.utils.lib import checkstate_int_to_enum
|
||||
from openpype.tools.utils.delegates import (
|
||||
VersionDelegate,
|
||||
PrettyTimeDelegate
|
||||
|
|
@ -47,6 +48,12 @@ from openpype.tools.utils.views import (
|
|||
TreeViewSpinner,
|
||||
DeselectableTreeView
|
||||
)
|
||||
from openpype.tools.utils.constants import (
|
||||
LOCAL_PROVIDER_ROLE,
|
||||
REMOTE_PROVIDER_ROLE,
|
||||
LOCAL_AVAILABILITY_ROLE,
|
||||
REMOTE_AVAILABILITY_ROLE,
|
||||
)
|
||||
from openpype.tools.assetlinks.widgets import SimpleLinkView
|
||||
|
||||
from .model import (
|
||||
|
|
@ -60,13 +67,6 @@ from .model import (
|
|||
from . import lib
|
||||
from .delegates import LoadedInSceneDelegate
|
||||
|
||||
from openpype.tools.utils.constants import (
|
||||
LOCAL_PROVIDER_ROLE,
|
||||
REMOTE_PROVIDER_ROLE,
|
||||
LOCAL_AVAILABILITY_ROLE,
|
||||
REMOTE_AVAILABILITY_ROLE
|
||||
)
|
||||
|
||||
|
||||
class OverlayFrame(QtWidgets.QFrame):
|
||||
def __init__(self, label, parent):
|
||||
|
|
@ -264,8 +264,8 @@ class SubsetWidget(QtWidgets.QWidget):
|
|||
|
||||
group_checkbox.stateChanged.connect(self.set_grouping)
|
||||
|
||||
subset_filter.textChanged.connect(proxy.setFilterRegExp)
|
||||
subset_filter.textChanged.connect(view.expandAll)
|
||||
subset_filter.textChanged.connect(self._subset_changed)
|
||||
|
||||
model.refreshed.connect(self.refreshed)
|
||||
|
||||
self.proxy = proxy
|
||||
|
|
@ -293,6 +293,13 @@ class SubsetWidget(QtWidgets.QWidget):
|
|||
current_index=False):
|
||||
self.model.set_grouping(state)
|
||||
|
||||
def _subset_changed(self, text):
|
||||
if hasattr(self.proxy, "setFilterRegularExpression"):
|
||||
self.proxy.setFilterRegularExpression(text)
|
||||
else:
|
||||
self.proxy.setFilterRegExp(text)
|
||||
self.view.expandAll()
|
||||
|
||||
def set_loading_state(self, loading, empty):
|
||||
view = self.view
|
||||
|
||||
|
|
@ -1059,7 +1066,10 @@ class FamilyListView(QtWidgets.QListView):
|
|||
checked_families = []
|
||||
for row in range(model.rowCount()):
|
||||
index = model.index(row, 0)
|
||||
if index.data(QtCore.Qt.CheckStateRole) == QtCore.Qt.Checked:
|
||||
checked = checkstate_int_to_enum(
|
||||
index.data(QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
if checked == QtCore.Qt.Checked:
|
||||
family = index.data(QtCore.Qt.DisplayRole)
|
||||
checked_families.append(family)
|
||||
|
||||
|
|
@ -1093,13 +1103,15 @@ class FamilyListView(QtWidgets.QListView):
|
|||
self.blockSignals(True)
|
||||
|
||||
for index in indexes:
|
||||
index_state = index.data(QtCore.Qt.CheckStateRole)
|
||||
index_state = checkstate_int_to_enum(
|
||||
index.data(QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
if index_state == state:
|
||||
continue
|
||||
|
||||
new_state = state
|
||||
if new_state is None:
|
||||
if index_state == QtCore.Qt.Checked:
|
||||
if index_state in QtCore.Qt.Checked:
|
||||
new_state = QtCore.Qt.Unchecked
|
||||
else:
|
||||
new_state = QtCore.Qt.Checked
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import sys
|
|||
import time
|
||||
import logging
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.client import get_last_version_by_subset_id
|
||||
from openpype import style
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from collections import defaultdict
|
||||
|
||||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
import qtawesome
|
||||
|
||||
from openpype.tools.utils import models
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
|
||||
class View(QtWidgets.QTreeView):
|
||||
|
|
@ -10,7 +10,7 @@ class View(QtWidgets.QTreeView):
|
|||
# view settings
|
||||
self.setAlternatingRowColors(False)
|
||||
self.setSortingEnabled(True)
|
||||
self.setSelectionMode(self.ExtendedSelection)
|
||||
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
|
||||
def get_indices(self):
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import logging
|
||||
from collections import defaultdict
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.tools.utils.models import TreeModel
|
||||
from openpype.tools.utils.lib import (
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
from qtpy import QtCore, QtWidgets
|
||||
|
||||
from openpype.tools.utils.lib import checkstate_int_to_enum
|
||||
|
||||
|
||||
class ComboItemDelegate(QtWidgets.QStyledItemDelegate):
|
||||
"""
|
||||
|
|
@ -87,7 +89,9 @@ class MultiSelectionComboBox(QtWidgets.QComboBox):
|
|||
return
|
||||
|
||||
index_flags = current_index.flags()
|
||||
state = current_index.data(QtCore.Qt.CheckStateRole)
|
||||
state = checkstate_int_to_enum(
|
||||
current_index.data(QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
new_state = None
|
||||
|
||||
if event.type() == QtCore.QEvent.MouseButtonRelease:
|
||||
|
|
@ -184,7 +188,9 @@ class MultiSelectionComboBox(QtWidgets.QComboBox):
|
|||
def value(self):
|
||||
items = list()
|
||||
for idx in range(self.count()):
|
||||
state = self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
state = checkstate_int_to_enum(
|
||||
self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
if state == QtCore.Qt.Checked:
|
||||
items.append(
|
||||
self.itemData(idx, role=QtCore.Qt.UserRole)
|
||||
|
|
@ -194,7 +200,9 @@ class MultiSelectionComboBox(QtWidgets.QComboBox):
|
|||
def checked_items_text(self):
|
||||
items = list()
|
||||
for idx in range(self.count()):
|
||||
state = self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
state = checkstate_int_to_enum(
|
||||
self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
if state == QtCore.Qt.Checked:
|
||||
items.append(self.itemText(idx))
|
||||
return items
|
||||
|
|
|
|||
|
|
@ -134,9 +134,9 @@ class HierarchyView(QtWidgets.QTreeView):
|
|||
main_delegate = QtWidgets.QStyledItemDelegate()
|
||||
self.setItemDelegate(main_delegate)
|
||||
self.setAlternatingRowColors(True)
|
||||
self.setSelectionMode(HierarchyView.ExtendedSelection)
|
||||
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
self.setEditTriggers(HierarchyView.AllEditTriggers)
|
||||
self.setEditTriggers(QtWidgets.QAbstractItemView.AllEditTriggers)
|
||||
|
||||
column_delegates = {}
|
||||
column_key_to_index = {}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
# ID of context item in instance view
|
||||
CONTEXT_ID = "context"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import collections
|
||||
from abc import abstractmethod, abstractproperty
|
||||
|
||||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
from openpype.lib.events import Event
|
||||
from openpype.pipeline.create import CreatedInstance
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets
|
||||
from qtpy import QtWidgets
|
||||
|
||||
from .report_items import (
|
||||
PublishReport
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
|
||||
ITEM_ID_ROLE = QtCore.Qt.UserRole + 1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import collections
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
from .constants import (
|
||||
ITEM_IS_GROUP_ROLE,
|
||||
ITEM_ERRORED_ROLE,
|
||||
|
|
@ -201,10 +201,10 @@ class GroupItemDelegate(QtWidgets.QStyledItemDelegate):
|
|||
style = QtWidgets.QApplicaion.style()
|
||||
|
||||
style.proxy().drawPrimitive(
|
||||
style.PE_PanelItemViewItem, option, painter, widget
|
||||
QtWidgets.QStyle.PE_PanelItemViewItem, option, painter, widget
|
||||
)
|
||||
_rect = style.proxy().subElementRect(
|
||||
style.SE_ItemViewItemText, option, widget
|
||||
QtWidgets.QStyle.SE_ItemViewItemText, option, widget
|
||||
)
|
||||
bg_rect = QtCore.QRectF(option.rect)
|
||||
bg_rect.setY(_rect.y())
|
||||
|
|
@ -265,7 +265,7 @@ class GroupItemDelegate(QtWidgets.QStyledItemDelegate):
|
|||
else:
|
||||
style = QtWidgets.QApplicaion.style()
|
||||
_rect = style.proxy().subElementRect(
|
||||
style.SE_ItemViewItemText, option, widget
|
||||
QtWidgets.QStyle.SE_ItemViewItemText, option, widget
|
||||
)
|
||||
|
||||
bg_rect = QtCore.QRectF(option.rect)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import uuid
|
||||
from Qt import QtCore, QtGui
|
||||
from qtpy import QtCore, QtGui
|
||||
|
||||
import pyblish.api
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from math import ceil
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.widgets.nice_checkbox import NiceCheckbox
|
||||
|
||||
|
|
@ -76,11 +76,11 @@ class PluginLoadReportWidget(QtWidgets.QWidget):
|
|||
super(PluginLoadReportWidget, self).__init__(parent)
|
||||
|
||||
view = QtWidgets.QTreeView(self)
|
||||
view.setEditTriggers(view.NoEditTriggers)
|
||||
view.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
view.setTextElideMode(QtCore.Qt.ElideLeft)
|
||||
view.setHeaderHidden(True)
|
||||
view.setAlternatingRowColors(True)
|
||||
view.setVerticalScrollMode(view.ScrollPerPixel)
|
||||
view.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
|
||||
|
||||
model = PluginLoadReportModel()
|
||||
view.setModel(model)
|
||||
|
|
@ -372,8 +372,10 @@ class PublishReportViewerWidget(QtWidgets.QFrame):
|
|||
instances_view.setModel(instances_proxy)
|
||||
instances_view.setIndentation(0)
|
||||
instances_view.setHeaderHidden(True)
|
||||
instances_view.setEditTriggers(QtWidgets.QTreeView.NoEditTriggers)
|
||||
instances_view.setSelectionMode(QtWidgets.QTreeView.ExtendedSelection)
|
||||
instances_view.setEditTriggers(
|
||||
QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
instances_view.setSelectionMode(
|
||||
QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
instances_view.setExpandsOnDoubleClick(False)
|
||||
|
||||
instances_delegate = GroupItemDelegate(instances_view)
|
||||
|
|
@ -393,8 +395,10 @@ class PublishReportViewerWidget(QtWidgets.QFrame):
|
|||
plugins_view.setModel(plugins_proxy)
|
||||
plugins_view.setIndentation(0)
|
||||
plugins_view.setHeaderHidden(True)
|
||||
plugins_view.setSelectionMode(QtWidgets.QTreeView.ExtendedSelection)
|
||||
plugins_view.setEditTriggers(QtWidgets.QTreeView.NoEditTriggers)
|
||||
plugins_view.setSelectionMode(
|
||||
QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
plugins_view.setEditTriggers(
|
||||
QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
plugins_view.setExpandsOnDoubleClick(False)
|
||||
|
||||
plugins_delegate = GroupItemDelegate(plugins_view)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import six
|
|||
import uuid
|
||||
|
||||
import appdirs
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype import style
|
||||
from openpype.resources import get_openpype_icon_filepath
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import collections
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.tools.utils import (
|
||||
PlaceholderLineEdit,
|
||||
|
|
@ -193,7 +193,7 @@ class AssetsDialog(QtWidgets.QDialog):
|
|||
asset_view.setModel(proxy_model)
|
||||
asset_view.setHeaderHidden(True)
|
||||
asset_view.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
asset_view.setEditTriggers(QtWidgets.QTreeView.NoEditTriggers)
|
||||
asset_view.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
asset_view.setAlternatingRowColors(True)
|
||||
asset_view.setSelectionBehavior(QtWidgets.QTreeView.SelectRows)
|
||||
asset_view.setAllColumnsShowFocus(True)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.style import get_objected_colors
|
||||
|
||||
|
|
@ -29,8 +29,8 @@ class _VLineWidget(QtWidgets.QWidget):
|
|||
pos_x = self.width()
|
||||
painter = QtGui.QPainter(self)
|
||||
painter.setRenderHints(
|
||||
painter.Antialiasing
|
||||
| painter.SmoothPixmapTransform
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
if self._color:
|
||||
pen = QtGui.QPen(self._color)
|
||||
|
|
@ -73,8 +73,8 @@ class _HBottomLineWidget(QtWidgets.QWidget):
|
|||
)
|
||||
painter = QtGui.QPainter(self)
|
||||
painter.setRenderHints(
|
||||
painter.Antialiasing
|
||||
| painter.SmoothPixmapTransform
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
if self._color:
|
||||
pen = QtGui.QPen(self._color)
|
||||
|
|
@ -131,8 +131,8 @@ class _HTopCornerLineWidget(QtWidgets.QWidget):
|
|||
|
||||
painter = QtGui.QPainter(self)
|
||||
painter.setRenderHints(
|
||||
painter.Antialiasing
|
||||
| painter.SmoothPixmapTransform
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
if self._color:
|
||||
pen = QtGui.QPen(self._color)
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Only one item can be selected at a time.
|
|||
import re
|
||||
import collections
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.widgets.nice_checkbox import NiceCheckbox
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import re
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.pipeline.create import (
|
||||
SUBSET_NAME_ALLOWED_SYMBOLS,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ try:
|
|||
except Exception:
|
||||
commonmark = None
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
|
||||
class HelpButton(QtWidgets.QPushButton):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import os
|
||||
|
||||
from Qt import QtGui
|
||||
from qtpy import QtGui
|
||||
|
||||
|
||||
def get_icon_path(icon_name=None, filename=None):
|
||||
|
|
|
|||
|
|
@ -24,11 +24,11 @@ selection can be enabled disabled using checkbox or keyboard key presses:
|
|||
"""
|
||||
import collections
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.style import get_objected_colors
|
||||
from openpype.widgets.nice_checkbox import NiceCheckbox
|
||||
from openpype.tools.utils.lib import html_escape
|
||||
from openpype.tools.utils.lib import html_escape, checkstate_int_to_enum
|
||||
from .widgets import AbstractInstanceView
|
||||
from ..constants import (
|
||||
INSTANCE_ID_ROLE,
|
||||
|
|
@ -86,9 +86,9 @@ class ListItemDelegate(QtWidgets.QStyledItemDelegate):
|
|||
|
||||
painter.save()
|
||||
painter.setRenderHints(
|
||||
painter.Antialiasing
|
||||
| painter.SmoothPixmapTransform
|
||||
| painter.TextAntialiasing
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
| QtGui.QPainter.TextAntialiasing
|
||||
)
|
||||
|
||||
# Draw backgrounds
|
||||
|
|
@ -272,6 +272,7 @@ class InstanceListGroupWidget(QtWidgets.QFrame):
|
|||
state(QtCore.Qt.CheckState): Checkstate of checkbox. Have 3
|
||||
variants Unchecked, Checked and PartiallyChecked.
|
||||
"""
|
||||
|
||||
if self.checkstate() == state:
|
||||
return
|
||||
self._ignore_state_change = True
|
||||
|
|
@ -279,7 +280,8 @@ class InstanceListGroupWidget(QtWidgets.QFrame):
|
|||
self._ignore_state_change = False
|
||||
|
||||
def checkstate(self):
|
||||
"""CUrrent checkstate of "active" checkbox."""
|
||||
"""Current checkstate of "active" checkbox."""
|
||||
|
||||
return self.toggle_checkbox.checkState()
|
||||
|
||||
def _on_checkbox_change(self, state):
|
||||
|
|
@ -887,6 +889,7 @@ class InstanceListView(AbstractInstanceView):
|
|||
self._instance_view.setExpanded(proxy_index, expanded)
|
||||
|
||||
def _on_group_toggle_request(self, group_name, state):
|
||||
state = checkstate_int_to_enum(state)
|
||||
if state == QtCore.Qt.PartiallyChecked:
|
||||
return
|
||||
|
||||
|
|
@ -1031,17 +1034,20 @@ class InstanceListView(AbstractInstanceView):
|
|||
|
||||
selection_model.setCurrentIndex(
|
||||
first_index,
|
||||
selection_model.ClearAndSelect | selection_model.Rows
|
||||
QtCore.QItemSelectionModel.ClearAndSelect
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
|
||||
for index in select_indexes:
|
||||
proxy_index = proxy_model.mapFromSource(index)
|
||||
selection_model.select(
|
||||
proxy_index,
|
||||
selection_model.Select | selection_model.Rows
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
|
||||
selection_model.setCurrentIndex(
|
||||
last_index,
|
||||
selection_model.Select | selection_model.Rows
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from .border_label_widget import BorderedLabelWidget
|
||||
|
||||
|
|
@ -172,7 +172,7 @@ class OverviewWidget(QtWidgets.QFrame):
|
|||
self._current_state = new_state
|
||||
|
||||
anim_is_running = (
|
||||
self._change_anim.state() == self._change_anim.Running
|
||||
self._change_anim.state() == QtCore.QAbstractAnimation.Running
|
||||
)
|
||||
if not animate:
|
||||
self._change_visibility_for_state()
|
||||
|
|
@ -184,9 +184,9 @@ class OverviewWidget(QtWidgets.QFrame):
|
|||
self._max_widget_width = self._subset_views_widget.maximumWidth()
|
||||
|
||||
if new_state == "create":
|
||||
direction = self._change_anim.Backward
|
||||
direction = QtCore.QAbstractAnimation.Backward
|
||||
else:
|
||||
direction = self._change_anim.Forward
|
||||
direction = QtCore.QAbstractAnimation.Forward
|
||||
self._change_anim.setDirection(direction)
|
||||
|
||||
if not anim_is_running:
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.tools.attribute_defs import create_widget_for_attr_def
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import os
|
|||
import json
|
||||
import time
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from .widgets import (
|
||||
StopBtn,
|
||||
|
|
@ -230,7 +230,7 @@ class PublishFrame(QtWidgets.QWidget):
|
|||
self._shrunken = shrunk
|
||||
|
||||
anim_is_running = (
|
||||
self._shrunk_anim.state() == self._shrunk_anim.Running
|
||||
self._shrunk_anim.state() == QtCore.QAbstractAnimation.Running
|
||||
)
|
||||
if not self.isVisible():
|
||||
if anim_is_running:
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
from openpype.tools.utils import set_style_property
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtCore, QtGui
|
||||
from qtpy import QtCore, QtGui
|
||||
|
||||
from openpype.tools.utils.tasks_widget import TasksWidget, TASK_NAME_ROLE
|
||||
from openpype.tools.utils.lib import get_default_task_icon
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import os
|
||||
import uuid
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.style import get_objected_colors
|
||||
from openpype.lib import (
|
||||
|
|
@ -126,11 +126,14 @@ class ThumbnailPainterWidget(QtWidgets.QWidget):
|
|||
new_pix.fill(QtCore.Qt.transparent)
|
||||
pix_painter = QtGui.QPainter()
|
||||
pix_painter.begin(new_pix)
|
||||
pix_painter.setRenderHints(
|
||||
pix_painter.Antialiasing
|
||||
| pix_painter.SmoothPixmapTransform
|
||||
| pix_painter.HighQualityAntialiasing
|
||||
render_hints = (
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
if hasattr(QtGui.QPainter, "HighQualityAntialiasing"):
|
||||
render_hints |= QtGui.QPainter.HighQualityAntialiasing
|
||||
|
||||
pix_painter.setRenderHints(render_hints)
|
||||
pix_painter.drawPixmap(pos_x, pos_y, scaled_pix)
|
||||
pix_painter.end()
|
||||
return new_pix
|
||||
|
|
@ -159,11 +162,13 @@ class ThumbnailPainterWidget(QtWidgets.QWidget):
|
|||
new_pix.fill(QtCore.Qt.transparent)
|
||||
pix_painter = QtGui.QPainter()
|
||||
pix_painter.begin(new_pix)
|
||||
pix_painter.setRenderHints(
|
||||
pix_painter.Antialiasing
|
||||
| pix_painter.SmoothPixmapTransform
|
||||
| pix_painter.HighQualityAntialiasing
|
||||
render_hints = (
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
if hasattr(QtGui.QPainter, "HighQualityAntialiasing"):
|
||||
render_hints |= QtGui.QPainter.HighQualityAntialiasing
|
||||
pix_painter.setRenderHints(render_hints)
|
||||
|
||||
tiled_rect = QtCore.QRectF(
|
||||
pos_x, pos_y, scaled_pix.width(), scaled_pix.height()
|
||||
|
|
@ -239,11 +244,15 @@ class ThumbnailPainterWidget(QtWidgets.QWidget):
|
|||
|
||||
final_painter = QtGui.QPainter()
|
||||
final_painter.begin(final_pix)
|
||||
final_painter.setRenderHints(
|
||||
final_painter.Antialiasing
|
||||
| final_painter.SmoothPixmapTransform
|
||||
| final_painter.HighQualityAntialiasing
|
||||
render_hints = (
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
if hasattr(QtGui.QPainter, "HighQualityAntialiasing"):
|
||||
render_hints |= QtGui.QPainter.HighQualityAntialiasing
|
||||
|
||||
final_painter.setRenderHints(render_hints)
|
||||
|
||||
final_painter.setBrush(QtGui.QBrush(self.thumbnail_bg_color))
|
||||
final_painter.setPen(bg_pen)
|
||||
final_painter.drawRect(rect)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ try:
|
|||
except Exception:
|
||||
commonmark = None
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.tools.utils import BaseClickableFrame, ClickableFrame
|
||||
from .widgets import (
|
||||
|
|
@ -26,7 +26,7 @@ class ValidationErrorInstanceList(QtWidgets.QListView):
|
|||
self.setObjectName("ValidationErrorInstanceList")
|
||||
|
||||
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
|
||||
self.setSelectionMode(QtWidgets.QListView.ExtendedSelection)
|
||||
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
|
||||
def minimumSizeHint(self):
|
||||
return self.sizeHint()
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import functools
|
|||
import uuid
|
||||
import shutil
|
||||
import collections
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
import qtawesome
|
||||
|
||||
from openpype.lib.attribute_definitions import UnknownDef
|
||||
|
|
@ -143,9 +143,9 @@ class PublishIconBtn(IconButton):
|
|||
icon = QtGui.QIcon()
|
||||
image = QtGui.QImage(pixmap_path)
|
||||
enabled_pixmap = self.paint_image_with_color(image, enabled_color)
|
||||
icon.addPixmap(enabled_pixmap, icon.Normal)
|
||||
icon.addPixmap(enabled_pixmap, QtGui.QIcon.Normal)
|
||||
disabled_pixmap = self.paint_image_with_color(image, disabled_color)
|
||||
icon.addPixmap(disabled_pixmap, icon.Disabled)
|
||||
icon.addPixmap(disabled_pixmap, QtGui.QIcon.Disabled)
|
||||
return icon
|
||||
|
||||
@staticmethod
|
||||
|
|
@ -412,7 +412,8 @@ class AssetsField(BaseClickableFrame):
|
|||
icon_btn
|
||||
):
|
||||
size_policy = widget.sizePolicy()
|
||||
size_policy.setVerticalPolicy(size_policy.MinimumExpanding)
|
||||
size_policy.setVerticalPolicy(
|
||||
QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
widget.setSizePolicy(size_policy)
|
||||
name_input.clicked.connect(self._mouse_release_callback)
|
||||
icon_btn.clicked.connect(self._mouse_release_callback)
|
||||
|
|
@ -595,7 +596,8 @@ class TasksCombobox(QtWidgets.QComboBox):
|
|||
|
||||
# Make sure combobox is extended horizontally
|
||||
size_policy = self.sizePolicy()
|
||||
size_policy.setHorizontalPolicy(size_policy.MinimumExpanding)
|
||||
size_policy.setHorizontalPolicy(
|
||||
QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
self.setSizePolicy(size_policy)
|
||||
|
||||
def set_invalid_empty_task(self, invalid=True):
|
||||
|
|
@ -1777,11 +1779,11 @@ class CreateNextPageOverlay(QtWidgets.QWidget):
|
|||
return
|
||||
self._increasing = increasing
|
||||
if increasing:
|
||||
self._change_anim.setDirection(self._change_anim.Forward)
|
||||
self._change_anim.setDirection(QtCore.QAbstractAnimation.Forward)
|
||||
else:
|
||||
self._change_anim.setDirection(self._change_anim.Backward)
|
||||
self._change_anim.setDirection(QtCore.QAbstractAnimation.Backward)
|
||||
|
||||
if self._change_anim.state() != self._change_anim.Running:
|
||||
if self._change_anim.state() != QtCore.QAbstractAnimation.Running:
|
||||
self._change_anim.start()
|
||||
|
||||
def set_visible(self, visible):
|
||||
|
|
@ -1855,8 +1857,8 @@ class CreateNextPageOverlay(QtWidgets.QWidget):
|
|||
|
||||
painter.setClipRect(event.rect())
|
||||
painter.setRenderHints(
|
||||
painter.Antialiasing
|
||||
| painter.SmoothPixmapTransform
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
|
||||
painter.setPen(QtCore.Qt.NoPen)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import collections
|
||||
import copy
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype import (
|
||||
resources,
|
||||
|
|
|
|||
|
|
@ -6,8 +6,9 @@ import ctypes
|
|||
import platform
|
||||
import contextlib
|
||||
|
||||
from qtpy import QtCore, QtGui, QtWidgets
|
||||
|
||||
from . import control, settings, util, window
|
||||
from Qt import QtCore, QtGui, QtWidgets
|
||||
|
||||
self = sys.modules[__name__]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
EXPANDER_WIDTH = 20
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import inspect
|
|||
import logging
|
||||
import collections
|
||||
|
||||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
import pyblish.api
|
||||
import pyblish.util
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import platform
|
||||
|
||||
from Qt import QtWidgets, QtGui, QtCore
|
||||
from qtpy import QtWidgets, QtGui, QtCore
|
||||
|
||||
from . import model
|
||||
from .awesome import tags as awesome
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import pyblish
|
|||
|
||||
from . import settings, util
|
||||
from .awesome import tags as awesome
|
||||
from Qt import QtCore, QtGui
|
||||
from qtpy import QtCore, QtGui
|
||||
import qtawesome
|
||||
from six import text_type
|
||||
from .constants import PluginStates, InstanceStates, GroupStates, Roles
|
||||
|
|
@ -38,11 +38,14 @@ from openpype.settings import get_system_settings
|
|||
|
||||
|
||||
# ItemTypes
|
||||
InstanceType = QtGui.QStandardItem.UserType
|
||||
PluginType = QtGui.QStandardItem.UserType + 1
|
||||
GroupType = QtGui.QStandardItem.UserType + 2
|
||||
TerminalLabelType = QtGui.QStandardItem.UserType + 3
|
||||
TerminalDetailType = QtGui.QStandardItem.UserType + 4
|
||||
UserType = QtGui.QStandardItem.UserType
|
||||
if hasattr(UserType, "value"):
|
||||
UserType = UserType.value
|
||||
InstanceType = UserType
|
||||
PluginType = UserType + 1
|
||||
GroupType = UserType + 2
|
||||
TerminalLabelType = UserType + 3
|
||||
TerminalDetailType = UserType + 4
|
||||
|
||||
|
||||
class QAwesomeTextIconFactory:
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import numbers
|
|||
import copy
|
||||
import collections
|
||||
|
||||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
from six import text_type
|
||||
import pyblish.api
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
|
||||
class Spin:
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import json
|
|||
import os
|
||||
|
||||
import six
|
||||
from Qt import QtCore, QtGui
|
||||
from qtpy import QtCore, QtGui
|
||||
|
||||
|
||||
_default_options = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtCore, QtWidgets
|
||||
from qtpy import QtCore, QtWidgets
|
||||
from . import model
|
||||
from .constants import Roles, EXPANDER_WIDTH
|
||||
# Imported when used
|
||||
|
|
@ -24,7 +24,7 @@ class OverviewView(QtWidgets.QTreeView):
|
|||
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.setItemsExpandable(True)
|
||||
self.setVerticalScrollMode(QtWidgets.QTreeView.ScrollPerPixel)
|
||||
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
|
||||
self.setHeaderHidden(True)
|
||||
self.setRootIsDecorated(False)
|
||||
self.setIndentation(0)
|
||||
|
|
@ -248,7 +248,7 @@ class TerminalView(QtWidgets.QTreeView):
|
|||
self.setAutoScroll(False)
|
||||
self.setHeaderHidden(True)
|
||||
self.setIndentation(0)
|
||||
self.setVerticalScrollMode(QtWidgets.QTreeView.ScrollPerPixel)
|
||||
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
|
||||
self.verticalScrollBar().setSingleStep(10)
|
||||
self.setRootIsDecorated(False)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import sys
|
||||
from Qt import QtCore, QtWidgets, QtGui
|
||||
from qtpy import QtCore, QtWidgets, QtGui
|
||||
from . import model, delegate, view, awesome
|
||||
from .constants import PluginStates, InstanceStates, Roles
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ from functools import partial
|
|||
from . import delegate, model, settings, util, view, widgets
|
||||
from .awesome import tags as awesome
|
||||
|
||||
from Qt import QtCore, QtGui, QtWidgets
|
||||
from qtpy import QtCore, QtGui, QtWidgets
|
||||
from .constants import (
|
||||
PluginStates, PluginActionStates, InstanceStates, GroupStates, Roles
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import os
|
||||
|
||||
from Qt import QtGui
|
||||
from qtpy import QtGui
|
||||
|
||||
|
||||
def get_icon_path(icon_name=None, filename=None):
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import os
|
||||
from openpype_modules import sync_server
|
||||
|
||||
from Qt import QtGui
|
||||
from qtpy import QtGui
|
||||
|
||||
|
||||
def walk_hierarchy(node):
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import logging
|
|||
|
||||
from collections import defaultdict
|
||||
|
||||
from Qt import QtCore, QtGui
|
||||
from qtpy import QtCore, QtGui
|
||||
import qtawesome
|
||||
|
||||
from openpype.host import ILoadHost
|
||||
|
|
@ -482,8 +482,13 @@ class FilterProxyModel(QtCore.QSortFilterProxyModel):
|
|||
return True
|
||||
|
||||
# Filter by regex
|
||||
if not self.filterRegExp().isEmpty():
|
||||
pattern = re.escape(self.filterRegExp().pattern())
|
||||
if hasattr(self, "filterRegularExpression"):
|
||||
regex = self.filterRegularExpression()
|
||||
else:
|
||||
regex = self.filterRegExp()
|
||||
pattern = regex.pattern()
|
||||
if pattern:
|
||||
pattern = re.escape(pattern)
|
||||
|
||||
if not self._matches(row, parent, pattern):
|
||||
return False
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import collections
|
||||
import logging
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
import qtawesome
|
||||
from bson.objectid import ObjectId
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import collections
|
|||
import logging
|
||||
from functools import partial
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
import qtawesome
|
||||
from bson.objectid import ObjectId
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
self.setIndentation(12)
|
||||
self.setAlternatingRowColors(True)
|
||||
self.setSortingEnabled(True)
|
||||
self.setSelectionMode(self.ExtendedSelection)
|
||||
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
self.customContextMenuRequested.connect(self._show_right_mouse_menu)
|
||||
self._hierarchy_view = False
|
||||
|
|
@ -546,9 +546,9 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
selection_model = self.selectionModel()
|
||||
|
||||
select_mode = {
|
||||
"select": selection_model.Select,
|
||||
"deselect": selection_model.Deselect,
|
||||
"toggle": selection_model.Toggle,
|
||||
"select": QtCore.QItemSelectionModel.Select,
|
||||
"deselect": QtCore.QItemSelectionModel.Deselect,
|
||||
"toggle": QtCore.QItemSelectionModel.Toggle,
|
||||
}[options.get("mode", "select")]
|
||||
|
||||
for index in iter_model_rows(model, 0):
|
||||
|
|
@ -559,7 +559,7 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
name = item.get("objectName")
|
||||
if name in object_names:
|
||||
self.scrollTo(index) # Ensure item is visible
|
||||
flags = select_mode | selection_model.Rows
|
||||
flags = select_mode | QtCore.QItemSelectionModel.Rows
|
||||
selection_model.select(index, flags)
|
||||
|
||||
object_names.remove(name)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
from openpype import style
|
||||
|
||||
|
||||
|
|
@ -8,7 +8,7 @@ class ButtonWithMenu(QtWidgets.QToolButton):
|
|||
|
||||
self.setObjectName("ButtonWithMenu")
|
||||
|
||||
self.setPopupMode(self.MenuButtonPopup)
|
||||
self.setPopupMode(QtWidgets.QToolButton.MenuButtonPopup)
|
||||
menu = QtWidgets.QMenu(self)
|
||||
|
||||
self.setMenu(menu)
|
||||
|
|
@ -42,7 +42,7 @@ class SearchComboBox(QtWidgets.QComboBox):
|
|||
super(SearchComboBox, self).__init__(parent)
|
||||
|
||||
self.setEditable(True)
|
||||
self.setInsertPolicy(self.NoInsert)
|
||||
self.setInsertPolicy(QtWidgets.QComboBox.NoInsert)
|
||||
|
||||
combobox_delegate = QtWidgets.QStyledItemDelegate(self)
|
||||
self.setItemDelegate(combobox_delegate)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
import qtawesome
|
||||
|
||||
from openpype import style
|
||||
|
|
@ -160,7 +160,10 @@ class SceneInventoryWindow(QtWidgets.QDialog):
|
|||
self._model.set_hierarchy_view(enabled)
|
||||
|
||||
def _on_text_filter_change(self, text_filter):
|
||||
self._proxy.setFilterRegExp(text_filter)
|
||||
if hasattr(self._proxy, "setFilterRegularExpression"):
|
||||
self._proxy.setFilterRegularExpression(text_filter)
|
||||
else:
|
||||
self._proxy.setFilterRegExp(text_filter)
|
||||
|
||||
def _on_outdated_state_change(self):
|
||||
self._proxy.set_filter_outdated(
|
||||
|
|
|
|||
|
|
@ -339,7 +339,7 @@ class BreadcrumbsButton(QtWidgets.QToolButton):
|
|||
# fixed size breadcrumbs
|
||||
self.setMinimumSize(self.minimumSizeHint())
|
||||
size_policy = self.sizePolicy()
|
||||
size_policy.setVerticalPolicy(size_policy.Minimum)
|
||||
size_policy.setVerticalPolicy(QtWidgets.QSizePolicy.Minimum)
|
||||
self.setSizePolicy(size_policy)
|
||||
|
||||
menu.triggered.connect(self._on_menu_click)
|
||||
|
|
@ -369,7 +369,7 @@ class BreadcrumbsAddressBar(QtWidgets.QFrame):
|
|||
super(BreadcrumbsAddressBar, self).__init__(parent)
|
||||
|
||||
self.setAutoFillBackground(True)
|
||||
self.setFrameShape(self.StyledPanel)
|
||||
self.setFrameShape(QtWidgets.QFrame.StyledPanel)
|
||||
|
||||
# Edit presented path textually
|
||||
proxy_model = BreadcrumbsProxy()
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
from qtpy import QtCore, QtGui, QtWidgets
|
||||
from openpype.tools.utils.lib import checkstate_int_to_enum
|
||||
|
||||
|
||||
class ComboItemDelegate(QtWidgets.QStyledItemDelegate):
|
||||
|
|
@ -108,7 +109,9 @@ class MultiSelectionComboBox(QtWidgets.QComboBox):
|
|||
return
|
||||
|
||||
index_flags = current_index.flags()
|
||||
state = current_index.data(QtCore.Qt.CheckStateRole)
|
||||
state = checkstate_int_to_enum(
|
||||
current_index.data(QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
new_state = None
|
||||
|
||||
if event.type() == QtCore.QEvent.MouseButtonRelease:
|
||||
|
|
@ -311,7 +314,9 @@ class MultiSelectionComboBox(QtWidgets.QComboBox):
|
|||
def value(self):
|
||||
items = list()
|
||||
for idx in range(self.count()):
|
||||
state = self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
state = checkstate_int_to_enum(
|
||||
self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
if state == QtCore.Qt.Checked:
|
||||
items.append(
|
||||
self.itemData(idx, role=QtCore.Qt.UserRole)
|
||||
|
|
@ -321,7 +326,9 @@ class MultiSelectionComboBox(QtWidgets.QComboBox):
|
|||
def checked_items_text(self):
|
||||
items = list()
|
||||
for idx in range(self.count()):
|
||||
state = self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
state = checkstate_int_to_enum(
|
||||
self.itemData(idx, role=QtCore.Qt.CheckStateRole)
|
||||
)
|
||||
if state == QtCore.Qt.Checked:
|
||||
items.append(self.itemText(idx))
|
||||
return items
|
||||
|
|
|
|||
|
|
@ -27,8 +27,13 @@ class RecursiveSortFilterProxyModel(QtCore.QSortFilterProxyModel):
|
|||
if not parent.isValid():
|
||||
return False
|
||||
|
||||
regex = self.filterRegExp()
|
||||
if not regex.isEmpty() and regex.isValid():
|
||||
if hasattr(self, "filterRegularExpression"):
|
||||
regex = self.filterRegularExpression()
|
||||
else:
|
||||
regex = self.filterRegExp()
|
||||
|
||||
pattern = regex.pattern()
|
||||
if pattern and regex.isValid():
|
||||
pattern = regex.pattern()
|
||||
compiled_regex = re.compile(pattern, re.IGNORECASE)
|
||||
source_model = self.sourceModel()
|
||||
|
|
@ -106,7 +111,10 @@ class SearchEntitiesDialog(QtWidgets.QDialog):
|
|||
|
||||
def _on_filter_timer(self):
|
||||
text = self._filter_edit.text()
|
||||
self._proxy.setFilterRegExp(text)
|
||||
if hasattr(self._proxy, "setFilterRegularExpression"):
|
||||
self._proxy.setFilterRegularExpression(text)
|
||||
else:
|
||||
self._proxy.setFilterRegExp(text)
|
||||
|
||||
# WARNING This expanding and resizing is relatively slow.
|
||||
self._view.expandAll()
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class AddibleComboBox(QtWidgets.QComboBox):
|
|||
super(AddibleComboBox, self).__init__(parent)
|
||||
|
||||
self.setEditable(True)
|
||||
# self.setInsertPolicy(self.NoInsert)
|
||||
# self.setInsertPolicy(QtWidgets.QComboBox.NoInsert)
|
||||
|
||||
self.lineEdit().setPlaceholderText(placeholder)
|
||||
# self.lineEdit().returnPressed.connect(self.on_return_pressed)
|
||||
|
|
|
|||
|
|
@ -5,14 +5,15 @@ from qtpy import QtCore
|
|||
class RecursiveSortFilterProxyModel(QtCore.QSortFilterProxyModel):
|
||||
"""Filters to the regex if any of the children matches allow parent"""
|
||||
def filterAcceptsRow(self, row, parent):
|
||||
|
||||
regex = self.filterRegExp()
|
||||
if not regex.isEmpty():
|
||||
pattern = regex.pattern()
|
||||
if hasattr(self, "filterRegularExpression"):
|
||||
regex = self.filterRegularExpression()
|
||||
else:
|
||||
regex = self.filterRegExp()
|
||||
pattern = regex.pattern()
|
||||
if pattern:
|
||||
model = self.sourceModel()
|
||||
source_index = model.index(row, self.filterKeyColumn(), parent)
|
||||
if source_index.isValid():
|
||||
|
||||
# Check current index itself
|
||||
key = model.data(source_index, self.filterRole())
|
||||
if re.search(pattern, key, re.IGNORECASE):
|
||||
|
|
|
|||
|
|
@ -86,7 +86,10 @@ def preserve_selection(tree_view,
|
|||
|
||||
model = tree_view.model()
|
||||
selection_model = tree_view.selectionModel()
|
||||
flags = selection_model.Select | selection_model.Rows
|
||||
flags = (
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
|
||||
if current_index:
|
||||
current_index_value = tree_view.currentIndex().data(role)
|
||||
|
|
@ -410,7 +413,10 @@ class AssetWidget(QtWidgets.QWidget):
|
|||
selection_model.clearSelection()
|
||||
|
||||
# Select
|
||||
mode = selection_model.Select | selection_model.Rows
|
||||
mode = (
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
for index in _iter_model_rows(
|
||||
self.proxy, column=0, include_root=False
|
||||
):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import uuid
|
||||
|
||||
from Qt import QtCore, QtGui
|
||||
from qtpy import QtCore, QtGui
|
||||
|
||||
from openpype.pipeline import registered_host
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import json
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
|
||||
class InstanceDetail(QtWidgets.QWidget):
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
import qtawesome
|
||||
|
||||
from openpype import style
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import time
|
||||
import collections
|
||||
|
||||
import Qt
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
import qtpy
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
import qtawesome
|
||||
|
||||
from openpype.client import (
|
||||
|
|
@ -26,9 +26,9 @@ from .lib import (
|
|||
get_asset_icon
|
||||
)
|
||||
|
||||
if Qt.__binding__ == "PySide":
|
||||
if qtpy.API == "pyside":
|
||||
from PySide.QtGui import QStyleOptionViewItemV4
|
||||
elif Qt.__binding__ == "PyQt4":
|
||||
elif qtpy.API == "pyqt4":
|
||||
from PyQt4.QtGui import QStyleOptionViewItemV4
|
||||
|
||||
ASSET_ID_ROLE = QtCore.Qt.UserRole + 1
|
||||
|
|
@ -60,7 +60,7 @@ class AssetsView(TreeViewSpinner, DeselectableTreeView):
|
|||
self._flick_charm_activated = True
|
||||
self._before_flick_scroll_mode = self.verticalScrollMode()
|
||||
self._flick_charm.activateOn(self)
|
||||
self.setVerticalScrollMode(self.ScrollPerPixel)
|
||||
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
|
||||
|
||||
def deactivate_flick_charm(self):
|
||||
if not self._flick_charm_activated:
|
||||
|
|
@ -136,7 +136,7 @@ class UnderlinesAssetDelegate(QtWidgets.QItemDelegate):
|
|||
def paint(self, painter, option, index):
|
||||
"""Replicate painting of an item and draw color bars if needed."""
|
||||
# Qt4 compat
|
||||
if Qt.__binding__ in ("PySide", "PyQt4"):
|
||||
if qtpy.API in ("pyside", "pyqt4"):
|
||||
option = QStyleOptionViewItemV4(option)
|
||||
|
||||
painter.save()
|
||||
|
|
@ -623,7 +623,8 @@ class AssetsWidget(QtWidgets.QWidget):
|
|||
filter_input,
|
||||
):
|
||||
size_policy = widget.sizePolicy()
|
||||
size_policy.setVerticalPolicy(size_policy.MinimumExpanding)
|
||||
size_policy.setVerticalPolicy(
|
||||
QtWidgets.QSizePolicy.MinimumExpanding)
|
||||
widget.setSizePolicy(size_policy)
|
||||
|
||||
# Layout
|
||||
|
|
@ -778,7 +779,10 @@ class AssetsWidget(QtWidgets.QWidget):
|
|||
selection_model = self._view.selectionModel()
|
||||
selection_model.clearSelection()
|
||||
|
||||
mode = selection_model.Select | selection_model.Rows
|
||||
mode = (
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
for index in valid_indexes:
|
||||
self._view.expand(self._proxy.parent(index))
|
||||
selection_model.select(index, mode)
|
||||
|
|
@ -817,7 +821,9 @@ class MultiSelectAssetsWidget(AssetsWidget):
|
|||
"""
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(MultiSelectAssetsWidget, self).__init__(*args, **kwargs)
|
||||
self._view.setSelectionMode(QtWidgets.QTreeView.ExtendedSelection)
|
||||
self._view.setSelectionMode(
|
||||
QtWidgets.QAbstractItemView.ExtendedSelection
|
||||
)
|
||||
|
||||
delegate = UnderlinesAssetDelegate()
|
||||
self._view.setItemDelegate(delegate)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
from Qt import QtCore
|
||||
from qtpy import QtCore
|
||||
|
||||
|
||||
UNCHECKED_INT = getattr(QtCore.Qt.Unchecked, "value", 0)
|
||||
PARTIALLY_CHECKED_INT = getattr(QtCore.Qt.PartiallyChecked, "value", 1)
|
||||
CHECKED_INT = getattr(QtCore.Qt.Checked, "value", 2)
|
||||
|
||||
DEFAULT_PROJECT_LABEL = "< Default >"
|
||||
PROJECT_NAME_ROLE = QtCore.Qt.UserRole + 101
|
||||
PROJECT_IS_ACTIVE_ROLE = QtCore.Qt.UserRole + 102
|
||||
|
|
|
|||
|
|
@ -3,13 +3,7 @@ from datetime import datetime
|
|||
import logging
|
||||
import numbers
|
||||
|
||||
import Qt
|
||||
from Qt import QtWidgets, QtGui, QtCore
|
||||
|
||||
if Qt.__binding__ == "PySide":
|
||||
from PySide.QtGui import QStyleOptionViewItemV4
|
||||
elif Qt.__binding__ == "PyQt4":
|
||||
from PyQt4.QtGui import QStyleOptionViewItemV4
|
||||
from qtpy import QtWidgets, QtGui, QtCore
|
||||
|
||||
from openpype.client import (
|
||||
get_versions,
|
||||
|
|
@ -60,7 +54,10 @@ class VersionDelegate(QtWidgets.QStyledItemDelegate):
|
|||
style = QtWidgets.QApplication.style()
|
||||
|
||||
style.drawControl(
|
||||
style.CE_ItemViewItem, option, painter, option.widget
|
||||
QtWidgets.QStyle.CE_ItemViewItem,
|
||||
option,
|
||||
painter,
|
||||
option.widget
|
||||
)
|
||||
|
||||
painter.save()
|
||||
|
|
@ -72,9 +69,12 @@ class VersionDelegate(QtWidgets.QStyledItemDelegate):
|
|||
pen.setColor(fg_color)
|
||||
painter.setPen(pen)
|
||||
|
||||
text_rect = style.subElementRect(style.SE_ItemViewItemText, option)
|
||||
text_rect = style.subElementRect(
|
||||
QtWidgets.QStyle.SE_ItemViewItemText,
|
||||
option
|
||||
)
|
||||
text_margin = style.proxy().pixelMetric(
|
||||
style.PM_FocusFrameHMargin, option, option.widget
|
||||
QtWidgets.QStyle.PM_FocusFrameHMargin, option, option.widget
|
||||
) + 1
|
||||
|
||||
painter.drawText(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from .widgets import ClickableFrame, ExpandBtn, SeparatorWidget
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import contextlib
|
|||
import collections
|
||||
import traceback
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
import qtawesome
|
||||
|
||||
from openpype.client import (
|
||||
|
|
@ -20,14 +20,44 @@ from openpype.lib import filter_profiles, Logger
|
|||
from openpype.settings import get_project_settings
|
||||
from openpype.pipeline import registered_host
|
||||
|
||||
from .constants import CHECKED_INT, UNCHECKED_INT
|
||||
|
||||
log = Logger.get_logger(__name__)
|
||||
|
||||
|
||||
def checkstate_int_to_enum(state):
|
||||
if not isinstance(state, int):
|
||||
return state
|
||||
if state == CHECKED_INT:
|
||||
return QtCore.Qt.Checked
|
||||
|
||||
if state == UNCHECKED_INT:
|
||||
return QtCore.Qt.Unchecked
|
||||
return QtCore.Qt.PartiallyChecked
|
||||
|
||||
|
||||
def checkstate_enum_to_int(state):
|
||||
if isinstance(state, int):
|
||||
return state
|
||||
if state == QtCore.Qt.Checked:
|
||||
return 0
|
||||
if state == QtCore.Qt.PartiallyChecked:
|
||||
return 1
|
||||
return 2
|
||||
|
||||
|
||||
|
||||
def center_window(window):
|
||||
"""Move window to center of it's screen."""
|
||||
desktop = QtWidgets.QApplication.desktop()
|
||||
screen_idx = desktop.screenNumber(window)
|
||||
screen_geo = desktop.screenGeometry(screen_idx)
|
||||
|
||||
if hasattr(QtWidgets.QApplication, "desktop"):
|
||||
desktop = QtWidgets.QApplication.desktop()
|
||||
screen_idx = desktop.screenNumber(window)
|
||||
screen_geo = desktop.screenGeometry(screen_idx)
|
||||
else:
|
||||
screen = window.screen()
|
||||
screen_geo = screen.geometry()
|
||||
|
||||
geo = window.frameGeometry()
|
||||
geo.moveCenter(screen_geo.center())
|
||||
if geo.y() < screen_geo.y():
|
||||
|
|
@ -79,11 +109,15 @@ def paint_image_with_color(image, color):
|
|||
pixmap.fill(QtCore.Qt.transparent)
|
||||
|
||||
painter = QtGui.QPainter(pixmap)
|
||||
painter.setRenderHints(
|
||||
painter.Antialiasing
|
||||
| painter.SmoothPixmapTransform
|
||||
| painter.HighQualityAntialiasing
|
||||
render_hints = (
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
# Deprecated since 5.14
|
||||
if hasattr(QtGui.QPainter, "HighQualityAntialiasing"):
|
||||
render_hints |= QtGui.QPainter.HighQualityAntialiasing
|
||||
painter.setRenderHints(render_hints)
|
||||
|
||||
painter.setClipRegion(alpha_region)
|
||||
painter.setPen(QtCore.Qt.NoPen)
|
||||
painter.setBrush(color)
|
||||
|
|
@ -329,7 +363,10 @@ def preserve_selection(tree_view, column=0, role=None, current_index=True):
|
|||
role = QtCore.Qt.DisplayRole
|
||||
model = tree_view.model()
|
||||
selection_model = tree_view.selectionModel()
|
||||
flags = selection_model.Select | selection_model.Rows
|
||||
flags = (
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
|
||||
if current_index:
|
||||
current_index_value = tree_view.currentIndex().data(role)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import re
|
||||
import logging
|
||||
|
||||
import Qt
|
||||
from Qt import QtCore, QtGui
|
||||
import qtpy
|
||||
from qtpy import QtCore, QtGui
|
||||
from openpype.client import get_projects
|
||||
from .constants import (
|
||||
PROJECT_IS_ACTIVE_ROLE,
|
||||
|
|
@ -69,7 +69,7 @@ class TreeModel(QtCore.QAbstractItemModel):
|
|||
item[key] = value
|
||||
|
||||
# passing `list()` for PyQt5 (see PYSIDE-462)
|
||||
if Qt.__binding__ in ("PyQt4", "PySide"):
|
||||
if qtpy.API in ("pyqt4", "pyside"):
|
||||
self.dataChanged.emit(index, index)
|
||||
else:
|
||||
self.dataChanged.emit(index, index, [role])
|
||||
|
|
@ -203,8 +203,13 @@ class RecursiveSortFilterProxyModel(QtCore.QSortFilterProxyModel):
|
|||
the filter string but first checks if any children does.
|
||||
"""
|
||||
def filterAcceptsRow(self, row, parent_index):
|
||||
regex = self.filterRegExp()
|
||||
if not regex.isEmpty():
|
||||
if hasattr(self, "filterRegularExpression"):
|
||||
regex = self.filterRegularExpression()
|
||||
else:
|
||||
regex = self.filterRegExp()
|
||||
|
||||
pattern = regex.pattern()
|
||||
if pattern:
|
||||
model = self.sourceModel()
|
||||
source_index = model.index(
|
||||
row, self.filterKeyColumn(), parent_index
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import uuid
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.style import get_objected_colors
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
import qtawesome
|
||||
|
||||
from openpype.client import (
|
||||
|
|
@ -180,7 +180,7 @@ class TasksWidget(QtWidgets.QWidget):
|
|||
tasks_view = DeselectableTreeView(self)
|
||||
tasks_view.setIndentation(0)
|
||||
tasks_view.setSortingEnabled(True)
|
||||
tasks_view.setEditTriggers(QtWidgets.QTreeView.NoEditTriggers)
|
||||
tasks_view.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||
|
||||
header_view = tasks_view.header()
|
||||
header_view.setSortIndicator(0, QtCore.Qt.AscendingOrder)
|
||||
|
|
@ -257,7 +257,10 @@ class TasksWidget(QtWidgets.QWidget):
|
|||
selection_model.clearSelection()
|
||||
|
||||
# Select the task
|
||||
mode = selection_model.Select | selection_model.Rows
|
||||
mode = (
|
||||
QtCore.QItemSelectionModel.Select
|
||||
| QtCore.QItemSelectionModel.Rows
|
||||
)
|
||||
for row in range(task_view_model.rowCount()):
|
||||
index = task_view_model.index(row, 0)
|
||||
name = index.data(TASK_NAME_ROLE)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import os
|
||||
from openpype.resources import get_image_path
|
||||
from Qt import QtWidgets, QtCore, QtGui, QtSvg
|
||||
from qtpy import QtWidgets, QtCore, QtGui, QtSvg
|
||||
|
||||
|
||||
class DeselectableTreeView(QtWidgets.QTreeView):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import logging
|
||||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
import qargparse
|
||||
import qtawesome
|
||||
|
||||
|
|
@ -283,11 +283,14 @@ class PixmapButtonPainter(QtWidgets.QWidget):
|
|||
painter.end()
|
||||
return
|
||||
|
||||
painter.setRenderHints(
|
||||
painter.Antialiasing
|
||||
| painter.SmoothPixmapTransform
|
||||
| painter.HighQualityAntialiasing
|
||||
render_hints = (
|
||||
QtGui.QPainter.Antialiasing
|
||||
| QtGui.QPainter.SmoothPixmapTransform
|
||||
)
|
||||
if hasattr(QtGui.QPainter, "HighQualityAntialiasing"):
|
||||
render_hints |= QtGui.QPainter.HighQualityAntialiasing
|
||||
|
||||
painter.setRenderHints(render_hints)
|
||||
if self._cached_pixmap is None:
|
||||
self._cache_pixmap()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets
|
||||
from qtpy import QtWidgets
|
||||
|
||||
from openpype import style
|
||||
from openpype.lib import Logger
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ import logging
|
|||
import shutil
|
||||
import copy
|
||||
|
||||
import Qt
|
||||
from Qt import QtWidgets, QtCore
|
||||
import qtpy
|
||||
from qtpy import QtWidgets, QtCore
|
||||
|
||||
from openpype.host import IWorkfileHost
|
||||
from openpype.client import get_asset_by_id
|
||||
|
|
@ -618,7 +618,7 @@ class FilesWidget(QtWidgets.QWidget):
|
|||
"caption": "Work Files",
|
||||
"filter": ext_filter
|
||||
}
|
||||
if Qt.__binding__ in ("PySide", "PySide2"):
|
||||
if qtpy.API in ("pyside", "pyside2"):
|
||||
kwargs["dir"] = self._workfiles_root
|
||||
else:
|
||||
kwargs["directory"] = self._workfiles_root
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from Qt import QtWidgets, QtCore, QtGui
|
||||
from qtpy import QtWidgets, QtCore, QtGui
|
||||
from openpype.style import load_stylesheet, get_app_icon_path
|
||||
|
||||
from openpype.pipeline.workfile.lock_workfile import get_workfile_lock_data
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue