-Shuffled some user prefs around to make better use of the available space in Prefere...
authorWilliam Reynish <william@reynish.com>
Thu, 17 Sep 2009 17:42:08 +0000 (17:42 +0000)
committerWilliam Reynish <william@reynish.com>
Thu, 17 Sep 2009 17:42:08 +0000 (17:42 +0000)
-Temporarily disabled the Themes tab until we figure out how to manage themes properly.

release/ui/space_userpref.py
source/blender/makesrna/intern/rna_userdef.c

index 267a0b4a78b30e764ee879d18e89f5110bb26fab..c148506214a7bf42a90b1976c8417a26048204d9 100644 (file)
@@ -1,4 +1,4 @@
-
 import bpy
 
 class USERPREF_HT_header(bpy.types.Header):
@@ -195,7 +195,7 @@ class USERPREF_PT_edit(bpy.types.Panel):
                sub1 = sub.column()
                sub1.itemL(text="Keyframing:")
                sub1.itemR(edit, "use_visual_keying")
-               sub1.itemR(edit, "new_interpolation_type")
+               sub1.itemR(edit, "new_interpolation_type", text="New F-Curves")
                sub1.itemS()
                sub1.itemR(edit, "auto_keying_enable", text="Auto Keyframing")
                sub2 = sub1.column()
@@ -203,13 +203,16 @@ class USERPREF_PT_edit(bpy.types.Panel):
                sub2.row().itemR(edit, "auto_keying_mode", expand=True)
                sub2.itemR(edit, "auto_keyframe_insert_available", text="Only Insert Available")
                sub2.itemR(edit, "auto_keyframe_insert_needed", text="Only Insert Needed")
+               
                sub1.itemS()
                sub1.itemS()
                sub1.itemS()
+               
                sub1.itemL(text="Undo:")
                sub1.itemR(edit, "global_undo")
                sub1.itemR(edit, "undo_steps", text="Steps")
                sub1.itemR(edit, "undo_memory_limit", text="Memory Limit")
+               
                sub1.itemS()
                sub1.itemS()
                sub1.itemS()
@@ -218,7 +221,7 @@ class USERPREF_PT_edit(bpy.types.Panel):
                sub = col.split(percentage=0.85)
                
                sub1 = sub.column()
-               sub1.itemL(text="Duplicate:")
+               sub1.itemL(text="Duplicate Data:")
                sub1.itemR(edit, "duplicate_mesh", text="Mesh")
                sub1.itemR(edit, "duplicate_surface", text="Surface")
                sub1.itemR(edit, "duplicate_curve", text="Curve")
@@ -246,63 +249,64 @@ class USERPREF_PT_system(bpy.types.Panel):
                
                userpref = context.user_preferences
                system = userpref.system
-               lan = userpref.language
                
                split = layout.split()
                
                col = split.column()
-               sub = col.split(percentage=0.85)
+               sub = col.split(percentage=0.9)
                
                sub1 = sub.column()
-               sub1.itemR(system, "emulate_numpad")    
+               sub1.itemL(text="General:")
+               sub1.itemR(system, "dpi")
+               sub1.itemR(system, "frame_server_port")
+               sub1.itemR(system, "scrollback", text="Console Scrollback")
+               sub1.itemR(system, "emulate_numpad")
+               sub1.itemR(system, "auto_run_python_scripts")
+               
+               sub1.itemS()
                sub1.itemS()
                sub1.itemS()
                
-               #Weight Colors
+               sub1.itemL(text="Sound:")
+               sub1.row().itemR(system, "audio_device", expand=True)
+               sub2 = sub1.column()
+               sub2.active = system.audio_device != 'AUDIO_DEVICE_NULL'
+               sub2.itemR(system, "enable_all_codecs")
+               sub2.itemR(system, "game_sound")
+               sub2.itemR(system, "audio_channels", text="Channels")
+               sub2.itemR(system, "audio_mixing_buffer", text="Mixing Buffer")
+               sub2.itemR(system, "audio_sample_rate", text="Sample Rate")
+               sub2.itemR(system, "audio_sample_format", text="Sample Format")
+               
+               col = split.column()    
+               sub = col.split(percentage=0.9)
+               
+               sub1 = sub .column()
                sub1.itemL(text="Weight Colors:")
                sub1.itemR(system, "use_weight_color_range", text="Use Custom Range")
-               
                sub2 = sub1.column()
                sub2.active = system.use_weight_color_range
                sub2.template_color_ramp(system, "weight_color_range", expand=True)
+               
+               sub1.itemS()
                sub1.itemS()
                sub1.itemS()
                
-               #sequencer
-               sub1.itemL(text="Sequencer:")
-               sub1.itemR(system, "prefetch_frames")
-               sub1.itemR(system, "memory_cache_limit")
-               
-               col = split.column()    
-               sub = col.split(percentage=0.85)
+               sub1.itemR(system, "language")
+               sub1.itemL(text="Translate:")
+               sub1.itemR(system, "translate_tooltips", text="Tooltips")
+               sub1.itemR(system, "translate_buttons", text="Labels")
+               sub1.itemR(system, "translate_toolbox", text="Toolbox")
                
-               sub1 = sub .column()
-               #System
-               sub1.itemL(text="System:")
-               sub1.itemR(lan, "dpi")
-               sub1.itemR(system, "auto_run_python_scripts")
-               sub1.itemR(system, "frame_server_port")
-               sub1.itemR(system, "filter_file_extensions")
-               sub1.itemR(system, "hide_dot_files_datablocks")
-               sub1.itemR(lan, "scrollback", text="Console Scrollback")
-               sub1.itemS()
                sub1.itemS()
-               sub1.itemL(text="Sound:")
-               sub1.itemR(system, "audio_device")
-               sub2 = sub1.column()
-               sub2.active = system.audio_device != 'AUDIO_DEVICE_NULL'
-               sub2.itemR(system, "enable_all_codecs")
-               sub2.itemR(system, "game_sound")
-               sub2.itemR(system, "audio_channels")
-               sub2.itemR(system, "audio_mixing_buffer")
-               sub2.itemR(system, "audio_sample_rate")
-               sub2.itemR(system, "audio_sample_format")
+               
+               sub1.itemR(system, "use_textured_fonts")
                
                col = split.column()
-               sub = col.split(percentage=0.85)
+               sub = col.split(percentage=0.9)
                
                sub1 = sub.column()
-               #OpenGL
+
                sub1.itemL(text="OpenGL:")
                sub1.itemR(system, "clip_alpha", slider=True)
                sub1.itemR(system, "use_mipmaps")
@@ -311,7 +315,15 @@ class USERPREF_PT_system(bpy.types.Panel):
                sub1.itemL(text="Textures:")
                sub1.itemR(system, "gl_texture_limit", text="Limit Size")
                sub1.itemR(system, "texture_time_out", text="Time Out")
-               sub1.itemR(system, "texture_collection_rate", text="Collection Rate")           
+               sub1.itemR(system, "texture_collection_rate", text="Collection Rate")
+               
+               sub1.itemS()
+               sub1.itemS()
+               sub1.itemS()
+               
+               sub1.itemL(text="Sequencer:")
+               sub1.itemR(system, "prefetch_frames")
+               sub1.itemR(system, "memory_cache_limit")
                
 class USERPREF_PT_filepaths(bpy.types.Panel):
        __space_type__ = 'USER_PREFERENCES'
@@ -328,7 +340,7 @@ class USERPREF_PT_filepaths(bpy.types.Panel):
                userpref = context.user_preferences
                paths = userpref.filepaths
                
-               split = layout.split()
+               split = layout.split(percentage=0.6)
                
                col = split.column()
                col.itemL(text="File Paths:")
@@ -366,6 +378,8 @@ class USERPREF_PT_filepaths(bpy.types.Panel):
                sub2.itemR(paths, "use_relative_paths")
                sub2.itemR(paths, "compress_file")
                sub2.itemR(paths, "load_ui")
+               sub2.itemR(paths, "filter_file_extensions")
+               sub2.itemR(paths, "hide_dot_files_datablocks")
                sub2.itemS()
                sub2.itemS()
                sub2.itemL(text="Auto Save:")
@@ -377,36 +391,6 @@ class USERPREF_PT_filepaths(bpy.types.Panel):
                sub3.enabled = paths.auto_save_temporary_files
                sub3.itemR(paths, "auto_save_time", text="Timer (mins)")
 
-class USERPREF_PT_language(bpy.types.Panel):
-       __space_type__ = 'USER_PREFERENCES'
-       __label__ = "Language"
-       __show_header__ = False
-
-       def poll(self, context):
-               userpref = context.user_preferences
-               return (userpref.active_section == 'LANGUAGE_COLORS')
-
-       def draw(self, context):
-               layout = self.layout
-               
-               userpref = context.user_preferences
-               lan = userpref.language
-               
-               split = layout.split()
-               col = split.column()
-               
-               col.itemR(lan, "language")
-               col.itemL(text="Translate:")
-               col.itemR(lan, "translate_tooltips", text="Tooltips")
-               col.itemR(lan, "translate_buttons", text="Labels")
-               col.itemR(lan, "translate_toolbox", text="Toolbox")
-               col.itemS()
-               col.itemS()
-               col.itemR(lan, "use_textured_fonts")
-               
-               col = split.column()
-               
-
 bpy.types.register(USERPREF_HT_header)
 bpy.types.register(USERPREF_MT_view)
 bpy.types.register(USERPREF_PT_tabs)
@@ -414,5 +398,4 @@ bpy.types.register(USERPREF_PT_view)
 bpy.types.register(USERPREF_PT_edit)
 bpy.types.register(USERPREF_PT_system)
 bpy.types.register(USERPREF_PT_filepaths)
-bpy.types.register(USERPREF_PT_language)
 
index b38475469b0cff2ff1a6811a5158ee0f11ea65fe..fcc0d7f8a615c59669fd846360bb2ff248a33fb8 100644 (file)
@@ -109,11 +109,6 @@ static PointerRNA rna_UserDef_edit_get(PointerRNA *ptr)
        return rna_pointer_inherit_refine(ptr, &RNA_UserPreferencesEdit, ptr->data);
 }
 
-static PointerRNA rna_UserDef_language_get(PointerRNA *ptr)
-{
-       return rna_pointer_inherit_refine(ptr, &RNA_UserPreferencesLanguage, ptr->data);
-}
-
 static PointerRNA rna_UserDef_filepaths_get(PointerRNA *ptr)
 {
        return rna_pointer_inherit_refine(ptr, &RNA_UserPreferencesFilePaths, ptr->data);
@@ -2120,12 +2115,84 @@ static void rna_def_userdef_system(BlenderRNA *brna)
                {USER_DRAW_OVERLAP, "OVERLAP", 0, "Overlap", "Redraw all overlapping regions, minimal memory usage but more redraws."},
                {USER_DRAW_FULL, "FULL", 0, "Full", "Do a full redraw each time, slow, only use for reference or when all else fails."},
                {0, NULL, 0, NULL, NULL}};
+               
+               /* hardcoded here, could become dynamic somehow */
+       static EnumPropertyItem language_items[] = {
+               {0, "ENGLISH", 0, "English", ""},
+               {1, "JAPANESE", 0, "Japanese", ""},
+               {2, "DUTCH", 0, "Dutch", ""},
+               {3, "ITALIAN", 0, "Italian", ""},
+               {4, "GERMAN", 0, "German", ""},
+               {5, "FINNISH", 0, "Finnish", ""},
+               {6, "SWEDISH", 0, "Swedish", ""},
+               {7, "FRENCH", 0, "French", ""},
+               {8, "SPANISH", 0, "Spanish", ""},
+               {9, "CATALAN", 0, "Catalan", ""},
+               {10, "CZECH", 0, "Czech", ""},
+               {11, "BRAZILIAN_PORTUGUESE", 0, "Brazilian Portuguese", ""},
+               {12, "SIMPLIFIED_CHINESE", 0, "Simplified Chinese", ""},
+               {13, "RUSSIAN", 0, "Russian", ""},
+               {14, "CROATIAN", 0, "Croatian", ""},
+               {15, "SERBIAN", 0, "Serbian", ""},
+               {16, "UKRAINIAN", 0, "Ukrainian", ""},
+               {17, "POLISH", 0, "Polish", ""},
+               {18, "ROMANIAN", 0, "Romanian", ""},
+               {19, "ARABIC", 0, "Arabic", ""},
+               {20, "BULGARIAN", 0, "Bulgarian", ""},
+               {21, "GREEK", 0, "Greek", ""},
+               {22, "KOREAN", 0, "Korean", ""},
+               {0, NULL, 0, NULL, NULL}};
 
        srna= RNA_def_struct(brna, "UserPreferencesSystem", NULL);
        RNA_def_struct_sdna(srna, "UserDef");
        RNA_def_struct_nested(brna, srna, "UserPreferences");
        RNA_def_struct_ui_text(srna, "System & OpenGL", "Graphics driver and operating system settings.");
 
+       /* Language */
+       
+       prop= RNA_def_property(srna, "international_fonts", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "transopts", USER_DOTRANSLATE);
+       RNA_def_property_ui_text(prop, "International Fonts", "Use international fonts.");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop= RNA_def_property(srna, "dpi", PROP_INT, PROP_NONE);
+       RNA_def_property_int_sdna(prop, NULL, "dpi");
+       RNA_def_property_range(prop, 48, 128);
+       RNA_def_property_ui_text(prop, "DPI", "Font size and resolution for display.");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+       
+       prop= RNA_def_property(srna, "scrollback", PROP_INT, PROP_UNSIGNED);
+       RNA_def_property_int_sdna(prop, NULL, "scrollback");
+       RNA_def_property_range(prop, 32, 32768);
+       RNA_def_property_ui_text(prop, "Scrollback", "Maximum number of lines to store for the console buffer.");
+
+       /* Language Selection */
+
+       prop= RNA_def_property(srna, "language", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_items(prop, language_items);
+       RNA_def_property_ui_text(prop, "Language", "Language use for translation.");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop= RNA_def_property(srna, "translate_tooltips", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "transopts", USER_TR_TOOLTIPS);
+       RNA_def_property_ui_text(prop, "Translate Tooltips", "Translate Tooltips.");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop= RNA_def_property(srna, "translate_buttons", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "transopts", USER_TR_BUTTONS);
+       RNA_def_property_ui_text(prop, "Translate Buttons", "Translate button labels.");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop= RNA_def_property(srna, "translate_toolbox", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "transopts", USER_TR_MENUS);
+       RNA_def_property_ui_text(prop, "Translate Toolbox", "Translate toolbox menu.");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop= RNA_def_property(srna, "use_textured_fonts", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "transopts", USER_USETEXTUREFONT);
+       RNA_def_property_ui_text(prop, "Textured Fonts", "Use textures for drawing international fonts.");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
        /* System & OpenGL */
 
        prop= RNA_def_property(srna, "solid_lights", PROP_COLLECTION, PROP_NONE);
@@ -2174,14 +2241,6 @@ static void rna_def_userdef_system(BlenderRNA *brna)
        RNA_def_property_boolean_negative_sdna(prop, NULL, "gameflags", USER_DISABLE_SOUND);
        RNA_def_property_ui_text(prop, "Game Sound", "Enables sounds to be played in games.");
 
-       prop= RNA_def_property(srna, "filter_file_extensions", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_FILTERFILEEXTS);
-       RNA_def_property_ui_text(prop, "Filter File Extensions", "Display only files with extensions in the image select window.");
-
-       prop= RNA_def_property(srna, "hide_dot_files_datablocks", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_HIDE_DOT);
-       RNA_def_property_ui_text(prop, "Hide Dot Files/Datablocks", "Hide files/datablocks that start with a dot(.*)");
-
        prop= RNA_def_property(srna, "clip_alpha", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "glalphaclip");
        RNA_def_property_range(prop, 0.0f, 1.0f);
@@ -2261,7 +2320,15 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna)
        RNA_def_struct_sdna(srna, "UserDef");
        RNA_def_struct_nested(brna, srna, "UserPreferences");
        RNA_def_struct_ui_text(srna, "File Paths", "Default paths for external files.");
-
+       
+       prop= RNA_def_property(srna, "hide_dot_files_datablocks", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_HIDE_DOT);
+       RNA_def_property_ui_text(prop, "Hide Dot Files/Datablocks", "Hide files/datablocks that start with a dot(.*)");
+       
+       prop= RNA_def_property(srna, "filter_file_extensions", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "uiflag", USER_FILTERFILEEXTS);
+       RNA_def_property_ui_text(prop, "Filter File Extensions", "Display only files with extensions in the image select window.");
+       
        prop= RNA_def_property(srna, "use_relative_paths", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_RELPATHS);
        RNA_def_property_ui_text(prop, "Relative Paths", "Default relative path option for the file selector.");
@@ -2340,10 +2407,9 @@ void RNA_def_userdef(BlenderRNA *brna)
        static EnumPropertyItem user_pref_sections[] = {
                {0, "VIEW_CONTROLS", 0, "View", ""},
                {1, "EDIT_METHODS", 0, "Editing", ""},
-               {2, "LANGUAGE_COLORS", 0, "Language", ""},
+               {2, "FILE_PATHS", 0, "File", ""},
                {3, "SYSTEM_OPENGL", 0, "System", ""},
-               {4, "FILE_PATHS", 0, "File", ""},
-               {5, "THEMES", 0, "Themes", ""},
+//             {4, "THEMES", 0, "Themes", ""}, // Leave this out until we figure out a way to manage themes in the prefs.
                {0, NULL, 0, NULL, NULL}};
 
        rna_def_userdef_dothemes(brna);
@@ -2381,12 +2447,6 @@ void RNA_def_userdef(BlenderRNA *brna)
        RNA_def_property_pointer_funcs(prop, "rna_UserDef_edit_get", NULL, NULL);
        RNA_def_property_ui_text(prop, "Edit Methods", "Settings for interacting with Blender data.");
        
-       prop= RNA_def_property(srna, "language", PROP_POINTER, PROP_NONE);
-       RNA_def_property_flag(prop, PROP_NEVER_NULL);
-       RNA_def_property_struct_type(prop, "UserPreferencesLanguage");
-       RNA_def_property_pointer_funcs(prop, "rna_UserDef_language_get", NULL, NULL);
-       RNA_def_property_ui_text(prop, "Language & Font", "User interface translation settings.");
-       
        prop= RNA_def_property(srna, "filepaths", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_NEVER_NULL);
        RNA_def_property_struct_type(prop, "UserPreferencesFilePaths");
@@ -2401,7 +2461,6 @@ void RNA_def_userdef(BlenderRNA *brna)
        
        rna_def_userdef_view(brna);
        rna_def_userdef_edit(brna);
-       rna_def_userdef_language(brna);
        rna_def_userdef_filepaths(brna);
        rna_def_userdef_system(brna);