pButtonCb,
GList * pFileList,
char *szCurrentPath,
+ char *fileName,
bool isSubtitleOff);
void vp_subtitle_select_destroy(subtitle_select_handle
pSubtitleSelectHandle);
Evas_Object * obj,
void *event_info)
{
- VP_GENLIST_HIDE_BOTTOMLINE(data, obj, event_info);
+ Elm_Widget_Item *current_item = (Elm_Widget_Item*)event_info;
+ if(current_item == elm_genlist_last_item_get(obj))
+ {
+ elm_object_item_signal_emit(current_item, "elm,state,bottomline,hide", "elm");
+ }
}
/**
* @param pPart
* @return
*/
-static char *__vp_subtitle_select_genlist_text_get_cb(const void
+static char *__vp_subtitle_select_genlist_text_get_cb(void
*pUserData,
Evas_Object * pObj,
const char *pPart)
* @param pPart
* @return
*/
-static Evas_Object *__vp_subtitle_select_genlist_content_get_cb(const void
+static Evas_Object *__vp_subtitle_select_genlist_content_get_cb(void
*pUserData,
Evas_Object
*pObj,
char *szTxt = (char *) pUserData;
- if (!strcmp(pPart, "elm.swallow.end")) {
+ if (!strcmp(pPart, "elm.icon")) {
Evas_Object *pRadioObj = NULL;
SubtitleSelectPopup *pSubtitleSelect =
pRadioObj = elm_radio_add(pObj);
elm_radio_state_value_set(pRadioObj, nIndex);
elm_radio_group_add(pRadioObj, pSubtitleSelect->pRadio);
- elm_radio_value_set(pSubtitleSelect->pRadio,
- pSubtitleSelect->nSubtitleIdx);
- evas_object_smart_callback_add(pRadioObj, "changed",
- __vp_subtitle_select_genlist_item_selected_cb,
- pSubtitleSelect);
+ elm_radio_value_set(pSubtitleSelect->pRadio, pSubtitleSelect->nSubtitleIdx);
+ elm_object_signal_emit(pRadioObj, "elm,activate,radio,on", "elm");
evas_object_show(pRadioObj);
return pRadioObj;
}
}
Elm_Object_Item *pItem = (Elm_Object_Item *) pEventInfo;
- Elm_Object_Item *pSelectedItem =
- elm_genlist_selected_item_get(pObject);
+ Elm_Object_Item *pSelectedItem = elm_genlist_selected_item_get(pObject);
if (pSelectedItem) {
elm_genlist_item_selected_set(pSelectedItem, EINA_FALSE);
}
return;
}
- SubtitleSelectPopup *pSubtitleSelect =
- (SubtitleSelectPopup *) pUserData;
+ SubtitleSelectPopup *pSubtitleSelect = (SubtitleSelectPopup *) pUserData;
int nIndex = 0;
int nCount = 0;
int i = 0;
}
pSubtitleSelect->nSubtitleIdx = nIndex;
- if (szTxt) {
- char *szName = NULL;
- VP_STRDUP(szName, szTxt);
- if (pSubtitleSelect->pCloseCb) {
- pSubtitleSelect->pCloseCb(szName,
- (void *) pSubtitleSelect->pUserData);
- }
- VP_FREE(szName);
- }
+ elm_radio_value_set(pSubtitleSelect->pRadio, pSubtitleSelect->nSubtitleIdx);
}
/**
* @param pObj
* @param pEventInfo
*/
-static void __vp_subtitle_select_popup_cancel_cb(void *pUserData,
+static void __vp_subtitle_select_popup_back_cb(void *pUserData, Evas_Object * pObj, void *pEventInfo)
+{
+ if (pUserData == NULL) {
+ VideoLogError("pUserData is NULL");
+ return;
+ }
+
+ SubtitleSelectPopup *pSubtitleSelect = (SubtitleSelectPopup *) pUserData;
+
+ if (pSubtitleSelect->pButtonCb) {
+ pSubtitleSelect->pButtonCb("cancel", (void *) pSubtitleSelect->pUserData);
+ }
+}
+
+
+/**
+ *
+ * @param pUserData
+ * @param pObj
+ * @param pEventInfo
+ */
+static void __vp_subtitle_select_popup_done_cb(void *pUserData,
Evas_Object * pObj,
void *pEventInfo)
{
return;
}
- SubtitleSelectPopup *pSubtitleSelect =
- (SubtitleSelectPopup *) pUserData;
+ SubtitleSelectPopup *pSubtitleSelect = (SubtitleSelectPopup *) pUserData;
- if (pSubtitleSelect->pButtonCb) {
- pSubtitleSelect->pButtonCb("cancel",
- (void *) pSubtitleSelect->pUserData);
+ if((pSubtitleSelect && (pSubtitleSelect->nSubtitleIdx >= 0) && (pSubtitleSelect->nSubtitleIdx < g_list_length(pSubtitleSelect->pItemList))))
+ {
+ char *path = (char*) g_list_nth_data(pSubtitleSelect->pItemList, pSubtitleSelect->nSubtitleIdx);
+ if(pSubtitleSelect->pCloseCb) {
+ char *path_cp = NULL;
+ VP_STRDUP(path_cp, path);
+ pSubtitleSelect->pCloseCb(path_cp, pSubtitleSelect->pUserData);
+ }
}
}
if (pSubtitleSelect->st_SubtitleSelect_Itc != NULL) {
pSubtitleSelect->st_SubtitleSelect_Itc->version =
ELM_GENLIST_ITEM_CLASS_VERSION;
- pSubtitleSelect->st_SubtitleSelect_Itc->item_style = "type1";
- pSubtitleSelect->st_SubtitleSelect_Itc->func.text_get =
- (void *) __vp_subtitle_select_genlist_text_get_cb;
- pSubtitleSelect->st_SubtitleSelect_Itc->func.content_get =
- (void *) __vp_subtitle_select_genlist_content_get_cb;
+ pSubtitleSelect->st_SubtitleSelect_Itc->item_style = "1line";
+ pSubtitleSelect->st_SubtitleSelect_Itc->func.text_get = __vp_subtitle_select_genlist_text_get_cb;
+ pSubtitleSelect->st_SubtitleSelect_Itc->func.content_get = __vp_subtitle_select_genlist_content_get_cb;
pSubtitleSelect->st_SubtitleSelect_Itc->func.state_get = NULL;
pSubtitleSelect->st_SubtitleSelect_Itc->func.del = NULL;
}
pButtonCb,
GList * pFileList,
char *szCurrentPath,
+ char *fileName,
bool isSubtitleOff)
{
if (pParent == NULL) {
pSubtitleSelect->pPopup =
vp_two_button_popup_create(pParent,
VP_PLAY_STRING_SUBTITLE_SELECT_SUBTITLES,
- NULL, VP_PLAY_STRING_COM_CANCEL,
- __vp_subtitle_select_popup_cancel_cb,
- VP_PLAY_STRING_SETTINGS,
+ NULL, VP_PLAY_STRING_COM_DONE, "border",
+ __vp_subtitle_select_popup_done_cb,
+ VP_PLAY_STRING_SETTINGS, NULL,
__vp_subtitle_select_popup_settings_cb,
(void *) pSubtitleSelect);
else {
pSubtitleSelect->pPopup =
vp_two_button_popup_create(pParent,
VP_PLAY_STRING_SUBTITLE_SELECT_SUBTITLES,
- NULL, VP_PLAY_STRING_COM_CANCEL,
- __vp_subtitle_select_popup_cancel_cb,
- VP_PLAY_STRING_SETTINGS, NULL,
+ NULL, VP_PLAY_STRING_COM_DONE, "border",
+ __vp_subtitle_select_popup_done_cb,
+ VP_PLAY_STRING_SETTINGS, NULL, NULL,
(void *) pSubtitleSelect);
- Elm_Object_Item *it = NULL;
- it = (Evas_Object *) elm_object_part_content_get(pSubtitleSelect->
- pPopup,
- "button2");
- if (it) {
- elm_object_disabled_set(it, EINA_TRUE);
+ Evas_Object *button = NULL;
+ button = elm_object_part_content_get(pSubtitleSelect->pPopup, "button2");
+ if (button) {
+ elm_object_disabled_set(button, EINA_TRUE);
}
}
eext_object_event_callback_add(pSubtitleSelect->pPopup,
EEXT_CALLBACK_BACK,
- __vp_subtitle_select_popup_cancel_cb,
+ __vp_subtitle_select_popup_back_cb,
(void *) pSubtitleSelect);
if (pSubtitleSelect->pPopup == NULL) {
VideoLogError("vp_popup_create fail");
int i = 0;
int nCount = 0;
-
+ bool subtitle_file_exist = false;
if (pFileList) {
for (i = 0; i < nItemCount; i++) {
char *szName = NULL;
if (szName == NULL) {
continue;
}
+ bool found = false;
if (szCurrentPath) {
if (strcmp(szName, szCurrentPath) == 0) {
- pSubtitleSelect->nSubtitleIdx = nCount;
+ pSubtitleSelect->nSubtitleIdx = 0;
elm_radio_value_set(pSubtitleSelect->pRadio,
pSubtitleSelect->nSubtitleIdx);
+ found = true;
+ }
+ } else {
+ char *file = vp_file_get(szName);
+ char *title = vp_strip_ext(file);
+ if(strcmp(title, fileName) == 0)
+ {
+ pSubtitleSelect->nSubtitleIdx = 0;
+ elm_radio_value_set(pSubtitleSelect->pRadio, pSubtitleSelect->nSubtitleIdx);
+ found = true;
+ subtitle_file_exist = true;
}
+ VP_FREE(title)
}
VP_STRDUP(szItem, szName);
- pSubtitleSelect->pItemList =
- g_list_append(pSubtitleSelect->pItemList, (void *) szItem);
+ if(found) {
+ pSubtitleSelect->pItemList = g_list_prepend(pSubtitleSelect->pItemList, (void *) szItem);
+ found = false;
+ } else {
+ pSubtitleSelect->pItemList = g_list_append(pSubtitleSelect->pItemList, (void *) szItem);
+ }
nCount++;
}
}
_vp_subtitle_select_destroy_handle(pSubtitleSelect);
return FALSE;
}
- if (isSubtitleOff || !bOn) {
+ if (subtitle_file_exist == false && (isSubtitleOff || !bOn)) {
pSubtitleSelect->nSubtitleIdx = (nCount - 1);
- elm_radio_value_set(pSubtitleSelect->pRadio,
- pSubtitleSelect->nSubtitleIdx);
+ elm_radio_value_set(pSubtitleSelect->pRadio, pSubtitleSelect->nSubtitleIdx);
}
evas_object_smart_callback_add(pSubtitleSelect->pParent,
"rotation,changed",
* @param pPart
* @return
*/
-static char *__vp_subtitle_genlist_text_get_cb(const void *pUserData,
+static char *__vp_subtitle_genlist_text_get_cb(void *pUserData,
Evas_Object * pObj,
const char *pPart)
{
}
VideoLogWarning("part = %s", part);
- if (!strcmp(part, "elm.swallow.icon")) {
+ if (!strcmp(part, "elm.icon")) {
if (!g_strcmp0(VP_PLAY_STRING_PREVIEW_SUBTITLE_CC, (char *) data)) {
Evas_Object *pCaption =
_vp_subtitle_create_caption_layout(pSubtitle, obj);
}
}
- if (!strcmp(part, "elm.swallow.end")) {
+ if (!strcmp(part, "elm.icon")) {
if (!g_strcmp0(VP_PLAY_STRING_ACTIVATION, (char *) data)) {
Evas_Object *pCheck = NULL;
pCheck = elm_check_add(obj);
if (pSubtitle->st_Subtitle_Itc_1 != NULL) {
pSubtitle->st_Subtitle_Itc_1->version =
ELM_GENLIST_ITEM_CLASS_VERSION;
- pSubtitle->st_Subtitle_Itc_1->item_style = "type1";
- pSubtitle->st_Subtitle_Itc_1->func.text_get =
- (void *) __vp_subtitle_genlist_text_get_cb;
- pSubtitle->st_Subtitle_Itc_1->func.content_get =
- (void *) __vp_subtitle_genlist_content_get_cb;
+ pSubtitle->st_Subtitle_Itc_1->item_style = "1line";
+ pSubtitle->st_Subtitle_Itc_1->func.text_get = __vp_subtitle_genlist_text_get_cb;
+ pSubtitle->st_Subtitle_Itc_1->func.content_get = __vp_subtitle_genlist_content_get_cb;
pSubtitle->st_Subtitle_Itc_1->func.state_get = NULL;
pSubtitle->st_Subtitle_Itc_1->func.del = NULL;
}
if (pSubtitle->st_Subtitle_Itc_2 != NULL) {
pSubtitle->st_Subtitle_Itc_2->version =
ELM_GENLIST_ITEM_CLASS_VERSION;
- pSubtitle->st_Subtitle_Itc_2->item_style = "type1";
- pSubtitle->st_Subtitle_Itc_2->func.text_get =
- (void *) __vp_subtitle_genlist_text_get_cb;
+ pSubtitle->st_Subtitle_Itc_2->item_style = "2line";
+ pSubtitle->st_Subtitle_Itc_2->func.text_get = __vp_subtitle_genlist_text_get_cb;
pSubtitle->st_Subtitle_Itc_2->func.content_get = NULL;
pSubtitle->st_Subtitle_Itc_2->func.state_get = NULL;
pSubtitle->st_Subtitle_Itc_2->func.del = NULL;
if (pSubtitle->st_Subtitle_Itc_1icon != NULL) {
pSubtitle->st_Subtitle_Itc_1icon->version =
ELM_GENLIST_ITEM_CLASS_VERSION;
- pSubtitle->st_Subtitle_Itc_1icon->item_style = "1icon";
+ pSubtitle->st_Subtitle_Itc_1icon->item_style = "1line";
pSubtitle->st_Subtitle_Itc_1icon->func.text_get = NULL;
- pSubtitle->st_Subtitle_Itc_1icon->func.content_get =
- (void *) __vp_subtitle_genlist_content_get_cb;
+ pSubtitle->st_Subtitle_Itc_1icon->func.content_get = __vp_subtitle_genlist_content_get_cb;
pSubtitle->st_Subtitle_Itc_1icon->func.state_get = NULL;
pSubtitle->st_Subtitle_Itc_1icon->func.del = NULL;
}
pSubtitle->st_Subtitle_Itc_groupindex->version =
ELM_GENLIST_ITEM_CLASS_VERSION;
pSubtitle->st_Subtitle_Itc_groupindex->item_style = "group_index";
- pSubtitle->st_Subtitle_Itc_groupindex->func.text_get =
- (void *) __vp_subtitle_genlist_text_get_cb;
+ pSubtitle->st_Subtitle_Itc_groupindex->func.text_get = __vp_subtitle_genlist_text_get_cb;
pSubtitle->st_Subtitle_Itc_groupindex->func.content_get = NULL;
pSubtitle->st_Subtitle_Itc_groupindex->func.state_get = NULL;
pSubtitle->st_Subtitle_Itc_groupindex->func.del = NULL;
if (!event_info || !obj) { \
return; \
} \
- elm_object_item_signal_emit(elm_genlist_last_item_get(obj), "elm,state,bottomline,hide", ""); \
+ elm_object_item_signal_emit(elm_genlist_last_item_get(obj), "elm,state,bottomline,hide", "elm"); \
} while (0);
SELECT_DONE:
VP_FREE(szSubtitle);
+ VP_FREE(szFilePath);
}
pNormalView->pPopup = vp_two_button_popup_create(pPlayView->pWin,
VP_PLAY_STRING_POPUP_DELETE,
VP_PLAY_STRING_POPUP_DELETE_CONTENT,
- VP_PLAY_STRING_CANCEL,
+ VP_PLAY_STRING_CANCEL, NULL,
__vp_normal_del_popup_cancel_cb,
- VP_PLAY_STRING_POPUP_DELETE,
+ VP_PLAY_STRING_POPUP_DELETE, NULL,
__vp_normal_del_popup_delete_cb,
(const void *)
pNormalView);
return;
}
char *szSubtitle = NULL;
+ char *fileName = NULL;
GList *pItemList = NULL;
char *szDir = NULL;
szDir = vp_play_util_get_folder_from_path(pNormalView->szMediaURL);
#endif
VP_FREE(szDir);
vp_mm_player_get_subtitle_url(pNormalView->pPlayerHandle, &szSubtitle);
+ fileName = vp_play_util_get_title_from_path(pNormalView->szMediaURL);
+
pNormalView->pSubtitleSelectPopup =
vp_subtitle_select_create(pPlayView->pWin,
__vp_normal_subtitle_select_popup_done_cb,
__vp_normal_subtitle_select_button_popup_done_cb,
- pItemList, szSubtitle,
+ pItemList, szSubtitle, fileName,
!(pNormalView->bIsExistSubtitle));
VP_FREE(szSubtitle);
+ VP_FREE(fileName);
if (pItemList) {
int nCount = 0;
Evas_Object *vp_two_button_popup_create(Evas_Object * pParent,
char *szTitle, char *szContent,
char *pLeftButtonText,
+ const char *pLeftStyle,
Evas_Smart_Cb leftButtonCb,
char *pRightButtonText,
+ const char *pRightStyle,
Evas_Smart_Cb rightButtonCb,
const void *pUserData);
#ifdef _SUBTITLE_MULTI_LANGUAGE
char *szTitle,
char *szContent,
char *pLeftButtonText,
+ const char *pLeftStyle,
Evas_Smart_Cb leftButtonCb,
char *pRightButtonText,
+ const char *pRightStyle,
Evas_Smart_Cb rightButtonCb,
const void *pUserData)
{
}
pBtn1 = elm_button_add(pPopup);
- elm_object_style_set(pBtn1, "popup");
+ if(pLeftStyle) {
+ elm_object_style_set(pBtn1, pLeftStyle);
+ }
elm_object_text_set(pBtn1, pLeftButtonText);
elm_object_part_content_set(pPopup, "button1", pBtn1);
if (leftButtonCb)
(const void *) pUserData);
pBtn2 = elm_button_add(pPopup);
- elm_object_style_set(pBtn2, "popup");
+ if(pRightStyle){
+ elm_object_style_set(pBtn2, pRightStyle);
+ }
elm_object_text_set(pBtn2, pRightButtonText);
elm_object_part_content_set(pPopup, "button2", pBtn2);
Evas_Object *pPopup = NULL;
pPopup =
vp_two_button_popup_create(pParent, NULL, szContent,
- pLeftButtonText, leftButtonCb,
- pRightButtonText, rightButtonCb,
+ pLeftButtonText, NULL, leftButtonCb,
+ pRightButtonText, NULL, rightButtonCb,
pUserData);
if (szTitle && pPopup) {
elm_object_part_text_set(pPopup, "title,text", szTitle);
{
char edj_path[1024] = {0, };
char *path = app_get_resource_path();
- snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_folder_thumbnail.png");
free(path);
elm_image_aspect_fixed_set(img, EINA_TRUE);
elm_image_file_set(img, edj_path, NULL);
{
char edj_path[1024] = {0, };
char *path = app_get_resource_path();
- snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_thumbnail.png");
+ snprintf(edj_path, 1024, "%s%s/%s", path, "images", "default_folder_thumbnail.png");
free(path);
elm_image_aspect_fixed_set(img, EINA_TRUE);
elm_image_file_set(img, edj_path, NULL);
}
/*subtitle area*/
+ part { name: "pv.normal.subtitle.left.padding";
+ type: SPACER;
+ scale: 1;
+ description {state: "default" 0.0;
+ min: 76 0;
+ max: 76 -1;
+ align: 0.0 0.0;
+ fixed: 1 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { to_y: "pv.normal.main.control"; relative: 0.0 0.0; }
+ }
+ }
+ part { name: "pv.normal.subtitle.right.padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 76 0;
+ max: 76 -1;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel1 { relative: 1.0 0.0; }
+ rel2 { to_y: "pv.normal.main.control"; relative: 1.0 0.0; }
+ }
+ }
part {
name: "pv.normal.main.subtitle";
type: SWALLOW;
state: "default" 0.0;
visible: 0;
align: 0.5 1.0;
- fixed: 1 1;
- rel1 { relative: 0.1 0.0; }
- rel2 { relative: 0.9 0.0; to_y: "pv.normal.main.control";}
+ fixed: 1 0;
+ rel1 { relative: 1.0 0.0; to_x: "pv.normal.subtitle.left.padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "pv.normal.subtitle.right.padding"; to_y: "pv.normal.main.control";}
}
description {
state: "portrait.show" 0.0;
inherit: "default" 0.0;
- rel1 { relative: 0.1 0.0; }
- rel2 { relative: 0.9 0.0; to_y: "pv.normal.main.volume.icon";}
+ rel1 { relative: 1.0 0.0; to_x: "pv.normal.subtitle.left.padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "pv.normal.subtitle.right.padding"; to_y: "pv.normal.main.control";}
visible: 1;
}
description {
state: "landscape.show" 0.0;
inherit: "default" 0.0;
- rel1 { relative: 0.1 0.0; }
- rel2 { relative: 0.9 0.0; to_y: "pv.normal.main.volume.icon";}
+ rel1 { relative: 1.0 0.0; to_x: "pv.normal.subtitle.left.padding"; }
+ rel2 { relative: 0.0 0.0; to_x: "pv.normal.subtitle.right.padding"; to_y: "pv.normal.main.control";}
visible: 1;
}
}
*/
#include "pv-image.edc"
+#include "custom/pv-custom-define.edc"
#define FONT_COLOR 255 255 255 255
#define _SCREEN_SIZE_PROTRAIT_ 480 750
#define SUBTITLE_K_FEATURE
collections {
- base_scale: 1.8;
+ base_scale: CURRENT_BASE_SCALE;
styles {
style {
name: "textblock_style_small";
- base: "font=Tizen:style=Roman font_size=28 color=#fff align=center wrap=word";
+ base: "font=font=Tizen:weight=Regular:width=BreezeSans font_size=28 color=#fff align=center wrap=word";
tag: "br" "\n";
tag: "ps" "ps";
tag: "hilight" "+ font=Tizen:style=Roman";
}
style {
name: "textblock_style_medium";
- base: "font=Tizen:style=Roman font_size=42 color=#fff align=center wrap=word";
+ base: "font=font=Tizen:weight=Regular:width=BreezeSans font_size=42 color=#fff align=center wrap=word";
tag: "br" "\n";
tag: "ps" "ps";
tag: "hilight" "+ font=Tizen:style=Roman";
style {
name: "textblock_style_large";
- base: "font=Tizen:style=Roman font_size=54 color=#fff align=center wrap=word";
+ base: "font=font=Tizen:weight=Regular:width=BreezeSans font_size=54 color=#fff align=center wrap=word";
tag: "br" "\n";
tag: "ps" "ps";
tag: "hilight" "+ font=Tizen:style=Roman";
}
style {
name: "textblock_style_default";
- base: "font=Tizen:style=Roman align=center wrap=word";
+ base: "font=font=Tizen:weight=Regular:width=BreezeSans align=center wrap=word";
tag: "br" "\n";
tag: "ps" "ps";
- tag: "hilight" "+ font=Tizen:style=Roman";
+ tag: "hilight" "+ font=Tizen:weight=Regular:width=BreezeSans";
tag: "b" "+ font=Tizen:style=Roman";
tag: "tab" "\t";
}
scale: 1;
description {
state: "default" 0.0;
- min: 0 25;
+ min: 0 12;
fixed: 0 1;
align: 0.5 1.0;
rel1 { relative: 0.0 1.0;}
msgstr "%d secs"
msgid "IDS_VPL_BODY_OFF"
-msgstr "Off"
+msgstr "None"
msgid "IDS_VPL_BODY_NO_TITLE"
msgstr "No title"
msgstr "%d secs"
msgid "IDS_VPL_BODY_OFF"
-msgstr "Off"
+msgstr "None"
msgid "IDS_VPL_BODY_NO_TITLE"
msgstr "No title"
msgstr "%d sec"
msgid "IDS_VPL_BODY_OFF"
-msgstr "Off"
+msgstr "None"
msgid "IDS_VPL_BODY_NO_TITLE"
msgstr "No title"
{
VideoLogWarning("== APP CREATE ==");
+ elm_app_base_scale_set(1.8);
+
if (pUserData == NULL) {
VideoLogError("[ERR] No exist pUserData.");
return FALSE;