}
#endif
+static Elm_Object_Item * append_item(Evas_Object *genlist, enum SETTING_ITEM_ID id, const char *main_text, const char *sub_text, void *cb_data, Elm_Genlist_Item_Class *itc, Eina_Bool display_only)
+{
+ Elm_Object_Item *item = NULL;
+
+ if (main_text)
+ strncpy(main_itemdata[id].main_text, main_text, ITEM_DATA_STRING_LEN - 1);
+
+ if (sub_text)
+ strncpy(main_itemdata[id].sub_text, sub_text, ITEM_DATA_STRING_LEN - 1);
+
+ main_itemdata[id].mode = id;
+ item = elm_genlist_item_append(genlist, itc, &main_itemdata[id],
+ NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, cb_data);
+
+ if (display_only)
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ return item;
+}
+
Evas_Object* create_option_main_view(Evas_Object *parent, Evas_Object *naviframe, SCLOptionWindowType type)
{
Evas_Object *genlist = NULL;
if (CHECK_ARRAY_INDEX(type, OPTION_WINDOW_TYPE_MAX)) {
create_genlist_item_classes(type);
- Elm_Object_Item *item = NULL;
genlist = elm_genlist_add(naviframe);
evas_object_paragraph_direction_set(genlist, EVAS_BIDI_DIRECTION_NEUTRAL);
option_elements[type].genlist = genlist;
#endif
/* Input languages */
- strncpy(main_itemdata[SETTING_ITEM_ID_INPUT_LANGUAGE_TITLE].main_text, INPUT_LANGUAGE, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_INPUT_LANGUAGE_TITLE].mode = SETTING_ITEM_ID_INPUT_LANGUAGE_TITLE;
- item = elm_genlist_item_append(genlist, option_elements[type].itc_group_title, &main_itemdata[SETTING_ITEM_ID_INPUT_LANGUAGE_TITLE],
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ append_item(genlist, SETTING_ITEM_ID_INPUT_LANGUAGE_TITLE, INPUT_LANGUAGE, NULL, NULL, option_elements[type].itc_group_title, EINA_TRUE);
for (unsigned int loop = 0; loop < OPTION_MAX_LANGUAGES && loop < _language_manager.get_languages_num(); loop++)
{
if (_language_manager.get_languages_num() > 1) {
/* Select input languages */
- strncpy(main_itemdata[SETTING_ITEM_ID_SELECT_INPUT_LANGUAGE].main_text, SELECT_LANGUAGES, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_SELECT_INPUT_LANGUAGE].mode = SETTING_ITEM_ID_SELECT_INPUT_LANGUAGE;
- option_elements[type].languages_item =
- elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_SELECT_INPUT_LANGUAGE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void*)(main_itemdata[SETTING_ITEM_ID_SELECT_INPUT_LANGUAGE].mode));
+ option_elements[type].languages_item = append_item(genlist, SETTING_ITEM_ID_SELECT_INPUT_LANGUAGE, SELECT_LANGUAGES, NULL, (void *)SETTING_ITEM_ID_SELECT_INPUT_LANGUAGE, option_elements[type].itc_1text_main_item, EINA_FALSE);
}
#ifndef _WEARABLE
/* Smart input functions */
- strncpy(main_itemdata[SETTING_ITEM_ID_SMART_INPUT_TITLE].main_text, SMART_FUNCTIONS, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_SMART_INPUT_TITLE].mode = SETTING_ITEM_ID_SMART_INPUT_TITLE;
- item = elm_genlist_item_append(genlist, option_elements[type].itc_group_title, &main_itemdata[SETTING_ITEM_ID_SMART_INPUT_TITLE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ append_item(genlist, SETTING_ITEM_ID_SMART_INPUT_TITLE, SMART_FUNCTIONS, NULL, NULL, option_elements[type].itc_group_title, EINA_TRUE);
/* Auto capitalize */
- strncpy(main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE].main_text, AUTO_CAPITALISE, ITEM_DATA_STRING_LEN - 1);
- strncpy(main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE].sub_text, CAPITALISE_DESC, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE].mode = SETTING_ITEM_ID_AUTO_CAPITALISE;
- elm_genlist_item_append(genlist, option_elements[type].itc_multi_item, &main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE].mode));
+ append_item(genlist, SETTING_ITEM_ID_AUTO_CAPITALISE, AUTO_CAPITALISE, CAPITALISE_DESC, (void *)SETTING_ITEM_ID_AUTO_CAPITALISE, option_elements[type].itc_multi_item, EINA_FALSE);
/* Auto punctuate */
- strncpy(main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE].main_text, AUTO_PUNCTUATE, ITEM_DATA_STRING_LEN - 1);
- strncpy(main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE].sub_text, PUNCTUATE_DESC, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE].mode = SETTING_ITEM_ID_AUTO_PUNCTUATE;
- elm_genlist_item_append(genlist, option_elements[type].itc_multi_item, &main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE].mode));
+ append_item(genlist, SETTING_ITEM_ID_AUTO_PUNCTUATE, AUTO_PUNCTUATE, PUNCTUATE_DESC, (void *)SETTING_ITEM_ID_AUTO_PUNCTUATE, option_elements[type].itc_multi_item, EINA_FALSE);
/* Key-tap feedback */
- strncpy(main_itemdata[SETTING_ITEM_ID_KEY_TAP_TITLE].main_text, KEY_FEEDBACK, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_KEY_TAP_TITLE].mode = SETTING_ITEM_ID_KEY_TAP_TITLE;
- item = elm_genlist_item_append(genlist, option_elements[type].itc_group_title, &main_itemdata[SETTING_ITEM_ID_KEY_TAP_TITLE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ append_item(genlist, SETTING_ITEM_ID_KEY_TAP_TITLE, KEY_FEEDBACK, NULL, NULL, option_elements[type].itc_group_title, EINA_TRUE);
/* Sound */
- strncpy(main_itemdata[SETTING_ITEM_ID_SOUND].main_text, SOUND, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_SOUND].mode = SETTING_ITEM_ID_SOUND;
- elm_genlist_item_append(genlist, option_elements[type].itc_main_item, &main_itemdata[SETTING_ITEM_ID_SOUND],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_SOUND].mode));
+ append_item(genlist, SETTING_ITEM_ID_SOUND, SOUND, NULL, (void *)SETTING_ITEM_ID_SOUND, option_elements[type].itc_main_item, EINA_FALSE);
/* Character preview */
- strncpy(main_itemdata[SETTING_ITEM_ID_CHARACTER_PRE].main_text, CHARACTER_PREVIEW, ITEM_DATA_STRING_LEN - 1);
- strncpy(main_itemdata[SETTING_ITEM_ID_CHARACTER_PRE].sub_text, PREVIEW_DESC, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_CHARACTER_PRE].mode = SETTING_ITEM_ID_CHARACTER_PRE;
- elm_genlist_item_append(genlist, option_elements[type].itc_multi_item, &main_itemdata[SETTING_ITEM_ID_CHARACTER_PRE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_CHARACTER_PRE].mode));
+ append_item(genlist, SETTING_ITEM_ID_CHARACTER_PRE, CHARACTER_PREVIEW, PREVIEW_DESC, (void *)SETTING_ITEM_ID_CHARACTER_PRE, option_elements[type].itc_multi_item, EINA_FALSE);
#endif
+ const char *more_setting_text = NULL;
+
#ifdef _WEARABLE
/* More settings */
- strncpy(main_itemdata[SETTING_ITEM_ID_MORE_SETTINGS_TITLE].main_text, MORE_SETTINGS, ITEM_DATA_STRING_LEN - 1);
+ more_setting_text = MORE_SETTINGS;
#else
/* Other settings */
- strncpy(main_itemdata[SETTING_ITEM_ID_MORE_SETTINGS_TITLE].main_text, OTHER_SETTINGS, ITEM_DATA_STRING_LEN - 1);
+ more_setting_text = OTHER_SETTINGS;
#endif
- main_itemdata[SETTING_ITEM_ID_MORE_SETTINGS_TITLE].mode = SETTING_ITEM_ID_MORE_SETTINGS_TITLE;
- item = elm_genlist_item_append(genlist, option_elements[type].itc_group_title, &main_itemdata[SETTING_ITEM_ID_MORE_SETTINGS_TITLE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ append_item(genlist, SETTING_ITEM_ID_MORE_SETTINGS_TITLE, more_setting_text, NULL, NULL, option_elements[type].itc_group_title, EINA_TRUE);
#ifdef _WEARABLE
/* Smart typing */
- strncpy(main_itemdata[SETTING_ITEM_ID_SMART_INPUT_TITLE].main_text, SMART_TYPING, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_SMART_INPUT_TITLE].mode = SETTING_ITEM_ID_SMART_INPUT_TITLE;
- item = elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_SMART_INPUT_TITLE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_SMART_INPUT_TITLE].mode));
+ append_item(genlist, SETTING_ITEM_ID_SMART_INPUT_TITLE, SMART_TYPING, NULL, (void *)SETTING_ITEM_ID_SMART_INPUT_TITLE, option_elements[type].itc_1text_main_item, EINA_FALSE);
/* Key-tap feedback */
- strncpy(main_itemdata[SETTING_ITEM_ID_KEY_TAP_TITLE].main_text, KEY_FEEDBACK, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_KEY_TAP_TITLE].mode = SETTING_ITEM_ID_KEY_TAP_TITLE;
- item = elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_KEY_TAP_TITLE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_KEY_TAP_TITLE].mode));
+ append_item(genlist, SETTING_ITEM_ID_KEY_TAP_TITLE, KEY_FEEDBACK, NULL, (void *)SETTING_ITEM_ID_KEY_TAP_TITLE, option_elements[type].itc_1text_main_item, EINA_FALSE);
#endif
/* Reset */
- strncpy(main_itemdata[SETTING_ITEM_ID_RESET].main_text, RESET, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_RESET].mode = SETTING_ITEM_ID_RESET;
- elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_RESET],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_RESET].mode));
+ append_item(genlist, SETTING_ITEM_ID_RESET, RESET, NULL, (void *)SETTING_ITEM_ID_RESET, option_elements[type].itc_1text_main_item, EINA_FALSE);
evas_object_smart_callback_add(genlist, "contracted", _main_gl_con, genlist);
#endif
/* Auto capitalize */
- strncpy(main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE].main_text, AUTO_CAPITALISE, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE].mode = SETTING_ITEM_ID_AUTO_CAPITALISE;
- elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_AUTO_CAPITALISE].mode));
+ append_item(genlist, SETTING_ITEM_ID_AUTO_CAPITALISE, AUTO_CAPITALISE, NULL, (void *)SETTING_ITEM_ID_AUTO_CAPITALISE, option_elements[type].itc_1text_main_item, EINA_FALSE);
/* Auto punctuate */
- strncpy(main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE].main_text, AUTO_PUNCTUATE, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE].mode = SETTING_ITEM_ID_AUTO_PUNCTUATE;
- elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_AUTO_PUNCTUATE].mode));
+ append_item(genlist, SETTING_ITEM_ID_AUTO_PUNCTUATE, AUTO_PUNCTUATE, NULL, (void *)SETTING_ITEM_ID_AUTO_PUNCTUATE, option_elements[type].itc_1text_main_item, EINA_FALSE);
#ifdef _CIRCLE
add_padding_area(genlist);
#endif
/* Sound */
- strncpy(main_itemdata[SETTING_ITEM_ID_SOUND].main_text, SOUND, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_SOUND].mode = SETTING_ITEM_ID_SOUND;
- elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_SOUND],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_SOUND].mode));
+ append_item(genlist, SETTING_ITEM_ID_SOUND, SOUND, NULL, (void *)SETTING_ITEM_ID_SOUND, option_elements[type].itc_1text_main_item, EINA_FALSE);
/* Vibration */
- strncpy(main_itemdata[SETTING_ITEM_ID_VIBRATION].main_text, VIBRATION, ITEM_DATA_STRING_LEN - 1);
- main_itemdata[SETTING_ITEM_ID_VIBRATION].mode = SETTING_ITEM_ID_VIBRATION;
- elm_genlist_item_append(genlist, option_elements[type].itc_1text_main_item, &main_itemdata[SETTING_ITEM_ID_VIBRATION],
- NULL, ELM_GENLIST_ITEM_NONE, _main_gl_sel, (void *)(main_itemdata[SETTING_ITEM_ID_VIBRATION].mode));
+ append_item(genlist, SETTING_ITEM_ID_VIBRATION, VIBRATION, NULL, (void *)SETTING_ITEM_ID_VIBRATION, option_elements[type].itc_1text_main_item, EINA_FALSE);
#ifdef _CIRCLE
add_padding_area(genlist);