diff options
-rw-r--r-- | release/scripts/startup/bl_ui/space_text.py | 99 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 13 | ||||
-rw-r--r-- | source/blender/editors/space_text/space_text.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_text.c | 15 |
4 files changed, 91 insertions, 38 deletions
diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py index cf264bf6149..534561efab4 100644 --- a/release/scripts/startup/bl_ui/space_text.py +++ b/release/scripts/startup/bl_ui/space_text.py @@ -47,11 +47,6 @@ class TEXT_HT_header(Header): layout.separator_spacer() - row = layout.row(align=True) - row.prop(st, "show_line_numbers", text="") - row.prop(st, "show_word_wrap", text="") - row.prop(st, "show_syntax_highlight", text="") - if text: is_osl = text.name.endswith((".osl", ".osl")) @@ -125,60 +120,63 @@ class TEXT_PT_properties(Panel): def draw(self, context): layout = self.layout - + layout.use_property_split = True + layout.use_property_decorate = False st = context.space_data flow = layout.column_flow() - flow.prop(st, "show_line_numbers") - flow.prop(st, "show_word_wrap") - flow.prop(st, "show_syntax_highlight") - flow.prop(st, "show_line_highlight") - flow.prop(st, "use_live_edit") + if not st.text: + flow.active = False + row = flow.row(align=True) + st = context.space_data + row.prop(st, "show_margin", text = "Margin") + rowsub = row.row() + rowsub.active = st.show_margin + rowsub.prop(st, "margin_column", text = "") - flow = layout.column_flow() flow.prop(st, "font_size") flow.prop(st, "tab_width") text = st.text if text: - flow.prop(text, "use_tabs_as_spaces") - - flow.prop(st, "show_margin") - col = flow.column() - col.active = st.show_margin - col.prop(st, "margin_column") + layout.prop(text, "indentation") class TEXT_PT_find(Panel): bl_space_type = 'TEXT_EDITOR' bl_region_type = 'UI' bl_category = "Text" - bl_label = "Find" + bl_label = "Find & Replace" def draw(self, context): layout = self.layout - st = context.space_data # find - col = layout.column(align=True) + col = layout.column() row = col.row(align=True) - row.prop(st, "find_text", text="") - row.operator("text.find_set_selected", text="", icon='TEXT') + row.prop(st, "find_text", icon='VIEWZOOM', text="") + row.operator("text.find_set_selected", text="", icon='EYEDROPPER') col.operator("text.find") + layout.separator() + # replace - col = layout.column(align=True) + col = layout.column() row = col.row(align=True) - row.prop(st, "replace_text", text="") - row.operator("text.replace_set_selected", text="", icon='TEXT') + row.prop(st, "replace_text", icon='DECORATE_OVERRIDE', text="") + row.operator("text.replace_set_selected", text="", icon='EYEDROPPER') col.operator("text.replace") + layout.separator() + # settings - layout.prop(st, "use_match_case") row = layout.row(align=True) - row.prop(st, "use_find_wrap", text="Wrap") - row.prop(st, "use_find_all", text="All") + if not st.text: + row.active = False + row.prop(st, "use_match_case", text="Case", toggle=True) + row.prop(st, "use_find_wrap", text="Wrap", toggle=True) + row.prop(st, "use_find_all", text="All", toggle=True) class TEXT_MT_view(Menu): @@ -193,6 +191,13 @@ class TEXT_MT_view(Menu): layout.separator() + layout.prop(st, "show_line_numbers") + layout.prop(st, "show_word_wrap") + layout.prop(st, "show_syntax_highlight") + layout.prop(st, "show_line_highlight") + + layout.separator() + layout.operator("text.move", text="Top of File", ).type = 'FILE_TOP' @@ -280,6 +285,8 @@ class TEXT_MT_format(Menu): def draw(self, _context): layout = self.layout + st = _context.space_data + text = st.text layout.operator("text.indent") layout.operator("text.unindent") @@ -318,6 +325,8 @@ class TEXT_MT_edit(Menu): def draw(self, _context): layout = self.layout + st = _context.space_data + text = st.text layout.operator("ed.undo") layout.operator("ed.redo") @@ -331,6 +340,10 @@ class TEXT_MT_edit(Menu): layout.separator() + layout.prop(st, "use_live_edit") + + layout.separator() + layout.operator("text.move_lines", text="Move line(s) up").direction = 'UP' layout.operator("text.move_lines", @@ -356,16 +369,36 @@ class TEXT_MT_toolbox(Menu): def draw(self, _context): layout = self.layout + st = _context.space_data + text = st.text layout.operator_context = 'INVOKE_DEFAULT' layout.operator("text.cut") - layout.operator("text.copy") - layout.operator("text.paste") + layout.operator("text.copy", icon='COPYDOWN') + layout.operator("text.paste", icon='PASTEDOWN') layout.separator() - layout.operator("text.run_script") + layout.operator("text.duplicate_line") + layout.operator("text.move_lines", + text="Move Lines Up").direction = 'UP' + layout.operator("text.move_lines", + text="Move Lines Down").direction = 'DOWN' + + layout.separator() + + layout.operator("text.indent") + layout.operator("text.unindent") + + layout.separator() + + layout.operator("text.comment", text="Comment") + layout.operator("text.uncomment", text="Uncomment") + + layout.separator() + + layout.operator("text.autocomplete") classes = ( @@ -373,8 +406,8 @@ classes = ( TEXT_HT_footer, TEXT_MT_edit, TEXT_MT_editor_menus, - TEXT_PT_properties, TEXT_PT_find, + TEXT_PT_properties, TEXT_MT_view, TEXT_MT_text, TEXT_MT_templates, diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 5780221bcc5..1573f4ed02f 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -3555,5 +3555,18 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) U.view_rotate_sensitivity_turntable = DEG2RADF(0.4f); U.view_rotate_sensitivity_trackball = 1.0f; } + for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) { + for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { + for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_TEXT) { + ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; + ARegion *ar = do_versions_find_region(regionbase, RGN_TYPE_UI); + if (ar) { + ar->alignment = RGN_ALIGN_RIGHT; + } + } + } + } + } } } diff --git a/source/blender/editors/space_text/space_text.c b/source/blender/editors/space_text/space_text.c index 7d8424a5996..945b9190d26 100644 --- a/source/blender/editors/space_text/space_text.c +++ b/source/blender/editors/space_text/space_text.c @@ -82,7 +82,7 @@ static SpaceLink *text_new(const ScrArea *UNUSED(area), const Scene *UNUSED(scen BLI_addtail(&stext->regionbase, ar); ar->regiontype = RGN_TYPE_UI; - ar->alignment = RGN_ALIGN_LEFT; + ar->alignment = RGN_ALIGN_RIGHT; ar->flag = RGN_FLAG_HIDDEN; /* main region */ diff --git a/source/blender/makesrna/intern/rna_text.c b/source/blender/makesrna/intern/rna_text.c index 454367b5233..b09b5327f57 100644 --- a/source/blender/makesrna/intern/rna_text.c +++ b/source/blender/makesrna/intern/rna_text.c @@ -146,6 +146,13 @@ static void rna_def_text_line(BlenderRNA *brna) static void rna_def_text(BlenderRNA *brna) { + + static const EnumPropertyItem indentation_items[] = { + {0, "TABS", 0, "Tabs", "Indent using tabs"}, + {TXT_TABSTOSPACES, "SPACES", 0, "Spaces", "Indent using spaces"}, + {0, NULL, 0, NULL, NULL}, + }; + StructRNA *srna; PropertyRNA *prop; @@ -182,10 +189,10 @@ static void rna_def_text(BlenderRNA *brna) RNA_def_property_ui_text( prop, "Register", "Run this text as a script on loading, Text name must end with \".py\""); - prop = RNA_def_property(srna, "use_tabs_as_spaces", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "flags", TXT_TABSTOSPACES); - RNA_def_property_ui_text( - prop, "Tabs as Spaces", "Automatically converts all new tabs into spaces"); + prop = RNA_def_property(srna, "indentation", PROP_ENUM, PROP_NONE); /* as an enum */ + RNA_def_property_enum_bitflag_sdna(prop, NULL, "flags"); + RNA_def_property_enum_items(prop, indentation_items); + RNA_def_property_ui_text(prop, "Indentation", "Use tabs or spaces for indentation"); prop = RNA_def_property(srna, "lines", PROP_COLLECTION, PROP_NONE); RNA_def_property_struct_type(prop, "TextLine"); |