91 lines
3.2 KiB
Python
91 lines
3.2 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import pickle
|
|
import os
|
|
import maya.cmds as mc
|
|
|
|
version = 120
|
|
|
|
class UiStates():
|
|
file = 'config.uvd'
|
|
filepath = os.path.join(os.path.dirname(__file__), file)
|
|
|
|
def __init__(self):
|
|
self.version = version
|
|
#Window
|
|
self.widthHeight = (1150,700)
|
|
self.collapseFrame0 = False
|
|
self.collapseFrame1 = True
|
|
self.collapseFrame2 = True
|
|
self.collapseFrame3 = True
|
|
self.collapseFrame4 = True
|
|
self.collapseFrame5 = True
|
|
self.collapseFrame6 = True
|
|
self.collapseFrame7 = True
|
|
self.collapseFrame8 = True
|
|
|
|
#Settings
|
|
#self.textureSize = (5,5)
|
|
#self.forgetTextureSize = False
|
|
self.detectTextureSize = True
|
|
self.retainCS = mc.texMoveContext('texMoveContext',q=True,scr=True)
|
|
self.matchDist = 0.05
|
|
|
|
#Quicksnap
|
|
self.snapPath = mc.workspace(q=True,rd=True)
|
|
|
|
@staticmethod
|
|
def pickleDump(uis):
|
|
with open(UiStates.filepath, 'wb') as datafile:
|
|
pickle.dump(uis, datafile)
|
|
|
|
@staticmethod
|
|
def pickleLoad():
|
|
if os.path.exists(UiStates.filepath):
|
|
print("%s found, loading settings." % UiStates.file)
|
|
try:
|
|
with open(UiStates.filepath, 'rb') as datafile:
|
|
uis = pickle.load(datafile)
|
|
except EOFError:
|
|
print("Warning: The file is empty or corrupted.")
|
|
os.remove(UiStates.filepath)
|
|
return UiStates()
|
|
except Exception as e:
|
|
print(f"Error loading settings: {e}")
|
|
os.remove(UiStates.filepath)
|
|
return UiStates()
|
|
try:
|
|
pickledVer = uis.version
|
|
if pickledVer < version:
|
|
os.remove(UiStates.filepath)
|
|
return UiStates()
|
|
except:
|
|
os.remove(UiStates.filepath)
|
|
return UiStates()
|
|
return uis
|
|
else:
|
|
return UiStates()
|
|
|
|
|
|
def setUiState(self):
|
|
#Window
|
|
self.widthHeight = mc.window('UVDeluxe',query=True,wh=True)
|
|
self.collapseFrame0 = mc.frameLayout('layout_Settings', query=True, cl=True)
|
|
self.collapseFrame1 = mc.frameLayout('layout_Mover', query=True, cl=True)
|
|
self.collapseFrame2 = mc.frameLayout('layout_Scaler', query=True, cl=True)
|
|
self.collapseFrame3 = mc.frameLayout('layout_Ratio', query=True, cl=True)
|
|
self.collapseFrame4 = mc.frameLayout('layout_Straighten', query=True, cl=True)
|
|
self.collapseFrame5 = mc.frameLayout('layout_Align', query=True, cl=True)
|
|
self.collapseFrame6 = mc.frameLayout('layout_QuickSnap', query=True, cl=True)
|
|
self.collapseFrame7 = mc.frameLayout('layout_MatchUV', query=True, cl=True)
|
|
self.collapseFrame8 = mc.frameLayout('layout_SelectionSets',query=True, cl=True)
|
|
|
|
self.detectTextureSize = mc.checkBox ('DTR', query=True, v=True)
|
|
|
|
self.retainCS = mc.texMoveContext('texMoveContext',q=True,scr=True)
|
|
#Qucksnap
|
|
self.snapPath = mc.textField("pathField",query=True,text=True)
|
|
''' Dump '''
|
|
UiStates.pickleDump(self)
|