2 # include "elementary_config.h"
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
7 typedef struct _Prof_Data Prof_Data;
16 _bt_clicked_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
18 Evas_Object *win = (Evas_Object *)(data);
19 Prof_Data *pd = evas_object_data_get(win, "pd");
20 Evas_Object *rd = elm_radio_selected_object_get(pd->rdg);
21 const char *str = elm_object_text_get(rd);
23 elm_win_profiles_set(win, &str, 1);
27 _win_profile_changed_cb(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
29 Evas_Object *win = (Evas_Object *)(data);
30 Prof_Data *pd = evas_object_data_get(win, "pd");
31 const char *profile = elm_win_profile_get(win);
37 EINA_LIST_FOREACH(pd->profiles, l, str)
39 if ((str) && (profile) &&
40 (strcmp(str, profile) == 0))
47 num = eina_list_count(pd->profiles);
48 if (i >= num) i = num - 1;
51 elm_radio_value_set(pd->rdg, i);
55 test_config(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
58 Evas_Object *win, *bx, *lb, *bt, *rd, *rdg = NULL;
64 if (!(pd = calloc(1, sizeof(Prof_Data)))) return;
66 win = elm_win_util_standard_add("config", "Configuration");
67 elm_win_autodel_set(win, EINA_TRUE);
68 evas_object_data_set(win, "pd", pd);
70 bx = elm_box_add(win);
71 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
72 elm_win_resize_object_add(win, bx);
74 lb = elm_label_add(win);
75 elm_object_text_set(lb, "<b>List of Profiles</b>");
76 evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
77 elm_box_pack_end(bx, lb);
80 profs = elm_config_profile_list_get();
81 num = eina_list_count(profs);
82 plist = calloc(num, sizeof(char *));
84 EINA_LIST_FOREACH(profs, l, str)
86 rd = elm_radio_add(win);
92 plist[i] = strdup(str);
93 pd->profiles = eina_list_append(pd->profiles,
94 eina_stringshare_add(str));
95 elm_radio_state_value_set(rd, i);
96 elm_radio_group_add(rd, rdg);
97 elm_object_text_set(rd, str);
98 evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
99 elm_box_pack_end(bx, rd);
100 evas_object_show(rd);
103 elm_config_profile_list_free(profs);
105 bt = elm_button_add(win);
106 elm_object_text_set(bt, "Change Window Profile");
107 evas_object_smart_callback_add(bt, "clicked", _bt_clicked_cb, win);
108 elm_box_pack_end(bx, bt);
109 evas_object_show(bt);
111 elm_win_profiles_set(win, plist, num);
112 evas_object_smart_callback_add(win, "profile,changed", _win_profile_changed_cb, win);
114 evas_object_resize(win, 480, 400);
115 evas_object_show(bx);
116 evas_object_show(win);