重命名T,输入字符到一定数量时,会提示最大输入字符数和已输入字符数,但是从英语切换到阿拉伯语,可输入字符从11个变为5个,输入到5个时已无法再输入,但是却没有提示。

原因是从英语切换到阿拉伯语,可输入字符从11个变为5,但是在file name editor那边去没有转换过来,仍然仍未可输入11个字符,达不到显示最大可输入字符数和已输入字符数的条件(输入长度超过可输入最大长度的一半),请尝试修改如下:
修改gui_input.c中gui_multi_line_input_box_insert_character_internal(),
将 if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
            UI_TEST_UCS2_CHARACTER(c))
        {
            if ((b_flags & UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER) &&
                (text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_ONE(b->available_length)))
            {
                UI_editor_play_tone_cannot_insert();    /* play error tone */
                return MMI_FALSE;
            }
            if ((b_flags & UI_MULTI_LINE_INPUT_BOX_FORTY_FOUR_LESS_CHARACTER) &&
                (text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_FORTYFOUR(b->available_length)))
            {
                UI_editor_play_tone_cannot_insert();    /* play error tone */
                return MMI_FALSE;
            }
            else if (text_length >= UI_UCS2_STRING_HALF_LENGTH(b->available_length))
            {
                UI_editor_play_tone_cannot_insert();    /* play eror tone */
                return MMI_FALSE;
            }
        }修改为:
 
 if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
            UI_TEST_UCS2_CHARACTER(c))
        {
            if ((b_flags & UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER) &&
                (text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_ONE(b->available_length)))
            {
                UI_editor_play_tone_cannot_insert();    /* play error tone */
                return MMI_FALSE;
            }
            if ((b_flags & UI_MULTI_LINE_INPUT_BOX_FORTY_FOUR_LESS_CHARACTER) &&
                (text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_FORTYFOUR(b->available_length)))
            {
                UI_editor_play_tone_cannot_insert();    /* play error tone */
                return MMI_FALSE;
            }
            else if (text_length >= UI_UCS2_STRING_HALF_LENGTH(b->available_length))
            {
                UI_editor_play_tone_cannot_insert();    /* play eror tone */
                UI_TEST_UCS2_INCREMENT_COUNT_SET_LENGTH(c, b->UCS2_count, b->allocated_length, b->available_length);
                b->UCS2_count = 0;
                return MMI_FALSE;
            }
        }
         if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
            UI_TEST_ASCII_CHARACTER(c))
            {
                b->available_length = b->allocated_length;
            }
            
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值