forked from bartvdbraak/blender
76 lines
2.1 KiB
Python
76 lines
2.1 KiB
Python
|
#!BPY
|
||
|
|
||
|
"""
|
||
|
Name: 'Save Current Theme'
|
||
|
Blender: 234
|
||
|
Group: 'Help'
|
||
|
Tooltip: 'Save current theme as a bpython script'
|
||
|
"""
|
||
|
|
||
|
# $Id$
|
||
|
#
|
||
|
# --------------------------------------------------------------------------
|
||
|
# save_theme version 2.34 Sep 20, 2004
|
||
|
# Copyright (C) 2004: Willian P. Germano, wgermano _at_ ig.com.br
|
||
|
# --------------------------------------------------------------------------
|
||
|
# Released under the Blender Artistic License (BAL):
|
||
|
# http://download.blender.org/documentation/html/x21254.html
|
||
|
#
|
||
|
# The scripts generated by this script are put under Public Domain by
|
||
|
# default, but you are free to edit the ones you generate with this script
|
||
|
# and change their license to another one of your choice.
|
||
|
# --------------------------------------------------------------------------
|
||
|
|
||
|
import Blender
|
||
|
from Blender.Window import Theme, FileSelector
|
||
|
|
||
|
theme = Theme.Get()[0] # get current theme
|
||
|
|
||
|
# default filename: theme's name + '_theme.py' in user's scripts dir:
|
||
|
default_fname = Blender.Get("scriptsdir")
|
||
|
default_fname = Blender.sys.join(default_fname, theme.name + '_theme.py')
|
||
|
|
||
|
def write_theme(filename):
|
||
|
"Write the current theme as a bpython script"
|
||
|
|
||
|
if filename.find('.py', -3) <= 0: filename += '.py'
|
||
|
|
||
|
fout = file(filename, "w")
|
||
|
|
||
|
fout.write("""#!BPY
|
||
|
|
||
|
\"\"\"
|
||
|
Name: '%s'
|
||
|
Blender: 234
|
||
|
Group: 'Theme'
|
||
|
Tooltip: 'Change current theme'
|
||
|
\"\"\"
|
||
|
|
||
|
# This script was automatically generated by the save_theme.py bpython script.
|
||
|
# By default, these generated scripts are released as Public Domain, but you
|
||
|
# are free to change the license of the scripts you generate with
|
||
|
# save_theme.py before releasing them.
|
||
|
|
||
|
import Blender
|
||
|
from Blender.Window import Theme
|
||
|
|
||
|
theme = Theme.New('%s')
|
||
|
""" % (theme.name, theme.name))
|
||
|
|
||
|
for tsp in theme.get(): #
|
||
|
command = "\n%s = theme.get('%s')" % (tsp, tsp)
|
||
|
fout.write(command + "\n")
|
||
|
exec(command)
|
||
|
exec("vars = dir(%s)" % tsp)
|
||
|
vars.remove('theme')
|
||
|
|
||
|
for var in vars:
|
||
|
v = "%s.%s" % (tsp, var)
|
||
|
exec("value = %s" % v)
|
||
|
fout.write("%s = %s\n" % (v, value))
|
||
|
|
||
|
fout.write('\nBlender.Redraw(-1)')
|
||
|
fout.close()
|
||
|
|
||
|
FileSelector(write_theme, "Save Current Theme", default_fname)
|