153 lines
4.2 KiB
Python
153 lines
4.2 KiB
Python
|
##--------------------------------------------------------------------------
|
||
|
from PySide2 import QtWidgets, QtCore, QtGui
|
||
|
from maya import cmds as mc
|
||
|
import maya.mel as mel
|
||
|
import json
|
||
|
from ..Qt import QtWidgets, QtCore, QtCompat
|
||
|
import os
|
||
|
import maya.cmds as cmds
|
||
|
from maya import OpenMayaUI as omui
|
||
|
import mtoa.core as core
|
||
|
from functools import partial
|
||
|
|
||
|
# Special cases for different Maya versions
|
||
|
from shiboken2 import wrapInstance
|
||
|
from PySide2.QtGui import QIcon
|
||
|
from PySide2.QtWidgets import QWidget
|
||
|
|
||
|
import importlib
|
||
|
from .. import ModIt_Global
|
||
|
|
||
|
importlib.reload(ModIt_Global)
|
||
|
|
||
|
from .. import ModIt_CSS
|
||
|
importlib.reload(ModIt_CSS)
|
||
|
|
||
|
|
||
|
##______________________GLOBAL VAR
|
||
|
##PATH_SET
|
||
|
IconPath = ModIt_Global.IconsPathThemeClassic
|
||
|
PreferencePath = ModIt_Global.PreferencePath
|
||
|
ToolsPath = ModIt_Global.ToolPath
|
||
|
RessourcePath = ModIt_Global.RessourcePath
|
||
|
|
||
|
|
||
|
##GLOBAL VAR
|
||
|
WindowsTitle = " - AssetIt -"
|
||
|
|
||
|
|
||
|
#________________//
|
||
|
#___________________________________________
|
||
|
#________________//
|
||
|
class AssetItPromo_UI(QtWidgets.QDialog):
|
||
|
def __init__(self, parent=None):
|
||
|
super(AssetItPromo_UI, self).__init__()
|
||
|
self.setMinimumSize(1420, 950)
|
||
|
self.buildUI()
|
||
|
|
||
|
def buildUI(self):
|
||
|
UILayout = QtWidgets.QVBoxLayout(self)
|
||
|
self.setStyleSheet(ModIt_CSS.ModIt_CSS)
|
||
|
##UI - Preferences
|
||
|
iconButtonSize = 22
|
||
|
|
||
|
#############################################
|
||
|
|
||
|
|
||
|
|
||
|
## SCATTER TAB Banner
|
||
|
label = QtWidgets.QLabel(self)
|
||
|
pixmap = QtGui.QPixmap(IconPath + "AssetIt_Presa_Img.jpg")
|
||
|
label.setPixmap(pixmap)
|
||
|
label.setAlignment(QtCore.Qt.AlignTop)
|
||
|
UILayout.addWidget(label)
|
||
|
|
||
|
## TEXT
|
||
|
LandscapeTitle = QtWidgets.QLabel(self)
|
||
|
LandscapeTitle.setFont(QtGui.QFont('Candara', 10))
|
||
|
LandscapeTitle.setStyleSheet("QLabel {color : #65BEF1; }")
|
||
|
LandscapeTitle.setText(""" Allow users to create custom Bolts would mean the need to : set a user folder path, creation thumbnail, pivot placement setting, allow any type of mesh possible...
|
||
|
|
||
|
> Which is so called an Asset Manager and for that I created AssetIt script.
|
||
|
|
||
|
- So if you need more control about Bold and you want to create your own, I invited you to take a look at AssetIt script. -""")
|
||
|
LandscapeTitle.setAlignment(QtCore.Qt.AlignCenter)
|
||
|
UILayout.addWidget(LandscapeTitle)
|
||
|
|
||
|
|
||
|
|
||
|
BoutonsLayout = QtWidgets.QHBoxLayout()
|
||
|
UILayout.addLayout(BoutonsLayout)
|
||
|
|
||
|
GetAssetIt_btn = QtWidgets.QPushButton("- G e t A s s e t I t -")
|
||
|
GetAssetIt_btn.setFont(QtGui.QFont('Candara', 10))
|
||
|
GetAssetIt_btn.setObjectName("AssetIt")
|
||
|
GetAssetIt_btn.setFixedHeight(22)
|
||
|
GetAssetIt_btn.setShortcut(QtGui.QKeySequence("Return"))
|
||
|
GetAssetIt_btn.clicked.connect(self.GetAssetIt)
|
||
|
BoutonsLayout.addWidget(GetAssetIt_btn)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
def GetAssetIt(self):
|
||
|
cmds.deleteUI(WindowsTitle)
|
||
|
|
||
|
QtGui.QDesktopServices.openUrl(
|
||
|
QtCore.QUrl("https://wzx.gumroad.com/l/AssetIt"))
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
def Dock(Widget, width=200, height=200, hp="free", show=True):
|
||
|
label = getattr(Widget, "label", WindowsTitle)
|
||
|
|
||
|
try:
|
||
|
cmds.deleteUI(WindowsTitle)
|
||
|
except RuntimeError:
|
||
|
pass
|
||
|
|
||
|
dockControl = cmds.workspaceControl(
|
||
|
WindowsTitle,
|
||
|
initialWidth=width,
|
||
|
minimumWidth=False,
|
||
|
widthProperty=hp,
|
||
|
heightProperty=hp,
|
||
|
label=label
|
||
|
)
|
||
|
|
||
|
dockPtr = omui.MQtUtil.findControl(dockControl)
|
||
|
dockWidget = QtCompat.wrapInstance(int(dockPtr), QtWidgets.QWidget)
|
||
|
dockWidget.setAttribute(QtCore.Qt.WA_DeleteOnClose)
|
||
|
child = Widget(dockWidget)
|
||
|
dockWidget.layout().addWidget(child)
|
||
|
|
||
|
if show:
|
||
|
cmds.evalDeferred(
|
||
|
lambda *args: cmds.workspaceControl(
|
||
|
dockControl,
|
||
|
edit=True,
|
||
|
widthProperty="free",
|
||
|
restore=True
|
||
|
)
|
||
|
)
|
||
|
return child
|
||
|
|
||
|
def showUI():
|
||
|
ui = Dock(AssetItPromo_UI)
|
||
|
ui.show()
|
||
|
|
||
|
# Get a pointer and convert it to Qt Widget object
|
||
|
qw = omui.MQtUtil.findWindow(WindowsTitle)
|
||
|
widget = wrapInstance(int(qw), QWidget)
|
||
|
# Create a QIcon object
|
||
|
icon = QIcon(IconPath + "ModIt_Window_Ico.png")
|
||
|
# Assign the icon
|
||
|
widget.setWindowIcon(icon)
|
||
|
|
||
|
|
||
|
return ui
|
||
|
|