Cleanup: order buffer length after the buffer
This commit is contained in:
parent
2837a7e198
commit
18d7fbe4f5
|
@ -983,7 +983,9 @@ void ui_but_add_shortcut(uiBut *but, const char *shortcut_str, const bool do_str
|
|||
}
|
||||
}
|
||||
|
||||
static bool ui_but_event_operator_string(const bContext *C, uiBut *but, char *buf, const size_t buf_len)
|
||||
static bool ui_but_event_operator_string(
|
||||
const bContext *C, uiBut *but,
|
||||
char *buf, const size_t buf_len)
|
||||
{
|
||||
MenuType *mt;
|
||||
bool found = false;
|
||||
|
@ -991,7 +993,10 @@ static bool ui_but_event_operator_string(const bContext *C, uiBut *but, char *bu
|
|||
if (but->optype) {
|
||||
IDProperty *prop = (but->opptr) ? but->opptr->data : NULL;
|
||||
|
||||
if (WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, true, buf_len, buf)) {
|
||||
if (WM_key_event_operator_string(
|
||||
C, but->optype->idname, but->opcontext, prop, true,
|
||||
buf, buf_len))
|
||||
{
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
|
@ -1006,8 +1011,9 @@ static bool ui_but_event_operator_string(const bContext *C, uiBut *but, char *bu
|
|||
|
||||
IDP_AssignString(prop_menu_name, mt->idname, sizeof(mt->idname));
|
||||
|
||||
if (WM_key_event_operator_string(C, "WM_OT_call_menu", WM_OP_INVOKE_REGION_WIN, prop_menu,
|
||||
true, buf_len, buf))
|
||||
if (WM_key_event_operator_string(
|
||||
C, "WM_OT_call_menu", WM_OP_INVOKE_REGION_WIN, prop_menu, true,
|
||||
buf, buf_len))
|
||||
{
|
||||
found = true;
|
||||
}
|
||||
|
@ -1019,8 +1025,10 @@ static bool ui_but_event_operator_string(const bContext *C, uiBut *but, char *bu
|
|||
return found;
|
||||
}
|
||||
|
||||
static bool ui_but_event_property_operator_string(const bContext *C, uiBut *but, char *buf, const size_t buf_len)
|
||||
{
|
||||
static bool ui_but_event_property_operator_string(
|
||||
const bContext *C, uiBut *but,
|
||||
char *buf, const size_t buf_len)
|
||||
{
|
||||
/* context toggle operator names to check... */
|
||||
const char *ctx_toggle_opnames[] = {
|
||||
"WM_OT_context_toggle",
|
||||
|
@ -1114,8 +1122,9 @@ static bool ui_but_event_property_operator_string(const bContext *C, uiBut *but,
|
|||
|
||||
/* check each until one works... */
|
||||
for (i = 0; (i < num_ops) && (ctx_toggle_opnames[i]); i++) {
|
||||
if (WM_key_event_operator_string(C, ctx_toggle_opnames[i], WM_OP_INVOKE_REGION_WIN, prop_path, false,
|
||||
buf_len, buf))
|
||||
if (WM_key_event_operator_string(
|
||||
C, ctx_toggle_opnames[i], WM_OP_INVOKE_REGION_WIN, prop_path, false,
|
||||
buf, buf_len))
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
|
|
|
@ -6544,8 +6544,9 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
|
|||
IDProperty *prop = (but->opptr) ? but->opptr->data : NULL;
|
||||
|
||||
/* complex code to change name of button */
|
||||
if (WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, true,
|
||||
sizeof(shortcut_str), shortcut_str))
|
||||
if (WM_key_event_operator_string(
|
||||
C, but->optype->idname, but->opcontext, prop, true,
|
||||
shortcut_str, sizeof(shortcut_str)))
|
||||
{
|
||||
ui_but_add_shortcut(but, shortcut_str, true);
|
||||
}
|
||||
|
|
|
@ -710,7 +710,7 @@ static uiBut *ui_item_with_label(uiLayout *layout, uiBlock *block, const char *n
|
|||
if (RNA_struct_is_a(ptr->type, &RNA_KeyMapItem)) {
|
||||
char buf[128];
|
||||
|
||||
WM_keymap_item_to_string(ptr->data, false, sizeof(buf), buf);
|
||||
WM_keymap_item_to_string(ptr->data, false, buf, sizeof(buf));
|
||||
|
||||
but = uiDefButR_prop(block, UI_BTYPE_HOTKEY_EVENT, 0, buf, x, y, w, h, ptr, prop, 0, 0, 0, -1, -1, NULL);
|
||||
UI_but_func_set(but, ui_keymap_but_cb, but, NULL);
|
||||
|
@ -2093,8 +2093,9 @@ void uiItemMenuEnumO_ptr(
|
|||
(ot->prop && ot->invoke))
|
||||
{
|
||||
char keybuf[128];
|
||||
if (WM_key_event_operator_string(C, ot->idname, layout->root->opcontext, NULL, false,
|
||||
sizeof(keybuf), keybuf))
|
||||
if (WM_key_event_operator_string(
|
||||
C, ot->idname, layout->root->opcontext, NULL, false,
|
||||
keybuf, sizeof(keybuf)))
|
||||
{
|
||||
ui_but_add_shortcut(but, keybuf, false);
|
||||
}
|
||||
|
|
|
@ -3356,8 +3356,9 @@ static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char
|
|||
|
||||
/* check for hotkey */
|
||||
if (len < sizeof(name) - 6) {
|
||||
if (WM_key_event_operator_string(C, ot->idname, WM_OP_EXEC_DEFAULT, NULL, true,
|
||||
sizeof(name) - len - 1, &name[len + 1]))
|
||||
if (WM_key_event_operator_string(
|
||||
C, ot->idname, WM_OP_EXEC_DEFAULT, NULL, true,
|
||||
&name[len + 1], sizeof(name) - len - 1))
|
||||
{
|
||||
name[len] = UI_SEP_CHAR;
|
||||
}
|
||||
|
|
|
@ -4333,7 +4333,7 @@ static void headerTranslation(TransInfo *t, const float vec[3], char str[UI_MAX_
|
|||
const char *str_dir = (snode->insert_ofs_dir == SNODE_INSERTOFS_DIR_RIGHT) ? IFACE_("right") : IFACE_("left");
|
||||
char str_km[64];
|
||||
|
||||
WM_modalkeymap_items_to_string(t->keymap, TFM_MODAL_INSERTOFS_TOGGLE_DIR, true, sizeof(str_km), str_km);
|
||||
WM_modalkeymap_items_to_string(t->keymap, TFM_MODAL_INSERTOFS_TOGGLE_DIR, true, str_km, sizeof(str_km));
|
||||
|
||||
ofs += BLI_snprintf(str, UI_MAX_DRAW_STR, IFACE_("Auto-offset set to %s - press %s to toggle direction | %s"),
|
||||
str_dir, str_km, str_old);
|
||||
|
@ -4549,7 +4549,7 @@ static void applyShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
|
|||
if (t->keymap) {
|
||||
wmKeyMapItem *kmi = WM_modalkeymap_find_propvalue(t->keymap, TFM_MODAL_RESIZE);
|
||||
if (kmi) {
|
||||
ofs += WM_keymap_item_to_string(kmi, false, sizeof(str) - ofs, str + ofs);
|
||||
ofs += WM_keymap_item_to_string(kmi, false, str + ofs, sizeof(str) - ofs);
|
||||
}
|
||||
}
|
||||
BLI_snprintf(str + ofs, sizeof(str) - ofs, IFACE_(" or Alt) Even Thickness %s"),
|
||||
|
@ -7991,7 +7991,7 @@ static void headerSeqSlide(TransInfo *t, const float val[2], char str[UI_MAX_DRA
|
|||
if (t->keymap) {
|
||||
wmKeyMapItem *kmi = WM_modalkeymap_find_propvalue(t->keymap, TFM_MODAL_TRANSLATE);
|
||||
if (kmi) {
|
||||
ofs += WM_keymap_item_to_string(kmi, false, UI_MAX_DRAW_STR - ofs, str + ofs);
|
||||
ofs += WM_keymap_item_to_string(kmi, false, str + ofs, UI_MAX_DRAW_STR - ofs);
|
||||
}
|
||||
}
|
||||
ofs += BLI_snprintf(str + ofs, UI_MAX_DRAW_STR - ofs, IFACE_(" or Alt) Expand to fit %s"),
|
||||
|
|
|
@ -68,7 +68,7 @@ wmKeyMapItem *WM_keymap_add_menu_pie(struct wmKeyMap *keymap, const char *idname
|
|||
int val, int modifier, int keymodifier);
|
||||
|
||||
bool WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
|
||||
int WM_keymap_item_to_string(wmKeyMapItem *kmi, const bool compact, const int len, char *r_str);
|
||||
int WM_keymap_item_to_string(wmKeyMapItem *kmi, const bool compact, char *result, const int result_len);
|
||||
|
||||
wmKeyMap *WM_keymap_list_find(ListBase *lb, const char *idname, int spaceid, int regionid);
|
||||
wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid);
|
||||
|
@ -83,12 +83,14 @@ int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2);
|
|||
/* Modal Keymap */
|
||||
|
||||
int WM_modalkeymap_items_to_string(
|
||||
struct wmKeyMap *km, const int propvalue, const bool compact, const int len, char *r_str);
|
||||
struct wmKeyMap *km, const int propvalue, const bool compact,
|
||||
char *result, const int result_len);
|
||||
int WM_modalkeymap_operator_items_to_string(
|
||||
struct wmOperatorType *ot, const int propvalue, const bool compact, const int len, char *r_str);
|
||||
struct wmOperatorType *ot, const int propvalue, const bool compact,
|
||||
char *result, const int result_len);
|
||||
char *WM_modalkeymap_operator_items_to_string_buf(
|
||||
struct wmOperatorType *ot, const int propvalue, const bool compact,
|
||||
const int max_len, int *r_available_len, char **r_str);
|
||||
const int max_len, int *r_available_len, char **r_result);
|
||||
|
||||
wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, const char *idname, const struct EnumPropertyItem *items);
|
||||
wmKeyMap *WM_modalkeymap_get(struct wmKeyConfig *keyconf, const char *idname);
|
||||
|
@ -109,14 +111,16 @@ int WM_keymap_map_type_get(struct wmKeyMapItem *kmi);
|
|||
const char *WM_key_event_string(const short type, const bool compact);
|
||||
int WM_keymap_item_raw_to_string(
|
||||
const short shift, const short ctrl, const short alt, const short oskey, const short keymodifier,
|
||||
const short val, const short type, const bool compact, const int len, char *r_str);
|
||||
const short val, const short type, const bool compact,
|
||||
char *result, const int result_len);
|
||||
wmKeyMapItem *WM_key_event_operator(
|
||||
const struct bContext *C, const char *opname, int opcontext,
|
||||
struct IDProperty *properties, const bool is_hotkey,
|
||||
struct wmKeyMap **r_keymap);
|
||||
char *WM_key_event_operator_string(
|
||||
char *WM_key_event_operator_string(
|
||||
const struct bContext *C, const char *opname, int opcontext,
|
||||
struct IDProperty *properties, const bool is_strict, int len, char *r_str);
|
||||
struct IDProperty *properties, const bool is_strict,
|
||||
char *result, const int result_len);
|
||||
|
||||
const char *WM_bool_as_string(bool test);
|
||||
|
||||
|
|
|
@ -940,7 +940,7 @@ const char *WM_key_event_string(const short type, const bool compact)
|
|||
int WM_keymap_item_raw_to_string(
|
||||
const short shift, const short ctrl, const short alt, const short oskey,
|
||||
const short keymodifier, const short val, const short type, const bool compact,
|
||||
const int len, char *r_str)
|
||||
char *result, const int result_len)
|
||||
{
|
||||
#define ADD_SEP if (p != buf) *p++ = ' '; (void)0
|
||||
|
||||
|
@ -1000,20 +1000,23 @@ int WM_keymap_item_raw_to_string(
|
|||
BLI_assert(p - buf < sizeof(buf));
|
||||
|
||||
/* We need utf8 here, otherwise we may 'cut' some unicode chars like arrows... */
|
||||
return BLI_strncpy_utf8_rlen(r_str, buf, len);
|
||||
return BLI_strncpy_utf8_rlen(result, buf, result_len);
|
||||
|
||||
#undef ADD_SEP
|
||||
}
|
||||
|
||||
int WM_keymap_item_to_string(wmKeyMapItem *kmi, const bool compact, const int len, char *r_str)
|
||||
int WM_keymap_item_to_string(
|
||||
wmKeyMapItem *kmi, const bool compact,
|
||||
char *result, const int result_len)
|
||||
{
|
||||
return WM_keymap_item_raw_to_string(
|
||||
kmi->shift, kmi->ctrl, kmi->alt, kmi->oskey, kmi->keymodifier, kmi->val, kmi->type,
|
||||
compact, len, r_str);
|
||||
kmi->shift, kmi->ctrl, kmi->alt, kmi->oskey, kmi->keymodifier, kmi->val, kmi->type,
|
||||
compact, result, result_len);
|
||||
}
|
||||
|
||||
int WM_modalkeymap_items_to_string(
|
||||
wmKeyMap *km, const int propvalue, const bool compact, const int len, char *r_str)
|
||||
wmKeyMap *km, const int propvalue, const bool compact,
|
||||
char *result, const int result_len)
|
||||
{
|
||||
int totlen = 0;
|
||||
bool add_sep = false;
|
||||
|
@ -1023,17 +1026,17 @@ int WM_modalkeymap_items_to_string(
|
|||
|
||||
/* Find all shortcuts related to that propvalue! */
|
||||
for (kmi = WM_modalkeymap_find_propvalue(km, propvalue);
|
||||
kmi && totlen < (len - 2);
|
||||
kmi && totlen < (result_len - 2);
|
||||
kmi = wm_modalkeymap_find_propvalue_iter(km, kmi, propvalue))
|
||||
{
|
||||
if (add_sep) {
|
||||
r_str[totlen++] = '/';
|
||||
r_str[totlen] = '\0';
|
||||
result[totlen++] = '/';
|
||||
result[totlen] = '\0';
|
||||
}
|
||||
else {
|
||||
add_sep = true;
|
||||
}
|
||||
totlen += WM_keymap_item_to_string(kmi, compact, len - totlen, &r_str[totlen]);
|
||||
totlen += WM_keymap_item_to_string(kmi, compact, &result[totlen], result_len - totlen);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1041,25 +1044,26 @@ int WM_modalkeymap_items_to_string(
|
|||
}
|
||||
|
||||
int WM_modalkeymap_operator_items_to_string(
|
||||
wmOperatorType *ot, const int propvalue, const bool compact, const int len, char *r_str)
|
||||
wmOperatorType *ot, const int propvalue, const bool compact,
|
||||
char *result, const int result_len)
|
||||
{
|
||||
return WM_modalkeymap_items_to_string(ot->modalkeymap, propvalue, compact, len, r_str);
|
||||
return WM_modalkeymap_items_to_string(ot->modalkeymap, propvalue, compact, result, result_len);
|
||||
}
|
||||
|
||||
char *WM_modalkeymap_operator_items_to_string_buf(
|
||||
wmOperatorType *ot, const int propvalue, const bool compact,
|
||||
const int max_len, int *r_available_len, char **r_str)
|
||||
const int max_len, int *r_available_len, char **r_result)
|
||||
{
|
||||
char *ret = *r_str;
|
||||
char *ret = *r_result;
|
||||
|
||||
if (*r_available_len > 1) {
|
||||
int used_len = WM_modalkeymap_operator_items_to_string(
|
||||
ot, propvalue, compact, min_ii(*r_available_len, max_len), ret) + 1;
|
||||
ot, propvalue, compact, ret, min_ii(*r_available_len, max_len)) + 1;
|
||||
|
||||
*r_available_len -= used_len;
|
||||
*r_str += used_len;
|
||||
*r_result += used_len;
|
||||
if (*r_available_len == 0) {
|
||||
(*r_str)--; /* So that *str keeps pointing on a valid char, we'll stay on it anyway. */
|
||||
(*r_result)--; /* So that *result keeps pointing on a valid char, we'll stay on it anyway. */
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -1126,7 +1130,7 @@ static wmKeyMapItem *wm_keymap_item_find_handlers(
|
|||
|
||||
if (IDP_EqualsProperties_ex(properties, properties_default, is_strict)) {
|
||||
char kmi_str[128];
|
||||
WM_keymap_item_to_string(kmi, false, sizeof(kmi_str), kmi_str);
|
||||
WM_keymap_item_to_string(kmi, false, kmi_str, sizeof(kmi_str));
|
||||
/* Note gievn properties could come from other things than menu entry... */
|
||||
printf("%s: Some set values in menu entry match default op values, "
|
||||
"this might not be desired!\n", opname);
|
||||
|
@ -1276,7 +1280,7 @@ static wmKeyMapItem *wm_keymap_item_find(
|
|||
kmi = wm_keymap_item_find_props(C, opname, opcontext, properties_default, is_strict, is_hotkey, &km);
|
||||
if (kmi) {
|
||||
char kmi_str[128];
|
||||
WM_keymap_item_to_string(kmi, false, sizeof(kmi_str), kmi_str);
|
||||
WM_keymap_item_to_string(kmi, false, kmi_str, sizeof(kmi_str));
|
||||
printf("%s: Some set values in keymap entry match default op values, "
|
||||
"this might not be desired!\n", opname);
|
||||
printf("\tkm: '%s', kmi: '%s'\n", km->idname, kmi_str);
|
||||
|
@ -1302,13 +1306,14 @@ static wmKeyMapItem *wm_keymap_item_find(
|
|||
|
||||
char *WM_key_event_operator_string(
|
||||
const bContext *C, const char *opname, int opcontext,
|
||||
IDProperty *properties, const bool is_strict, int len, char *r_str)
|
||||
IDProperty *properties, const bool is_strict,
|
||||
char *result, const int result_len)
|
||||
{
|
||||
wmKeyMapItem *kmi = wm_keymap_item_find(C, opname, opcontext, properties, false, is_strict, NULL);
|
||||
|
||||
|
||||
if (kmi) {
|
||||
WM_keymap_item_to_string(kmi, false, len, r_str);
|
||||
return r_str;
|
||||
WM_keymap_item_to_string(kmi, false, result, result_len);
|
||||
return result;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue