Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2012-07-09 18:25:35 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2012-07-09 18:25:35 +0400
commit0dafa97ea3f6d9662299579e5be1875cd28baaae (patch)
tree149bb7181a73dabc619d546a4f153ad6ed3050ad /source/blender/editors/include
parentfacb1512c097189e50808f6aca7c9f0b0280d2dc (diff)
UI translation from inside Blender UI: first part.
This commit reshapes a bit runtime button info getter, by adding a new uiButGetStrInfo() which accepts a variable number of uiStringInfo parameters, and tries to fill them with the requested strings, for the given button (label, tip, context, RNA identifier, keymap, etc.). Currently used mostly by existing ui_tooltip_create(), and new UI_OT_edittranslation_init operator. It also adds a few getters (to get RNA i18n context, and current language iso code). Finally, it adds to C operators needed for the py ui_translation addon: *UI_OT_edittranslation_init, which gathers requested data and launch the py operator. *UI_OT_reloadtranslation, which forces a full reload of the whole UI translation (including rechecking the directory containing mo files). For the first operator to work, it also adds a new user preferences path: i18n_branches_directory, to point to the /branch part of a bf-translation checkout.
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r--source/blender/editors/include/UI_interface.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index bb6f9fad771..9715fb93c27 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -515,6 +515,34 @@ struct PointerRNA *uiButGetOperatorPtrRNA(uiBut *but);
void uiButSetUnitType(uiBut *but, const int unit_type);
int uiButGetUnitType(uiBut *but);
+enum {
+ BUT_GET_RNAPROP_IDENTIFIER = 1,
+ BUT_GET_RNASTRUCT_IDENTIFIER,
+ BUT_GET_RNAENUM_IDENTIFIER,
+ BUT_GET_LABEL,
+ BUT_GET_RNA_LABEL,
+ BUT_GET_RNAENUM_LABEL,
+ BUT_GET_RNA_LABEL_CONTEXT, /* Context specified in CTX_XXX_ macros are just unreachable! */
+ BUT_GET_TIP,
+ BUT_GET_RNA_TIP,
+ BUT_GET_RNAENUM_TIP,
+ BUT_GET_OP_KEYMAP,
+};
+
+typedef struct uiStringInfo {
+ int type;
+ char *strinfo;
+} uiStringInfo;
+
+/* Note: Expects pointers to uiStringInfo structs as parameters.
+ * Will fill them with translated strings, when possible.
+ * Strings in uiStringInfo must be MEM_freeN'ed by caller. */
+void uiButGetStrInfo(struct bContext *C, uiBut *but, const int nbr, ...);
+
+/* Edit i18n stuff. */
+/* Name of the main py op from i18n addon. */
+#define EDTSRC_I18N_OP_NAME "UI_OT_edittranslation"
+
/* Special Buttons
*
* Buttons with a more specific purpose: