mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
Merge branch 'develop' into feature/OP-1841_Experimental-options
This commit is contained in:
commit
ccceefc3ef
20 changed files with 1841 additions and 1274 deletions
|
|
@ -21,10 +21,8 @@ def _get_menu(menu_name=None):
|
|||
if menu_name is None:
|
||||
menu_name = pipeline._menu
|
||||
|
||||
widgets = dict((
|
||||
w.objectName(), w) for w in QtWidgets.QApplication.allWidgets())
|
||||
menu = widgets.get(menu_name)
|
||||
return menu
|
||||
widgets = {w.objectName(): w for w in QtWidgets.QApplication.allWidgets()}
|
||||
return widgets.get(menu_name)
|
||||
|
||||
|
||||
def deferred():
|
||||
|
|
@ -55,6 +53,34 @@ def deferred():
|
|||
)
|
||||
)
|
||||
|
||||
def add_scripts_menu():
|
||||
try:
|
||||
import scriptsmenu.launchformaya as launchformaya
|
||||
except ImportError:
|
||||
log.warning(
|
||||
"Skipping studio.menu install, because "
|
||||
"'scriptsmenu' module seems unavailable."
|
||||
)
|
||||
return
|
||||
|
||||
# load configuration of custom menu
|
||||
project_settings = get_project_settings(os.getenv("AVALON_PROJECT"))
|
||||
config = project_settings["maya"]["scriptsmenu"]["definition"]
|
||||
_menu = project_settings["maya"]["scriptsmenu"]["name"]
|
||||
|
||||
if not config:
|
||||
log.warning("Skipping studio menu, no definition found.")
|
||||
return
|
||||
|
||||
# run the launcher for Maya menu
|
||||
studio_menu = launchformaya.main(
|
||||
title=_menu.title(),
|
||||
objectName=_menu.title().lower().replace(" ", "_")
|
||||
)
|
||||
|
||||
# apply configuration
|
||||
studio_menu.build_from_configuration(studio_menu, config)
|
||||
|
||||
def modify_workfiles():
|
||||
# Find the pipeline menu
|
||||
top_menu = _get_menu()
|
||||
|
|
@ -110,39 +136,13 @@ def deferred():
|
|||
|
||||
log.info("Attempting to install scripts menu ...")
|
||||
|
||||
# add_scripts_menu()
|
||||
add_build_workfiles_item()
|
||||
add_look_assigner_item()
|
||||
add_experimental_item()
|
||||
modify_workfiles()
|
||||
remove_project_manager()
|
||||
|
||||
try:
|
||||
import scriptsmenu.launchformaya as launchformaya
|
||||
import scriptsmenu.scriptsmenu as scriptsmenu
|
||||
except ImportError:
|
||||
log.warning(
|
||||
"Skipping studio.menu install, because "
|
||||
"'scriptsmenu' module seems unavailable."
|
||||
)
|
||||
return
|
||||
|
||||
# load configuration of custom menu
|
||||
project_settings = get_project_settings(os.getenv("AVALON_PROJECT"))
|
||||
config = project_settings["maya"]["scriptsmenu"]["definition"]
|
||||
_menu = project_settings["maya"]["scriptsmenu"]["name"]
|
||||
|
||||
if not config:
|
||||
log.warning("Skipping studio menu, no definition found.")
|
||||
return
|
||||
|
||||
# run the launcher for Maya menu
|
||||
studio_menu = launchformaya.main(
|
||||
title=_menu.title(),
|
||||
objectName=_menu.title().lower().replace(" ", "_")
|
||||
)
|
||||
|
||||
# apply configuration
|
||||
studio_menu.build_from_configuration(studio_menu, config)
|
||||
add_scripts_menu()
|
||||
|
||||
|
||||
def uninstall():
|
||||
|
|
@ -163,7 +163,7 @@ def install():
|
|||
return
|
||||
|
||||
# Allow time for uninstallation to finish.
|
||||
cmds.evalDeferred(deferred)
|
||||
cmds.evalDeferred(deferred, lowestPriority=True)
|
||||
|
||||
|
||||
def popup():
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import os
|
||||
import openpype
|
||||
from openpype import resources
|
||||
from openpype.modules import OpenPypeModule
|
||||
from openpype_interfaces import ITrayModule
|
||||
|
||||
|
|
@ -52,16 +51,12 @@ class AvalonModule(OpenPypeModule, ITrayModule):
|
|||
def tray_init(self):
|
||||
# Add library tool
|
||||
try:
|
||||
from Qt import QtGui
|
||||
from avalon import style
|
||||
from openpype.tools.libraryloader import LibraryLoaderWindow
|
||||
|
||||
self.libraryloader = LibraryLoaderWindow(
|
||||
icon=QtGui.QIcon(resources.get_openpype_icon_filepath()),
|
||||
show_projects=True,
|
||||
show_libraries=True
|
||||
)
|
||||
self.libraryloader.setStyleSheet(style.load_stylesheet())
|
||||
except Exception:
|
||||
self.log.warning(
|
||||
"Couldn't load Library loader tool for tray.",
|
||||
|
|
@ -70,6 +65,9 @@ class AvalonModule(OpenPypeModule, ITrayModule):
|
|||
|
||||
# Definition of Tray menu
|
||||
def tray_menu(self, tray_menu):
|
||||
if self.libraryloader is None:
|
||||
return
|
||||
|
||||
from Qt import QtWidgets
|
||||
# Actions
|
||||
action_library_loader = QtWidgets.QAction(
|
||||
|
|
@ -87,6 +85,9 @@ class AvalonModule(OpenPypeModule, ITrayModule):
|
|||
return
|
||||
|
||||
def show_library_loader(self):
|
||||
if self.libraryloader is None:
|
||||
return
|
||||
|
||||
self.libraryloader.show()
|
||||
|
||||
# Raise and activate the window
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import json
|
|||
from avalon.api import AvalonMongoDB
|
||||
from openpype.api import ProjectSettings
|
||||
from openpype.lib import create_project
|
||||
from openpype.settings import SaveWarningExc
|
||||
|
||||
from openpype_modules.ftrack.lib import (
|
||||
ServerAction,
|
||||
|
|
@ -312,7 +313,6 @@ class PrepareProjectServer(ServerAction):
|
|||
if not in_data:
|
||||
return
|
||||
|
||||
|
||||
root_values = {}
|
||||
root_key = "__root__"
|
||||
for key in tuple(in_data.keys()):
|
||||
|
|
@ -392,7 +392,12 @@ class PrepareProjectServer(ServerAction):
|
|||
else:
|
||||
attributes_entity[key] = value
|
||||
|
||||
project_settings.save()
|
||||
try:
|
||||
project_settings.save()
|
||||
except SaveWarningExc as exc:
|
||||
self.log.info("Few warnings happened during settings save:")
|
||||
for warning in exc.warnings:
|
||||
self.log.info(str(warning))
|
||||
|
||||
# Change custom attributes on project
|
||||
if custom_attribute_values:
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import json
|
|||
from avalon.api import AvalonMongoDB
|
||||
from openpype.api import ProjectSettings
|
||||
from openpype.lib import create_project
|
||||
from openpype.settings import SaveWarningExc
|
||||
|
||||
from openpype_modules.ftrack.lib import (
|
||||
BaseAction,
|
||||
|
|
@ -417,7 +418,12 @@ class PrepareProjectLocal(BaseAction):
|
|||
else:
|
||||
attributes_entity[key] = value
|
||||
|
||||
project_settings.save()
|
||||
try:
|
||||
project_settings.save()
|
||||
except SaveWarningExc as exc:
|
||||
self.log.info("Few warnings happened during settings save:")
|
||||
for warning in exc.warnings:
|
||||
self.log.info(str(warning))
|
||||
|
||||
# Change custom attributes on project
|
||||
if custom_attribute_values:
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ import os
|
|||
import json
|
||||
import collections
|
||||
from openpype import resources
|
||||
import six
|
||||
from .color_defs import parse_color
|
||||
|
||||
|
||||
_STYLESHEET_CACHE = None
|
||||
|
|
@ -10,7 +12,71 @@ _FONT_IDS = None
|
|||
current_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
def _get_colors_raw_data():
|
||||
"""Read data file with stylesheet fill values.
|
||||
|
||||
Returns:
|
||||
dict: Loaded data for stylesheet.
|
||||
"""
|
||||
data_path = os.path.join(current_dir, "data.json")
|
||||
with open(data_path, "r") as data_stream:
|
||||
data = json.load(data_stream)
|
||||
return data
|
||||
|
||||
|
||||
def get_colors_data():
|
||||
"""Only color data from stylesheet data."""
|
||||
data = _get_colors_raw_data()
|
||||
return data.get("color") or {}
|
||||
|
||||
|
||||
def _convert_color_values_to_objects(value):
|
||||
"""Parse all string values in dictionary to Color definitions.
|
||||
|
||||
Recursive function calling itself if value is dictionary.
|
||||
|
||||
Args:
|
||||
value (dict, str): String is parsed into color definition object and
|
||||
dictionary is passed into this function.
|
||||
|
||||
Raises:
|
||||
TypeError: If value in color data do not contain string of dictionary.
|
||||
"""
|
||||
if isinstance(value, dict):
|
||||
output = {}
|
||||
for _key, _value in value.items():
|
||||
output[_key] = _convert_color_values_to_objects(_value)
|
||||
return output
|
||||
|
||||
if not isinstance(value, six.string_types):
|
||||
raise TypeError((
|
||||
"Unexpected type in colors data '{}'. Expected 'str' or 'dict'."
|
||||
).format(str(type(value))))
|
||||
return parse_color(value)
|
||||
|
||||
|
||||
def get_objected_colors():
|
||||
"""Colors parsed from stylesheet data into color definitions.
|
||||
|
||||
Returns:
|
||||
dict: Parsed color objects by keys in data.
|
||||
"""
|
||||
colors_data = get_colors_data()
|
||||
output = {}
|
||||
for key, value in colors_data.items():
|
||||
output[key] = _convert_color_values_to_objects(value)
|
||||
return output
|
||||
|
||||
|
||||
def _load_stylesheet():
|
||||
"""Load strylesheet and trigger all related callbacks.
|
||||
|
||||
Style require more than a stylesheet string. Stylesheet string
|
||||
contains paths to resources which must be registered into Qt application
|
||||
and load fonts used in stylesheets.
|
||||
|
||||
Also replace values from stylesheet data into stylesheet text.
|
||||
"""
|
||||
from . import qrc_resources
|
||||
|
||||
qrc_resources.qInitResources()
|
||||
|
|
@ -19,9 +85,7 @@ def _load_stylesheet():
|
|||
with open(style_path, "r") as style_file:
|
||||
stylesheet = style_file.read()
|
||||
|
||||
data_path = os.path.join(current_dir, "data.json")
|
||||
with open(data_path, "r") as data_stream:
|
||||
data = json.load(data_stream)
|
||||
data = _get_colors_raw_data()
|
||||
|
||||
data_deque = collections.deque()
|
||||
for item in data.items():
|
||||
|
|
@ -44,6 +108,7 @@ def _load_stylesheet():
|
|||
|
||||
|
||||
def _load_font():
|
||||
"""Load and register fonts into Qt application."""
|
||||
from Qt import QtGui
|
||||
|
||||
global _FONT_IDS
|
||||
|
|
@ -83,6 +148,7 @@ def _load_font():
|
|||
|
||||
|
||||
def load_stylesheet():
|
||||
"""Load and return OpenPype Qt stylesheet."""
|
||||
global _STYLESHEET_CACHE
|
||||
if _STYLESHEET_CACHE is None:
|
||||
_STYLESHEET_CACHE = _load_stylesheet()
|
||||
|
|
@ -91,4 +157,5 @@ def load_stylesheet():
|
|||
|
||||
|
||||
def app_icon_path():
|
||||
"""Path to OpenPype icon."""
|
||||
return resources.get_openpype_icon_filepath()
|
||||
|
|
|
|||
391
openpype/style/color_defs.py
Normal file
391
openpype/style/color_defs.py
Normal file
|
|
@ -0,0 +1,391 @@
|
|||
"""Color definitions that can be used to parse strings for stylesheet.
|
||||
|
||||
Each definition must have available method `get_qcolor` which should return
|
||||
`QtGui.QColor` representation of the color.
|
||||
|
||||
# TODO create abstract class to force this method implementation
|
||||
|
||||
Usage: Some colors may be not be used only in stylesheet but is required to
|
||||
use them in code too. To not hardcode these color values into code it is better
|
||||
to use same colors that are available fro stylesheets.
|
||||
|
||||
It is possible that some colors may not be used in stylesheet at all and thei
|
||||
definition is used only in code.
|
||||
"""
|
||||
|
||||
import re
|
||||
|
||||
|
||||
def parse_color(value):
|
||||
"""Parse string value of color to one of objected representation.
|
||||
|
||||
Args:
|
||||
value(str): Color definition usable in stylesheet.
|
||||
"""
|
||||
modified_value = value.strip().lower()
|
||||
if modified_value.startswith("hsla"):
|
||||
return HSLAColor(value)
|
||||
|
||||
if modified_value.startswith("hsl"):
|
||||
return HSLColor(value)
|
||||
|
||||
if modified_value.startswith("#"):
|
||||
return HEXColor(value)
|
||||
|
||||
if modified_value.startswith("rgba"):
|
||||
return RGBAColor(value)
|
||||
|
||||
if modified_value.startswith("rgb"):
|
||||
return RGBColor(value)
|
||||
return UnknownColor(value)
|
||||
|
||||
|
||||
def create_qcolor(*args):
|
||||
"""Create QtGui.QColor object.
|
||||
|
||||
Args:
|
||||
*args (tuple): It is possible to pass initialization arguments for
|
||||
Qcolor.
|
||||
"""
|
||||
from Qt import QtGui
|
||||
|
||||
return QtGui.QColor(*args)
|
||||
|
||||
|
||||
def min_max_check(value, min_value, max_value):
|
||||
"""Validate number value if is in passed range.
|
||||
|
||||
Args:
|
||||
value (int, float): Value which is validated.
|
||||
min_value (int, float): Minimum possible value. Validation is skipped
|
||||
if passed value is None.
|
||||
max_value (int, float): Maximum possible value. Validation is skipped
|
||||
if passed value is None.
|
||||
|
||||
Raises:
|
||||
ValueError: When 'value' is out of specified range.
|
||||
"""
|
||||
if min_value is not None and value < min_value:
|
||||
raise ValueError("Minimum expected value is '{}' got '{}'".format(
|
||||
min_value, value
|
||||
))
|
||||
|
||||
if max_value is not None and value > max_value:
|
||||
raise ValueError("Maximum expected value is '{}' got '{}'".format(
|
||||
min_value, value
|
||||
))
|
||||
|
||||
|
||||
def int_validation(value, min_value=None, max_value=None):
|
||||
"""Validation of integer value within range.
|
||||
|
||||
Args:
|
||||
value (int): Validated value.
|
||||
min_value (int): Minimum possible value.
|
||||
max_value (int): Maximum possible value.
|
||||
|
||||
Raises:
|
||||
TypeError: If 'value' is not 'int' type.
|
||||
"""
|
||||
if not isinstance(value, int):
|
||||
raise TypeError((
|
||||
"Invalid type of hue expected 'int' got {}"
|
||||
).format(str(type(value))))
|
||||
|
||||
min_max_check(value, min_value, max_value)
|
||||
|
||||
|
||||
def float_validation(value, min_value=None, max_value=None):
|
||||
"""Validation of float value within range.
|
||||
|
||||
Args:
|
||||
value (float): Validated value.
|
||||
min_value (float): Minimum possible value.
|
||||
max_value (float): Maximum possible value.
|
||||
|
||||
Raises:
|
||||
TypeError: If 'value' is not 'float' type.
|
||||
"""
|
||||
if not isinstance(value, float):
|
||||
raise TypeError((
|
||||
"Invalid type of hue expected 'int' got {}"
|
||||
).format(str(type(value))))
|
||||
|
||||
min_max_check(value, min_value, max_value)
|
||||
|
||||
|
||||
class UnknownColor:
|
||||
"""Color from stylesheet data without known color definition.
|
||||
|
||||
This is backup for unknown color definitions which may be for example
|
||||
constants or definition not yet defined by class.
|
||||
"""
|
||||
def __init__(self, value):
|
||||
self.value = value
|
||||
|
||||
def get_qcolor(self):
|
||||
return create_qcolor(self.value)
|
||||
|
||||
|
||||
class HEXColor:
|
||||
"""Hex color definition.
|
||||
|
||||
Hex color is defined by '#' and 3 or 6 hex values (0-F).
|
||||
|
||||
Examples:
|
||||
"#fff"
|
||||
"#f3f3f3"
|
||||
"""
|
||||
regex = re.compile(r"[a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?$")
|
||||
|
||||
def __init__(self, color_string):
|
||||
red, green, blue = self.hex_to_rgb(color_string)
|
||||
|
||||
self._color_string = color_string
|
||||
self._red = red
|
||||
self._green = green
|
||||
self._blue = blue
|
||||
|
||||
@property
|
||||
def red(self):
|
||||
return self._red
|
||||
|
||||
@property
|
||||
def green(self):
|
||||
return self._green
|
||||
|
||||
@property
|
||||
def blue(self):
|
||||
return self._blue
|
||||
|
||||
def to_stylesheet_str(self):
|
||||
return self._color_string
|
||||
|
||||
@classmethod
|
||||
def hex_to_rgb(cls, value):
|
||||
"""Convert hex value to rgb."""
|
||||
hex_value = value.lstrip("#")
|
||||
if not cls.regex.match(hex_value):
|
||||
raise ValueError("\"{}\" is not a valid HEX code.".format(value))
|
||||
|
||||
output = []
|
||||
if len(hex_value) == 3:
|
||||
for char in hex_value:
|
||||
output.append(int(char * 2, 16))
|
||||
else:
|
||||
for idx in range(3):
|
||||
start_idx = idx * 2
|
||||
output.append(int(hex_value[start_idx:start_idx + 2], 16))
|
||||
return output
|
||||
|
||||
def get_qcolor(self):
|
||||
return create_qcolor(self.red, self.green, self.blue)
|
||||
|
||||
|
||||
class RGBColor:
|
||||
"""Color defined by red green and blue values.
|
||||
|
||||
Each color has possible integer range 0-255.
|
||||
|
||||
Examples:
|
||||
"rgb(255, 127, 0)"
|
||||
"""
|
||||
def __init__(self, value):
|
||||
modified_color = value.lower().strip()
|
||||
content = modified_color.rstrip(")").lstrip("rgb(")
|
||||
red_str, green_str, blue_str = (
|
||||
item.strip() for item in content.split(",")
|
||||
)
|
||||
red = int(red_str)
|
||||
green = int(green_str)
|
||||
blue = int(blue_str)
|
||||
|
||||
int_validation(red, 0, 255)
|
||||
int_validation(green, 0, 255)
|
||||
int_validation(blue, 0, 255)
|
||||
|
||||
self._red = red
|
||||
self._green = green
|
||||
self._blue = blue
|
||||
|
||||
@property
|
||||
def red(self):
|
||||
return self._red
|
||||
|
||||
@property
|
||||
def green(self):
|
||||
return self._green
|
||||
|
||||
@property
|
||||
def blue(self):
|
||||
return self._blue
|
||||
|
||||
def get_qcolor(self):
|
||||
return create_qcolor(self.red, self.green, self.blue)
|
||||
|
||||
|
||||
class RGBAColor:
|
||||
"""Color defined by red green, blue and alpha values.
|
||||
|
||||
Each color has possible integer range 0-255.
|
||||
|
||||
Examples:
|
||||
"rgba(255, 127, 0, 127)"
|
||||
"""
|
||||
def __init__(self, value):
|
||||
modified_color = value.lower().strip()
|
||||
content = modified_color.rstrip(")").lstrip("rgba(")
|
||||
red_str, green_str, blue_str, alpha_str = (
|
||||
item.strip() for item in content.split(",")
|
||||
)
|
||||
red = int(red_str)
|
||||
green = int(green_str)
|
||||
blue = int(blue_str)
|
||||
if "." in alpha_str:
|
||||
alpha = int(float(alpha_str) * 100)
|
||||
else:
|
||||
alpha = int(alpha_str)
|
||||
|
||||
int_validation(red, 0, 255)
|
||||
int_validation(green, 0, 255)
|
||||
int_validation(blue, 0, 255)
|
||||
int_validation(alpha, 0, 255)
|
||||
|
||||
self._red = red
|
||||
self._green = green
|
||||
self._blue = blue
|
||||
self._alpha = alpha
|
||||
|
||||
@property
|
||||
def red(self):
|
||||
return self._red
|
||||
|
||||
@property
|
||||
def green(self):
|
||||
return self._green
|
||||
|
||||
@property
|
||||
def blue(self):
|
||||
return self._blue
|
||||
|
||||
@property
|
||||
def alpha(self):
|
||||
return self._alpha
|
||||
|
||||
def get_qcolor(self):
|
||||
return create_qcolor(self.red, self.green, self.blue, self.alpha)
|
||||
|
||||
|
||||
class HSLColor:
|
||||
"""Color defined by hue, saturation and light values.
|
||||
|
||||
Hue is defined as integer in rage 0-360. Saturation and light can be
|
||||
defined as float or percent value.
|
||||
|
||||
Examples:
|
||||
"hsl(27, 0.7, 0.3)"
|
||||
"hsl(27, 70%, 30%)"
|
||||
"""
|
||||
def __init__(self, value):
|
||||
modified_color = value.lower().strip()
|
||||
content = modified_color.rstrip(")").lstrip("hsl(")
|
||||
hue_str, sat_str, light_str = (
|
||||
item.strip() for item in content.split(",")
|
||||
)
|
||||
hue = int(hue_str) % 360
|
||||
if "%" in sat_str:
|
||||
sat = float(sat_str.rstrip("%")) / 100
|
||||
else:
|
||||
sat = float(sat)
|
||||
|
||||
if "%" in light_str:
|
||||
light = float(light_str.rstrip("%")) / 100
|
||||
else:
|
||||
light = float(light_str)
|
||||
|
||||
int_validation(hue, 0, 360)
|
||||
float_validation(sat, 0, 1)
|
||||
float_validation(light, 0, 1)
|
||||
|
||||
self._hue = hue
|
||||
self._saturation = sat
|
||||
self._light = light
|
||||
|
||||
@property
|
||||
def hue(self):
|
||||
return self._hue
|
||||
|
||||
@property
|
||||
def saturation(self):
|
||||
return self._saturation
|
||||
|
||||
@property
|
||||
def light(self):
|
||||
return self._light
|
||||
|
||||
def get_qcolor(self):
|
||||
color = create_qcolor()
|
||||
color.setHslF(self.hue / 360, self.saturation, self.light)
|
||||
return color
|
||||
|
||||
|
||||
class HSLAColor:
|
||||
"""Color defined by hue, saturation, light and alpha values.
|
||||
|
||||
Hue is defined as integer in rage 0-360. Saturation and light can be
|
||||
defined as float (0-1 range) or percent value(0-100%). And alpha
|
||||
as float (0-1 range).
|
||||
|
||||
Examples:
|
||||
"hsl(27, 0.7, 0.3)"
|
||||
"hsl(27, 70%, 30%)"
|
||||
"""
|
||||
def __init__(self, value):
|
||||
modified_color = value.lower().strip()
|
||||
content = modified_color.rstrip(")").lstrip("hsla(")
|
||||
hue_str, sat_str, light_str, alpha_str = (
|
||||
item.strip() for item in content.split(",")
|
||||
)
|
||||
hue = int(hue_str) % 360
|
||||
if "%" in sat_str:
|
||||
sat = float(sat_str.rstrip("%")) / 100
|
||||
else:
|
||||
sat = float(sat)
|
||||
|
||||
if "%" in light_str:
|
||||
light = float(light_str.rstrip("%")) / 100
|
||||
else:
|
||||
light = float(light_str)
|
||||
|
||||
alpha = float(alpha_str)
|
||||
|
||||
int_validation(hue, 0, 360)
|
||||
float_validation(sat, 0, 1)
|
||||
float_validation(light, 0, 1)
|
||||
float_validation(alpha, 0, 1)
|
||||
|
||||
self._hue = hue
|
||||
self._saturation = sat
|
||||
self._light = light
|
||||
self._alpha = alpha
|
||||
|
||||
@property
|
||||
def hue(self):
|
||||
return self._hue
|
||||
|
||||
@property
|
||||
def saturation(self):
|
||||
return self._saturation
|
||||
|
||||
@property
|
||||
def light(self):
|
||||
return self._light
|
||||
|
||||
@property
|
||||
def alpha(self):
|
||||
return self._alpha
|
||||
|
||||
def get_qcolor(self):
|
||||
color = create_qcolor()
|
||||
color.setHslF(self.hue / 360, self.saturation, self.light, self.alpha)
|
||||
return color
|
||||
|
|
@ -28,25 +28,36 @@
|
|||
"bg": "#2C313A",
|
||||
"bg-inputs": "#21252B",
|
||||
"bg-buttons": "#434a56",
|
||||
"bg-button-hover": "hsla(220, 14%, 70%, .3)",
|
||||
"bg-button-hover": "rgba(168, 175, 189, 0.3)",
|
||||
"bg-inputs-disabled": "#2C313A",
|
||||
"bg-buttons-disabled": "#434a56",
|
||||
|
||||
"bg-splitter": "#434a56",
|
||||
"bg-splitter-hover": "rgba(168, 175, 189, 0.3)",
|
||||
|
||||
"bg-menu-separator": "rgba(75, 83, 98, 127)",
|
||||
|
||||
"bg-scroll-handle": "#4B5362",
|
||||
|
||||
"bg-view": "#21252B",
|
||||
"bg-view-header": "#373D48",
|
||||
"bg-view-hover": "hsla(220, 14%, 70%, .3)",
|
||||
"bg-view-hover": "rgba(168, 175, 189, .3)",
|
||||
"bg-view-alternate": "rgb(36, 42, 50)",
|
||||
"bg-view-disabled": "#434a56",
|
||||
"bg-view-alternate-disabled": "#2C313A",
|
||||
"bg-view-selection": "hsla(200, 60%, 60%, .4)",
|
||||
"bg-view-selection-hover": "hsla(200, 60%, 60%, .8)",
|
||||
"bg-view-selection": "rgba(92, 173, 214, .4)",
|
||||
"bg-view-selection-hover": "rgba(92, 173, 214, .8)",
|
||||
|
||||
"border": "#373D48",
|
||||
"border-hover": "hsla(220, 14%, 70%, .3)",
|
||||
"border-focus": "hsl(200, 60%, 60%)"
|
||||
"border-hover": "rgba(168, 175, 189, .3)",
|
||||
"border-focus": "hsl(200, 60%, 60%)",
|
||||
|
||||
"loader": {
|
||||
"asset-view": {
|
||||
"selected": "rgba(168, 175, 189, 0.6)",
|
||||
"hover": "rgba(168, 175, 189, 0.3)",
|
||||
"selected-hover": "rgba(168, 175, 189, 0.7)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
BIN
openpype/style/images/transparent.png
Normal file
BIN
openpype/style/images/transparent.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 B |
|
|
@ -10,19 +10,7 @@ from PyQt5 import QtCore
|
|||
|
||||
|
||||
qt_resource_data = b"\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1c\x1f\x24\
|
||||
\xc6\x09\x17\x00\x00\x00\x24\x49\x44\x41\x54\x08\xd7\x63\x60\x40\
|
||||
\x05\xff\xcf\xc3\x58\x4c\xc8\x5c\x26\x64\x59\x26\x64\xc5\x70\x0e\
|
||||
\xa3\x21\x9c\xc3\x68\x88\x61\x1a\x0a\x00\x00\x6d\x84\x09\x75\x37\
|
||||
\x9e\xd9\x23\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x07\x30\
|
||||
\x00\x00\x07\x06\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x0a\x00\x00\x00\x07\x08\x06\x00\x00\x00\x31\xac\xdc\x63\
|
||||
|
|
@ -80,10 +68,10 @@ qt_resource_data = b"\
|
|||
\x65\x3d\x22\x73\x52\x47\x42\x20\x49\x45\x43\x36\x31\x39\x36\x36\
|
||||
\x2d\x32\x2e\x31\x22\x0a\x20\x20\x20\x78\x6d\x70\x3a\x4d\x6f\x64\
|
||||
\x69\x66\x79\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x33\x3a\x31\x34\x2b\x30\x32\x3a\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x30\x3a\x31\x31\x2b\x30\x32\x3a\
|
||||
\x30\x30\x22\x0a\x20\x20\x20\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\
|
||||
\x61\x74\x61\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x33\x3a\x31\x34\x2b\x30\x32\x3a\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x30\x3a\x31\x31\x2b\x30\x32\x3a\
|
||||
\x30\x30\x22\x3e\x0a\x20\x20\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x48\
|
||||
\x69\x73\x74\x6f\x72\x79\x3e\x0a\x20\x20\x20\x20\x3c\x72\x64\x66\
|
||||
\x3a\x53\x65\x71\x3e\x0a\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\
|
||||
|
|
@ -94,14 +82,14 @@ qt_resource_data = b"\
|
|||
\x6e\x69\x74\x79\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x20\x31\x2e\
|
||||
\x39\x2e\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x45\x76\x74\
|
||||
\x3a\x77\x68\x65\x6e\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\x2d\x33\
|
||||
\x31\x54\x31\x32\x3a\x33\x33\x3a\x31\x34\x2b\x30\x32\x3a\x30\x30\
|
||||
\x31\x54\x31\x32\x3a\x33\x30\x3a\x31\x31\x2b\x30\x32\x3a\x30\x30\
|
||||
\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x53\x65\
|
||||
\x71\x3e\x0a\x20\x20\x20\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x48\x69\
|
||||
\x73\x74\x6f\x72\x79\x3e\x0a\x20\x20\x3c\x2f\x72\x64\x66\x3a\x44\
|
||||
\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x3c\x2f\x72\
|
||||
\x64\x66\x3a\x52\x44\x46\x3e\x0a\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\
|
||||
\x65\x74\x61\x3e\x0a\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\
|
||||
\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x48\x8b\x5b\x5e\x00\x00\x01\x83\
|
||||
\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x85\x9d\x9f\x08\x00\x00\x01\x83\
|
||||
\x69\x43\x43\x50\x73\x52\x47\x42\x20\x49\x45\x43\x36\x31\x39\x36\
|
||||
\x36\x2d\x32\x2e\x31\x00\x00\x28\x91\x75\x91\xcf\x2b\x44\x51\x14\
|
||||
\xc7\x3f\x66\x68\xfc\x18\x8d\x62\x61\x31\x65\x12\x16\x42\x83\x12\
|
||||
|
|
@ -128,30 +116,15 @@ qt_resource_data = b"\
|
|||
\xfd\xec\x73\x74\x07\xd1\x35\xf9\xaa\x4b\xd8\xd9\x85\x0e\x39\xef\
|
||||
\x59\xf8\x06\x8e\xfd\x67\xf8\xfd\x8a\x18\x97\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x97\x49\x44\x41\x54\x18\x95\x6d\xcf\xb1\x6a\x02\x41\
|
||||
\x14\x85\xe1\x6f\xb7\xb6\xd0\x27\x48\x3d\x56\x69\x03\xb1\xb4\x48\
|
||||
\x3b\x6c\xa5\xf1\x39\xf6\x59\x02\x56\x42\xba\x61\x0a\x0b\x3b\x1b\
|
||||
\x1b\x6b\x41\x18\x02\x29\x6d\xe3\xbe\x82\xcd\x06\x16\xd9\xdb\xdd\
|
||||
\x9f\xff\x5c\xee\xa9\x62\x2a\x13\x4c\x73\x13\x6e\x46\x26\xa6\xf2\
|
||||
\x82\xae\x46\x8b\xdf\x98\xca\xfb\x88\xb4\xc0\x0f\xda\x1a\x5b\x74\
|
||||
\xd8\xc7\x54\xc2\x40\x9a\x63\x8f\x3f\x7c\x55\x3d\x7c\xc5\x09\x77\
|
||||
\xbc\xa1\xc2\x19\x33\x2c\x72\x13\x2e\xd5\xe0\xc2\x12\x07\x5c\x51\
|
||||
\x23\xe0\x23\x37\xe1\xa8\x4f\x0e\x7f\xda\x60\xd7\xaf\x9f\xb9\x09\
|
||||
\xdf\x63\x05\xff\xe5\x75\x4c\x65\xf5\xcc\x1f\x0d\x33\x2c\x83\xb6\
|
||||
\x06\x44\x83\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\x9c\x53\x34\xfc\x5d\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x0b\x02\x04\x6d\
|
||||
\x98\x1b\x69\x00\x00\x00\x29\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18\x32\x32\x30\x20\x0b\x32\x1a\
|
||||
\x32\x30\x30\x42\x98\x10\x41\x46\x43\x14\x13\x50\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2\x2f\x48\xdf\x4a\x00\x00\x00\x00\x49\x45\x4e\x44\
|
||||
\xae\x42\x60\x82\
|
||||
\x00\x00\x00\x6d\x49\x44\x41\x54\x18\x95\x75\xcf\xc1\x09\xc2\x50\
|
||||
\x10\x84\xe1\xd7\x85\x07\x9b\xd0\x43\x40\xd2\x82\x78\x14\x7b\x30\
|
||||
\x57\x21\x8d\x84\x60\x3f\x62\x4b\x7a\x48\xcc\x97\x83\xfb\x30\x04\
|
||||
\xdf\x9c\x86\x7f\x67\x99\xdd\x84\x0d\xaa\x54\x10\x6a\x6c\x13\x1e\
|
||||
\xbe\xba\xfe\x09\x35\x31\x7b\xe6\x8d\x0f\x26\x1c\x17\xa1\x53\xb0\
|
||||
\x11\x87\x0c\x2f\x01\x07\xec\xb0\x0f\x3f\xe1\xbc\xae\x69\xa3\xe6\
|
||||
\x85\x77\xf8\x5b\xe9\xf0\xbb\x9f\xfa\xd2\x83\x39\xdc\xa3\x5b\xf3\
|
||||
\x19\x2e\xa8\x89\xb5\x30\xf7\x43\xa0\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
|
|
@ -164,6 +137,19 @@ qt_resource_data = b"\
|
|||
\x05\x73\x3e\xc0\x58\x4c\xc8\x5c\x26\x64\x59\x26\x64\xc5\x70\x4e\
|
||||
\x8a\x00\x9c\x93\x22\x80\x61\x1a\x0a\x00\x00\x29\x95\x08\xaf\x88\
|
||||
\xac\xba\x34\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x3b\xdc\
|
||||
\x3b\x0c\x9b\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\x73\x3e\x20\x0b\xa4\x08\x30\x32\x30\x20\x0b\xa6\
|
||||
\x08\x30\x30\x30\x42\x98\x10\xc1\x14\x01\x14\x13\x50\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90\x5d\x66\x1f\x83\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x07\xad\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
|
|
@ -289,6 +275,45 @@ qt_resource_data = b"\
|
|||
\x5e\x78\xa2\x9e\x0e\xa7\x20\x74\x47\x39\x1d\xf6\xe1\x95\x2b\xd6\
|
||||
\xb1\x44\x8e\x0e\xcb\x58\xf0\x0f\x52\x8a\x79\x18\xdc\xe2\x02\x70\
|
||||
\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x3b\xdc\
|
||||
\x3b\x0c\x9b\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\x73\x3e\x20\x0b\xa4\x08\x30\x32\x30\x20\x0b\xa6\
|
||||
\x08\x30\x30\x30\x42\x98\x10\xc1\x14\x01\x14\x13\x50\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90\x5d\x66\x1f\x83\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1d\x00\xb0\
|
||||
\xd5\x35\xa3\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x06\xfe\x9f\x67\x60\x60\x42\x30\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
\x64\x60\x60\x62\x60\x60\x34\x44\xe2\x20\x73\x19\x90\x8d\x40\x02\
|
||||
\x00\x64\x40\x09\x75\x86\xb3\xad\x9c\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x3b\xdc\
|
||||
\x3b\x0c\x9b\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\x73\x3e\x20\x0b\xa4\x08\x30\x32\x30\x20\x0b\xa6\
|
||||
\x08\x30\x30\x30\x42\x98\x10\xc1\x14\x01\x14\x13\x50\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90\x5d\x66\x1f\x83\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
|
|
@ -313,18 +338,26 @@ qt_resource_data = b"\
|
|||
\x0d\xe6\x7c\x80\xb1\x18\x91\x05\x52\x04\xe0\x42\x08\x15\x29\x02\
|
||||
\x0c\x0c\x8c\xc8\x02\x08\x95\x68\x00\x00\xac\xac\x07\x90\x4e\x65\
|
||||
\x34\xac\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\x9e\
|
||||
\x00\x00\x00\x45\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x01\x00\x00\x00\x01\x08\x02\x00\x00\x00\x90\x77\x53\xde\
|
||||
\x00\x00\x00\x0c\x49\x44\x41\x54\x08\x99\x63\x60\x60\x60\x00\x00\
|
||||
\x00\x04\x00\x01\xa3\x0a\x15\xe3\x00\x00\x00\x00\x49\x45\x4e\x44\
|
||||
\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x02\x62\x4b\x47\x44\x00\x9c\x53\x34\xfc\x5d\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x0f\xfd\
|
||||
\x8f\xf8\x2e\x00\x00\x00\x22\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x0d\xfe\x9f\x87\xb1\x18\x91\x05\x18\x0d\xe1\x42\x48\x2a\x0c\x19\
|
||||
\x18\x18\x91\x05\x10\x2a\xd1\x00\x00\xca\xb5\x07\xd2\x76\xbb\xb2\
|
||||
\xc5\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x0b\x02\x04\x6d\
|
||||
\x98\x1b\x69\x00\x00\x00\x29\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18\x32\x32\x30\x20\x0b\x32\x1a\
|
||||
\x32\x30\x30\x42\x98\x10\x41\x46\x43\x14\x13\x50\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2\x2f\x48\xdf\x4a\x00\x00\x00\x00\x49\x45\x4e\x44\
|
||||
\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
|
|
@ -341,15 +374,170 @@ qt_resource_data = b"\
|
|||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x3b\xdc\
|
||||
\x3b\x0c\x9b\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\x73\x3e\x20\x0b\xa4\x08\x30\x32\x30\x20\x0b\xa6\
|
||||
\x08\x30\x30\x30\x42\x98\x10\xc1\x14\x01\x14\x13\x50\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90\x5d\x66\x1f\x83\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1f\x20\xb9\
|
||||
\x8d\x77\xe9\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x06\xe6\x7c\x60\x60\x60\x42\x30\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
\x64\x60\x60\x62\x60\x48\x11\x40\xe2\x20\x73\x19\x90\x8d\x40\x02\
|
||||
\x00\x23\xed\x08\xaf\x64\x9f\x0f\x15\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\x9c\x53\x34\xfc\x5d\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x0b\x02\x04\x6d\
|
||||
\x98\x1b\x69\x00\x00\x00\x29\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18\x32\x32\x30\x20\x0b\x32\x1a\
|
||||
\x32\x30\x30\x42\x98\x10\x41\x46\x43\x14\x13\x50\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2\x2f\x48\xdf\x4a\x00\x00\x00\x00\x49\x45\x4e\x44\
|
||||
\xae\x42\x60\x82\
|
||||
\x00\x00\x07\x30\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x0a\x00\x00\x00\x07\x08\x06\x00\x00\x00\x31\xac\xdc\x63\
|
||||
\x00\x00\x04\xb0\x69\x54\x58\x74\x58\x4d\x4c\x3a\x63\x6f\x6d\x2e\
|
||||
\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\x00\x00\x00\x3c\x3f\
|
||||
\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\x69\x6e\x3d\x22\xef\
|
||||
\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\x30\x4d\x70\x43\x65\
|
||||
\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\x7a\x6b\x63\x39\x64\
|
||||
\x22\x3f\x3e\x0a\x3c\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x20\x78\
|
||||
\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\x62\x65\x3a\x6e\x73\
|
||||
\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\x6d\x70\x74\x6b\x3d\
|
||||
\x22\x58\x4d\x50\x20\x43\x6f\x72\x65\x20\x35\x2e\x35\x2e\x30\x22\
|
||||
\x3e\x0a\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\x78\x6d\x6c\x6e\
|
||||
\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
|
||||
\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\
|
||||
\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\
|
||||
\x73\x23\x22\x3e\x0a\x20\x20\x3c\x72\x64\x66\x3a\x44\x65\x73\x63\
|
||||
\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\
|
||||
\x74\x3d\x22\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x65\
|
||||
\x78\x69\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\
|
||||
\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x65\x78\x69\x66\x2f\x31\x2e\
|
||||
\x30\x2f\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x74\x69\
|
||||
\x66\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\
|
||||
\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x74\x69\x66\x66\x2f\x31\x2e\x30\
|
||||
\x2f\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x70\x68\x6f\
|
||||
\x74\x6f\x73\x68\x6f\x70\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\
|
||||
\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x70\x68\x6f\x74\
|
||||
\x6f\x73\x68\x6f\x70\x2f\x31\x2e\x30\x2f\x22\x0a\x20\x20\x20\x20\
|
||||
\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\x70\x3a\
|
||||
\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\
|
||||
\x61\x70\x2f\x31\x2e\x30\x2f\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\
|
||||
\x6e\x73\x3a\x78\x6d\x70\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\
|
||||
\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\
|
||||
\x70\x2f\x31\x2e\x30\x2f\x6d\x6d\x2f\x22\x0a\x20\x20\x20\x20\x78\
|
||||
\x6d\x6c\x6e\x73\x3a\x73\x74\x45\x76\x74\x3d\x22\x68\x74\x74\x70\
|
||||
\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\
|
||||
\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\x79\x70\x65\x2f\x52\x65\
|
||||
\x73\x6f\x75\x72\x63\x65\x45\x76\x65\x6e\x74\x23\x22\x0a\x20\x20\
|
||||
\x20\x65\x78\x69\x66\x3a\x50\x69\x78\x65\x6c\x58\x44\x69\x6d\x65\
|
||||
\x6e\x73\x69\x6f\x6e\x3d\x22\x31\x30\x22\x0a\x20\x20\x20\x65\x78\
|
||||
\x69\x66\x3a\x50\x69\x78\x65\x6c\x59\x44\x69\x6d\x65\x6e\x73\x69\
|
||||
\x6f\x6e\x3d\x22\x37\x22\x0a\x20\x20\x20\x65\x78\x69\x66\x3a\x43\
|
||||
\x6f\x6c\x6f\x72\x53\x70\x61\x63\x65\x3d\x22\x31\x22\x0a\x20\x20\
|
||||
\x20\x74\x69\x66\x66\x3a\x49\x6d\x61\x67\x65\x57\x69\x64\x74\x68\
|
||||
\x3d\x22\x31\x30\x22\x0a\x20\x20\x20\x74\x69\x66\x66\x3a\x49\x6d\
|
||||
\x61\x67\x65\x4c\x65\x6e\x67\x74\x68\x3d\x22\x37\x22\x0a\x20\x20\
|
||||
\x20\x74\x69\x66\x66\x3a\x52\x65\x73\x6f\x6c\x75\x74\x69\x6f\x6e\
|
||||
\x55\x6e\x69\x74\x3d\x22\x32\x22\x0a\x20\x20\x20\x74\x69\x66\x66\
|
||||
\x3a\x58\x52\x65\x73\x6f\x6c\x75\x74\x69\x6f\x6e\x3d\x22\x37\x32\
|
||||
\x2e\x30\x22\x0a\x20\x20\x20\x74\x69\x66\x66\x3a\x59\x52\x65\x73\
|
||||
\x6f\x6c\x75\x74\x69\x6f\x6e\x3d\x22\x37\x32\x2e\x30\x22\x0a\x20\
|
||||
\x20\x20\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x43\x6f\x6c\x6f\
|
||||
\x72\x4d\x6f\x64\x65\x3d\x22\x33\x22\x0a\x20\x20\x20\x70\x68\x6f\
|
||||
\x74\x6f\x73\x68\x6f\x70\x3a\x49\x43\x43\x50\x72\x6f\x66\x69\x6c\
|
||||
\x65\x3d\x22\x73\x52\x47\x42\x20\x49\x45\x43\x36\x31\x39\x36\x36\
|
||||
\x2d\x32\x2e\x31\x22\x0a\x20\x20\x20\x78\x6d\x70\x3a\x4d\x6f\x64\
|
||||
\x69\x66\x79\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x33\x3a\x31\x34\x2b\x30\x32\x3a\
|
||||
\x30\x30\x22\x0a\x20\x20\x20\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\
|
||||
\x61\x74\x61\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x33\x3a\x31\x34\x2b\x30\x32\x3a\
|
||||
\x30\x30\x22\x3e\x0a\x20\x20\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x48\
|
||||
\x69\x73\x74\x6f\x72\x79\x3e\x0a\x20\x20\x20\x20\x3c\x72\x64\x66\
|
||||
\x3a\x53\x65\x71\x3e\x0a\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\
|
||||
\x6c\x69\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x45\x76\x74\x3a\x61\
|
||||
\x63\x74\x69\x6f\x6e\x3d\x22\x70\x72\x6f\x64\x75\x63\x65\x64\x22\
|
||||
\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x45\x76\x74\x3a\x73\x6f\x66\
|
||||
\x74\x77\x61\x72\x65\x41\x67\x65\x6e\x74\x3d\x22\x41\x66\x66\x69\
|
||||
\x6e\x69\x74\x79\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x20\x31\x2e\
|
||||
\x39\x2e\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x45\x76\x74\
|
||||
\x3a\x77\x68\x65\x6e\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\x2d\x33\
|
||||
\x31\x54\x31\x32\x3a\x33\x33\x3a\x31\x34\x2b\x30\x32\x3a\x30\x30\
|
||||
\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x53\x65\
|
||||
\x71\x3e\x0a\x20\x20\x20\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x48\x69\
|
||||
\x73\x74\x6f\x72\x79\x3e\x0a\x20\x20\x3c\x2f\x72\x64\x66\x3a\x44\
|
||||
\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x3c\x2f\x72\
|
||||
\x64\x66\x3a\x52\x44\x46\x3e\x0a\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\
|
||||
\x65\x74\x61\x3e\x0a\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\
|
||||
\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x48\x8b\x5b\x5e\x00\x00\x01\x83\
|
||||
\x69\x43\x43\x50\x73\x52\x47\x42\x20\x49\x45\x43\x36\x31\x39\x36\
|
||||
\x36\x2d\x32\x2e\x31\x00\x00\x28\x91\x75\x91\xcf\x2b\x44\x51\x14\
|
||||
\xc7\x3f\x66\x68\xfc\x18\x8d\x62\x61\x31\x65\x12\x16\x42\x83\x12\
|
||||
\x1b\x8b\x99\x18\x0a\x8b\x99\x51\x7e\x6d\x66\x9e\x79\x33\x6a\xde\
|
||||
\x78\xbd\x37\xd2\x64\xab\x6c\xa7\x28\xb1\xf1\x6b\xc1\x5f\xc0\x56\
|
||||
\x59\x2b\x45\xa4\x64\xa7\xac\x89\x0d\x7a\xce\x9b\x51\x23\x99\x73\
|
||||
\x3b\xf7\x7c\xee\xf7\xde\x73\xba\xf7\x5c\x70\x44\xd3\x8a\x66\x56\
|
||||
\xfa\x41\xcb\x64\x8d\x70\x28\xe0\x9b\x99\x9d\xf3\xb9\x9e\xa8\xa2\
|
||||
\x85\x1a\x3a\xf1\xc6\x14\x53\x9f\x8c\x8c\x46\x29\x6b\xef\xb7\x54\
|
||||
\xd8\xf1\xba\xdb\xae\x55\xfe\xdc\xbf\x56\xb7\x98\x30\x15\xa8\xa8\
|
||||
\x16\x1e\x56\x74\x23\x2b\x3c\x26\x3c\xb1\x9a\xd5\x6d\xde\x12\x6e\
|
||||
\x52\x52\xb1\x45\xe1\x13\xe1\x2e\x43\x2e\x28\x7c\x63\xeb\xf1\x22\
|
||||
\x3f\xdb\x9c\x2c\xf2\xa7\xcd\x46\x34\x1c\x04\x47\x83\xb0\x2f\xf9\
|
||||
\x8b\xe3\xbf\x58\x49\x19\x9a\xb0\xbc\x9c\x36\x2d\xbd\xa2\xfc\xdc\
|
||||
\xc7\x7e\x89\x3b\x91\x99\x8e\x48\x6c\x15\xf7\x62\x12\x26\x44\x00\
|
||||
\x1f\xe3\x8c\x10\x64\x80\x5e\x86\x64\x1e\xa0\x9b\x3e\x7a\x64\x45\
|
||||
\x99\x7c\x7f\x21\x7f\x8a\x65\xc9\x55\x64\xd6\xc9\x61\xb0\x44\x92\
|
||||
\x14\x59\xba\x44\x5d\x91\xea\x09\x89\xaa\xe8\x09\x19\x69\x72\x76\
|
||||
\xff\xff\xf6\xd5\x54\xfb\xfb\x8a\xd5\xdd\x01\xa8\x7a\xb4\xac\xd7\
|
||||
\x76\x70\x6d\xc2\x57\xde\xb2\x3e\x0e\x2c\xeb\xeb\x10\x9c\x0f\x70\
|
||||
\x9e\x29\xe5\x2f\xef\xc3\xe0\x9b\xe8\xf9\x92\xd6\xb6\x07\x9e\x75\
|
||||
\x38\xbd\x28\x69\xf1\x6d\x38\xdb\x80\xe6\x7b\x3d\x66\xc4\x0a\x92\
|
||||
\x53\xdc\xa1\xaa\xf0\x72\x0c\xf5\xb3\xd0\x78\x05\xb5\xf3\xc5\x9e\
|
||||
\xfd\xec\x73\x74\x07\xd1\x35\xf9\xaa\x4b\xd8\xd9\x85\x0e\x39\xef\
|
||||
\x59\xf8\x06\x8e\xfd\x67\xf8\xfd\x8a\x18\x97\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x97\x49\x44\x41\x54\x18\x95\x6d\xcf\xb1\x6a\x02\x41\
|
||||
\x14\x85\xe1\x6f\xb7\xb6\xd0\x27\x48\x3d\x56\x69\x03\xb1\xb4\x48\
|
||||
\x3b\x6c\xa5\xf1\x39\xf6\x59\x02\x56\x42\xba\x61\x0a\x0b\x3b\x1b\
|
||||
\x1b\x6b\x41\x18\x02\x29\x6d\xe3\xbe\x82\xcd\x06\x16\xd9\xdb\xdd\
|
||||
\x9f\xff\x5c\xee\xa9\x62\x2a\x13\x4c\x73\x13\x6e\x46\x26\xa6\xf2\
|
||||
\x82\xae\x46\x8b\xdf\x98\xca\xfb\x88\xb4\xc0\x0f\xda\x1a\x5b\x74\
|
||||
\xd8\xc7\x54\xc2\x40\x9a\x63\x8f\x3f\x7c\x55\x3d\x7c\xc5\x09\x77\
|
||||
\xbc\xa1\xc2\x19\x33\x2c\x72\x13\x2e\xd5\xe0\xc2\x12\x07\x5c\x51\
|
||||
\x23\xe0\x23\x37\xe1\xa8\x4f\x0e\x7f\xda\x60\xd7\xaf\x9f\xb9\x09\
|
||||
\xdf\x63\x05\xff\xe5\x75\x4c\x65\xf5\xcc\x1f\x0d\x33\x2c\x83\xb6\
|
||||
\x06\x44\x83\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1c\x1f\x24\
|
||||
\xc6\x09\x17\x00\x00\x00\x24\x49\x44\x41\x54\x08\xd7\x63\x60\x40\
|
||||
\x05\xff\xcf\xc3\x58\x4c\xc8\x5c\x26\x64\x59\x26\x64\xc5\x70\x0e\
|
||||
\xa3\x21\x9c\xc3\x68\x88\x61\x1a\x0a\x00\x00\x6d\x84\x09\x75\x37\
|
||||
\x9e\xd9\x23\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1d\x00\xb0\
|
||||
\xd5\x35\xa3\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x06\xfe\x9f\x67\x60\x60\x42\x30\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
\x64\x60\x60\x62\x60\x60\x34\x44\xe2\x20\x73\x19\x90\x8d\x40\x02\
|
||||
\x00\x64\x40\x09\x75\x86\xb3\xad\x9c\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x07\xdd\
|
||||
\x89\
|
||||
|
|
@ -479,45 +667,6 @@ qt_resource_data = b"\
|
|||
\x71\x5b\x73\x5c\x40\x48\xa5\xdd\x61\x81\x0d\x9e\x6b\x8e\xff\xfd\
|
||||
\xcf\x3f\xcc\x31\xe9\x01\x1c\x00\x73\x52\x2d\x71\xe4\x4a\x1b\x69\
|
||||
\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x3b\xdc\
|
||||
\x3b\x0c\x9b\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\x73\x3e\x20\x0b\xa4\x08\x30\x32\x30\x20\x0b\xa6\
|
||||
\x08\x30\x30\x30\x42\x98\x10\xc1\x14\x01\x14\x13\x50\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90\x5d\x66\x1f\x83\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\x9c\x53\x34\xfc\x5d\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x0b\x02\x04\x6d\
|
||||
\x98\x1b\x69\x00\x00\x00\x29\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18\x32\x32\x30\x20\x0b\x32\x1a\
|
||||
\x32\x30\x30\x42\x98\x10\x41\x46\x43\x14\x13\x50\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2\x2f\x48\xdf\x4a\x00\x00\x00\x00\x49\x45\x4e\x44\
|
||||
\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1f\x20\xb9\
|
||||
\x8d\x77\xe9\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x06\xe6\x7c\x60\x60\x60\x42\x30\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
\x64\x60\x60\x62\x60\x48\x11\x40\xe2\x20\x73\x19\x90\x8d\x40\x02\
|
||||
\x00\x23\xed\x08\xaf\x64\x9f\x0f\x15\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\x9e\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
|
|
@ -530,160 +679,18 @@ qt_resource_data = b"\
|
|||
\x0d\xfe\x9f\x87\xb1\x18\x91\x05\x18\x0d\xe1\x42\x48\x2a\x0c\x19\
|
||||
\x18\x18\x91\x05\x10\x2a\xd1\x00\x00\xca\xb5\x07\xd2\x76\xbb\xb2\
|
||||
\xc5\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x00\x00\x00\x9e\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce\x7c\x4e\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x3b\xdc\
|
||||
\x3b\x0c\x9b\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x00\x8c\x0c\x0c\x73\x3e\x20\x0b\xa4\x08\x30\x32\x30\x20\x0b\xa6\
|
||||
\x08\x30\x30\x30\x42\x98\x10\xc1\x14\x01\x14\x13\x50\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90\x5d\x66\x1f\x83\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1d\x00\xb0\
|
||||
\xd5\x35\xa3\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x06\xfe\x9f\x67\x60\x60\x42\x30\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
\x64\x60\x60\x62\x60\x60\x34\x44\xe2\x20\x73\x19\x90\x8d\x40\x02\
|
||||
\x00\x64\x40\x09\x75\x86\xb3\xad\x9c\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02\x62\x4b\x47\x44\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x14\x1d\x00\xb0\
|
||||
\xd5\x35\xa3\x00\x00\x00\x2a\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x06\xfe\x9f\x67\x60\x60\x42\x30\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
\x64\x60\x60\x62\x60\x60\x34\x44\xe2\x20\x73\x19\x90\x8d\x40\x02\
|
||||
\x00\x64\x40\x09\x75\x86\xb3\xad\x9c\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x07\x06\
|
||||
\x89\
|
||||
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
|
||||
\x00\x00\x0a\x00\x00\x00\x07\x08\x06\x00\x00\x00\x31\xac\xdc\x63\
|
||||
\x00\x00\x04\xb0\x69\x54\x58\x74\x58\x4d\x4c\x3a\x63\x6f\x6d\x2e\
|
||||
\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\x00\x00\x00\x3c\x3f\
|
||||
\x78\x70\x61\x63\x6b\x65\x74\x20\x62\x65\x67\x69\x6e\x3d\x22\xef\
|
||||
\xbb\xbf\x22\x20\x69\x64\x3d\x22\x57\x35\x4d\x30\x4d\x70\x43\x65\
|
||||
\x68\x69\x48\x7a\x72\x65\x53\x7a\x4e\x54\x63\x7a\x6b\x63\x39\x64\
|
||||
\x22\x3f\x3e\x0a\x3c\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x20\x78\
|
||||
\x6d\x6c\x6e\x73\x3a\x78\x3d\x22\x61\x64\x6f\x62\x65\x3a\x6e\x73\
|
||||
\x3a\x6d\x65\x74\x61\x2f\x22\x20\x78\x3a\x78\x6d\x70\x74\x6b\x3d\
|
||||
\x22\x58\x4d\x50\x20\x43\x6f\x72\x65\x20\x35\x2e\x35\x2e\x30\x22\
|
||||
\x3e\x0a\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\x78\x6d\x6c\x6e\
|
||||
\x73\x3a\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
|
||||
\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\
|
||||
\x2f\x32\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\
|
||||
\x73\x23\x22\x3e\x0a\x20\x20\x3c\x72\x64\x66\x3a\x44\x65\x73\x63\
|
||||
\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\x6f\x75\
|
||||
\x74\x3d\x22\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x65\
|
||||
\x78\x69\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\
|
||||
\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x65\x78\x69\x66\x2f\x31\x2e\
|
||||
\x30\x2f\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x74\x69\
|
||||
\x66\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\
|
||||
\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x74\x69\x66\x66\x2f\x31\x2e\x30\
|
||||
\x2f\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x70\x68\x6f\
|
||||
\x74\x6f\x73\x68\x6f\x70\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x6e\
|
||||
\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x70\x68\x6f\x74\
|
||||
\x6f\x73\x68\x6f\x70\x2f\x31\x2e\x30\x2f\x22\x0a\x20\x20\x20\x20\
|
||||
\x78\x6d\x6c\x6e\x73\x3a\x78\x6d\x70\x3d\x22\x68\x74\x74\x70\x3a\
|
||||
\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\
|
||||
\x61\x70\x2f\x31\x2e\x30\x2f\x22\x0a\x20\x20\x20\x20\x78\x6d\x6c\
|
||||
\x6e\x73\x3a\x78\x6d\x70\x4d\x4d\x3d\x22\x68\x74\x74\x70\x3a\x2f\
|
||||
\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\x78\x61\
|
||||
\x70\x2f\x31\x2e\x30\x2f\x6d\x6d\x2f\x22\x0a\x20\x20\x20\x20\x78\
|
||||
\x6d\x6c\x6e\x73\x3a\x73\x74\x45\x76\x74\x3d\x22\x68\x74\x74\x70\
|
||||
\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\x6f\x6d\x2f\
|
||||
\x78\x61\x70\x2f\x31\x2e\x30\x2f\x73\x54\x79\x70\x65\x2f\x52\x65\
|
||||
\x73\x6f\x75\x72\x63\x65\x45\x76\x65\x6e\x74\x23\x22\x0a\x20\x20\
|
||||
\x20\x65\x78\x69\x66\x3a\x50\x69\x78\x65\x6c\x58\x44\x69\x6d\x65\
|
||||
\x6e\x73\x69\x6f\x6e\x3d\x22\x31\x30\x22\x0a\x20\x20\x20\x65\x78\
|
||||
\x69\x66\x3a\x50\x69\x78\x65\x6c\x59\x44\x69\x6d\x65\x6e\x73\x69\
|
||||
\x6f\x6e\x3d\x22\x37\x22\x0a\x20\x20\x20\x65\x78\x69\x66\x3a\x43\
|
||||
\x6f\x6c\x6f\x72\x53\x70\x61\x63\x65\x3d\x22\x31\x22\x0a\x20\x20\
|
||||
\x20\x74\x69\x66\x66\x3a\x49\x6d\x61\x67\x65\x57\x69\x64\x74\x68\
|
||||
\x3d\x22\x31\x30\x22\x0a\x20\x20\x20\x74\x69\x66\x66\x3a\x49\x6d\
|
||||
\x61\x67\x65\x4c\x65\x6e\x67\x74\x68\x3d\x22\x37\x22\x0a\x20\x20\
|
||||
\x20\x74\x69\x66\x66\x3a\x52\x65\x73\x6f\x6c\x75\x74\x69\x6f\x6e\
|
||||
\x55\x6e\x69\x74\x3d\x22\x32\x22\x0a\x20\x20\x20\x74\x69\x66\x66\
|
||||
\x3a\x58\x52\x65\x73\x6f\x6c\x75\x74\x69\x6f\x6e\x3d\x22\x37\x32\
|
||||
\x2e\x30\x22\x0a\x20\x20\x20\x74\x69\x66\x66\x3a\x59\x52\x65\x73\
|
||||
\x6f\x6c\x75\x74\x69\x6f\x6e\x3d\x22\x37\x32\x2e\x30\x22\x0a\x20\
|
||||
\x20\x20\x70\x68\x6f\x74\x6f\x73\x68\x6f\x70\x3a\x43\x6f\x6c\x6f\
|
||||
\x72\x4d\x6f\x64\x65\x3d\x22\x33\x22\x0a\x20\x20\x20\x70\x68\x6f\
|
||||
\x74\x6f\x73\x68\x6f\x70\x3a\x49\x43\x43\x50\x72\x6f\x66\x69\x6c\
|
||||
\x65\x3d\x22\x73\x52\x47\x42\x20\x49\x45\x43\x36\x31\x39\x36\x36\
|
||||
\x2d\x32\x2e\x31\x22\x0a\x20\x20\x20\x78\x6d\x70\x3a\x4d\x6f\x64\
|
||||
\x69\x66\x79\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x30\x3a\x31\x31\x2b\x30\x32\x3a\
|
||||
\x30\x30\x22\x0a\x20\x20\x20\x78\x6d\x70\x3a\x4d\x65\x74\x61\x64\
|
||||
\x61\x74\x61\x44\x61\x74\x65\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\
|
||||
\x2d\x33\x31\x54\x31\x32\x3a\x33\x30\x3a\x31\x31\x2b\x30\x32\x3a\
|
||||
\x30\x30\x22\x3e\x0a\x20\x20\x20\x3c\x78\x6d\x70\x4d\x4d\x3a\x48\
|
||||
\x69\x73\x74\x6f\x72\x79\x3e\x0a\x20\x20\x20\x20\x3c\x72\x64\x66\
|
||||
\x3a\x53\x65\x71\x3e\x0a\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\
|
||||
\x6c\x69\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x45\x76\x74\x3a\x61\
|
||||
\x63\x74\x69\x6f\x6e\x3d\x22\x70\x72\x6f\x64\x75\x63\x65\x64\x22\
|
||||
\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x45\x76\x74\x3a\x73\x6f\x66\
|
||||
\x74\x77\x61\x72\x65\x41\x67\x65\x6e\x74\x3d\x22\x41\x66\x66\x69\
|
||||
\x6e\x69\x74\x79\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x20\x31\x2e\
|
||||
\x39\x2e\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x73\x74\x45\x76\x74\
|
||||
\x3a\x77\x68\x65\x6e\x3d\x22\x32\x30\x32\x31\x2d\x30\x35\x2d\x33\
|
||||
\x31\x54\x31\x32\x3a\x33\x30\x3a\x31\x31\x2b\x30\x32\x3a\x30\x30\
|
||||
\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x53\x65\
|
||||
\x71\x3e\x0a\x20\x20\x20\x3c\x2f\x78\x6d\x70\x4d\x4d\x3a\x48\x69\
|
||||
\x73\x74\x6f\x72\x79\x3e\x0a\x20\x20\x3c\x2f\x72\x64\x66\x3a\x44\
|
||||
\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3e\x0a\x20\x3c\x2f\x72\
|
||||
\x64\x66\x3a\x52\x44\x46\x3e\x0a\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\
|
||||
\x65\x74\x61\x3e\x0a\x3c\x3f\x78\x70\x61\x63\x6b\x65\x74\x20\x65\
|
||||
\x6e\x64\x3d\x22\x72\x22\x3f\x3e\x85\x9d\x9f\x08\x00\x00\x01\x83\
|
||||
\x69\x43\x43\x50\x73\x52\x47\x42\x20\x49\x45\x43\x36\x31\x39\x36\
|
||||
\x36\x2d\x32\x2e\x31\x00\x00\x28\x91\x75\x91\xcf\x2b\x44\x51\x14\
|
||||
\xc7\x3f\x66\x68\xfc\x18\x8d\x62\x61\x31\x65\x12\x16\x42\x83\x12\
|
||||
\x1b\x8b\x99\x18\x0a\x8b\x99\x51\x7e\x6d\x66\x9e\x79\x33\x6a\xde\
|
||||
\x78\xbd\x37\xd2\x64\xab\x6c\xa7\x28\xb1\xf1\x6b\xc1\x5f\xc0\x56\
|
||||
\x59\x2b\x45\xa4\x64\xa7\xac\x89\x0d\x7a\xce\x9b\x51\x23\x99\x73\
|
||||
\x3b\xf7\x7c\xee\xf7\xde\x73\xba\xf7\x5c\x70\x44\xd3\x8a\x66\x56\
|
||||
\xfa\x41\xcb\x64\x8d\x70\x28\xe0\x9b\x99\x9d\xf3\xb9\x9e\xa8\xa2\
|
||||
\x85\x1a\x3a\xf1\xc6\x14\x53\x9f\x8c\x8c\x46\x29\x6b\xef\xb7\x54\
|
||||
\xd8\xf1\xba\xdb\xae\x55\xfe\xdc\xbf\x56\xb7\x98\x30\x15\xa8\xa8\
|
||||
\x16\x1e\x56\x74\x23\x2b\x3c\x26\x3c\xb1\x9a\xd5\x6d\xde\x12\x6e\
|
||||
\x52\x52\xb1\x45\xe1\x13\xe1\x2e\x43\x2e\x28\x7c\x63\xeb\xf1\x22\
|
||||
\x3f\xdb\x9c\x2c\xf2\xa7\xcd\x46\x34\x1c\x04\x47\x83\xb0\x2f\xf9\
|
||||
\x8b\xe3\xbf\x58\x49\x19\x9a\xb0\xbc\x9c\x36\x2d\xbd\xa2\xfc\xdc\
|
||||
\xc7\x7e\x89\x3b\x91\x99\x8e\x48\x6c\x15\xf7\x62\x12\x26\x44\x00\
|
||||
\x1f\xe3\x8c\x10\x64\x80\x5e\x86\x64\x1e\xa0\x9b\x3e\x7a\x64\x45\
|
||||
\x99\x7c\x7f\x21\x7f\x8a\x65\xc9\x55\x64\xd6\xc9\x61\xb0\x44\x92\
|
||||
\x14\x59\xba\x44\x5d\x91\xea\x09\x89\xaa\xe8\x09\x19\x69\x72\x76\
|
||||
\xff\xff\xf6\xd5\x54\xfb\xfb\x8a\xd5\xdd\x01\xa8\x7a\xb4\xac\xd7\
|
||||
\x76\x70\x6d\xc2\x57\xde\xb2\x3e\x0e\x2c\xeb\xeb\x10\x9c\x0f\x70\
|
||||
\x9e\x29\xe5\x2f\xef\xc3\xe0\x9b\xe8\xf9\x92\xd6\xb6\x07\x9e\x75\
|
||||
\x38\xbd\x28\x69\xf1\x6d\x38\xdb\x80\xe6\x7b\x3d\x66\xc4\x0a\x92\
|
||||
\x53\xdc\xa1\xaa\xf0\x72\x0c\xf5\xb3\xd0\x78\x05\xb5\xf3\xc5\x9e\
|
||||
\xfd\xec\x73\x74\x07\xd1\x35\xf9\xaa\x4b\xd8\xd9\x85\x0e\x39\xef\
|
||||
\x59\xf8\x06\x8e\xfd\x67\xf8\xfd\x8a\x18\x97\x00\x00\x00\x09\x70\
|
||||
\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x6d\x49\x44\x41\x54\x18\x95\x75\xcf\xc1\x09\xc2\x50\
|
||||
\x10\x84\xe1\xd7\x85\x07\x9b\xd0\x43\x40\xd2\x82\x78\x14\x7b\x30\
|
||||
\x57\x21\x8d\x84\x60\x3f\x62\x4b\x7a\x48\xcc\x97\x83\xfb\x30\x04\
|
||||
\xdf\x9c\x86\x7f\x67\x99\xdd\x84\x0d\xaa\x54\x10\x6a\x6c\x13\x1e\
|
||||
\xbe\xba\xfe\x09\x35\x31\x7b\xe6\x8d\x0f\x26\x1c\x17\xa1\x53\xb0\
|
||||
\x11\x87\x0c\x2f\x01\x07\xec\xb0\x0f\x3f\xe1\xbc\xae\x69\xa3\xe6\
|
||||
\x85\x77\xf8\x5b\xe9\xf0\xbb\x9f\xfa\xd2\x83\x39\xdc\xa3\x5b\xf3\
|
||||
\x19\x2e\xa8\x89\xb5\x30\xf7\x43\xa0\x00\x00\x00\x00\x49\x45\x4e\
|
||||
\x44\xae\x42\x60\x82\
|
||||
\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x08\x17\x08\x15\x0f\xfd\
|
||||
\x8f\xf8\x2e\x00\x00\x00\x22\x49\x44\x41\x54\x08\xd7\x63\x60\xc0\
|
||||
\x0d\xfe\x9f\x87\xb1\x18\x91\x05\x18\x0d\xe1\x42\x48\x2a\x0c\x19\
|
||||
\x18\x18\x91\x05\x10\x2a\xd1\x00\x00\xca\xb5\x07\xd2\x76\xbb\xb2\
|
||||
\xc5\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
|
||||
"
|
||||
|
||||
qt_resource_name = b"\
|
||||
|
|
@ -696,119 +703,124 @@ qt_resource_name = b"\
|
|||
\x00\x69\
|
||||
\x00\x6d\x00\x61\x00\x67\x00\x65\x00\x73\
|
||||
\x00\x0f\
|
||||
\x02\x9f\x05\x87\
|
||||
\x00\x72\
|
||||
\x00\x69\x00\x67\x00\x68\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x12\
|
||||
\x05\x8f\x9d\x07\
|
||||
\x06\x53\x25\xa7\
|
||||
\x00\x62\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x6f\x00\x70\x00\x65\x00\x6e\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\
|
||||
\x00\x67\
|
||||
\x00\x1b\
|
||||
\x03\x5a\x32\x27\
|
||||
\x00\x63\
|
||||
\x00\x6f\x00\x6d\x00\x62\x00\x6f\x00\x62\x00\x6f\x00\x78\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\
|
||||
\x00\x73\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x6f\x00\x70\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x18\
|
||||
\x03\x8e\xde\x67\
|
||||
\x00\x72\
|
||||
\x00\x69\x00\x67\x00\x68\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\
|
||||
\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x11\
|
||||
\x0b\xda\x30\xa7\
|
||||
\x00\x62\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x63\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\
|
||||
\x00\x12\
|
||||
\x03\x8d\x04\x47\
|
||||
\x00\x72\
|
||||
\x00\x69\x00\x67\x00\x68\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\
|
||||
\x00\x67\
|
||||
\x00\x15\
|
||||
\x0f\xf3\xc0\x07\
|
||||
\x00\x75\
|
||||
\x00\x70\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\
|
||||
\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0f\
|
||||
\x01\x73\x8b\x07\
|
||||
\x00\x75\
|
||||
\x00\x70\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0e\
|
||||
\x04\xa2\xfc\xa7\
|
||||
\x00\x64\
|
||||
\x00\x6f\x00\x77\x00\x6e\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x12\
|
||||
\x01\x2e\x03\x27\
|
||||
\x00\x63\
|
||||
\x00\x6f\x00\x6d\x00\x62\x00\x6f\x00\x62\x00\x6f\x00\x78\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\
|
||||
\x00\x67\
|
||||
\x00\x14\
|
||||
\x04\x5e\x2d\xa7\
|
||||
\x00\x62\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x63\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x5f\x00\x6f\x00\x6e\x00\x2e\
|
||||
\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x17\
|
||||
\x0c\xab\x51\x07\
|
||||
\x00\x64\
|
||||
\x00\x6f\x00\x77\x00\x6e\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\x00\x6c\
|
||||
\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x11\
|
||||
\x01\x1f\xc3\x87\
|
||||
\x00\x64\
|
||||
\x00\x6f\x00\x77\x00\x6e\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\
|
||||
\x00\x17\
|
||||
\x0c\x65\xce\x07\
|
||||
\x00\x6c\
|
||||
\x00\x65\x00\x66\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\x00\x6c\
|
||||
\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0c\
|
||||
\x06\xe6\xe6\x67\
|
||||
\x00\x75\
|
||||
\x00\x70\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x15\
|
||||
\x03\x27\x72\x67\
|
||||
\x00\x63\
|
||||
\x00\x6f\x00\x6d\x00\x62\x00\x6f\x00\x62\x00\x6f\x00\x78\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\
|
||||
\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x11\
|
||||
\x0b\xda\x30\xa7\
|
||||
\x00\x62\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x63\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\
|
||||
\x00\x17\
|
||||
\x0c\xab\x51\x07\
|
||||
\x00\x64\
|
||||
\x00\x6f\x00\x77\x00\x6e\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\x00\x6c\
|
||||
\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x11\
|
||||
\x00\xb8\x8c\x07\
|
||||
\x00\x6c\
|
||||
\x00\x65\x00\x66\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\
|
||||
\x00\x12\
|
||||
\x01\x2e\x03\x27\
|
||||
\x00\x63\
|
||||
\x00\x6f\x00\x6d\x00\x62\x00\x6f\x00\x62\x00\x6f\x00\x78\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\
|
||||
\x00\x67\
|
||||
\x00\x0f\
|
||||
\x02\x9f\x05\x87\
|
||||
\x00\x72\
|
||||
\x00\x69\x00\x67\x00\x68\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x15\
|
||||
\x0f\xf3\xc0\x07\
|
||||
\x00\x75\
|
||||
\x00\x70\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\
|
||||
\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0f\
|
||||
\x0c\xe2\x68\x67\
|
||||
\x00\x74\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x73\x00\x70\x00\x61\x00\x72\x00\x65\x00\x6e\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0e\
|
||||
\x04\xa2\xfc\xa7\
|
||||
\x00\x64\
|
||||
\x00\x6f\x00\x77\x00\x6e\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x1b\
|
||||
\x03\x5a\x32\x27\
|
||||
\x00\x63\
|
||||
\x00\x6f\x00\x6d\x00\x62\x00\x6f\x00\x62\x00\x6f\x00\x78\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\
|
||||
\x00\x73\x00\x61\x00\x62\x00\x6c\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x17\
|
||||
\x0c\x65\xce\x07\
|
||||
\x00\x6c\
|
||||
\x00\x65\x00\x66\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x64\x00\x69\x00\x73\x00\x61\x00\x62\x00\x6c\
|
||||
\x00\x65\x00\x64\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x11\
|
||||
\x01\x1f\xc3\x87\
|
||||
\x00\x64\
|
||||
\x00\x6f\x00\x77\x00\x6e\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\
|
||||
\x00\x12\
|
||||
\x05\x8f\x9d\x07\
|
||||
\x00\x62\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x6f\x00\x70\x00\x65\x00\x6e\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\
|
||||
\x00\x67\
|
||||
\x00\x12\
|
||||
\x03\x8d\x04\x47\
|
||||
\x00\x72\
|
||||
\x00\x69\x00\x67\x00\x68\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\
|
||||
\x00\x67\
|
||||
\x00\x0e\
|
||||
\x0e\xde\xfa\xc7\
|
||||
\x00\x6c\
|
||||
\x00\x65\x00\x66\x00\x74\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0f\
|
||||
\x06\x53\x25\xa7\
|
||||
\x00\x14\
|
||||
\x04\x5e\x2d\xa7\
|
||||
\x00\x62\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x6f\x00\x70\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x72\x00\x61\x00\x6e\x00\x63\x00\x68\x00\x5f\x00\x63\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x5f\x00\x6f\x00\x6e\x00\x2e\
|
||||
\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0c\
|
||||
\x06\xe6\xe6\x67\
|
||||
\x00\x75\
|
||||
\x00\x70\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
\x00\x0f\
|
||||
\x01\x73\x8b\x07\
|
||||
\x00\x75\
|
||||
\x00\x70\x00\x5f\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x5f\x00\x6f\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
|
||||
"
|
||||
|
||||
qt_resource_struct_v1 = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\
|
||||
\x00\x00\x00\x16\x00\x02\x00\x00\x00\x13\x00\x00\x00\x03\
|
||||
\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x3c\
|
||||
\x00\x00\x02\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x1c\x9d\
|
||||
\x00\x00\x01\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x13\x68\
|
||||
\x00\x00\x01\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x12\x1d\
|
||||
\x00\x00\x00\x16\x00\x02\x00\x00\x00\x14\x00\x00\x00\x03\
|
||||
\x00\x00\x01\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x10\xb3\
|
||||
\x00\x00\x02\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x15\x93\
|
||||
\x00\x00\x01\x36\x00\x00\x00\x00\x00\x01\x00\x00\x11\x5d\
|
||||
\x00\x00\x03\x54\x00\x00\x00\x00\x00\x01\x00\x00\x27\x41\
|
||||
\x00\x00\x01\x60\x00\x00\x00\x00\x00\x01\x00\x00\x12\x07\
|
||||
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x07\xae\
|
||||
\x00\x00\x01\xfa\x00\x00\x00\x00\x00\x01\x00\x00\x14\x40\
|
||||
\x00\x00\x02\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x70\
|
||||
\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x07\x0a\
|
||||
\x00\x00\x03\x08\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xbe\
|
||||
\x00\x00\x01\xd8\x00\x00\x00\x00\x00\x01\x00\x00\x13\x97\
|
||||
\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x00\x16\x3c\
|
||||
\x00\x00\x00\x28\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x92\
|
||||
\x00\x00\x00\x76\x00\x00\x00\x00\x00\x01\x00\x00\x07\xd8\
|
||||
\x00\x00\x01\x10\x00\x00\x00\x00\x00\x01\x00\x00\x10\xd6\
|
||||
\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x08\x81\
|
||||
\x00\x00\x01\xda\x00\x00\x00\x00\x00\x01\x00\x00\x14\x12\
|
||||
\x00\x00\x01\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x12\xbf\
|
||||
\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa4\
|
||||
\x00\x00\x03\x30\x00\x00\x00\x00\x00\x01\x00\x00\x20\x90\
|
||||
\x00\x00\x02\x98\x00\x00\x00\x00\x00\x01\x00\x00\x1d\xf0\
|
||||
\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x09\x25\
|
||||
\x00\x00\x02\x64\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x46\
|
||||
\x00\x00\x02\x08\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xf3\
|
||||
\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xe6\
|
||||
\x00\x00\x01\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x11\x7a\
|
||||
\x00\x00\x03\x36\x00\x00\x00\x00\x00\x01\x00\x00\x26\x9f\
|
||||
\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x08\x58\
|
||||
\x00\x00\x02\x36\x00\x00\x00\x00\x00\x01\x00\x00\x14\xe9\
|
||||
\x00\x00\x00\xda\x00\x00\x00\x00\x00\x01\x00\x00\x10\x09\
|
||||
\x00\x00\x01\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x13\x4e\
|
||||
\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x14\
|
||||
\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x12\xab\
|
||||
"
|
||||
|
||||
qt_resource_struct_v2 = b"\
|
||||
|
|
@ -816,49 +828,50 @@ qt_resource_struct_v2 = b"\
|
|||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x16\x00\x02\x00\x00\x00\x13\x00\x00\x00\x03\
|
||||
\x00\x00\x00\x16\x00\x02\x00\x00\x00\x14\x00\x00\x00\x03\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x3c\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x35\
|
||||
\x00\x00\x02\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x1c\x9d\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x35\
|
||||
\x00\x00\x01\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x13\x68\
|
||||
\x00\x00\x01\x79\xb4\x72\xcc\x9c\
|
||||
\x00\x00\x01\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x12\x1d\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x39\
|
||||
\x00\x00\x01\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x10\xb3\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbc\
|
||||
\x00\x00\x02\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x15\x93\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xba\
|
||||
\x00\x00\x01\x36\x00\x00\x00\x00\x00\x01\x00\x00\x11\x5d\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb6\
|
||||
\x00\x00\x03\x54\x00\x00\x00\x00\x00\x01\x00\x00\x27\x41\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xc0\
|
||||
\x00\x00\x01\x60\x00\x00\x00\x00\x00\x01\x00\x00\x12\x07\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbc\
|
||||
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x07\xae\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb7\
|
||||
\x00\x00\x01\xfa\x00\x00\x00\x00\x00\x01\x00\x00\x14\x40\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb7\
|
||||
\x00\x00\x02\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x70\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbe\
|
||||
\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x07\x0a\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbd\
|
||||
\x00\x00\x03\x08\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xbe\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb4\
|
||||
\x00\x00\x01\xd8\x00\x00\x00\x00\x00\x01\x00\x00\x13\x97\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb8\
|
||||
\x00\x00\x02\x92\x00\x00\x00\x00\x00\x01\x00\x00\x16\x3c\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb5\
|
||||
\x00\x00\x00\x28\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x37\
|
||||
\x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x92\
|
||||
\x00\x00\x01\x79\xb4\x72\xcc\x9c\
|
||||
\x00\x00\x00\x76\x00\x00\x00\x00\x00\x01\x00\x00\x07\xd8\
|
||||
\x00\x00\x01\x79\xb4\x72\xcc\x9c\
|
||||
\x00\x00\x01\x10\x00\x00\x00\x00\x00\x01\x00\x00\x10\xd6\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x37\
|
||||
\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x08\x81\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x37\
|
||||
\x00\x00\x01\xda\x00\x00\x00\x00\x00\x01\x00\x00\x14\x12\
|
||||
\x00\x00\x01\x79\xc2\x05\x2b\x60\
|
||||
\x00\x00\x01\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x12\xbf\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x35\
|
||||
\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa4\
|
||||
\x00\x00\x01\x79\xc1\xfc\x16\x91\
|
||||
\x00\x00\x03\x30\x00\x00\x00\x00\x00\x01\x00\x00\x20\x90\
|
||||
\x00\x00\x01\x79\xc1\xf9\x4b\x78\
|
||||
\x00\x00\x02\x98\x00\x00\x00\x00\x00\x01\x00\x00\x1d\xf0\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x39\
|
||||
\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x09\x25\
|
||||
\x00\x00\x01\x79\xc2\x05\x91\x2a\
|
||||
\x00\x00\x02\x64\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x46\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x35\
|
||||
\x00\x00\x02\x08\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xf3\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x35\
|
||||
\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xe6\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x35\
|
||||
\x00\x00\x01\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x11\x7a\
|
||||
\x00\x00\x01\x76\x41\x9d\xa2\x39\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb5\
|
||||
\x00\x00\x03\x36\x00\x00\x00\x00\x00\x01\x00\x00\x26\x9f\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbe\
|
||||
\x00\x00\x00\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x08\x58\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb3\
|
||||
\x00\x00\x02\x36\x00\x00\x00\x00\x00\x01\x00\x00\x14\xe9\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbb\
|
||||
\x00\x00\x00\xda\x00\x00\x00\x00\x00\x01\x00\x00\x10\x09\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xb9\
|
||||
\x00\x00\x01\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x13\x4e\
|
||||
\x00\x00\x01\x7c\xa7\x41\xfc\x00\
|
||||
\x00\x00\x02\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x14\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbb\
|
||||
\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x12\xab\
|
||||
\x00\x00\x01\x79\xec\x37\x3f\xbf\
|
||||
"
|
||||
|
||||
|
||||
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
|
||||
if qt_version < [5, 8, 0]:
|
||||
rcc_version = 1
|
||||
|
|
|
|||
|
|
@ -1,75 +1,15 @@
|
|||
# Resource object code (Python 3)
|
||||
# Created by: object code
|
||||
# Created by: The Resource Compiler for Qt version 5.15.2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Resource object code
|
||||
#
|
||||
# Created: Fri Oct 22 11:42:52 2021
|
||||
# by: The Resource Compiler for PySide2 (Qt v5.6.1)
|
||||
#
|
||||
# WARNING! All changes made in this file will be lost!
|
||||
|
||||
from PySide2 import QtCore
|
||||
|
||||
|
||||
qt_resource_data = b"\
|
||||
\x00\x00\x00\x9f\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x14\x1f\xf9\
|
||||
#\xd9\x0b\x00\x00\x00#IDAT\x08\xd7c`\xc0\
|
||||
\x0d\xe6|\x80\xb1\x18\x91\x05R\x04\xe0B\x08\x15)\x02\
|
||||
\x0c\x0c\x8c\xc8\x02\x08\x95h\x00\x00\xac\xac\x07\x90Ne\
|
||||
4\xac\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15;\xdc\
|
||||
;\x0c\x9b\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0cs> \x0b\xa4\x08020 \x0b\xa6\
|
||||
\x08000B\x98\x10\xc1\x14\x01\x14\x13P\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90]f\x1f\x83\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\x9cS4\xfc]\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x0b\x02\x04m\
|
||||
\x98\x1bi\x00\x00\x00)IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18220 \x0b2\x1a\
|
||||
200B\x98\x10AFC\x14\x13P\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2/H\xdfJ\x00\x00\x00\x00IEND\
|
||||
\xaeB`\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\x9cS4\xfc]\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x0b\x02\x04m\
|
||||
\x98\x1bi\x00\x00\x00)IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18220 \x0b2\x1a\
|
||||
200B\x98\x10AFC\x14\x13P\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2/H\xdfJ\x00\x00\x00\x00IEND\
|
||||
\xaeB`\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1f\x0d\xfc\
|
||||
R+\x9c\x00\x00\x00$IDAT\x08\xd7c`@\
|
||||
\x05s>\xc0XL\xc8\x5c&dY&d\xc5pN\
|
||||
\x8a\x00\x9c\x93\x22\x80a\x1a\x0a\x00\x00)\x95\x08\xaf\x88\
|
||||
\xac\xba4\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
|
|
@ -83,31 +23,33 @@ HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
|||
d``b``4D\xe2 s\x19\x90\x8d@\x02\
|
||||
\x00d@\x09u\x86\xb3\xad\x9c\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\x9e\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\x9cS4\xfc]\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x0b\x02\x04m\
|
||||
\x98\x1bi\x00\x00\x00)IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18220 \x0b2\x1a\
|
||||
200B\x98\x10AFC\x14\x13P\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2/H\xdfJ\x00\x00\x00\x00IEND\
|
||||
\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15\x0f\xfd\
|
||||
\x8f\xf8.\x00\x00\x00\x22IDAT\x08\xd7c`\xc0\
|
||||
\x0d\xfe\x9f\x87\xb1\x18\x91\x05\x18\x0d\xe1BH*\x0c\x19\
|
||||
\x18\x18\x91\x05\x10*\xd1\x00\x00\xca\xb5\x07\xd2v\xbb\xb2\
|
||||
\xc5\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\x9e\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15\x0f\xfd\
|
||||
\x8f\xf8.\x00\x00\x00\x22IDAT\x08\xd7c`\xc0\
|
||||
\x0d\xfe\x9f\x87\xb1\x18\x91\x05\x18\x0d\xe1BH*\x0c\x19\
|
||||
\x18\x18\x91\x05\x10*\xd1\x00\x00\xca\xb5\x07\xd2v\xbb\xb2\
|
||||
\xc5\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x07\x06\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15;\xdc\
|
||||
;\x0c\x9b\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0cs> \x0b\xa4\x08020 \x0b\xa6\
|
||||
\x08000B\x98\x10\xc1\x14\x01\x14\x13P\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90]f\x1f\x83\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x070\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x0a\x00\x00\x00\x07\x08\x06\x00\x00\x001\xac\xdcc\
|
||||
|
|
@ -165,10 +107,10 @@ toshop:ICCProfil\
|
|||
e=\x22sRGB IEC61966\
|
||||
-2.1\x22\x0a xmp:Mod\
|
||||
ifyDate=\x222021-05\
|
||||
-31T12:30:11+02:\
|
||||
-31T12:33:14+02:\
|
||||
00\x22\x0a xmp:Metad\
|
||||
ataDate=\x222021-05\
|
||||
-31T12:30:11+02:\
|
||||
-31T12:33:14+02:\
|
||||
00\x22>\x0a <xmpMM:H\
|
||||
istory>\x0a <rdf\
|
||||
:Seq>\x0a <rdf:\
|
||||
|
|
@ -179,14 +121,14 @@ twareAgent=\x22Affi\
|
|||
nity Designer 1.\
|
||||
9.2\x22\x0a stEvt\
|
||||
:when=\x222021-05-3\
|
||||
1T12:30:11+02:00\
|
||||
1T12:33:14+02:00\
|
||||
\x22/>\x0a </rdf:Se\
|
||||
q>\x0a </xmpMM:Hi\
|
||||
story>\x0a </rdf:D\
|
||||
escription>\x0a </r\
|
||||
df:RDF>\x0a</x:xmpm\
|
||||
eta>\x0a<?xpacket e\
|
||||
nd=\x22r\x22?>\x85\x9d\x9f\x08\x00\x00\x01\x83\
|
||||
nd=\x22r\x22?>H\x8b[^\x00\x00\x01\x83\
|
||||
iCCPsRGB IEC6196\
|
||||
6-2.1\x00\x00(\x91u\x91\xcf+DQ\x14\
|
||||
\xc7?fh\xfc\x18\x8dba1e\x12\x16B\x83\x12\
|
||||
|
|
@ -213,28 +155,54 @@ S\xdc\xa1\xaa\xf0r\x0c\xf5\xb3\xd0x\x05\xb5\xf3\xc5\x9e\
|
|||
\xfd\xecst\x07\xd15\xf9\xaaK\xd8\xd9\x85\x0e9\xef\
|
||||
Y\xf8\x06\x8e\xfdg\xf8\xfd\x8a\x18\x97\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00mIDAT\x18\x95u\xcf\xc1\x09\xc2P\
|
||||
\x10\x84\xe1\xd7\x85\x07\x9b\xd0C@\xd2\x82x\x14{0\
|
||||
W!\x8d\x84`?bKzH\xcc\x97\x83\xfb0\x04\
|
||||
\xdf\x9c\x86\x7fg\x99\xdd\x84\x0d\xaaT\x10jl\x13\x1e\
|
||||
\xbe\xba\xfe\x0951{\xe6\x8d\x0f&\x1c\x17\xa1S\xb0\
|
||||
\x11\x87\x0c/\x01\x07\xec\xb0\x0f?\xe1\xbc\xaei\xa3\xe6\
|
||||
\x85w\xf8[\xe9\xf0\xbb\x9f\xfa\xd2\x839\xdc\xa3[\xf3\
|
||||
\x19.\xa8\x89\xb50\xf7C\xa0\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x00\x00\x00\x97IDAT\x18\x95m\xcf\xb1j\x02A\
|
||||
\x14\x85\xe1o\xb7\xb6\xd0'H=Vi\x03\xb1\xb4H\
|
||||
;l\xa5\xf19\xf6Y\x02VB\xbaa\x0a\x0b;\x1b\
|
||||
\x1bkA\x18\x02)m\xe3\xbe\x82\xcd\x06\x16\xd9\xdb\xdd\
|
||||
\x9f\xff\x5c\xee\xa9b*\x13Ls\x13nF&\xa6\xf2\
|
||||
\x82\xaeF\x8b\xdf\x98\xca\xfb\x88\xb4\xc0\x0f\xda\x1a[t\
|
||||
\xd8\xc7T\xc2@\x9ac\x8f?|U=|\xc5\x09w\
|
||||
\xbc\xa1\xc2\x193,r\x13.\xd5\xe0\xc2\x12\x07\x5cQ\
|
||||
#\xe0#7\xe1\xa8O\x0e\x7f\xda`\xd7\xaf\x9f\xb9\x09\
|
||||
\xdfc\x05\xff\xe5uLe\xf5\xcc\x1f\x0d3,\x83\xb6\
|
||||
\x06D\x83\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1f \xb9\
|
||||
\x8dw\xe9\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x06\xe6|```B0\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
d``b`H\x11@\xe2 s\x19\x90\x8d@\x02\
|
||||
\x00#\xed\x08\xafd\x9f\x0f\x15\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1c\x1f$\
|
||||
\xc6\x09\x17\x00\x00\x00$IDAT\x08\xd7c`@\
|
||||
\x05\xff\xcf\xc3XL\xc8\x5c&dY&d\xc5p\x0e\
|
||||
\xa3!\x9c\xc3h\x88a\x1a\x0a\x00\x00m\x84\x09u7\
|
||||
\x9e\xd9#\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\x9e\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15\x0f\xfd\
|
||||
\x8f\xf8.\x00\x00\x00\x22IDAT\x08\xd7c`\xc0\
|
||||
\x0d\xfe\x9f\x87\xb1\x18\x91\x05\x18\x0d\xe1BH*\x0c\x19\
|
||||
\x18\x18\x91\x05\x10*\xd1\x00\x00\xca\xb5\x07\xd2v\xbb\xb2\
|
||||
\xc5\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\x9cS4\xfc]\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x0b\x02\x04m\
|
||||
\x98\x1bi\x00\x00\x00)IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18220 \x0b2\x1a\
|
||||
200B\x98\x10AFC\x14\x13P\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2/H\xdfJ\x00\x00\x00\x00IEND\
|
||||
\xaeB`\x82\
|
||||
\x00\x00\x07\xdd\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
|
|
@ -363,6 +331,221 @@ zpp\xf0\xe3\x0e.\xa4\xd2\xae\xf0\x8a\xf7\x9a\xe3V\
|
|||
q[s\x5c@H\xa5\xdda\x81\x0d\x9ek\x8e\xff\xfd\
|
||||
\xcf?\xcc1\xe9\x01\x1c\x00sR-q\xe4J\x1bi\
|
||||
\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\x9e\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15\x0f\xfd\
|
||||
\x8f\xf8.\x00\x00\x00\x22IDAT\x08\xd7c`\xc0\
|
||||
\x0d\xfe\x9f\x87\xb1\x18\x91\x05\x18\x0d\xe1BH*\x0c\x19\
|
||||
\x18\x18\x91\x05\x10*\xd1\x00\x00\xca\xb5\x07\xd2v\xbb\xb2\
|
||||
\xc5\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15;\xdc\
|
||||
;\x0c\x9b\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0cs> \x0b\xa4\x08020 \x0b\xa6\
|
||||
\x08000B\x98\x10\xc1\x14\x01\x14\x13P\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90]f\x1f\x83\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15;\xdc\
|
||||
;\x0c\x9b\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0cs> \x0b\xa4\x08020 \x0b\xa6\
|
||||
\x08000B\x98\x10\xc1\x14\x01\x14\x13P\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90]f\x1f\x83\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\x9cS4\xfc]\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x0b\x02\x04m\
|
||||
\x98\x1bi\x00\x00\x00)IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18220 \x0b2\x1a\
|
||||
200B\x98\x10AFC\x14\x13P\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2/H\xdfJ\x00\x00\x00\x00IEND\
|
||||
\xaeB`\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1f\x0d\xfc\
|
||||
R+\x9c\x00\x00\x00$IDAT\x08\xd7c`@\
|
||||
\x05s>\xc0XL\xc8\x5c&dY&d\xc5pN\
|
||||
\x8a\x00\x9c\x93\x22\x80a\x1a\x0a\x00\x00)\x95\x08\xaf\x88\
|
||||
\xac\xba4\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\x9f\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x14\x1f\xf9\
|
||||
#\xd9\x0b\x00\x00\x00#IDAT\x08\xd7c`\xc0\
|
||||
\x0d\xe6|\x80\xb1\x18\x91\x05R\x04\xe0B\x08\x15)\x02\
|
||||
\x0c\x0c\x8c\xc8\x02\x08\x95h\x00\x00\xac\xac\x07\x90Ne\
|
||||
4\xac\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x07\x06\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x0a\x00\x00\x00\x07\x08\x06\x00\x00\x001\xac\xdcc\
|
||||
\x00\x00\x04\xb0iTXtXML:com.\
|
||||
adobe.xmp\x00\x00\x00\x00\x00<?\
|
||||
xpacket begin=\x22\xef\
|
||||
\xbb\xbf\x22 id=\x22W5M0MpCe\
|
||||
hiHzreSzNTczkc9d\
|
||||
\x22?>\x0a<x:xmpmeta x\
|
||||
mlns:x=\x22adobe:ns\
|
||||
:meta/\x22 x:xmptk=\
|
||||
\x22XMP Core 5.5.0\x22\
|
||||
>\x0a <rdf:RDF xmln\
|
||||
s:rdf=\x22http://ww\
|
||||
w.w3.org/1999/02\
|
||||
/22-rdf-syntax-n\
|
||||
s#\x22>\x0a <rdf:Desc\
|
||||
ription rdf:abou\
|
||||
t=\x22\x22\x0a xmlns:e\
|
||||
xif=\x22http://ns.a\
|
||||
dobe.com/exif/1.\
|
||||
0/\x22\x0a xmlns:ti\
|
||||
ff=\x22http://ns.ad\
|
||||
obe.com/tiff/1.0\
|
||||
/\x22\x0a xmlns:pho\
|
||||
toshop=\x22http://n\
|
||||
s.adobe.com/phot\
|
||||
oshop/1.0/\x22\x0a \
|
||||
xmlns:xmp=\x22http:\
|
||||
//ns.adobe.com/x\
|
||||
ap/1.0/\x22\x0a xml\
|
||||
ns:xmpMM=\x22http:/\
|
||||
/ns.adobe.com/xa\
|
||||
p/1.0/mm/\x22\x0a x\
|
||||
mlns:stEvt=\x22http\
|
||||
://ns.adobe.com/\
|
||||
xap/1.0/sType/Re\
|
||||
sourceEvent#\x22\x0a \
|
||||
exif:PixelXDime\
|
||||
nsion=\x2210\x22\x0a ex\
|
||||
if:PixelYDimensi\
|
||||
on=\x227\x22\x0a exif:C\
|
||||
olorSpace=\x221\x22\x0a \
|
||||
tiff:ImageWidth\
|
||||
=\x2210\x22\x0a tiff:Im\
|
||||
ageLength=\x227\x22\x0a \
|
||||
tiff:Resolution\
|
||||
Unit=\x222\x22\x0a tiff\
|
||||
:XResolution=\x2272\
|
||||
.0\x22\x0a tiff:YRes\
|
||||
olution=\x2272.0\x22\x0a \
|
||||
photoshop:Colo\
|
||||
rMode=\x223\x22\x0a pho\
|
||||
toshop:ICCProfil\
|
||||
e=\x22sRGB IEC61966\
|
||||
-2.1\x22\x0a xmp:Mod\
|
||||
ifyDate=\x222021-05\
|
||||
-31T12:30:11+02:\
|
||||
00\x22\x0a xmp:Metad\
|
||||
ataDate=\x222021-05\
|
||||
-31T12:30:11+02:\
|
||||
00\x22>\x0a <xmpMM:H\
|
||||
istory>\x0a <rdf\
|
||||
:Seq>\x0a <rdf:\
|
||||
li\x0a stEvt:a\
|
||||
ction=\x22produced\x22\
|
||||
\x0a stEvt:sof\
|
||||
twareAgent=\x22Affi\
|
||||
nity Designer 1.\
|
||||
9.2\x22\x0a stEvt\
|
||||
:when=\x222021-05-3\
|
||||
1T12:30:11+02:00\
|
||||
\x22/>\x0a </rdf:Se\
|
||||
q>\x0a </xmpMM:Hi\
|
||||
story>\x0a </rdf:D\
|
||||
escription>\x0a </r\
|
||||
df:RDF>\x0a</x:xmpm\
|
||||
eta>\x0a<?xpacket e\
|
||||
nd=\x22r\x22?>\x85\x9d\x9f\x08\x00\x00\x01\x83\
|
||||
iCCPsRGB IEC6196\
|
||||
6-2.1\x00\x00(\x91u\x91\xcf+DQ\x14\
|
||||
\xc7?fh\xfc\x18\x8dba1e\x12\x16B\x83\x12\
|
||||
\x1b\x8b\x99\x18\x0a\x8b\x99Q~mf\x9ey3j\xde\
|
||||
x\xbd7\xd2d\xabl\xa7(\xb1\xf1k\xc1_\xc0V\
|
||||
Y+E\xa4d\xa7\xac\x89\x0dz\xce\x9bQ#\x99s\
|
||||
;\xf7|\xee\xf7\xdes\xba\xf7\x5cpD\xd3\x8afV\
|
||||
\xfaA\xcbd\x8dp(\xe0\x9b\x99\x9d\xf3\xb9\x9e\xa8\xa2\
|
||||
\x85\x1a:\xf1\xc6\x14S\x9f\x8c\x8cF)k\xef\xb7T\
|
||||
\xd8\xf1\xba\xdb\xaeU\xfe\xdc\xbfV\xb7\x980\x15\xa8\xa8\
|
||||
\x16\x1eVt#+<&<\xb1\x9a\xd5m\xde\x12n\
|
||||
RR\xb1E\xe1\x13\xe1.C.(|c\xeb\xf1\x22\
|
||||
?\xdb\x9c,\xf2\xa7\xcdF4\x1c\x04G\x83\xb0/\xf9\
|
||||
\x8b\xe3\xbfXI\x19\x9a\xb0\xbc\x9c6-\xbd\xa2\xfc\xdc\
|
||||
\xc7~\x89;\x91\x99\x8eHl\x15\xf7b\x12&D\x00\
|
||||
\x1f\xe3\x8c\x10d\x80^\x86d\x1e\xa0\x9b>zdE\
|
||||
\x99|\x7f!\x7f\x8ae\xc9Ud\xd6\xc9a\xb0D\x92\
|
||||
\x14Y\xbaD]\x91\xea\x09\x89\xaa\xe8\x09\x19irv\
|
||||
\xff\xff\xf6\xd5T\xfb\xfb\x8a\xd5\xdd\x01\xa8z\xb4\xac\xd7\
|
||||
vpm\xc2W\xde\xb2>\x0e,\xeb\xeb\x10\x9c\x0fp\
|
||||
\x9e)\xe5/\xef\xc3\xe0\x9b\xe8\xf9\x92\xd6\xb6\x07\x9eu\
|
||||
8\xbd(i\xf1m8\xdb\x80\xe6{=f\xc4\x0a\x92\
|
||||
S\xdc\xa1\xaa\xf0r\x0c\xf5\xb3\xd0x\x05\xb5\xf3\xc5\x9e\
|
||||
\xfd\xecst\x07\xd15\xf9\xaaK\xd8\xd9\x85\x0e9\xef\
|
||||
Y\xf8\x06\x8e\xfdg\xf8\xfd\x8a\x18\x97\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00mIDAT\x18\x95u\xcf\xc1\x09\xc2P\
|
||||
\x10\x84\xe1\xd7\x85\x07\x9b\xd0C@\xd2\x82x\x14{0\
|
||||
W!\x8d\x84`?bKzH\xcc\x97\x83\xfb0\x04\
|
||||
\xdf\x9c\x86\x7fg\x99\xdd\x84\x0d\xaaT\x10jl\x13\x1e\
|
||||
\xbe\xba\xfe\x0951{\xe6\x8d\x0f&\x1c\x17\xa1S\xb0\
|
||||
\x11\x87\x0c/\x01\x07\xec\xb0\x0f?\xe1\xbc\xaei\xa3\xe6\
|
||||
\x85w\xf8[\xe9\xf0\xbb\x9f\xfa\xd2\x839\xdc\xa3[\xf3\
|
||||
\x19.\xa8\x89\xb50\xf7C\xa0\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1f \xb9\
|
||||
\x8dw\xe9\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x06\xe6|```B0\xa1\x1c\x08\x93\x81\x81\x09\xc1\
|
||||
d``b`H\x11@\xe2 s\x19\x90\x8d@\x02\
|
||||
\x00#\xed\x08\xafd\x9f\x0f\x15\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1c\x1f$\
|
||||
\xc6\x09\x17\x00\x00\x00$IDAT\x08\xd7c`@\
|
||||
\x05\xff\xcf\xc3XL\xc8\x5c&dY&d\xc5p\x0e\
|
||||
\xa3!\x9c\xc3h\x88a\x1a\x0a\x00\x00m\x84\x09u7\
|
||||
\x9e\xd9#\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x07\xad\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
|
|
@ -501,186 +684,6 @@ HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
|||
d``b``4D\xe2 s\x19\x90\x8d@\x02\
|
||||
\x00d@\x09u\x86\xb3\xad\x9c\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa5\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\x9cS4\xfc]\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x0b\x02\x04m\
|
||||
\x98\x1bi\x00\x00\x00)IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0c\xff\xcf\xa3\x08\x18220 \x0b2\x1a\
|
||||
200B\x98\x10AFC\x14\x13P\xb5\xa3\x01\x00\
|
||||
\xd6\x10\x07\xd2/H\xdfJ\x00\x00\x00\x00IEND\
|
||||
\xaeB`\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1c\x1f$\
|
||||
\xc6\x09\x17\x00\x00\x00$IDAT\x08\xd7c`@\
|
||||
\x05\xff\xcf\xc3XL\xc8\x5c&dY&d\xc5p\x0e\
|
||||
\xa3!\x9c\xc3h\x88a\x1a\x0a\x00\x00m\x84\x09u7\
|
||||
\x9e\xd9#\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x070\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x0a\x00\x00\x00\x07\x08\x06\x00\x00\x001\xac\xdcc\
|
||||
\x00\x00\x04\xb0iTXtXML:com.\
|
||||
adobe.xmp\x00\x00\x00\x00\x00<?\
|
||||
xpacket begin=\x22\xef\
|
||||
\xbb\xbf\x22 id=\x22W5M0MpCe\
|
||||
hiHzreSzNTczkc9d\
|
||||
\x22?>\x0a<x:xmpmeta x\
|
||||
mlns:x=\x22adobe:ns\
|
||||
:meta/\x22 x:xmptk=\
|
||||
\x22XMP Core 5.5.0\x22\
|
||||
>\x0a <rdf:RDF xmln\
|
||||
s:rdf=\x22http://ww\
|
||||
w.w3.org/1999/02\
|
||||
/22-rdf-syntax-n\
|
||||
s#\x22>\x0a <rdf:Desc\
|
||||
ription rdf:abou\
|
||||
t=\x22\x22\x0a xmlns:e\
|
||||
xif=\x22http://ns.a\
|
||||
dobe.com/exif/1.\
|
||||
0/\x22\x0a xmlns:ti\
|
||||
ff=\x22http://ns.ad\
|
||||
obe.com/tiff/1.0\
|
||||
/\x22\x0a xmlns:pho\
|
||||
toshop=\x22http://n\
|
||||
s.adobe.com/phot\
|
||||
oshop/1.0/\x22\x0a \
|
||||
xmlns:xmp=\x22http:\
|
||||
//ns.adobe.com/x\
|
||||
ap/1.0/\x22\x0a xml\
|
||||
ns:xmpMM=\x22http:/\
|
||||
/ns.adobe.com/xa\
|
||||
p/1.0/mm/\x22\x0a x\
|
||||
mlns:stEvt=\x22http\
|
||||
://ns.adobe.com/\
|
||||
xap/1.0/sType/Re\
|
||||
sourceEvent#\x22\x0a \
|
||||
exif:PixelXDime\
|
||||
nsion=\x2210\x22\x0a ex\
|
||||
if:PixelYDimensi\
|
||||
on=\x227\x22\x0a exif:C\
|
||||
olorSpace=\x221\x22\x0a \
|
||||
tiff:ImageWidth\
|
||||
=\x2210\x22\x0a tiff:Im\
|
||||
ageLength=\x227\x22\x0a \
|
||||
tiff:Resolution\
|
||||
Unit=\x222\x22\x0a tiff\
|
||||
:XResolution=\x2272\
|
||||
.0\x22\x0a tiff:YRes\
|
||||
olution=\x2272.0\x22\x0a \
|
||||
photoshop:Colo\
|
||||
rMode=\x223\x22\x0a pho\
|
||||
toshop:ICCProfil\
|
||||
e=\x22sRGB IEC61966\
|
||||
-2.1\x22\x0a xmp:Mod\
|
||||
ifyDate=\x222021-05\
|
||||
-31T12:33:14+02:\
|
||||
00\x22\x0a xmp:Metad\
|
||||
ataDate=\x222021-05\
|
||||
-31T12:33:14+02:\
|
||||
00\x22>\x0a <xmpMM:H\
|
||||
istory>\x0a <rdf\
|
||||
:Seq>\x0a <rdf:\
|
||||
li\x0a stEvt:a\
|
||||
ction=\x22produced\x22\
|
||||
\x0a stEvt:sof\
|
||||
twareAgent=\x22Affi\
|
||||
nity Designer 1.\
|
||||
9.2\x22\x0a stEvt\
|
||||
:when=\x222021-05-3\
|
||||
1T12:33:14+02:00\
|
||||
\x22/>\x0a </rdf:Se\
|
||||
q>\x0a </xmpMM:Hi\
|
||||
story>\x0a </rdf:D\
|
||||
escription>\x0a </r\
|
||||
df:RDF>\x0a</x:xmpm\
|
||||
eta>\x0a<?xpacket e\
|
||||
nd=\x22r\x22?>H\x8b[^\x00\x00\x01\x83\
|
||||
iCCPsRGB IEC6196\
|
||||
6-2.1\x00\x00(\x91u\x91\xcf+DQ\x14\
|
||||
\xc7?fh\xfc\x18\x8dba1e\x12\x16B\x83\x12\
|
||||
\x1b\x8b\x99\x18\x0a\x8b\x99Q~mf\x9ey3j\xde\
|
||||
x\xbd7\xd2d\xabl\xa7(\xb1\xf1k\xc1_\xc0V\
|
||||
Y+E\xa4d\xa7\xac\x89\x0dz\xce\x9bQ#\x99s\
|
||||
;\xf7|\xee\xf7\xdes\xba\xf7\x5cpD\xd3\x8afV\
|
||||
\xfaA\xcbd\x8dp(\xe0\x9b\x99\x9d\xf3\xb9\x9e\xa8\xa2\
|
||||
\x85\x1a:\xf1\xc6\x14S\x9f\x8c\x8cF)k\xef\xb7T\
|
||||
\xd8\xf1\xba\xdb\xaeU\xfe\xdc\xbfV\xb7\x980\x15\xa8\xa8\
|
||||
\x16\x1eVt#+<&<\xb1\x9a\xd5m\xde\x12n\
|
||||
RR\xb1E\xe1\x13\xe1.C.(|c\xeb\xf1\x22\
|
||||
?\xdb\x9c,\xf2\xa7\xcdF4\x1c\x04G\x83\xb0/\xf9\
|
||||
\x8b\xe3\xbfXI\x19\x9a\xb0\xbc\x9c6-\xbd\xa2\xfc\xdc\
|
||||
\xc7~\x89;\x91\x99\x8eHl\x15\xf7b\x12&D\x00\
|
||||
\x1f\xe3\x8c\x10d\x80^\x86d\x1e\xa0\x9b>zdE\
|
||||
\x99|\x7f!\x7f\x8ae\xc9Ud\xd6\xc9a\xb0D\x92\
|
||||
\x14Y\xbaD]\x91\xea\x09\x89\xaa\xe8\x09\x19irv\
|
||||
\xff\xff\xf6\xd5T\xfb\xfb\x8a\xd5\xdd\x01\xa8z\xb4\xac\xd7\
|
||||
vpm\xc2W\xde\xb2>\x0e,\xeb\xeb\x10\x9c\x0fp\
|
||||
\x9e)\xe5/\xef\xc3\xe0\x9b\xe8\xf9\x92\xd6\xb6\x07\x9eu\
|
||||
8\xbd(i\xf1m8\xdb\x80\xe6{=f\xc4\x0a\x92\
|
||||
S\xdc\xa1\xaa\xf0r\x0c\xf5\xb3\xd0x\x05\xb5\xf3\xc5\x9e\
|
||||
\xfd\xecst\x07\xd15\xf9\xaaK\xd8\xd9\x85\x0e9\xef\
|
||||
Y\xf8\x06\x8e\xfdg\xf8\xfd\x8a\x18\x97\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x97IDAT\x18\x95m\xcf\xb1j\x02A\
|
||||
\x14\x85\xe1o\xb7\xb6\xd0'H=Vi\x03\xb1\xb4H\
|
||||
;l\xa5\xf19\xf6Y\x02VB\xbaa\x0a\x0b;\x1b\
|
||||
\x1bkA\x18\x02)m\xe3\xbe\x82\xcd\x06\x16\xd9\xdb\xdd\
|
||||
\x9f\xff\x5c\xee\xa9b*\x13Ls\x13nF&\xa6\xf2\
|
||||
\x82\xaeF\x8b\xdf\x98\xca\xfb\x88\xb4\xc0\x0f\xda\x1a[t\
|
||||
\xd8\xc7T\xc2@\x9ac\x8f?|U=|\xc5\x09w\
|
||||
\xbc\xa1\xc2\x193,r\x13.\xd5\xe0\xc2\x12\x07\x5cQ\
|
||||
#\xe0#7\xe1\xa8O\x0e\x7f\xda`\xd7\xaf\x9f\xb9\x09\
|
||||
\xdfc\x05\xff\xe5uLe\xf5\xcc\x1f\x0d3,\x83\xb6\
|
||||
\x06D\x83\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15;\xdc\
|
||||
;\x0c\x9b\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0cs> \x0b\xa4\x08020 \x0b\xa6\
|
||||
\x08000B\x98\x10\xc1\x14\x01\x14\x13P\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90]f\x1f\x83\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
\x00\x00\x00\xa0\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x06\x00\x00\x00\x09\x08\x04\x00\x00\x00\xbb\x93\x95\x16\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x14\x1c\x1f$\
|
||||
\xc6\x09\x17\x00\x00\x00$IDAT\x08\xd7c`@\
|
||||
\x05\xff\xcf\xc3XL\xc8\x5c&dY&d\xc5p\x0e\
|
||||
\xa3!\x9c\xc3h\x88a\x1a\x0a\x00\x00m\x84\x09u7\
|
||||
\x9e\xd9#\x00\x00\x00\x00IEND\xaeB`\x82\
|
||||
\x00\x00\x00\xa6\
|
||||
\x89\
|
||||
PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\
|
||||
\x00\x00\x09\x00\x00\x00\x06\x08\x04\x00\x00\x00\xbb\xce|N\
|
||||
\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\
|
||||
\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\x00\x00\x09p\
|
||||
HYs\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\
|
||||
\x00\x00\x00\x07tIME\x07\xdc\x08\x17\x08\x15;\xdc\
|
||||
;\x0c\x9b\x00\x00\x00*IDAT\x08\xd7c`\xc0\
|
||||
\x00\x8c\x0c\x0cs> \x0b\xa4\x08020 \x0b\xa6\
|
||||
\x08000B\x98\x10\xc1\x14\x01\x14\x13P\xb5\xa3\x01\
|
||||
\x00\xc6\xb9\x07\x90]f\x1f\x83\x00\x00\x00\x00IEN\
|
||||
D\xaeB`\x82\
|
||||
"
|
||||
|
||||
qt_resource_name = b"\
|
||||
|
|
@ -692,62 +695,6 @@ qt_resource_name = b"\
|
|||
\x07\x03}\xc3\
|
||||
\x00i\
|
||||
\x00m\x00a\x00g\x00e\x00s\
|
||||
\x00\x15\
|
||||
\x0f\xf3\xc0\x07\
|
||||
\x00u\
|
||||
\x00p\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\x00l\x00e\x00d\
|
||||
\x00.\x00p\x00n\x00g\
|
||||
\x00\x12\
|
||||
\x01.\x03'\
|
||||
\x00c\
|
||||
\x00o\x00m\x00b\x00o\x00b\x00o\x00x\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\
|
||||
\x00g\
|
||||
\x00\x0e\
|
||||
\x04\xa2\xfc\xa7\
|
||||
\x00d\
|
||||
\x00o\x00w\x00n\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\x00g\
|
||||
\x00\x1b\
|
||||
\x03Z2'\
|
||||
\x00c\
|
||||
\x00o\x00m\x00b\x00o\x00b\x00o\x00x\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\
|
||||
\x00s\x00a\x00b\x00l\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x18\
|
||||
\x03\x8e\xdeg\
|
||||
\x00r\
|
||||
\x00i\x00g\x00h\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\
|
||||
\x00l\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x11\
|
||||
\x00\xb8\x8c\x07\
|
||||
\x00l\
|
||||
\x00e\x00f\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00o\x00n\x00.\x00p\x00n\x00g\
|
||||
\
|
||||
\x00\x0f\
|
||||
\x01s\x8b\x07\
|
||||
\x00u\
|
||||
\x00p\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00o\x00n\x00.\x00p\x00n\x00g\
|
||||
\x00\x0c\
|
||||
\x06\xe6\xe6g\
|
||||
\x00u\
|
||||
\x00p\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\x00g\
|
||||
\x00\x0f\
|
||||
\x06S%\xa7\
|
||||
\x00b\
|
||||
\x00r\x00a\x00n\x00c\x00h\x00_\x00o\x00p\x00e\x00n\x00.\x00p\x00n\x00g\
|
||||
\x00\x17\
|
||||
\x0ce\xce\x07\
|
||||
\x00l\
|
||||
\x00e\x00f\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\x00l\
|
||||
\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x14\
|
||||
\x04^-\xa7\
|
||||
\x00b\
|
||||
\x00r\x00a\x00n\x00c\x00h\x00_\x00c\x00l\x00o\x00s\x00e\x00d\x00_\x00o\x00n\x00.\
|
||||
\x00p\x00n\x00g\
|
||||
\x00\x11\
|
||||
\x0b\xda0\xa7\
|
||||
\x00b\
|
||||
\x00r\x00a\x00n\x00c\x00h\x00_\x00c\x00l\x00o\x00s\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\
|
||||
\x00\x0e\
|
||||
\x0e\xde\xfa\xc7\
|
||||
\x00l\
|
||||
|
|
@ -757,87 +704,121 @@ qt_resource_name = b"\
|
|||
\x00d\
|
||||
\x00o\x00w\x00n\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00o\x00n\x00.\x00p\x00n\x00g\
|
||||
\
|
||||
\x00\x0f\
|
||||
\x02\x9f\x05\x87\
|
||||
\x00r\
|
||||
\x00i\x00g\x00h\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\x00g\
|
||||
\x00\x12\
|
||||
\x01.\x03'\
|
||||
\x00c\
|
||||
\x00o\x00m\x00b\x00o\x00b\x00o\x00x\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\
|
||||
\x00g\
|
||||
\x00\x12\
|
||||
\x05\x8f\x9d\x07\
|
||||
\x00b\
|
||||
\x00r\x00a\x00n\x00c\x00h\x00_\x00o\x00p\x00e\x00n\x00_\x00o\x00n\x00.\x00p\x00n\
|
||||
\x00g\
|
||||
\x00\x17\
|
||||
\x0c\xabQ\x07\
|
||||
\x00d\
|
||||
\x00o\x00w\x00n\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\x00l\
|
||||
\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x12\
|
||||
\x03\x8d\x04G\
|
||||
\x00r\
|
||||
\x00i\x00g\x00h\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00o\x00n\x00.\x00p\x00n\
|
||||
\x00g\
|
||||
\x00\x0f\
|
||||
\x01s\x8b\x07\
|
||||
\x00u\
|
||||
\x00p\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00o\x00n\x00.\x00p\x00n\x00g\
|
||||
\x00\x1b\
|
||||
\x03Z2'\
|
||||
\x00c\
|
||||
\x00o\x00m\x00b\x00o\x00b\x00o\x00x\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\
|
||||
\x00s\x00a\x00b\x00l\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x14\
|
||||
\x04^-\xa7\
|
||||
\x00b\
|
||||
\x00r\x00a\x00n\x00c\x00h\x00_\x00c\x00l\x00o\x00s\x00e\x00d\x00_\x00o\x00n\x00.\
|
||||
\x00p\x00n\x00g\
|
||||
\x00\x0c\
|
||||
\x06\xe6\xe6g\
|
||||
\x00u\
|
||||
\x00p\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\x00g\
|
||||
\x00\x17\
|
||||
\x0c\xabQ\x07\
|
||||
\x00d\
|
||||
\x00o\x00w\x00n\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\x00l\
|
||||
\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x15\
|
||||
\x03'rg\
|
||||
\x00c\
|
||||
\x00o\x00m\x00b\x00o\x00b\x00o\x00x\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00o\x00n\
|
||||
\x00.\x00p\x00n\x00g\
|
||||
\x00\x0e\
|
||||
\x04\xa2\xfc\xa7\
|
||||
\x00d\
|
||||
\x00o\x00w\x00n\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\x00g\
|
||||
\x00\x18\
|
||||
\x03\x8e\xdeg\
|
||||
\x00r\
|
||||
\x00i\x00g\x00h\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\
|
||||
\x00l\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x15\
|
||||
\x0f\xf3\xc0\x07\
|
||||
\x00u\
|
||||
\x00p\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\x00l\x00e\x00d\
|
||||
\x00.\x00p\x00n\x00g\
|
||||
\x00\x0f\
|
||||
\x06S%\xa7\
|
||||
\x00b\
|
||||
\x00r\x00a\x00n\x00c\x00h\x00_\x00o\x00p\x00e\x00n\x00.\x00p\x00n\x00g\
|
||||
\x00\x17\
|
||||
\x0ce\xce\x07\
|
||||
\x00l\
|
||||
\x00e\x00f\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00d\x00i\x00s\x00a\x00b\x00l\
|
||||
\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\x00\x0f\
|
||||
\x02\x9f\x05\x87\
|
||||
\x00r\
|
||||
\x00i\x00g\x00h\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00.\x00p\x00n\x00g\
|
||||
\x00\x11\
|
||||
\x0b\xda0\xa7\
|
||||
\x00b\
|
||||
\x00r\x00a\x00n\x00c\x00h\x00_\x00c\x00l\x00o\x00s\x00e\x00d\x00.\x00p\x00n\x00g\
|
||||
\
|
||||
\x00\x11\
|
||||
\x00\xb8\x8c\x07\
|
||||
\x00l\
|
||||
\x00e\x00f\x00t\x00_\x00a\x00r\x00r\x00o\x00w\x00_\x00o\x00n\x00.\x00p\x00n\x00g\
|
||||
\
|
||||
"
|
||||
|
||||
qt_resource_struct = b"\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x00\x16\x00\x02\x00\x00\x00\x13\x00\x00\x00\x03\
|
||||
\x00\x00\x00\x00\x00\x00\x00\x00\
|
||||
\x00\x00\x01\x16\x00\x00\x00\x00\x00\x01\x00\x00\x03C\
|
||||
\x00\x00\x01vA\x9d\xa25\
|
||||
\x00\x00\x02P\x00\x00\x00\x00\x00\x01\x00\x00\x1d!\
|
||||
\x00\x00\x01vA\x9d\xa25\
|
||||
\x00\x00\x00X\x00\x00\x00\x00\x00\x01\x00\x00\x00\xa3\
|
||||
\x00\x00\x01y\xb4r\xcc\x9c\
|
||||
\x00\x00\x01>\x00\x00\x00\x00\x00\x01\x00\x00\x03\xed\
|
||||
\x00\x00\x01vA\x9d\xa29\
|
||||
\x00\x00\x02x\x00\x00\x00\x00\x00\x01\x00\x00\x1d\xca\
|
||||
\x00\x00\x01vA\x9d\xa27\
|
||||
\x00\x00\x03$\x00\x00\x00\x00\x00\x01\x00\x00&\xf0\
|
||||
\x00\x00\x01y\xb4r\xcc\x9c\
|
||||
\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x01\xf6\
|
||||
\x00\x00\x01y\xb4r\xcc\x9c\
|
||||
\x00\x00\x02\xfa\x00\x00\x00\x00\x00\x01\x00\x00&L\
|
||||
\x00\x00\x01vA\x9d\xa27\
|
||||
\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x02\x9f\
|
||||
\x00\x00\x01vA\x9d\xa27\
|
||||
\x00\x00\x01\xd8\x00\x00\x00\x00\x00\x01\x00\x00\x0c\xe5\
|
||||
\x00\x00\x01y\xc2\x05+`\
|
||||
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x01M\
|
||||
\x00\x00\x01vA\x9d\xa25\
|
||||
\x00\x00\x02\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x1en\
|
||||
\x00\x00\x01y\xc1\xfc\x16\x91\
|
||||
\x00\x00\x01\x80\x00\x00\x00\x00\x00\x01\x00\x00\x051\
|
||||
\x00\x00\x01y\xc1\xf9Kx\
|
||||
\x00\x00\x01b\x00\x00\x00\x00\x00\x01\x00\x00\x04\x8f\
|
||||
\x00\x00\x01vA\x9d\xa29\
|
||||
\x00\x00\x02\x06\x00\x00\x00\x00\x00\x01\x00\x00\x14\xc6\
|
||||
\x00\x00\x01y\xc2\x05\x91*\
|
||||
\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x0c;\
|
||||
\x00\x00\x01vA\x9d\xa25\
|
||||
\x00\x00\x02\xc6\x00\x00\x00\x00\x00\x01\x00\x00%\xa2\
|
||||
\x00\x00\x01vA\x9d\xa25\
|
||||
\x00\x00\x02.\x00\x00\x00\x00\x00\x01\x00\x00\x1cw\
|
||||
\x00\x00\x01vA\x9d\xa25\
|
||||
\x00\x00\x03,\x00\x00\x00\x00\x00\x01\x00\x00&\xf0\
|
||||
\x00\x00\x00J\x00\x00\x00\x00\x00\x01\x00\x00\x00\xaa\
|
||||
\x00\x00\x00r\x00\x00\x00\x00\x00\x01\x00\x00\x01S\
|
||||
\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x09\xd5\
|
||||
\x00\x00\x02\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x9b\
|
||||
\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x14M\
|
||||
\x00\x00\x01\x14\x00\x00\x00\x00\x00\x01\x00\x00\x0aw\
|
||||
\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x091\
|
||||
\x00\x00\x02\x22\x00\x00\x00\x00\x00\x01\x00\x00\x15\xa0\
|
||||
\x00\x00\x01P\x00\x00\x00\x00\x00\x01\x00\x00\x0b \
|
||||
\x00\x00\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x14\xf7\
|
||||
\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x01\xfd\
|
||||
\x00\x00\x02\x88\x00\x00\x00\x00\x00\x01\x00\x00\x16\xe7\
|
||||
\x00\x00\x01~\x00\x00\x00\x00\x00\x01\x00\x00\x13\x01\
|
||||
\x00\x00\x03\x04\x00\x00\x00\x00\x00\x01\x00\x00\x1f?\
|
||||
\x00\x00\x02\xac\x00\x00\x00\x00\x00\x01\x00\x00\x1d\xf1\
|
||||
\x00\x00\x01\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x13\xa3\
|
||||
\x00\x00\x00(\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
|
||||
\x00\x00\x01vA\x9d\xa29\
|
||||
\x00\x00\x02X\x00\x00\x00\x00\x00\x01\x00\x00\x16D\
|
||||
"
|
||||
|
||||
|
||||
def qInitResources():
|
||||
QtCore.qRegisterResourceData(
|
||||
0x03, qt_resource_struct, qt_resource_name, qt_resource_data
|
||||
0x01, qt_resource_struct, qt_resource_name, qt_resource_data
|
||||
)
|
||||
|
||||
|
||||
def qCleanupResources():
|
||||
QtCore.qUnregisterResourceData(
|
||||
0x03, qt_resource_struct, qt_resource_name, qt_resource_data
|
||||
0x01, qt_resource_struct, qt_resource_name, qt_resource_data
|
||||
)
|
||||
|
|
|
|||
|
|
@ -19,5 +19,6 @@
|
|||
<file>images/up_arrow.png</file>
|
||||
<file>images/up_arrow_disabled.png</file>
|
||||
<file>images/up_arrow_on.png</file>
|
||||
<file>images/transparent.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
|||
|
|
@ -200,12 +200,28 @@ QComboBox::down-arrow, QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QC
|
|||
}
|
||||
|
||||
/* Splitter */
|
||||
QSplitter {
|
||||
border: none;
|
||||
QSplitter::handle {
|
||||
border: 3px solid transparent;
|
||||
}
|
||||
|
||||
QSplitter::handle {
|
||||
border: 1px dotted {color:bg-menu-separator};
|
||||
QSplitter::handle:horizontal {
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.3 rgba(0, 0, 0, 0),stop:0.5 {color:bg-splitter},stop:0.7 rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
QSplitter::handle:vertical {
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.3 rgba(0, 0, 0, 0),stop:0.5 {color:bg-splitter},stop:0.7 rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
QSplitter::handle:horizontal:hover {
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.3 rgba(0, 0, 0, 0),stop:0.5 {color:bg-splitter-hover},stop:0.7 rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
QSplitter::handle:vertical:hover {
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.3 rgba(0, 0, 0, 0),stop:0.5 {color:bg-splitter-hover},stop:0.7 rgba(0, 0, 0, 0));
|
||||
}
|
||||
|
||||
/* SLider */
|
||||
|
|
@ -232,18 +248,15 @@ QSlider::groove:focus {
|
|||
border-color: {color:border-focus};
|
||||
}
|
||||
QSlider::handle {
|
||||
background: qlineargradient(
|
||||
x1: 0, y1: 0.5,
|
||||
x2: 1, y2: 0.5,
|
||||
stop: 0 {palette:blue-base},
|
||||
stop: 1 {palette:green-base}
|
||||
);
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1: 0, y1: 0.5, x2: 1, y2: 0.5,stop: 0 {palette:blue-base},stop: 1 {palette:green-base});
|
||||
border: 1px solid #5c5c5c;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
QSlider::handle:horizontal {
|
||||
margin: -2px 0;
|
||||
}
|
||||
|
|
@ -252,12 +265,8 @@ QSlider::handle:vertical {
|
|||
}
|
||||
|
||||
QSlider::handle:disabled {
|
||||
background: qlineargradient(
|
||||
x1:0, y1:0,
|
||||
x2:1, y2:1,
|
||||
stop:0 {color:bg-buttons},
|
||||
stop:1 {color:bg-buttons-disabled}
|
||||
);
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1:0, y1:0,x2:1, y2:1,stop:0 {color:bg-buttons},stop:1 {color:bg-buttons-disabled});
|
||||
}
|
||||
|
||||
/* Tab widget*/
|
||||
|
|
@ -275,19 +284,15 @@ QTabBar::tab {
|
|||
border-left: 3px solid transparent;
|
||||
border-top: 1px solid {color:border};
|
||||
border-right: 1px solid {color:border};
|
||||
background: qlineargradient(
|
||||
x1: 0, y1: 1, x2: 0, y2: 0,
|
||||
stop: 0.5 {color:bg}, stop: 1.0 {color:bg-inputs}
|
||||
);
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1: 0, y1: 1, x2: 0, y2: 0,stop: 0.5 {color:bg}, stop: 1.0 {color:bg-inputs});
|
||||
}
|
||||
|
||||
QTabBar::tab:selected {
|
||||
background: {color:grey-lighter};
|
||||
border-left: 3px solid {color:border-focus};
|
||||
background: qlineargradient(
|
||||
x1: 0, y1: 1, x2: 0, y2: 0,
|
||||
stop: 0.5 {color:bg}, stop: 1.0 {color:border}
|
||||
);
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1: 0, y1: 1, x2: 0, y2: 0,stop: 0.5 {color:bg}, stop: 1.0 {color:border});
|
||||
}
|
||||
|
||||
QTabBar::tab:!selected {
|
||||
|
|
@ -335,6 +340,15 @@ QHeaderView::section:first {
|
|||
QHeaderView::section:last {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
QHeaderView::down-arrow {
|
||||
image: url(:/openpype/images/down_arrow.png);
|
||||
}
|
||||
|
||||
QHeaderView::up-arrow {
|
||||
image: url(:/openpype/images/up_arrow.png);
|
||||
}
|
||||
|
||||
/* Views QListView QTreeView QTableView */
|
||||
QAbstractItemView {
|
||||
border: 0px solid {color:border};
|
||||
|
|
@ -393,23 +407,42 @@ QAbstractItemView::branch:open:has-children:has-siblings {
|
|||
QAbstractItemView::branch:open:has-children:!has-siblings:hover,
|
||||
QAbstractItemView::branch:open:has-children:has-siblings:hover {
|
||||
border-image: none;
|
||||
image: url(:/openpype/images//branch_open_on.png);
|
||||
image: url(:/openpype/images/branch_open_on.png);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QAbstractItemView::branch:has-children:!has-siblings:closed,
|
||||
QAbstractItemView::branch:closed:has-children:has-siblings {
|
||||
border-image: none;
|
||||
image: url(:/openpype/images//branch_closed.png);
|
||||
image: url(:/openpype/images/branch_closed.png);
|
||||
background: transparent;
|
||||
}
|
||||
QAbstractItemView::branch:has-children:!has-siblings:closed:hover,
|
||||
QAbstractItemView::branch:closed:has-children:has-siblings:hover {
|
||||
border-image: none;
|
||||
image: url(:/openpype/images//branch_closed_on.png);
|
||||
image: url(:/openpype/images/branch_closed_on.png);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QAbstractItemView::branch:has-siblings:!adjoins-item {
|
||||
border-image: none;
|
||||
image: url(:/openpype/images/transparent.png);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QAbstractItemView::branch:has-siblings:adjoins-item {
|
||||
border-image: none;
|
||||
image: url(:/openpype/images/transparent.png);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
QAbstractItemView::branch:!has-children:!has-siblings:adjoins-item {
|
||||
border-image: none;
|
||||
image: url(:/openpype/images/transparent.png);
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* Progress bar */
|
||||
QProgressBar {
|
||||
border: 1px solid {color:border};
|
||||
|
|
@ -425,12 +458,8 @@ QProgressBar:vertical {
|
|||
}
|
||||
|
||||
QProgressBar::chunk {
|
||||
background: qlineargradient(
|
||||
x1: 0, y1: 0.5,
|
||||
x2: 1, y2: 0.5,
|
||||
stop: 0 {palette:blue-base},
|
||||
stop: 1 {palette:green-base}
|
||||
);
|
||||
/* must be single like because of Nuke*/
|
||||
background: qlineargradient(x1: 0, y1: 0.5,x2: 1, y2: 0.5,stop: 0 {palette:blue-base},stop: 1 {palette:green-base});
|
||||
}
|
||||
|
||||
/* Scroll bars */
|
||||
|
|
@ -629,3 +658,16 @@ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
|
|||
#PythonInterpreterOutput, #PythonCodeEditor {
|
||||
font-family: "Roboto Mono";
|
||||
}
|
||||
|
||||
#SubsetView::item, #RepresentationView:item {
|
||||
padding: 5px 1px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
#OptionalActionBody, #OptionalActionOption {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#OptionalActionBody[state="hover"], #OptionalActionOption[state="hover"] {
|
||||
background: {color:bg-view-hover};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import sys
|
|||
|
||||
from Qt import QtWidgets, QtCore, QtGui
|
||||
|
||||
from avalon import style
|
||||
from avalon.api import AvalonMongoDB
|
||||
from openpype import style
|
||||
from openpype.tools.utils import lib as tools_lib
|
||||
from openpype.tools.loader.widgets import (
|
||||
ThumbnailWidget,
|
||||
|
|
@ -28,155 +28,182 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
tool_title = "Library Loader 0.5"
|
||||
tool_name = "library_loader"
|
||||
|
||||
message_timeout = 5000
|
||||
|
||||
def __init__(
|
||||
self, parent=None, icon=None, show_projects=False, show_libraries=True
|
||||
):
|
||||
super(LibraryLoaderWindow, self).__init__(parent)
|
||||
|
||||
self._initial_refresh = False
|
||||
self._ignore_project_change = False
|
||||
|
||||
# Enable minimize and maximize for app
|
||||
# Window modifications
|
||||
self.setWindowTitle(self.tool_title)
|
||||
window_flags = QtCore.Qt.Window
|
||||
if not parent:
|
||||
window_flags |= QtCore.Qt.WindowStaysOnTopHint
|
||||
self.setWindowFlags(window_flags)
|
||||
self.setFocusPolicy(QtCore.Qt.StrongFocus)
|
||||
if icon is not None:
|
||||
self.setWindowIcon(icon)
|
||||
# self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
|
||||
|
||||
body = QtWidgets.QWidget()
|
||||
footer = QtWidgets.QWidget()
|
||||
footer.setFixedHeight(20)
|
||||
icon = QtGui.QIcon(style.app_icon_path())
|
||||
self.setWindowIcon(icon)
|
||||
|
||||
container = QtWidgets.QWidget()
|
||||
self._first_show = True
|
||||
self._initial_refresh = False
|
||||
self._ignore_project_change = False
|
||||
|
||||
self.dbcon = AvalonMongoDB()
|
||||
self.dbcon.install()
|
||||
self.dbcon.Session["AVALON_PROJECT"] = None
|
||||
dbcon = AvalonMongoDB()
|
||||
dbcon.install()
|
||||
dbcon.Session["AVALON_PROJECT"] = None
|
||||
|
||||
self.dbcon = dbcon
|
||||
|
||||
self.show_projects = show_projects
|
||||
self.show_libraries = show_libraries
|
||||
|
||||
# Groups config
|
||||
self.groups_config = tools_lib.GroupsConfig(self.dbcon)
|
||||
self.family_config_cache = tools_lib.FamilyConfigCache(self.dbcon)
|
||||
self.groups_config = tools_lib.GroupsConfig(dbcon)
|
||||
self.family_config_cache = tools_lib.FamilyConfigCache(dbcon)
|
||||
|
||||
assets = AssetWidget(
|
||||
self.dbcon, multiselection=True, parent=self
|
||||
# UI initialization
|
||||
main_splitter = QtWidgets.QSplitter(self)
|
||||
|
||||
# --- Left part ---
|
||||
left_side_splitter = QtWidgets.QSplitter(main_splitter)
|
||||
left_side_splitter.setOrientation(QtCore.Qt.Vertical)
|
||||
|
||||
# Project combobox
|
||||
projects_combobox = QtWidgets.QComboBox(left_side_splitter)
|
||||
combobox_delegate = QtWidgets.QStyledItemDelegate(self)
|
||||
projects_combobox.setItemDelegate(combobox_delegate)
|
||||
|
||||
# Assets widget
|
||||
assets_widget = AssetWidget(
|
||||
dbcon, multiselection=True, parent=left_side_splitter
|
||||
)
|
||||
families = FamilyListView(
|
||||
self.dbcon, self.family_config_cache, parent=self
|
||||
|
||||
# Families widget
|
||||
families_filter_view = FamilyListView(
|
||||
dbcon, self.family_config_cache, left_side_splitter
|
||||
)
|
||||
subsets = LibrarySubsetWidget(
|
||||
self.dbcon,
|
||||
left_side_splitter.addWidget(projects_combobox)
|
||||
left_side_splitter.addWidget(assets_widget)
|
||||
left_side_splitter.addWidget(families_filter_view)
|
||||
left_side_splitter.setStretchFactor(1, 65)
|
||||
left_side_splitter.setStretchFactor(2, 35)
|
||||
|
||||
# --- Middle part ---
|
||||
# Subsets widget
|
||||
subsets_widget = LibrarySubsetWidget(
|
||||
dbcon,
|
||||
self.groups_config,
|
||||
self.family_config_cache,
|
||||
tool_name=self.tool_name,
|
||||
parent=self
|
||||
)
|
||||
|
||||
version = VersionWidget(self.dbcon)
|
||||
thumbnail = ThumbnailWidget(self.dbcon)
|
||||
|
||||
# Project
|
||||
self.combo_projects = QtWidgets.QComboBox()
|
||||
|
||||
# Create splitter to show / hide family filters
|
||||
asset_filter_splitter = QtWidgets.QSplitter()
|
||||
asset_filter_splitter.setOrientation(QtCore.Qt.Vertical)
|
||||
asset_filter_splitter.addWidget(self.combo_projects)
|
||||
asset_filter_splitter.addWidget(assets)
|
||||
asset_filter_splitter.addWidget(families)
|
||||
asset_filter_splitter.setStretchFactor(1, 65)
|
||||
asset_filter_splitter.setStretchFactor(2, 35)
|
||||
|
||||
manager = ModulesManager()
|
||||
sync_server = manager.modules_by_name["sync_server"]
|
||||
|
||||
representations = RepresentationWidget(self.dbcon)
|
||||
thumb_ver_splitter = QtWidgets.QSplitter()
|
||||
# --- Right part ---
|
||||
thumb_ver_splitter = QtWidgets.QSplitter(main_splitter)
|
||||
thumb_ver_splitter.setOrientation(QtCore.Qt.Vertical)
|
||||
thumb_ver_splitter.addWidget(thumbnail)
|
||||
thumb_ver_splitter.addWidget(version)
|
||||
if sync_server.enabled:
|
||||
thumb_ver_splitter.addWidget(representations)
|
||||
|
||||
thumbnail_widget = ThumbnailWidget(dbcon, parent=thumb_ver_splitter)
|
||||
version_info_widget = VersionWidget(dbcon, parent=thumb_ver_splitter)
|
||||
|
||||
thumb_ver_splitter.addWidget(thumbnail_widget)
|
||||
thumb_ver_splitter.addWidget(version_info_widget)
|
||||
|
||||
thumb_ver_splitter.setStretchFactor(0, 30)
|
||||
thumb_ver_splitter.setStretchFactor(1, 35)
|
||||
|
||||
container_layout = QtWidgets.QHBoxLayout(container)
|
||||
container_layout.setContentsMargins(0, 0, 0, 0)
|
||||
split = QtWidgets.QSplitter()
|
||||
split.addWidget(asset_filter_splitter)
|
||||
split.addWidget(subsets)
|
||||
split.addWidget(thumb_ver_splitter)
|
||||
split.setSizes([180, 950, 200])
|
||||
container_layout.addWidget(split)
|
||||
manager = ModulesManager()
|
||||
sync_server = manager.modules_by_name.get("sync_server")
|
||||
sync_server_enabled = False
|
||||
if sync_server is not None:
|
||||
sync_server_enabled = sync_server.enabled
|
||||
|
||||
body_layout = QtWidgets.QHBoxLayout(body)
|
||||
body_layout.addWidget(container)
|
||||
body_layout.setContentsMargins(0, 0, 0, 0)
|
||||
repres_widget = None
|
||||
if sync_server_enabled:
|
||||
repres_widget = RepresentationWidget(
|
||||
dbcon, self.tool_name, parent=thumb_ver_splitter
|
||||
)
|
||||
thumb_ver_splitter.addWidget(repres_widget)
|
||||
|
||||
message = QtWidgets.QLabel()
|
||||
message.hide()
|
||||
main_splitter.addWidget(left_side_splitter)
|
||||
main_splitter.addWidget(subsets_widget)
|
||||
main_splitter.addWidget(thumb_ver_splitter)
|
||||
if sync_server_enabled:
|
||||
main_splitter.setSizes([250, 1000, 550])
|
||||
else:
|
||||
main_splitter.setSizes([250, 850, 200])
|
||||
|
||||
footer_layout = QtWidgets.QVBoxLayout(footer)
|
||||
footer_layout.addWidget(message)
|
||||
# --- Footer ---
|
||||
footer_widget = QtWidgets.QWidget(self)
|
||||
footer_widget.setFixedHeight(20)
|
||||
|
||||
message_label = QtWidgets.QLabel(footer_widget)
|
||||
|
||||
footer_layout = QtWidgets.QVBoxLayout(footer_widget)
|
||||
footer_layout.setContentsMargins(0, 0, 0, 0)
|
||||
footer_layout.addWidget(message_label)
|
||||
|
||||
layout = QtWidgets.QVBoxLayout(self)
|
||||
layout.addWidget(body)
|
||||
layout.addWidget(footer)
|
||||
layout.addWidget(main_splitter)
|
||||
layout.addWidget(footer_widget)
|
||||
|
||||
self.data = {
|
||||
"widgets": {
|
||||
"families": families,
|
||||
"assets": assets,
|
||||
"subsets": subsets,
|
||||
"version": version,
|
||||
"thumbnail": thumbnail,
|
||||
"representations": representations
|
||||
},
|
||||
"label": {
|
||||
"message": message,
|
||||
},
|
||||
"state": {
|
||||
"assetIds": None
|
||||
}
|
||||
}
|
||||
|
||||
families.active_changed.connect(subsets.set_family_filters)
|
||||
assets.selection_changed.connect(self.on_assetschanged)
|
||||
assets.refresh_triggered.connect(self.on_assetschanged)
|
||||
assets.view.clicked.connect(self.on_assetview_click)
|
||||
subsets.active_changed.connect(self.on_subsetschanged)
|
||||
subsets.version_changed.connect(self.on_versionschanged)
|
||||
subsets.refreshed.connect(self._on_subset_refresh)
|
||||
self.combo_projects.currentTextChanged.connect(self.on_project_change)
|
||||
message_timer = QtCore.QTimer()
|
||||
message_timer.setInterval(self.message_timeout)
|
||||
message_timer.setSingleShot(True)
|
||||
|
||||
message_timer.timeout.connect(self._on_message_timeout)
|
||||
|
||||
families_filter_view.active_changed.connect(
|
||||
self._on_family_filter_change
|
||||
)
|
||||
assets_widget.selection_changed.connect(self.on_assetschanged)
|
||||
assets_widget.refresh_triggered.connect(self.on_assetschanged)
|
||||
assets_widget.view.clicked.connect(self.on_assetview_click)
|
||||
subsets_widget.active_changed.connect(self.on_subsetschanged)
|
||||
subsets_widget.version_changed.connect(self.on_versionschanged)
|
||||
subsets_widget.refreshed.connect(self._on_subset_refresh)
|
||||
projects_combobox.currentTextChanged.connect(self.on_project_change)
|
||||
|
||||
self.sync_server = sync_server
|
||||
self._sync_server_enabled = sync_server_enabled
|
||||
|
||||
# Set default thumbnail on start
|
||||
thumbnail.set_thumbnail(None)
|
||||
self._combobox_delegate = combobox_delegate
|
||||
self._projects_combobox = projects_combobox
|
||||
self._assets_widget = assets_widget
|
||||
self._families_filter_view = families_filter_view
|
||||
|
||||
# Defaults
|
||||
if sync_server.enabled:
|
||||
split.setSizes([250, 1000, 550])
|
||||
self.resize(1800, 900)
|
||||
else:
|
||||
split.setSizes([250, 850, 200])
|
||||
self.resize(1300, 700)
|
||||
self._subsets_widget = subsets_widget
|
||||
|
||||
self._version_info_widget = version_info_widget
|
||||
self._thumbnail_widget = thumbnail_widget
|
||||
self._repres_widget = repres_widget
|
||||
|
||||
self._message_label = message_label
|
||||
self._message_timer = message_timer
|
||||
|
||||
def showEvent(self, event):
|
||||
super(LibraryLoaderWindow, self).showEvent(event)
|
||||
if self._first_show:
|
||||
self._first_show = False
|
||||
self.setStyleSheet(style.load_stylesheet())
|
||||
if self._sync_server_enabled:
|
||||
self.resize(1800, 900)
|
||||
else:
|
||||
self.resize(1300, 700)
|
||||
|
||||
if not self._initial_refresh:
|
||||
self._initial_refresh = True
|
||||
self.refresh()
|
||||
|
||||
def on_assetview_click(self, *args):
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
selection_model = subsets_widget.view.selectionModel()
|
||||
selection_model = self._subsets_widget.view.selectionModel()
|
||||
if selection_model.selectedIndexes():
|
||||
selection_model.clearSelection()
|
||||
|
||||
|
|
@ -187,7 +214,7 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
self._ignore_project_change = True
|
||||
|
||||
# Cleanup
|
||||
self.combo_projects.clear()
|
||||
self._projects_combobox.clear()
|
||||
|
||||
# Fill combobox with projects
|
||||
select_project_item = QtGui.QStandardItem("< Select project >")
|
||||
|
|
@ -202,18 +229,18 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
item.setData(project_name, QtCore.Qt.UserRole + 1)
|
||||
combobox_items.append(item)
|
||||
|
||||
root_item = self.combo_projects.model().invisibleRootItem()
|
||||
root_item = self._projects_combobox.model().invisibleRootItem()
|
||||
root_item.appendRows(combobox_items)
|
||||
|
||||
index = 0
|
||||
self._ignore_project_change = False
|
||||
|
||||
if old_project_name:
|
||||
index = self.combo_projects.findText(
|
||||
index = self._projects_combobox.findText(
|
||||
old_project_name, QtCore.Qt.MatchFixedString
|
||||
)
|
||||
|
||||
self.combo_projects.setCurrentIndex(index)
|
||||
self._projects_combobox.setCurrentIndex(index)
|
||||
|
||||
def get_filtered_projects(self):
|
||||
projects = list()
|
||||
|
|
@ -231,8 +258,8 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
if self._ignore_project_change:
|
||||
return
|
||||
|
||||
row = self.combo_projects.currentIndex()
|
||||
index = self.combo_projects.model().index(row, 0)
|
||||
row = self._projects_combobox.currentIndex()
|
||||
index = self._projects_combobox.model().index(row, 0)
|
||||
project_name = index.data(QtCore.Qt.UserRole + 1)
|
||||
|
||||
self.dbcon.Session["AVALON_PROJECT"] = project_name
|
||||
|
|
@ -245,11 +272,9 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
"Config `%s` has no function `install`" % _config.__name__
|
||||
)
|
||||
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
representations = self.data["widgets"]["representations"]
|
||||
|
||||
subsets.on_project_change(self.dbcon.Session["AVALON_PROJECT"])
|
||||
representations.on_project_change(self.dbcon.Session["AVALON_PROJECT"])
|
||||
self._subsets_widget.on_project_change(project_name)
|
||||
if self._repres_widget:
|
||||
self._repres_widget.on_project_change(project_name)
|
||||
|
||||
self.family_config_cache.refresh()
|
||||
self.groups_config.refresh()
|
||||
|
|
@ -263,13 +288,7 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
|
||||
@property
|
||||
def current_project(self):
|
||||
if (
|
||||
not self.dbcon.active_project() or
|
||||
self.dbcon.active_project() == ""
|
||||
):
|
||||
return None
|
||||
|
||||
return self.dbcon.active_project()
|
||||
return self.dbcon.active_project() or None
|
||||
|
||||
# -------------------------------
|
||||
# Delay calling blocking methods
|
||||
|
|
@ -292,12 +311,11 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
tools_lib.schedule(self._versionschanged, 150, channel="mongo")
|
||||
|
||||
def _on_subset_refresh(self, has_item):
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
families_view = self.data["widgets"]["families"]
|
||||
|
||||
subsets_widget.set_loading_state(loading=False, empty=not has_item)
|
||||
families = subsets_widget.get_subsets_families()
|
||||
families_view.set_enabled_families(families)
|
||||
self._subsets_widget.set_loading_state(
|
||||
loading=False, empty=not has_item
|
||||
)
|
||||
families = self._subsets_widget.get_subsets_families()
|
||||
self._families_filter_view.set_enabled_families(families)
|
||||
|
||||
def set_context(self, context, refresh=True):
|
||||
self.echo("Setting context: {}".format(context))
|
||||
|
|
@ -307,6 +325,9 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
)
|
||||
|
||||
# ------------------------------
|
||||
def _on_family_filter_change(self, families):
|
||||
self._subsets_widget.set_family_filters(families)
|
||||
|
||||
def _refresh(self):
|
||||
if not self._initial_refresh:
|
||||
self._initial_refresh = True
|
||||
|
|
@ -322,74 +343,69 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
)
|
||||
assert project_doc, "This is a bug"
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
families_view = self.data["widgets"]["families"]
|
||||
families_view.set_enabled_families(set())
|
||||
families_view.refresh()
|
||||
self._families_filter_view.set_enabled_families(set())
|
||||
self._families_filter_view.refresh()
|
||||
|
||||
assets_widget.model.stop_fetch_thread()
|
||||
assets_widget.refresh()
|
||||
assets_widget.setFocus()
|
||||
self._assets_widget.model.stop_fetch_thread()
|
||||
self._assets_widget.refresh()
|
||||
self._assets_widget.setFocus()
|
||||
|
||||
def clear_assets_underlines(self):
|
||||
last_asset_ids = self.data["state"]["assetIds"]
|
||||
if not last_asset_ids:
|
||||
return
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
id_role = assets_widget.model.ObjectIdRole
|
||||
assets_model = self._assets_widget.model
|
||||
id_role = assets_model.ObjectIdRole
|
||||
|
||||
for index in tools_lib.iter_model_rows(assets_widget.model, 0):
|
||||
for index in tools_lib.iter_model_rows(assets_model, 0):
|
||||
if index.data(id_role) not in last_asset_ids:
|
||||
continue
|
||||
|
||||
assets_widget.model.setData(
|
||||
index, [], assets_widget.model.subsetColorsRole
|
||||
assets_model.setData(
|
||||
index, [], assets_model.subsetColorsRole
|
||||
)
|
||||
|
||||
def _assetschanged(self):
|
||||
"""Selected assets have changed"""
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
subsets_model = subsets_widget.model
|
||||
subsets_model = self._subsets_widget.model
|
||||
|
||||
subsets_model.clear()
|
||||
self.clear_assets_underlines()
|
||||
|
||||
if not self.dbcon.Session.get("AVALON_PROJECT"):
|
||||
subsets_widget.set_loading_state(
|
||||
self._subsets_widget.set_loading_state(
|
||||
loading=False,
|
||||
empty=True
|
||||
)
|
||||
return
|
||||
|
||||
# filter None docs they are silo
|
||||
asset_docs = assets_widget.get_selected_assets()
|
||||
asset_docs = self._assets_widget.get_selected_assets()
|
||||
if len(asset_docs) == 0:
|
||||
return
|
||||
|
||||
asset_ids = [asset_doc["_id"] for asset_doc in asset_docs]
|
||||
# Start loading
|
||||
subsets_widget.set_loading_state(
|
||||
self._subsets_widget.set_loading_state(
|
||||
loading=bool(asset_ids),
|
||||
empty=True
|
||||
)
|
||||
|
||||
subsets_model.set_assets(asset_ids)
|
||||
subsets_widget.view.setColumnHidden(
|
||||
self._subsets_widget.view.setColumnHidden(
|
||||
subsets_model.Columns.index("asset"),
|
||||
len(asset_ids) < 2
|
||||
)
|
||||
|
||||
# Clear the version information on asset change
|
||||
self.data["widgets"]["version"].set_version(None)
|
||||
self.data["widgets"]["thumbnail"].set_thumbnail(asset_docs)
|
||||
self._version_info_widget.set_version(None)
|
||||
self._thumbnail_widget.set_thumbnail(asset_docs)
|
||||
|
||||
self.data["state"]["assetIds"] = asset_ids
|
||||
|
||||
representations = self.data["widgets"]["representations"]
|
||||
# reset repre list
|
||||
representations.set_version_ids([])
|
||||
self._repres_widget.set_version_ids([])
|
||||
|
||||
def _subsetschanged(self):
|
||||
asset_ids = self.data["state"]["assetIds"]
|
||||
|
|
@ -398,8 +414,9 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
self._versionschanged()
|
||||
return
|
||||
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
selected_subsets = subsets.selected_subsets(_merged=True, _other=False)
|
||||
selected_subsets = self._subsets_widget.selected_subsets(
|
||||
_merged=True, _other=False
|
||||
)
|
||||
|
||||
asset_models = {}
|
||||
asset_ids = []
|
||||
|
|
@ -420,26 +437,24 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
|
||||
self.clear_assets_underlines()
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
indexes = assets_widget.view.selectionModel().selectedRows()
|
||||
indexes = self._assets_widget.view.selectionModel().selectedRows()
|
||||
|
||||
assets_model = self._assets_widget.model
|
||||
for index in indexes:
|
||||
id = index.data(assets_widget.model.ObjectIdRole)
|
||||
id = index.data(assets_model.ObjectIdRole)
|
||||
if id not in asset_models:
|
||||
continue
|
||||
|
||||
assets_widget.model.setData(
|
||||
index, asset_models[id], assets_widget.model.subsetColorsRole
|
||||
assets_model.setData(
|
||||
index, asset_models[id], assets_model.subsetColorsRole
|
||||
)
|
||||
# Trigger repaint
|
||||
assets_widget.view.updateGeometries()
|
||||
self._assets_widget.view.updateGeometries()
|
||||
# Set version in Version Widget
|
||||
self._versionschanged()
|
||||
|
||||
def _versionschanged(self):
|
||||
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
selection = subsets.view.selectionModel()
|
||||
selection = self._subsets_widget.view.selectionModel()
|
||||
|
||||
# Active must be in the selected rows otherwise we
|
||||
# assume it's not actually an "active" current index.
|
||||
|
|
@ -448,7 +463,7 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
active = selection.currentIndex()
|
||||
rows = selection.selectedRows(column=active.column())
|
||||
if active and active in rows:
|
||||
item = active.data(subsets.model.ItemRole)
|
||||
item = active.data(self._subsets_widget.model.ItemRole)
|
||||
if (
|
||||
item is not None
|
||||
and not (item.get("isGroup") or item.get("isMerged"))
|
||||
|
|
@ -460,7 +475,7 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
for index in rows:
|
||||
if not index or not index.isValid():
|
||||
continue
|
||||
item = index.data(subsets.model.ItemRole)
|
||||
item = index.data(self._subsets_widget.model.ItemRole)
|
||||
if (
|
||||
item is None
|
||||
or item.get("isGroup")
|
||||
|
|
@ -469,20 +484,18 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
continue
|
||||
version_docs.append(item["version_document"])
|
||||
|
||||
self.data["widgets"]["version"].set_version(version_doc)
|
||||
self._version_info_widget.set_version(version_doc)
|
||||
|
||||
thumbnail_docs = version_docs
|
||||
if not thumbnail_docs:
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
asset_docs = assets_widget.get_selected_assets()
|
||||
asset_docs = self._assets_widget.get_selected_assets()
|
||||
if len(asset_docs) > 0:
|
||||
thumbnail_docs = asset_docs
|
||||
|
||||
self.data["widgets"]["thumbnail"].set_thumbnail(thumbnail_docs)
|
||||
self._thumbnail_widget.set_thumbnail(thumbnail_docs)
|
||||
|
||||
representations = self.data["widgets"]["representations"]
|
||||
version_ids = [doc["_id"] for doc in version_docs or []]
|
||||
representations.set_version_ids(version_ids)
|
||||
self._repres_widget.set_version_ids(version_ids)
|
||||
|
||||
def _set_context(self, context, refresh=True):
|
||||
"""Set the selection in the interface using a context.
|
||||
|
|
@ -510,16 +523,15 @@ class LibraryLoaderWindow(QtWidgets.QDialog):
|
|||
# scheduled refresh and the silo tabs are not shown.
|
||||
self._refresh_assets()
|
||||
|
||||
asset_widget = self.data["widgets"]["assets"]
|
||||
asset_widget.select_assets(asset)
|
||||
self._assets_widget.select_assets(asset)
|
||||
|
||||
def _on_message_timeout(self):
|
||||
self._message_label.setText("")
|
||||
|
||||
def echo(self, message):
|
||||
widget = self.data["label"]["message"]
|
||||
widget.setText(str(message))
|
||||
widget.show()
|
||||
self._message_label.setText(str(message))
|
||||
print(message)
|
||||
|
||||
tools_lib.schedule(widget.hide, 5000, channel="message")
|
||||
self._message_timer.start()
|
||||
|
||||
def closeEvent(self, event):
|
||||
# Kill on holding SHIFT
|
||||
|
|
@ -576,7 +588,6 @@ def show(
|
|||
window = LibraryLoaderWindow(
|
||||
parent, icon, show_projects, show_libraries
|
||||
)
|
||||
window.setStyleSheet(style.load_stylesheet())
|
||||
window.show()
|
||||
|
||||
module.window = window
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import sys
|
||||
|
||||
from Qt import QtWidgets, QtCore
|
||||
from avalon import api, io, style, pipeline
|
||||
from avalon import api, io, pipeline
|
||||
|
||||
from openpype import style
|
||||
from openpype.tools.utils.widgets import AssetWidget
|
||||
|
||||
from openpype.tools.utils import lib
|
||||
|
||||
from .widgets import (
|
||||
|
|
@ -37,6 +37,7 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
"""Asset loader interface"""
|
||||
|
||||
tool_name = "loader"
|
||||
message_timeout = 5000
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super(LoaderWindow, self).__init__(parent)
|
||||
|
|
@ -57,83 +58,85 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
self.setWindowFlags(window_flags)
|
||||
self.setFocusPolicy(QtCore.Qt.StrongFocus)
|
||||
|
||||
body = QtWidgets.QWidget()
|
||||
footer = QtWidgets.QWidget()
|
||||
footer.setFixedHeight(20)
|
||||
main_splitter = QtWidgets.QSplitter(self)
|
||||
|
||||
container = QtWidgets.QWidget()
|
||||
# --- Left part ---
|
||||
left_side_splitter = QtWidgets.QSplitter(main_splitter)
|
||||
left_side_splitter.setOrientation(QtCore.Qt.Vertical)
|
||||
|
||||
assets = AssetWidget(io, multiselection=True, parent=self)
|
||||
assets.set_current_asset_btn_visibility(True)
|
||||
# Assets widget
|
||||
assets_widget = AssetWidget(
|
||||
io, multiselection=True, parent=left_side_splitter
|
||||
)
|
||||
assets_widget.set_current_asset_btn_visibility(True)
|
||||
|
||||
families = FamilyListView(io, self.family_config_cache, self)
|
||||
subsets = SubsetWidget(
|
||||
# Families widget
|
||||
families_filter_view = FamilyListView(
|
||||
io, self.family_config_cache, left_side_splitter
|
||||
)
|
||||
left_side_splitter.addWidget(assets_widget)
|
||||
left_side_splitter.addWidget(families_filter_view)
|
||||
left_side_splitter.setStretchFactor(0, 65)
|
||||
left_side_splitter.setStretchFactor(1, 35)
|
||||
|
||||
# --- Middle part ---
|
||||
# Subsets widget
|
||||
subsets_widget = SubsetWidget(
|
||||
io,
|
||||
self.groups_config,
|
||||
self.family_config_cache,
|
||||
tool_name=self.tool_name,
|
||||
parent=self
|
||||
parent=main_splitter
|
||||
)
|
||||
version = VersionWidget(io)
|
||||
thumbnail = ThumbnailWidget(io)
|
||||
representations = RepresentationWidget(io, self.tool_name)
|
||||
|
||||
manager = ModulesManager()
|
||||
sync_server = manager.modules_by_name["sync_server"]
|
||||
|
||||
thumb_ver_splitter = QtWidgets.QSplitter()
|
||||
# --- Right part ---
|
||||
thumb_ver_splitter = QtWidgets.QSplitter(main_splitter)
|
||||
thumb_ver_splitter.setOrientation(QtCore.Qt.Vertical)
|
||||
thumb_ver_splitter.addWidget(thumbnail)
|
||||
thumb_ver_splitter.addWidget(version)
|
||||
if sync_server.enabled:
|
||||
thumb_ver_splitter.addWidget(representations)
|
||||
|
||||
thumbnail_widget = ThumbnailWidget(io, parent=thumb_ver_splitter)
|
||||
version_info_widget = VersionWidget(io, parent=thumb_ver_splitter)
|
||||
|
||||
thumb_ver_splitter.addWidget(thumbnail_widget)
|
||||
thumb_ver_splitter.addWidget(version_info_widget)
|
||||
|
||||
thumb_ver_splitter.setStretchFactor(0, 30)
|
||||
thumb_ver_splitter.setStretchFactor(1, 35)
|
||||
|
||||
# Create splitter to show / hide family filters
|
||||
asset_filter_splitter = QtWidgets.QSplitter()
|
||||
asset_filter_splitter.setOrientation(QtCore.Qt.Vertical)
|
||||
asset_filter_splitter.addWidget(assets)
|
||||
asset_filter_splitter.addWidget(families)
|
||||
asset_filter_splitter.setStretchFactor(0, 65)
|
||||
asset_filter_splitter.setStretchFactor(1, 35)
|
||||
manager = ModulesManager()
|
||||
sync_server = manager.modules_by_name.get("sync_server")
|
||||
sync_server_enabled = False
|
||||
if sync_server is not None:
|
||||
sync_server_enabled = sync_server.enabled
|
||||
|
||||
container_layout = QtWidgets.QHBoxLayout(container)
|
||||
container_layout.setContentsMargins(0, 0, 0, 0)
|
||||
split = QtWidgets.QSplitter()
|
||||
split.addWidget(asset_filter_splitter)
|
||||
split.addWidget(subsets)
|
||||
split.addWidget(thumb_ver_splitter)
|
||||
repres_widget = None
|
||||
if sync_server_enabled:
|
||||
repres_widget = RepresentationWidget(
|
||||
io, self.tool_name, parent=thumb_ver_splitter
|
||||
)
|
||||
thumb_ver_splitter.addWidget(repres_widget)
|
||||
|
||||
container_layout.addWidget(split)
|
||||
main_splitter.addWidget(left_side_splitter)
|
||||
main_splitter.addWidget(subsets_widget)
|
||||
main_splitter.addWidget(thumb_ver_splitter)
|
||||
|
||||
body_layout = QtWidgets.QHBoxLayout(body)
|
||||
body_layout.addWidget(container)
|
||||
body_layout.setContentsMargins(0, 0, 0, 0)
|
||||
if sync_server_enabled:
|
||||
main_splitter.setSizes([250, 1000, 550])
|
||||
else:
|
||||
main_splitter.setSizes([250, 850, 200])
|
||||
|
||||
message = QtWidgets.QLabel()
|
||||
message.hide()
|
||||
footer_widget = QtWidgets.QWidget(self)
|
||||
|
||||
footer_layout = QtWidgets.QVBoxLayout(footer)
|
||||
footer_layout.addWidget(message)
|
||||
message_label = QtWidgets.QLabel(footer_widget)
|
||||
|
||||
footer_layout = QtWidgets.QHBoxLayout(footer_widget)
|
||||
footer_layout.setContentsMargins(0, 0, 0, 0)
|
||||
footer_layout.addWidget(message_label, 1)
|
||||
|
||||
layout = QtWidgets.QVBoxLayout(self)
|
||||
layout.addWidget(body)
|
||||
layout.addWidget(footer)
|
||||
layout.addWidget(main_splitter, 1)
|
||||
layout.addWidget(footer_widget, 0)
|
||||
|
||||
self.data = {
|
||||
"widgets": {
|
||||
"families": families,
|
||||
"assets": assets,
|
||||
"subsets": subsets,
|
||||
"version": version,
|
||||
"thumbnail": thumbnail,
|
||||
"representations": representations
|
||||
},
|
||||
"label": {
|
||||
"message": message,
|
||||
},
|
||||
"state": {
|
||||
"assetIds": None
|
||||
}
|
||||
|
|
@ -142,19 +145,43 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
overlay_frame = OverlayFrame("Loading...", self)
|
||||
overlay_frame.setVisible(False)
|
||||
|
||||
families.active_changed.connect(subsets.set_family_filters)
|
||||
assets.selection_changed.connect(self.on_assetschanged)
|
||||
assets.refresh_triggered.connect(self.on_assetschanged)
|
||||
assets.view.clicked.connect(self.on_assetview_click)
|
||||
subsets.active_changed.connect(self.on_subsetschanged)
|
||||
subsets.version_changed.connect(self.on_versionschanged)
|
||||
subsets.refreshed.connect(self._on_subset_refresh)
|
||||
message_timer = QtCore.QTimer()
|
||||
message_timer.setInterval(self.message_timeout)
|
||||
message_timer.setSingleShot(True)
|
||||
|
||||
subsets.load_started.connect(self._on_load_start)
|
||||
subsets.load_ended.connect(self._on_load_end)
|
||||
representations.load_started.connect(self._on_load_start)
|
||||
representations.load_ended.connect(self._on_load_end)
|
||||
message_timer.timeout.connect(self._on_message_timeout)
|
||||
|
||||
families_filter_view.active_changed.connect(
|
||||
self._on_family_filter_change
|
||||
)
|
||||
assets_widget.selection_changed.connect(self.on_assetschanged)
|
||||
assets_widget.refresh_triggered.connect(self.on_assetschanged)
|
||||
# TODO do not touch view in asset widget
|
||||
assets_widget.view.clicked.connect(self.on_assetview_click)
|
||||
subsets_widget.active_changed.connect(self.on_subsetschanged)
|
||||
subsets_widget.version_changed.connect(self.on_versionschanged)
|
||||
subsets_widget.refreshed.connect(self._on_subset_refresh)
|
||||
|
||||
subsets_widget.load_started.connect(self._on_load_start)
|
||||
subsets_widget.load_ended.connect(self._on_load_end)
|
||||
repres_widget.load_started.connect(self._on_load_start)
|
||||
repres_widget.load_ended.connect(self._on_load_end)
|
||||
|
||||
self._sync_server_enabled = sync_server_enabled
|
||||
|
||||
self._assets_widget = assets_widget
|
||||
self._families_filter_view = families_filter_view
|
||||
|
||||
self._subsets_widget = subsets_widget
|
||||
|
||||
self._version_info_widget = version_info_widget
|
||||
self._thumbnail_widget = thumbnail_widget
|
||||
self._repres_widget = repres_widget
|
||||
|
||||
self._message_label = message_label
|
||||
self._message_timer = message_timer
|
||||
|
||||
# TODO add overlay using stack widget
|
||||
self._overlay_frame = overlay_frame
|
||||
|
||||
self.family_config_cache.refresh()
|
||||
|
|
@ -163,13 +190,7 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
self._refresh()
|
||||
self._assetschanged()
|
||||
|
||||
# Defaults
|
||||
if sync_server.enabled:
|
||||
split.setSizes([250, 1000, 550])
|
||||
self.resize(1800, 900)
|
||||
else:
|
||||
split.setSizes([250, 850, 200])
|
||||
self.resize(1300, 700)
|
||||
self._first_show = True
|
||||
|
||||
def resizeEvent(self, event):
|
||||
super(LoaderWindow, self).resizeEvent(event)
|
||||
|
|
@ -179,13 +200,23 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
super(LoaderWindow, self).moveEvent(event)
|
||||
self._overlay_frame.move(0, 0)
|
||||
|
||||
def showEvent(self, event):
|
||||
super(LoaderWindow, self).showEvent(event)
|
||||
if self._first_show:
|
||||
self._first_show = False
|
||||
self.setStyleSheet(style.load_stylesheet())
|
||||
if self._sync_server_enabled:
|
||||
self.resize(1800, 900)
|
||||
else:
|
||||
self.resize(1300, 700)
|
||||
|
||||
# -------------------------------
|
||||
# Delay calling blocking methods
|
||||
# -------------------------------
|
||||
|
||||
def on_assetview_click(self, *args):
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
selection_model = subsets_widget.view.selectionModel()
|
||||
# TODO do not touch inner attributes of subset widget
|
||||
selection_model = self._subsets_widget.view.selectionModel()
|
||||
if selection_model.selectedIndexes():
|
||||
selection_model.clearSelection()
|
||||
|
||||
|
|
@ -219,12 +250,11 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
self._overlay_frame.setVisible(False)
|
||||
|
||||
def _on_subset_refresh(self, has_item):
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
families_view = self.data["widgets"]["families"]
|
||||
|
||||
subsets_widget.set_loading_state(loading=False, empty=not has_item)
|
||||
families = subsets_widget.get_subsets_families()
|
||||
families_view.set_enabled_families(families)
|
||||
self._subsets_widget.set_loading_state(
|
||||
loading=False, empty=not has_item
|
||||
)
|
||||
families = self._subsets_widget.get_subsets_families()
|
||||
self._families_filter_view.set_enabled_families(families)
|
||||
|
||||
def _on_load_end(self):
|
||||
# Delay hiding as click events happened during loading should be
|
||||
|
|
@ -232,14 +262,14 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
QtCore.QTimer.singleShot(100, self._hide_overlay)
|
||||
|
||||
# ------------------------------
|
||||
def _on_family_filter_change(self, families):
|
||||
self._subsets_widget.set_family_filters(families)
|
||||
|
||||
def on_context_task_change(self, *args, **kwargs):
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
families_view = self.data["widgets"]["families"]
|
||||
# Refresh families config
|
||||
families_view.refresh()
|
||||
self._families_filter_view.refresh()
|
||||
# Change to context asset on context change
|
||||
assets_widget.select_assets(io.Session["AVALON_ASSET"])
|
||||
self._assets_widget.select_assets(io.Session["AVALON_ASSET"])
|
||||
|
||||
def _refresh(self):
|
||||
"""Load assets from database"""
|
||||
|
|
@ -248,12 +278,10 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
project = io.find_one({"type": "project"}, {"type": 1})
|
||||
assert project, "Project was not found! This is a bug"
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
assets_widget.refresh()
|
||||
assets_widget.setFocus()
|
||||
self._assets_widget.refresh()
|
||||
self._assets_widget.setFocus()
|
||||
|
||||
families_view = self.data["widgets"]["families"]
|
||||
families_view.refresh()
|
||||
self._families_filter_view.refresh()
|
||||
|
||||
def clear_assets_underlines(self):
|
||||
"""Clear colors from asset data to remove colored underlines
|
||||
|
|
@ -261,11 +289,12 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
own selected subsets. These colors must be cleared from asset data
|
||||
on selection change so they match current selection.
|
||||
"""
|
||||
last_asset_ids = self.data["state"]["assetIds"]
|
||||
# TODO do not touch inner attributes of asset widget
|
||||
last_asset_ids = self.data["state"]["assetIds"] or []
|
||||
if not last_asset_ids:
|
||||
return
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
assets_widget = self._assets_widget
|
||||
id_role = assets_widget.model.ObjectIdRole
|
||||
|
||||
for index in lib.iter_model_rows(assets_widget.model, 0):
|
||||
|
|
@ -278,15 +307,15 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
|
||||
def _assetschanged(self):
|
||||
"""Selected assets have changed"""
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
subsets_widget = self.data["widgets"]["subsets"]
|
||||
subsets_widget = self._subsets_widget
|
||||
# TODO do not touch subset widget inner attributes
|
||||
subsets_model = subsets_widget.model
|
||||
|
||||
subsets_model.clear()
|
||||
self.clear_assets_underlines()
|
||||
|
||||
# filter None docs they are silo
|
||||
asset_docs = assets_widget.get_selected_assets()
|
||||
asset_docs = self._assets_widget.get_selected_assets()
|
||||
|
||||
asset_ids = [asset_doc["_id"] for asset_doc in asset_docs]
|
||||
# Start loading
|
||||
|
|
@ -302,14 +331,14 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
)
|
||||
|
||||
# Clear the version information on asset change
|
||||
self.data["widgets"]["version"].set_version(None)
|
||||
self.data["widgets"]["thumbnail"].set_thumbnail(asset_docs)
|
||||
self._thumbnail_widget.set_thumbnail(asset_docs)
|
||||
self._version_info_widget.set_version(None)
|
||||
|
||||
self.data["state"]["assetIds"] = asset_ids
|
||||
|
||||
representations = self.data["widgets"]["representations"]
|
||||
# reset repre list
|
||||
representations.set_version_ids([])
|
||||
if self._repres_widget is not None:
|
||||
self._repres_widget.set_version_ids([])
|
||||
|
||||
def _subsetschanged(self):
|
||||
asset_ids = self.data["state"]["assetIds"]
|
||||
|
|
@ -318,8 +347,9 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
self._versionschanged()
|
||||
return
|
||||
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
selected_subsets = subsets.selected_subsets(_merged=True, _other=False)
|
||||
selected_subsets = self._subsets_widget.selected_subsets(
|
||||
_merged=True, _other=False
|
||||
)
|
||||
|
||||
asset_models = {}
|
||||
asset_ids = []
|
||||
|
|
@ -340,7 +370,8 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
|
||||
self.clear_assets_underlines()
|
||||
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
# TODO do not use inner attributes of asset widget
|
||||
assets_widget = self._assets_widget
|
||||
indexes = assets_widget.view.selectionModel().selectedRows()
|
||||
|
||||
for index in indexes:
|
||||
|
|
@ -357,7 +388,7 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
self._versionschanged()
|
||||
|
||||
def _versionschanged(self):
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
subsets = self._subsets_widget
|
||||
selection = subsets.view.selectionModel()
|
||||
|
||||
# Active must be in the selected rows otherwise we
|
||||
|
|
@ -389,23 +420,24 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
else:
|
||||
version_docs.append(item["version_document"])
|
||||
|
||||
self.data["widgets"]["version"].set_version(version_doc)
|
||||
self._version_info_widget.set_version(version_doc)
|
||||
|
||||
thumbnail_docs = version_docs
|
||||
assets_widget = self.data["widgets"]["assets"]
|
||||
asset_docs = assets_widget.get_selected_assets()
|
||||
asset_docs = self._assets_widget.get_selected_assets()
|
||||
if not thumbnail_docs:
|
||||
if len(asset_docs) > 0:
|
||||
thumbnail_docs = asset_docs
|
||||
|
||||
self.data["widgets"]["thumbnail"].set_thumbnail(thumbnail_docs)
|
||||
self._thumbnail_widget.set_thumbnail(thumbnail_docs)
|
||||
|
||||
representations = self.data["widgets"]["representations"]
|
||||
version_ids = [doc["_id"] for doc in version_docs or []]
|
||||
representations.set_version_ids(version_ids)
|
||||
if self._repres_widget is not None:
|
||||
version_ids = [doc["_id"] for doc in version_docs or []]
|
||||
self._repres_widget.set_version_ids(version_ids)
|
||||
|
||||
# representations.change_visibility("subset", len(rows) > 1)
|
||||
# representations.change_visibility("asset", len(asset_docs) > 1)
|
||||
# self._repres_widget.change_visibility("subset", len(rows) > 1)
|
||||
# self._repres_widget.change_visibility(
|
||||
# "asset", len(asset_docs) > 1
|
||||
# )
|
||||
|
||||
def _set_context(self, context, refresh=True):
|
||||
"""Set the selection in the interface using a context.
|
||||
|
|
@ -438,16 +470,15 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
# scheduled refresh and the silo tabs are not shown.
|
||||
self._refresh()
|
||||
|
||||
asset_widget = self.data["widgets"]["assets"]
|
||||
asset_widget.select_assets(asset)
|
||||
self._assets_widget.select_assets(asset)
|
||||
|
||||
def _on_message_timeout(self):
|
||||
self._message_label.setText("")
|
||||
|
||||
def echo(self, message):
|
||||
widget = self.data["label"]["message"]
|
||||
widget.setText(str(message))
|
||||
widget.show()
|
||||
self._message_label.setText(str(message))
|
||||
print(message)
|
||||
|
||||
lib.schedule(widget.hide, 5000, channel="message")
|
||||
self._message_timer.start()
|
||||
|
||||
def closeEvent(self, event):
|
||||
# Kill on holding SHIFT
|
||||
|
|
@ -475,7 +506,7 @@ class LoaderWindow(QtWidgets.QDialog):
|
|||
event.setAccepted(True) # Avoid interfering other widgets
|
||||
|
||||
def show_grouping_dialog(self):
|
||||
subsets = self.data["widgets"]["subsets"]
|
||||
subsets = self._subsets_widget
|
||||
if not subsets.is_groupable():
|
||||
self.echo("Grouping not enabled.")
|
||||
return
|
||||
|
|
@ -514,7 +545,8 @@ class SubsetGroupingDialog(QtWidgets.QDialog):
|
|||
|
||||
self.items = items
|
||||
self.groups_config = groups_config
|
||||
self.subsets = parent.data["widgets"]["subsets"]
|
||||
# TODO do not touch inner attributes
|
||||
self.subsets = parent._subsets_widget
|
||||
self.asset_ids = parent.data["state"]["assetIds"]
|
||||
|
||||
name = QtWidgets.QLineEdit()
|
||||
|
|
@ -633,7 +665,6 @@ def show(debug=False, parent=None, use_context=False):
|
|||
|
||||
with lib.application():
|
||||
window = LoaderWindow(parent)
|
||||
window.setStyleSheet(style.load_stylesheet())
|
||||
window.show()
|
||||
|
||||
if use_context:
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 5 KiB |
|
|
@ -37,12 +37,13 @@ class OverlayFrame(QtWidgets.QFrame):
|
|||
super(OverlayFrame, self).__init__(parent)
|
||||
|
||||
label_widget = QtWidgets.QLabel(label, self)
|
||||
label_widget.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
||||
|
||||
main_layout = QtWidgets.QVBoxLayout(self)
|
||||
main_layout.addWidget(label_widget, 1, QtCore.Qt.AlignCenter)
|
||||
|
||||
self.label_widget = label_widget
|
||||
|
||||
label_widget.setStyleSheet("background: transparent;")
|
||||
self.setStyleSheet((
|
||||
"background: rgba(0, 0, 0, 127);"
|
||||
"font-size: 60pt;"
|
||||
|
|
@ -159,36 +160,40 @@ class SubsetWidget(QtWidgets.QWidget):
|
|||
grouping=enable_grouping
|
||||
)
|
||||
proxy = SubsetFilterProxyModel()
|
||||
proxy.setSourceModel(model)
|
||||
proxy.setDynamicSortFilter(True)
|
||||
proxy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
|
||||
family_proxy = FamiliesFilterProxyModel()
|
||||
family_proxy.setSourceModel(proxy)
|
||||
|
||||
subset_filter = QtWidgets.QLineEdit()
|
||||
subset_filter = QtWidgets.QLineEdit(self)
|
||||
subset_filter.setPlaceholderText("Filter subsets..")
|
||||
|
||||
groupable = QtWidgets.QCheckBox("Enable Grouping")
|
||||
groupable.setChecked(enable_grouping)
|
||||
group_checkbox = QtWidgets.QCheckBox("Enable Grouping", self)
|
||||
group_checkbox.setChecked(enable_grouping)
|
||||
|
||||
top_bar_layout = QtWidgets.QHBoxLayout()
|
||||
top_bar_layout.addWidget(subset_filter)
|
||||
top_bar_layout.addWidget(groupable)
|
||||
top_bar_layout.addWidget(group_checkbox)
|
||||
|
||||
view = TreeViewSpinner()
|
||||
view = TreeViewSpinner(self)
|
||||
view.setModel(family_proxy)
|
||||
view.setObjectName("SubsetView")
|
||||
view.setIndentation(20)
|
||||
view.setStyleSheet("""
|
||||
QTreeView::item{
|
||||
padding: 5px 1px;
|
||||
border: 0px;
|
||||
}
|
||||
""")
|
||||
view.setAllColumnsShowFocus(True)
|
||||
view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
view.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
view.setSortingEnabled(True)
|
||||
view.sortByColumn(1, QtCore.Qt.AscendingOrder)
|
||||
view.setAlternatingRowColors(True)
|
||||
|
||||
# Set view delegates
|
||||
version_delegate = VersionDelegate(self.dbcon)
|
||||
version_delegate = VersionDelegate(self.dbcon, view)
|
||||
column = model.Columns.index("version")
|
||||
view.setItemDelegateForColumn(column, version_delegate)
|
||||
|
||||
time_delegate = PrettyTimeDelegate()
|
||||
time_delegate = PrettyTimeDelegate(view)
|
||||
column = model.Columns.index("time")
|
||||
view.setItemDelegateForColumn(column, time_delegate)
|
||||
|
||||
|
|
@ -197,54 +202,39 @@ class SubsetWidget(QtWidgets.QWidget):
|
|||
layout.addLayout(top_bar_layout)
|
||||
layout.addWidget(view)
|
||||
|
||||
view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
view.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||
view.setSortingEnabled(True)
|
||||
view.sortByColumn(1, QtCore.Qt.AscendingOrder)
|
||||
view.setAlternatingRowColors(True)
|
||||
|
||||
self.data = {
|
||||
"delegates": {
|
||||
"version": version_delegate,
|
||||
"time": time_delegate
|
||||
},
|
||||
"state": {
|
||||
"groupable": groupable
|
||||
}
|
||||
}
|
||||
|
||||
self.proxy = proxy
|
||||
self.model = model
|
||||
self.view = view
|
||||
self.filter = subset_filter
|
||||
self.family_proxy = family_proxy
|
||||
|
||||
# settings and connections
|
||||
self.proxy.setSourceModel(self.model)
|
||||
self.proxy.setDynamicSortFilter(True)
|
||||
self.proxy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
|
||||
self.view.setModel(self.family_proxy)
|
||||
self.view.customContextMenuRequested.connect(self.on_context_menu)
|
||||
|
||||
for column_name, width in self.default_widths:
|
||||
idx = model.Columns.index(column_name)
|
||||
view.setColumnWidth(idx, width)
|
||||
|
||||
self.model = model
|
||||
self.view = view
|
||||
|
||||
actual_project = dbcon.Session["AVALON_PROJECT"]
|
||||
self.on_project_change(actual_project)
|
||||
|
||||
view.customContextMenuRequested.connect(self.on_context_menu)
|
||||
|
||||
selection = view.selectionModel()
|
||||
selection.selectionChanged.connect(self.active_changed)
|
||||
|
||||
version_delegate.version_changed.connect(self.version_changed)
|
||||
|
||||
groupable.stateChanged.connect(self.set_grouping)
|
||||
group_checkbox.stateChanged.connect(self.set_grouping)
|
||||
|
||||
self.filter.textChanged.connect(self.proxy.setFilterRegExp)
|
||||
self.filter.textChanged.connect(self.view.expandAll)
|
||||
subset_filter.textChanged.connect(proxy.setFilterRegExp)
|
||||
subset_filter.textChanged.connect(view.expandAll)
|
||||
model.refreshed.connect(self.refreshed)
|
||||
|
||||
self.proxy = proxy
|
||||
self.family_proxy = family_proxy
|
||||
|
||||
self._subset_filter = subset_filter
|
||||
self._group_checkbox = group_checkbox
|
||||
|
||||
self._version_delegate = version_delegate
|
||||
self._time_delegate = time_delegate
|
||||
|
||||
self.model.refresh()
|
||||
|
||||
def get_subsets_families(self):
|
||||
|
|
@ -254,7 +244,7 @@ class SubsetWidget(QtWidgets.QWidget):
|
|||
self.family_proxy.setFamiliesFilter(families)
|
||||
|
||||
def is_groupable(self):
|
||||
return self.data["state"]["groupable"].checkState()
|
||||
return self._group_checkbox.isChecked()
|
||||
|
||||
def set_grouping(self, state):
|
||||
with tools_lib.preserve_selection(tree_view=self.view,
|
||||
|
|
@ -755,6 +745,7 @@ class ThumbnailWidget(QtWidgets.QLabel):
|
|||
"default_thumbnail.png"
|
||||
)
|
||||
self.default_pix = QtGui.QPixmap(default_pix_path)
|
||||
self.set_pixmap()
|
||||
|
||||
def height(self):
|
||||
width = self.width()
|
||||
|
|
@ -1131,7 +1122,8 @@ class RepresentationWidget(QtWidgets.QWidget):
|
|||
|
||||
label = QtWidgets.QLabel("Representations", self)
|
||||
|
||||
tree_view = DeselectableTreeView()
|
||||
tree_view = DeselectableTreeView(parent=self)
|
||||
tree_view.setObjectName("RepresentationView")
|
||||
tree_view.setModel(proxy_model)
|
||||
tree_view.setAllColumnsShowFocus(True)
|
||||
tree_view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
|
|
@ -1141,12 +1133,6 @@ class RepresentationWidget(QtWidgets.QWidget):
|
|||
tree_view.sortByColumn(1, QtCore.Qt.AscendingOrder)
|
||||
tree_view.setAlternatingRowColors(True)
|
||||
tree_view.setIndentation(20)
|
||||
tree_view.setStyleSheet("""
|
||||
QTreeView::item{
|
||||
padding: 5px 1px;
|
||||
border: 0px;
|
||||
}
|
||||
""")
|
||||
tree_view.collapseAll()
|
||||
|
||||
for column_name, width in self.default_widths:
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import Qt
|
|||
from Qt import QtWidgets, QtGui, QtCore
|
||||
|
||||
from avalon.lib import HeroVersionType
|
||||
from openpype.style import get_objected_colors
|
||||
from .models import (
|
||||
AssetModel,
|
||||
TreeModel
|
||||
|
|
@ -24,6 +25,19 @@ log = logging.getLogger(__name__)
|
|||
class AssetDelegate(QtWidgets.QItemDelegate):
|
||||
bar_height = 3
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(AssetDelegate, self).__init__(*args, **kwargs)
|
||||
asset_view_colors = get_objected_colors()["loader"]["asset-view"]
|
||||
self._selected_color = (
|
||||
asset_view_colors["selected"].get_qcolor()
|
||||
)
|
||||
self._hover_color = (
|
||||
asset_view_colors["hover"].get_qcolor()
|
||||
)
|
||||
self._selected_hover_color = (
|
||||
asset_view_colors["selected-hover"].get_qcolor()
|
||||
)
|
||||
|
||||
def sizeHint(self, option, index):
|
||||
result = super(AssetDelegate, self).sizeHint(option, index)
|
||||
height = result.height()
|
||||
|
|
@ -66,17 +80,20 @@ class AssetDelegate(QtWidgets.QItemDelegate):
|
|||
counter += 1
|
||||
|
||||
# Background
|
||||
bg_color = QtGui.QColor(60, 60, 60)
|
||||
if option.state & QtWidgets.QStyle.State_Selected:
|
||||
if len(subset_colors) == 0:
|
||||
item_rect.setTop(item_rect.top() + (self.bar_height / 2))
|
||||
|
||||
if option.state & QtWidgets.QStyle.State_MouseOver:
|
||||
bg_color.setRgb(70, 70, 70)
|
||||
bg_color = self._selected_hover_color
|
||||
else:
|
||||
bg_color = self._selected_color
|
||||
else:
|
||||
item_rect.setTop(item_rect.top() + (self.bar_height / 2))
|
||||
if option.state & QtWidgets.QStyle.State_MouseOver:
|
||||
bg_color.setAlpha(100)
|
||||
bg_color = self._hover_color
|
||||
else:
|
||||
bg_color = QtGui.QColor()
|
||||
bg_color.setAlpha(0)
|
||||
|
||||
# When not needed to do a rounded corners (easier and without
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ class HostToolsHelper:
|
|||
def get_workfiles_tool(self, parent):
|
||||
"""Create, cache and return workfiles tool window."""
|
||||
if self._workfiles_tool is None:
|
||||
from avalon import style
|
||||
from openpype.tools.workfiles.app import (
|
||||
Window, validate_host_requirements
|
||||
)
|
||||
|
|
@ -50,13 +49,14 @@ class HostToolsHelper:
|
|||
validate_host_requirements(host)
|
||||
|
||||
workfiles_window = Window(parent=parent)
|
||||
workfiles_window.setStyleSheet(style.load_stylesheet())
|
||||
self._workfiles_tool = workfiles_window
|
||||
|
||||
return self._workfiles_tool
|
||||
|
||||
def show_workfiles(self, parent=None, use_context=None, save=None):
|
||||
"""Workfiles tool for changing context and saving workfiles."""
|
||||
from avalon import style
|
||||
|
||||
if use_context is None:
|
||||
use_context = True
|
||||
|
||||
|
|
@ -80,24 +80,28 @@ class HostToolsHelper:
|
|||
# Pull window to the front.
|
||||
workfiles_tool.raise_()
|
||||
workfiles_tool.activateWindow()
|
||||
workfiles_tool.setStyleSheet(style.load_stylesheet())
|
||||
|
||||
def get_loader_tool(self, parent):
|
||||
"""Create, cache and return loader tool window."""
|
||||
if self._loader_tool is None:
|
||||
from avalon import style
|
||||
from openpype.tools.loader import LoaderWindow
|
||||
|
||||
loader_window = LoaderWindow(parent=parent or self._parent)
|
||||
loader_window.setStyleSheet(style.load_stylesheet())
|
||||
self._loader_tool = loader_window
|
||||
|
||||
return self._loader_tool
|
||||
|
||||
def show_loader(self, parent=None, use_context=None):
|
||||
"""Loader tool for loading representations."""
|
||||
loader_tool = self.get_loader_tool(parent)
|
||||
|
||||
loader_tool.show()
|
||||
loader_tool.raise_()
|
||||
loader_tool.activateWindow()
|
||||
|
||||
if use_context is None:
|
||||
use_context = False
|
||||
loader_tool = self.get_loader_tool(parent)
|
||||
|
||||
if use_context:
|
||||
context = {"asset": avalon.api.Session["AVALON_ASSET"]}
|
||||
|
|
@ -105,29 +109,26 @@ class HostToolsHelper:
|
|||
else:
|
||||
loader_tool.refresh()
|
||||
|
||||
loader_tool.show()
|
||||
loader_tool.raise_()
|
||||
loader_tool.activateWindow()
|
||||
loader_tool.refresh()
|
||||
|
||||
def get_creator_tool(self, parent):
|
||||
"""Create, cache and return creator tool window."""
|
||||
if self._creator_tool is None:
|
||||
from avalon import style
|
||||
from avalon.tools.creator.app import Window
|
||||
|
||||
creator_window = Window(parent=parent or self._parent)
|
||||
creator_window.setStyleSheet(style.load_stylesheet())
|
||||
self._creator_tool = creator_window
|
||||
|
||||
return self._creator_tool
|
||||
|
||||
def show_creator(self, parent=None):
|
||||
"""Show tool to create new instantes for publishing."""
|
||||
from avalon import style
|
||||
|
||||
creator_tool = self.get_creator_tool(parent)
|
||||
creator_tool.refresh()
|
||||
creator_tool.show()
|
||||
|
||||
creator_tool.setStyleSheet(style.load_stylesheet())
|
||||
|
||||
# Pull window to the front.
|
||||
creator_tool.raise_()
|
||||
creator_tool.activateWindow()
|
||||
|
|
@ -135,20 +136,22 @@ class HostToolsHelper:
|
|||
def get_subset_manager_tool(self, parent):
|
||||
"""Create, cache and return subset manager tool window."""
|
||||
if self._subset_manager_tool is None:
|
||||
from avalon import style
|
||||
from avalon.tools.subsetmanager import Window
|
||||
|
||||
subset_manager_window = Window(parent=parent or self._parent)
|
||||
subset_manager_window.setStyleSheet(style.load_stylesheet())
|
||||
self._subset_manager_tool = subset_manager_window
|
||||
|
||||
return self._subset_manager_tool
|
||||
|
||||
def show_subset_manager(self, parent=None):
|
||||
"""Show tool display/remove existing created instances."""
|
||||
from avalon import style
|
||||
|
||||
subset_manager_tool = self.get_subset_manager_tool(parent)
|
||||
subset_manager_tool.show()
|
||||
|
||||
subset_manager_tool.setStyleSheet(style.load_stylesheet())
|
||||
|
||||
# Pull window to the front.
|
||||
subset_manager_tool.raise_()
|
||||
subset_manager_tool.activateWindow()
|
||||
|
|
@ -156,20 +159,21 @@ class HostToolsHelper:
|
|||
def get_scene_inventory_tool(self, parent):
|
||||
"""Create, cache and return scene inventory tool window."""
|
||||
if self._scene_inventory_tool is None:
|
||||
from avalon import style
|
||||
from avalon.tools.sceneinventory.app import Window
|
||||
|
||||
scene_inventory_window = Window(parent=parent or self._parent)
|
||||
scene_inventory_window.setStyleSheet(style.load_stylesheet())
|
||||
self._scene_inventory_tool = scene_inventory_window
|
||||
|
||||
return self._scene_inventory_tool
|
||||
|
||||
def show_scene_inventory(self, parent=None):
|
||||
"""Show tool maintain loaded containers."""
|
||||
from avalon import style
|
||||
|
||||
scene_inventory_tool = self.get_scene_inventory_tool(parent)
|
||||
scene_inventory_tool.show()
|
||||
scene_inventory_tool.refresh()
|
||||
scene_inventory_tool.setStyleSheet(style.load_stylesheet())
|
||||
|
||||
# Pull window to the front.
|
||||
scene_inventory_tool.raise_()
|
||||
|
|
@ -178,13 +182,11 @@ class HostToolsHelper:
|
|||
def get_library_loader_tool(self, parent):
|
||||
"""Create, cache and return library loader tool window."""
|
||||
if self._library_loader_tool is None:
|
||||
from avalon import style
|
||||
from openpype.tools.libraryloader import LibraryLoaderWindow
|
||||
|
||||
library_window = LibraryLoaderWindow(
|
||||
parent=parent or self._parent
|
||||
)
|
||||
library_window.setStyleSheet(style.load_stylesheet())
|
||||
self._library_loader_tool = library_window
|
||||
|
||||
return self._library_loader_tool
|
||||
|
|
@ -206,18 +208,19 @@ class HostToolsHelper:
|
|||
def get_look_assigner_tool(self, parent):
|
||||
"""Create, cache and return look assigner tool window."""
|
||||
if self._look_assigner_tool is None:
|
||||
from avalon import style
|
||||
import mayalookassigner
|
||||
|
||||
mayalookassigner_window = mayalookassigner.App(parent)
|
||||
mayalookassigner_window.setStyleSheet(style.load_stylesheet())
|
||||
self._look_assigner_tool = mayalookassigner_window
|
||||
return self._look_assigner_tool
|
||||
|
||||
def show_look_assigner(self, parent=None):
|
||||
"""Look manager is Maya specific tool for look management."""
|
||||
from avalon import style
|
||||
|
||||
look_assigner_tool = self.get_look_assigner_tool(parent)
|
||||
look_assigner_tool.show()
|
||||
look_assigner_tool.setStyleSheet(style.load_stylesheet())
|
||||
|
||||
def get_experimental_tools_dialog(self, parent=None):
|
||||
"""Dialog of experimental tools.
|
||||
|
|
|
|||
|
|
@ -68,8 +68,8 @@ class AssetsView(TreeViewSpinner, DeselectableTreeView):
|
|||
This implements a context menu.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
super(AssetsView, self).__init__()
|
||||
def __init__(self, parent=None):
|
||||
super(AssetsView, self).__init__(parent)
|
||||
self.setIndentation(15)
|
||||
self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
|
||||
self.setHeaderHidden(True)
|
||||
|
|
|
|||
|
|
@ -35,28 +35,19 @@ class AssetWidget(QtWidgets.QWidget):
|
|||
|
||||
self.dbcon = dbcon
|
||||
|
||||
self.setContentsMargins(0, 0, 0, 0)
|
||||
|
||||
layout = QtWidgets.QVBoxLayout(self)
|
||||
layout.setContentsMargins(0, 0, 0, 0)
|
||||
layout.setSpacing(4)
|
||||
|
||||
# Tree View
|
||||
model = AssetModel(dbcon=self.dbcon, parent=self)
|
||||
proxy = RecursiveSortFilterProxyModel()
|
||||
proxy.setSourceModel(model)
|
||||
proxy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
|
||||
view = AssetsView()
|
||||
view = AssetsView(self)
|
||||
view.setModel(proxy)
|
||||
if multiselection:
|
||||
asset_delegate = AssetDelegate()
|
||||
view.setSelectionMode(view.ExtendedSelection)
|
||||
view.setItemDelegate(asset_delegate)
|
||||
|
||||
# Header
|
||||
header = QtWidgets.QHBoxLayout()
|
||||
|
||||
icon = qtawesome.icon("fa.arrow-down", color=style.colors.light)
|
||||
set_current_asset_btn = QtWidgets.QPushButton(icon, "")
|
||||
set_current_asset_btn.setToolTip("Go to Asset from current Session")
|
||||
|
|
@ -64,22 +55,28 @@ class AssetWidget(QtWidgets.QWidget):
|
|||
set_current_asset_btn.setVisible(False)
|
||||
|
||||
icon = qtawesome.icon("fa.refresh", color=style.colors.light)
|
||||
refresh = QtWidgets.QPushButton(icon, "")
|
||||
refresh = QtWidgets.QPushButton(icon, "", parent=self)
|
||||
refresh.setToolTip("Refresh items")
|
||||
|
||||
filter = QtWidgets.QLineEdit()
|
||||
filter.textChanged.connect(proxy.setFilterFixedString)
|
||||
filter.setPlaceholderText("Filter assets..")
|
||||
filter_input = QtWidgets.QLineEdit(self)
|
||||
filter_input.setPlaceholderText("Filter assets..")
|
||||
|
||||
header.addWidget(filter)
|
||||
header.addWidget(set_current_asset_btn)
|
||||
header.addWidget(refresh)
|
||||
# Header
|
||||
header_layout = QtWidgets.QHBoxLayout()
|
||||
header_layout.addWidget(filter_input)
|
||||
header_layout.addWidget(set_current_asset_btn)
|
||||
header_layout.addWidget(refresh)
|
||||
|
||||
# Layout
|
||||
layout.addLayout(header)
|
||||
layout = QtWidgets.QVBoxLayout(self)
|
||||
layout.setContentsMargins(0, 0, 0, 0)
|
||||
layout.setSpacing(4)
|
||||
layout.addLayout(header_layout)
|
||||
layout.addWidget(view)
|
||||
|
||||
# Signals/Slots
|
||||
filter_input.textChanged.connect(proxy.setFilterFixedString)
|
||||
|
||||
selection = view.selectionModel()
|
||||
selection.selectionChanged.connect(self.selection_changed)
|
||||
selection.currentChanged.connect(self.current_changed)
|
||||
|
|
@ -313,7 +310,6 @@ class OptionalMenu(QtWidgets.QMenu):
|
|||
actions that were instances of `QtWidgets.QWidgetAction`.
|
||||
|
||||
"""
|
||||
|
||||
def mouseReleaseEvent(self, event):
|
||||
"""Emit option clicked signal if mouse released on it"""
|
||||
active = self.actionAt(event.pos())
|
||||
|
|
@ -352,6 +348,7 @@ class OptionalAction(QtWidgets.QWidgetAction):
|
|||
self.use_option = use_option
|
||||
self.option_tip = ""
|
||||
self.optioned = False
|
||||
self.widget = None
|
||||
|
||||
def createWidget(self, parent):
|
||||
widget = OptionalActionWidget(self.label, parent)
|
||||
|
|
@ -377,20 +374,10 @@ class OptionalAction(QtWidgets.QWidgetAction):
|
|||
self.optioned = True
|
||||
|
||||
def set_highlight(self, state, global_pos=None):
|
||||
body = self.widget.body
|
||||
option = self.widget.option
|
||||
|
||||
role = QtGui.QPalette.Highlight if state else QtGui.QPalette.Window
|
||||
body.setBackgroundRole(role)
|
||||
body.setAutoFillBackground(state)
|
||||
|
||||
if not self.use_option:
|
||||
return
|
||||
|
||||
state = option.is_hovered(global_pos)
|
||||
role = QtGui.QPalette.Highlight if state else QtGui.QPalette.Window
|
||||
option.setBackgroundRole(role)
|
||||
option.setAutoFillBackground(state)
|
||||
option_state = False
|
||||
if self.use_option:
|
||||
option_state = self.widget.option.is_hovered(global_pos)
|
||||
self.widget.set_hover_properties(state, option_state)
|
||||
|
||||
|
||||
class OptionalActionWidget(QtWidgets.QWidget):
|
||||
|
|
@ -399,30 +386,33 @@ class OptionalActionWidget(QtWidgets.QWidget):
|
|||
def __init__(self, label, parent=None):
|
||||
super(OptionalActionWidget, self).__init__(parent)
|
||||
|
||||
body = QtWidgets.QWidget()
|
||||
body.setStyleSheet("background: transparent;")
|
||||
body_widget = QtWidgets.QWidget(self)
|
||||
body_widget.setObjectName("OptionalActionBody")
|
||||
|
||||
icon = QtWidgets.QLabel()
|
||||
label = QtWidgets.QLabel(label)
|
||||
option = OptionBox(body)
|
||||
icon = QtWidgets.QLabel(body_widget)
|
||||
label = QtWidgets.QLabel(label, body_widget)
|
||||
# (NOTE) For removing ugly QLable shadow FX when highlighted in Nuke.
|
||||
# See https://stackoverflow.com/q/52838690/4145300
|
||||
label.setStyle(QtWidgets.QStyleFactory.create("Plastique"))
|
||||
option = OptionBox(body_widget)
|
||||
option.setObjectName("OptionalActionOption")
|
||||
|
||||
icon.setFixedSize(24, 16)
|
||||
option.setFixedSize(30, 30)
|
||||
|
||||
layout = QtWidgets.QHBoxLayout(body)
|
||||
layout.setContentsMargins(0, 0, 0, 0)
|
||||
layout.setSpacing(2)
|
||||
layout.addWidget(icon)
|
||||
layout.addWidget(label)
|
||||
layout.addSpacing(6)
|
||||
body_layout = QtWidgets.QHBoxLayout(body_widget)
|
||||
body_layout.setContentsMargins(4, 0, 4, 0)
|
||||
body_layout.setSpacing(2)
|
||||
body_layout.addWidget(icon)
|
||||
body_layout.addWidget(label)
|
||||
|
||||
layout = QtWidgets.QHBoxLayout(self)
|
||||
layout.setContentsMargins(6, 1, 2, 1)
|
||||
layout.setContentsMargins(2, 1, 2, 1)
|
||||
layout.setSpacing(0)
|
||||
layout.addWidget(body)
|
||||
layout.addWidget(body_widget)
|
||||
layout.addWidget(option)
|
||||
|
||||
body.setMouseTracking(True)
|
||||
body_widget.setMouseTracking(True)
|
||||
label.setMouseTracking(True)
|
||||
option.setMouseTracking(True)
|
||||
self.setMouseTracking(True)
|
||||
|
|
@ -431,11 +421,24 @@ class OptionalActionWidget(QtWidgets.QWidget):
|
|||
self.icon = icon
|
||||
self.label = label
|
||||
self.option = option
|
||||
self.body = body
|
||||
self.body = body_widget
|
||||
|
||||
# (NOTE) For removing ugly QLable shadow FX when highlighted in Nuke.
|
||||
# See https://stackoverflow.com/q/52838690/4145300
|
||||
label.setStyle(QtWidgets.QStyleFactory.create("Plastique"))
|
||||
def set_hover_properties(self, hovered, option_hovered):
|
||||
body_state = ""
|
||||
option_state = ""
|
||||
if hovered:
|
||||
body_state = "hover"
|
||||
|
||||
if option_hovered:
|
||||
option_state = "hover"
|
||||
|
||||
if self.body.property("state") != body_state:
|
||||
self.body.setProperty("state", body_state)
|
||||
self.body.style().polish(self.body)
|
||||
|
||||
if self.option.property("state") != option_state:
|
||||
self.option.setProperty("state", option_state)
|
||||
self.option.style().polish(self.option)
|
||||
|
||||
def setIcon(self, icon):
|
||||
pixmap = icon.pixmap(16, 16)
|
||||
|
|
@ -456,8 +459,6 @@ class OptionBox(QtWidgets.QLabel):
|
|||
pixmap = icon.pixmap(18, 18)
|
||||
self.setPixmap(pixmap)
|
||||
|
||||
self.setStyleSheet("background: transparent;")
|
||||
|
||||
def is_hovered(self, global_pos):
|
||||
if global_pos is None:
|
||||
return False
|
||||
|
|
@ -476,20 +477,20 @@ class OptionDialog(QtWidgets.QDialog):
|
|||
def create(self, options):
|
||||
parser = qargparse.QArgumentParser(arguments=options)
|
||||
|
||||
decision = QtWidgets.QWidget()
|
||||
accept = QtWidgets.QPushButton("Accept")
|
||||
cancel = QtWidgets.QPushButton("Cancel")
|
||||
decision_widget = QtWidgets.QWidget(self)
|
||||
accept_btn = QtWidgets.QPushButton("Accept", decision_widget)
|
||||
cancel_btn = QtWidgets.QPushButton("Cancel", decision_widget)
|
||||
|
||||
layout = QtWidgets.QHBoxLayout(decision)
|
||||
layout.addWidget(accept)
|
||||
layout.addWidget(cancel)
|
||||
decision_layout = QtWidgets.QHBoxLayout(decision_widget)
|
||||
decision_layout.addWidget(accept_btn)
|
||||
decision_layout.addWidget(cancel_btn)
|
||||
|
||||
layout = QtWidgets.QVBoxLayout(self)
|
||||
layout.addWidget(parser)
|
||||
layout.addWidget(decision)
|
||||
layout.addWidget(decision_widget)
|
||||
|
||||
accept.clicked.connect(self.accept)
|
||||
cancel.clicked.connect(self.reject)
|
||||
accept_btn.clicked.connect(self.accept)
|
||||
cancel_btn.clicked.connect(self.reject)
|
||||
parser.changed.connect(self.on_changed)
|
||||
|
||||
def on_changed(self, argument):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue