Source code for cgl.ui.util
import logging
try:
from PySide6 import QtGui, QtCore
except ImportError:
from PySide6 import QtGui, QtCore
from cgl.core.utils.general import app_name
[docs]
class UISettings(object):
SETTINGS = None
def __init__(self):
if UISettings.SETTINGS is None:
QtCore.QCoreApplication.setOrganizationName("CG Lumberjack")
QtCore.QCoreApplication.setOrganizationDomain("www.cglumberjack.com")
QtCore.QCoreApplication.setApplicationName(app_name())
UISettings.SETTINGS = QtCore.QSettings()
logging.info("using settings file %s", UISettings.SETTINGS.fileName())
[docs]
@classmethod
def settings(cls):
return cls().SETTINGS
[docs]
def drop_handler(emitter, event):
if event.mimeData().hasUrls:
event.setDropAction(QtCore.Qt.CopyAction)
event.accept()
file_list = []
for url in event.mimeData().urls():
file_list.append(str(url.toLocalFile()))
emitter.emit(file_list)
else:
logging.debug("invalid")
event.ignore()
[docs]
def define_palettes(
color_a=QtGui.QColor(255, 0, 0),
color_b=QtGui.QColor(0, 255, 0),
color_c=QtGui.QColor(0, 0, 0),
):
"""
by default gives you red, green, black palettes to work with.
:return:
"""
palette_a = QtGui.QPalette()
palette_b = QtGui.QPalette()
palette_c = QtGui.QPalette()
palette_a.setColor(QtGui.QPalette.Foreground, color_a)
palette_b.setColor(QtGui.QPalette.Foreground, color_b)
palette_c.setColor(QtGui.QPalette.Foreground, color_c)
return palette_a, palette_b, palette_c