diff --git a/source/blender/editors/interface/interface_template_list.cc b/source/blender/editors/interface/interface_template_list.cc index 30a59bb42c4..e9c16a4169e 100644 --- a/source/blender/editors/interface/interface_template_list.cc +++ b/source/blender/editors/interface/interface_template_list.cc @@ -644,7 +644,12 @@ static void *uilist_item_use_dynamic_tooltip(PointerRNA *itemptr, const char *pr static char *uilist_item_tooltip_func(bContext * /*C*/, void *argN, const char *tip) { char *dyn_tooltip = static_cast(argN); - return BLI_sprintfN("%s - %s", tip, dyn_tooltip); + std::string tooltip_string = dyn_tooltip; + if (tip && tip[0]) { + tooltip_string += '\n'; + tooltip_string += tip; + } + return BLI_strdupn(tooltip_string.c_str(), tooltip_string.size()); } /** @@ -745,6 +750,9 @@ static void ui_template_list_layout_draw(const bContext *C, int i = 0; if (input_data->dataptr.data && input_data->prop) { + + const bool editable = (RNA_property_flag(input_data->prop) & PROP_EDITABLE); + /* create list items */ for (i = visual_info.start_idx; i < visual_info.end_idx; i++) { PointerRNA *itemptr = &items->item_vec[i].item; @@ -775,7 +783,7 @@ static void ui_template_list_layout_draw(const bContext *C, org_i, 0, 0, - TIP_("Double click to rename")); + editable ? TIP_("Double click to rename") : ""); if ((dyntip_data = uilist_item_use_dynamic_tooltip(itemptr, input_data->item_dyntip_propname))) { UI_but_func_tooltip_set(but, uilist_item_tooltip_func, dyntip_data, MEM_freeN); diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index deb96a677c0..c4862befdf5 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -7165,7 +7165,7 @@ static void rna_def_space_filebrowser(BlenderRNA *brna) NULL, NULL, NULL); - RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_flag(prop, PROP_EDITABLE); prop = RNA_def_int(srna, "bookmarks_active", @@ -7196,7 +7196,7 @@ static void rna_def_space_filebrowser(BlenderRNA *brna) NULL, NULL, NULL); - RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_flag(prop, PROP_EDITABLE); prop = RNA_def_int(srna, "recent_folders_active",