重命名T,输入字符到一定数量时,会提示最大输入字符数和已输入字符数,但是从英语切换到阿拉伯语,可输入字符从11个变为5个,输入到5个时已无法再输入,但是却没有提示。
2012-11-27 09:26
316 查看
原因是从英语切换到阿拉伯语,可输入字符从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;
}
修改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;
}
相关文章推荐
- 在extjs的textfield中输入带有特殊字符的字符串,比如/opt/apache-storm-0.9.4/bin/storm ui &但是&符号却无法传递到后台
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- HTML angular购物车:加减按钮改变数量+全选+低于1时提示删除商品+计算所有商品总价+清空购物车+单独删除+输入内容小于1时,自动变为1+反选
- phpcms网站前台页面访问正常,但是输入后台地址后,一片空白,没有任何错误提示
- eclipse无法创建XML文件且复制的XML文件没有出现输入提示
- codeblock无法编译,提示函数没有定义,但是函数已经 在头文件中定义了
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完美字符串 输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。如dad 77
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- 能连接打印服务器,并且能看到服务器上的共享打印机,但是不能连接打印机,有提示信息:“操作无法完成,键入的打印机名不正确,或者指定的打印机没有连接到服务器上,有关详细信息,请单击帮助”。
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- phpcms网站前台页面访问正常,但是输入后台地址后,一片空白,没有任何错误提示
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,
- python字典中没有输入的键key 返回一定的错误信息或者提示状态
- 文本框内默认提示————请输入用户姓名(字体灰色),要求: (1)当文本框获得焦点时,默认提示消失 (2)当文本框失去焦点时,如果没有输入新内容,那么则显示原来的灰色字体内容; 如果有新内容输入则判断,如果长度小于10,则提示“姓名长度应该大于10个字符”
- 完成系统登录程序,从命令行输入用户名和密码,如果没有输入用户名和密码,则提示输入用户名和密码;如果输入了用户名但是没有输入密码,则提示用户输入密码,然后判断用户名是否是mldn,密码是否是hello,