forked from enlightenment/efl
parent
66a02d654c
commit
e2be9d2b24
|
@ -20,4 +20,3 @@ installed_headers_DATA = elementary_config.h
|
|||
doc:
|
||||
@echo "entering doc/"
|
||||
$(MAKE) -C doc doc
|
||||
|
||||
|
|
|
@ -83,15 +83,15 @@ dnl managed by evil
|
|||
ELM_UNIX_DEF="#define"
|
||||
AC_CHECK_FUNCS(dlopen, res=yes, res=no)
|
||||
if test "x$res" = "xyes"; then
|
||||
AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
|
||||
AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
|
||||
else
|
||||
AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
|
||||
if test "x$res" = "xyes"; then
|
||||
AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
|
||||
dlopen_libs=-ldl
|
||||
else
|
||||
AC_MSG_ERROR(Cannot find dlopen)
|
||||
fi
|
||||
AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
|
||||
if test "x$res" = "xyes"; then
|
||||
AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
|
||||
dlopen_libs=-ldl
|
||||
else
|
||||
AC_MSG_ERROR(Cannot find dlopen)
|
||||
fi
|
||||
fi
|
||||
have_socket="yes"
|
||||
;;
|
||||
|
|
|
@ -66,8 +66,8 @@ crash_handler(int x, siginfo_t *info, void *data)
|
|||
t = ecore_time_get();
|
||||
if ((t - restart_time) <= 2.0)
|
||||
{
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: crash too fast - less than 2 seconds. abort restart\n");
|
||||
exit(-1);
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: crash too fast - less than 2 seconds. abort restart\n");
|
||||
exit(-1);
|
||||
}
|
||||
ecore_app_restart();
|
||||
}
|
||||
|
@ -84,8 +84,8 @@ handle_run(int fd, unsigned long bytes)
|
|||
buf = alloca(bytes);
|
||||
if ((num = read(fd, buf, bytes)) < 0)
|
||||
{
|
||||
close(fd);
|
||||
return;
|
||||
close(fd);
|
||||
return;
|
||||
}
|
||||
close(fd);
|
||||
argc = ((unsigned long *)(buf))[0];
|
||||
|
@ -109,8 +109,8 @@ main(int argc, char **argv)
|
|||
|
||||
if (!getenv("DISPLAY"))
|
||||
{
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: DISPLAY env var not set\n");
|
||||
exit(-1);
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: DISPLAY env var not set\n");
|
||||
exit(-1);
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "/tmp/elm-ql-%i", getuid());
|
||||
if (stat(buf, &st) < 0) mkdir(buf, S_IRUSR | S_IWUSR | S_IXUSR);
|
||||
|
@ -119,37 +119,37 @@ main(int argc, char **argv)
|
|||
sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
if (sock < 0)
|
||||
{
|
||||
perror("elementary_quicklaunch: socket(AF_UNIX, SOCK_STREAM, 0)");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot create socket for socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
perror("elementary_quicklaunch: socket(AF_UNIX, SOCK_STREAM, 0)");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot create socket for socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
}
|
||||
if (fcntl(sock, F_SETFD, FD_CLOEXEC) < 0)
|
||||
{
|
||||
perror("elementary_quicklaunch: fcntl(sock, F_SETFD, FD_CLOEXEC)");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot set close on exec socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
perror("elementary_quicklaunch: fcntl(sock, F_SETFD, FD_CLOEXEC)");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot set close on exec socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
}
|
||||
lin.l_onoff = 1;
|
||||
lin.l_linger = 0;
|
||||
if (setsockopt(sock, SOL_SOCKET, SO_LINGER, &lin, sizeof(struct linger)) < 0)
|
||||
{
|
||||
perror("elementary_quicklaunch: setsockopt(sock, SOL_SOCKET, SO_LINGER, &lin, sizeof(struct linger)) ");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot set linger for socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
perror("elementary_quicklaunch: setsockopt(sock, SOL_SOCKET, SO_LINGER, &lin, sizeof(struct linger)) ");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot set linger for socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
}
|
||||
socket_unix.sun_family = AF_UNIX;
|
||||
strncpy(socket_unix.sun_path, buf, sizeof(socket_unix.sun_path));
|
||||
socket_unix_len = LENGTH_OF_SOCKADDR_UN(&socket_unix);
|
||||
if (bind(sock, (struct sockaddr *)&socket_unix, socket_unix_len) < 0)
|
||||
{
|
||||
perror("elementary_quicklaunch: bind(sock, (struct sockaddr *)&socket_unix, socket_unix_len)");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot bind socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
perror("elementary_quicklaunch: bind(sock, (struct sockaddr *)&socket_unix, socket_unix_len)");
|
||||
EINA_ERROR_PERR("elementary_quicklaunch: cannot bind socket for '%s'\n", buf);
|
||||
exit(-1);
|
||||
}
|
||||
if (listen(sock, 4096) < 0)
|
||||
{
|
||||
perror("elementary_quicklaunch: listen(sock, 4096)");
|
||||
exit(-1);
|
||||
perror("elementary_quicklaunch: listen(sock, 4096)");
|
||||
exit(-1);
|
||||
}
|
||||
elm_quicklaunch_init(argc, argv);
|
||||
restart_time = ecore_time_get();
|
||||
|
@ -235,28 +235,28 @@ main(int argc, char **argv)
|
|||
|
||||
for (;;)
|
||||
{
|
||||
int fd;
|
||||
struct sockaddr_un client;
|
||||
socklen_t len;
|
||||
int fd;
|
||||
struct sockaddr_un client;
|
||||
socklen_t len;
|
||||
|
||||
elm_quicklaunch_sub_init(argc, argv);
|
||||
elm_quicklaunch_seed();
|
||||
len = sizeof(struct sockaddr_un);
|
||||
fd = accept(sock, (struct sockaddr *)&client, &len);
|
||||
if (fd >= 0)
|
||||
{
|
||||
int bytes;
|
||||
char line[4096];
|
||||
int num;
|
||||
elm_quicklaunch_sub_init(argc, argv);
|
||||
elm_quicklaunch_seed();
|
||||
len = sizeof(struct sockaddr_un);
|
||||
fd = accept(sock, (struct sockaddr *)&client, &len);
|
||||
if (fd >= 0)
|
||||
{
|
||||
int bytes;
|
||||
char line[4096];
|
||||
int num;
|
||||
|
||||
num = read(fd, &bytes, sizeof(unsigned long));
|
||||
if (num == sizeof(unsigned long))
|
||||
{
|
||||
ecore_app_args_set(argc, (const char **)argv);
|
||||
handle_run(fd, bytes);
|
||||
}
|
||||
}
|
||||
elm_quicklaunch_sub_shutdown();
|
||||
num = read(fd, &bytes, sizeof(unsigned long));
|
||||
if (num == sizeof(unsigned long))
|
||||
{
|
||||
ecore_app_args_set(argc, (const char **)argv);
|
||||
handle_run(fd, bytes);
|
||||
}
|
||||
}
|
||||
elm_quicklaunch_sub_shutdown();
|
||||
}
|
||||
elm_quicklaunch_shutdown();
|
||||
return 0;
|
||||
|
|
|
@ -34,112 +34,112 @@ main(int argc, char **argv)
|
|||
|
||||
if (!getcwd(buf, sizeof(buf) - 1))
|
||||
{
|
||||
fprintf(stderr, "elementary_quicklaunch: currect working dir too big.\n");
|
||||
exit(-1);
|
||||
fprintf(stderr, "elementary_quicklaunch: currect working dir too big.\n");
|
||||
exit(-1);
|
||||
}
|
||||
cwd = strdup(buf);
|
||||
if (!(disp = getenv("DISPLAY")))
|
||||
{
|
||||
fprintf(stderr, "elementary_quicklaunch: DISPLAY env var not set\n");
|
||||
exit(-1);
|
||||
fprintf(stderr, "elementary_quicklaunch: DISPLAY env var not set\n");
|
||||
exit(-1);
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "/tmp/elm-ql-%i/%s", getuid(), disp);
|
||||
if ((sock = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
|
||||
{
|
||||
perror("elementary_quicklaunch: socket(AF_UNIX, SOCK_STREAM, 0)");
|
||||
exit(-1);
|
||||
perror("elementary_quicklaunch: socket(AF_UNIX, SOCK_STREAM, 0)");
|
||||
exit(-1);
|
||||
}
|
||||
socket_unix.sun_family = AF_UNIX;
|
||||
strncpy(socket_unix.sun_path, buf, sizeof(socket_unix.sun_path));
|
||||
socket_unix_len = LENGTH_OF_SOCKADDR_UN(&socket_unix);
|
||||
if (connect(sock, (struct sockaddr *)&socket_unix, socket_unix_len) < 0)
|
||||
{
|
||||
perror("elementary_quicklaunch: connect(sock, (struct sockaddr *)&socket_unix, socket_unix_len)");
|
||||
printf("elementary_quicklaunch: cannot connect to socket '%s'\n", buf);
|
||||
exit(1);
|
||||
perror("elementary_quicklaunch: connect(sock, (struct sockaddr *)&socket_unix, socket_unix_len)");
|
||||
printf("elementary_quicklaunch: cannot connect to socket '%s'\n", buf);
|
||||
exit(1);
|
||||
}
|
||||
exe = argv[0];
|
||||
if (!(((exe[0] == '/')) ||
|
||||
((exe[0] == '.') && (exe[1] == '/')) ||
|
||||
((exe[0] == '.') && (exe[1] == '.') && (exe[2] == '/'))))
|
||||
((exe[0] == '.') && (exe[1] == '/')) ||
|
||||
((exe[0] == '.') && (exe[1] == '.') && (exe[2] == '/'))))
|
||||
{
|
||||
char *path = getenv("PATH");
|
||||
int exelen = strlen(argv[0]);
|
||||
if (path)
|
||||
{
|
||||
const char *p, *pp, *s;
|
||||
int exelen;
|
||||
char *path = getenv("PATH");
|
||||
int exelen = strlen(argv[0]);
|
||||
if (path)
|
||||
{
|
||||
const char *p, *pp, *s;
|
||||
int exelen;
|
||||
|
||||
p = path;
|
||||
pp = p;
|
||||
exe = NULL;
|
||||
for (;;)
|
||||
{
|
||||
if ((*p == ':') || (*p == 0))
|
||||
{
|
||||
int len;
|
||||
p = path;
|
||||
pp = p;
|
||||
exe = NULL;
|
||||
for (;;)
|
||||
{
|
||||
if ((*p == ':') || (*p == 0))
|
||||
{
|
||||
int len;
|
||||
|
||||
len = p - pp;
|
||||
if (len < (sizeof(buf) - exelen - 3))
|
||||
{
|
||||
strncpy(buf, pp, len);
|
||||
strcpy(buf + len, "/");
|
||||
strcpy(buf + len + 1, argv[0]);
|
||||
if (access(buf, R_OK | X_OK) == 0)
|
||||
{
|
||||
exe = buf;
|
||||
break;
|
||||
}
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
pp = p;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
len = p - pp;
|
||||
if (len < (sizeof(buf) - exelen - 3))
|
||||
{
|
||||
strncpy(buf, pp, len);
|
||||
strcpy(buf + len, "/");
|
||||
strcpy(buf + len + 1, argv[0]);
|
||||
if (access(buf, R_OK | X_OK) == 0)
|
||||
{
|
||||
exe = buf;
|
||||
break;
|
||||
}
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
pp = p;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (exe)
|
||||
{
|
||||
if (lstat(exe, &st) == 0)
|
||||
{
|
||||
if (S_ISLNK(st.st_mode))
|
||||
{
|
||||
char buf2[PATH_MAX];
|
||||
if (lstat(exe, &st) == 0)
|
||||
{
|
||||
if (S_ISLNK(st.st_mode))
|
||||
{
|
||||
char buf2[PATH_MAX];
|
||||
|
||||
ssize_t len = readlink(exe, buf2, sizeof(buf2) - 1);
|
||||
if (len >= 0)
|
||||
{
|
||||
char *p;
|
||||
buf2[len] = 0;
|
||||
p = strrchr(buf2, '/');
|
||||
if (p) p++;
|
||||
else p = buf2;
|
||||
if (!strncasecmp(p, "elementary_run", 14))
|
||||
we_are_elementary_run = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
ssize_t len = readlink(exe, buf2, sizeof(buf2) - 1);
|
||||
if (len >= 0)
|
||||
{
|
||||
char *p;
|
||||
buf2[len] = 0;
|
||||
p = strrchr(buf2, '/');
|
||||
if (p) p++;
|
||||
else p = buf2;
|
||||
if (!strncasecmp(p, "elementary_run", 14))
|
||||
we_are_elementary_run = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (we_are_elementary_run)
|
||||
{
|
||||
sargc = argc;
|
||||
sargv = argv;
|
||||
sargc = argc;
|
||||
sargv = argv;
|
||||
}
|
||||
else
|
||||
{
|
||||
sargc = argc - 1;
|
||||
sargv = &(argv[1]);
|
||||
sargc = argc - 1;
|
||||
sargv = &(argv[1]);
|
||||
}
|
||||
slen = sizeof(unsigned long) + sizeof(unsigned long);
|
||||
for (i = 0; i < sargc; i++)
|
||||
{
|
||||
slen += sizeof(unsigned long);
|
||||
slen += strlen(sargv[i]) + 1;
|
||||
slen += sizeof(unsigned long);
|
||||
slen += strlen(sargv[i]) + 1;
|
||||
}
|
||||
slen += strlen(cwd) + 1;
|
||||
sbuf = alloca(slen);
|
||||
|
@ -148,10 +148,10 @@ main(int argc, char **argv)
|
|||
pos = (unsigned char *)(&((((unsigned long *)(sbuf))[2 + sargc])));
|
||||
for (i = 0; i < sargc; i++)
|
||||
{
|
||||
((unsigned long *)(sbuf))[2 + i] =
|
||||
(unsigned long)pos - ((unsigned long)sbuf + sizeof(unsigned long));
|
||||
strcpy(pos, sargv[i]);
|
||||
pos += strlen(sargv[i]) + 1;
|
||||
((unsigned long *)(sbuf))[2 + i] =
|
||||
(unsigned long)pos - ((unsigned long)sbuf + sizeof(unsigned long));
|
||||
strcpy(pos, sargv[i]);
|
||||
pos += strlen(sargv[i]) + 1;
|
||||
}
|
||||
strcpy(pos, cwd);
|
||||
write(sock, sbuf, slen);
|
||||
|
|
|
@ -1871,11 +1871,11 @@ my_bt_24(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"This is an \"inwin\" - a window in a<br>"
|
||||
"window. This is handy for quick popups<br>"
|
||||
"you want centered, taking over the window<br>"
|
||||
"until dismissed somehow. Unlike hovers they<br>"
|
||||
"don't hover over their target.");
|
||||
"This is an \"inwin\" - a window in a<br>"
|
||||
"window. This is handy for quick popups<br>"
|
||||
"you want centered, taking over the window<br>"
|
||||
"until dismissed somehow. Unlike hovers they<br>"
|
||||
"don't hover over their target.");
|
||||
elm_win_inwin_content_set(inwin, lb);
|
||||
evas_object_show(lb);
|
||||
|
||||
|
@ -1904,14 +1904,14 @@ my_bt_25(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"This is an \"inwin\" - a window in a<br>"
|
||||
"window. This is handy for quick popups<br>"
|
||||
"you want centered, taking over the window<br>"
|
||||
"until dismissed somehow. Unlike hovers they<br>"
|
||||
"don't hover over their target.<br>"
|
||||
"<br>"
|
||||
"This inwin style compacts itself vertically<br>"
|
||||
"to the size of its contents minimum size.");
|
||||
"This is an \"inwin\" - a window in a<br>"
|
||||
"window. This is handy for quick popups<br>"
|
||||
"you want centered, taking over the window<br>"
|
||||
"until dismissed somehow. Unlike hovers they<br>"
|
||||
"don't hover over their target.<br>"
|
||||
"<br>"
|
||||
"This inwin style compacts itself vertically<br>"
|
||||
"to the size of its contents minimum size.");
|
||||
elm_win_inwin_content_set(inwin, lb);
|
||||
evas_object_show(lb);
|
||||
|
||||
|
@ -2004,9 +2004,9 @@ my_bt_27(void *data, Evas_Object *obj, void *event_info)
|
|||
elm_frame_label_set(fr, "Scale: 0.5");
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"Parent frame scale<br>"
|
||||
"is 0.5. Child should<br>"
|
||||
"inherit it.");
|
||||
"Parent frame scale<br>"
|
||||
"is 0.5. Child should<br>"
|
||||
"inherit it.");
|
||||
elm_frame_content_set(fr, lb);
|
||||
evas_object_show(lb);
|
||||
elm_box_pack_end(bx, fr);
|
||||
|
@ -2016,9 +2016,9 @@ my_bt_27(void *data, Evas_Object *obj, void *event_info)
|
|||
elm_frame_label_set(fr, "Scale: 1.0");
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"Parent frame scale<br>"
|
||||
"is 1.0. Child should<br>"
|
||||
"inherit it.");
|
||||
"Parent frame scale<br>"
|
||||
"is 1.0. Child should<br>"
|
||||
"inherit it.");
|
||||
elm_frame_content_set(fr, lb);
|
||||
evas_object_show(lb);
|
||||
elm_object_scale_set(fr, 1.0);
|
||||
|
@ -2029,9 +2029,9 @@ my_bt_27(void *data, Evas_Object *obj, void *event_info)
|
|||
elm_frame_label_set(fr, "Scale: 2.0");
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"Parent frame scale<br>"
|
||||
"is 2.0. Child should<br>"
|
||||
"inherit it.");
|
||||
"Parent frame scale<br>"
|
||||
"is 2.0. Child should<br>"
|
||||
"inherit it.");
|
||||
elm_frame_content_set(fr, lb);
|
||||
evas_object_show(lb);
|
||||
elm_object_scale_set(fr, 2.0);
|
||||
|
@ -2189,12 +2189,12 @@ my_bt_29(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
for (i = 0; i < 2000; i++)
|
||||
{
|
||||
gli = elm_genlist_item_append(gl, &itc1,
|
||||
(void *)i/* item data */,
|
||||
NULL/* parent */,
|
||||
ELM_GENLIST_ITEM_NONE,
|
||||
gl_sel/* func */,
|
||||
(void *)(i * 10)/* func data */);
|
||||
gli = elm_genlist_item_append(gl, &itc1,
|
||||
(void *)i/* item data */,
|
||||
NULL/* parent */,
|
||||
ELM_GENLIST_ITEM_NONE,
|
||||
gl_sel/* func */,
|
||||
(void *)(i * 10)/* func data */);
|
||||
}
|
||||
evas_object_resize(win, 480, 800);
|
||||
evas_object_show(win);
|
||||
|
@ -2221,11 +2221,11 @@ my_gl_add(void *data, Evas_Object *obj, void *event_info)
|
|||
itc1.func.del = gl_del;
|
||||
|
||||
gli = elm_genlist_item_append(gl, &itc1,
|
||||
(void *)i/* item data */,
|
||||
NULL/* parent */,
|
||||
ELM_GENLIST_ITEM_NONE,
|
||||
gl_sel/* func */,
|
||||
(void *)(i * 10)/* func data */);
|
||||
(void *)i/* item data */,
|
||||
NULL/* parent */,
|
||||
ELM_GENLIST_ITEM_NONE,
|
||||
gl_sel/* func */,
|
||||
(void *)(i * 10)/* func data */);
|
||||
i++;
|
||||
}
|
||||
|
||||
|
@ -2236,8 +2236,8 @@ my_gl_del(void *data, Evas_Object *obj, void *event_info)
|
|||
Elm_Genlist_Item *gli = elm_genlist_selected_item_get(gl);
|
||||
if (!gli)
|
||||
{
|
||||
printf("no item selected\n");
|
||||
return;
|
||||
printf("no item selected\n");
|
||||
return;
|
||||
}
|
||||
elm_genlist_item_del(gli);
|
||||
}
|
||||
|
@ -2249,8 +2249,8 @@ my_gl_disable(void *data, Evas_Object *obj, void *event_info)
|
|||
Elm_Genlist_Item *gli = elm_genlist_selected_item_get(gl);
|
||||
if (!gli)
|
||||
{
|
||||
printf("no item selected\n");
|
||||
return;
|
||||
printf("no item selected\n");
|
||||
return;
|
||||
}
|
||||
elm_genlist_item_disabled_set(gli, 1);
|
||||
elm_genlist_item_selected_set(gli, 0);
|
||||
|
@ -2265,10 +2265,10 @@ my_gl_update_all(void *data, Evas_Object *obj, void *event_info)
|
|||
Elm_Genlist_Item *it = elm_genlist_first_item_get(gl);
|
||||
while (it)
|
||||
{
|
||||
elm_genlist_item_update(it);
|
||||
printf("%i\n", i);
|
||||
i++;
|
||||
it = elm_genlist_item_next_get(it);
|
||||
elm_genlist_item_update(it);
|
||||
printf("%i\n", i);
|
||||
i++;
|
||||
it = elm_genlist_item_next_get(it);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2328,26 +2328,26 @@ my_bt_30(void *data, Evas_Object *obj, void *event_info)
|
|||
itc1.func.del = gl_del;
|
||||
|
||||
gli[0] = elm_genlist_item_append(gl, &itc1,
|
||||
(void *)1001/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1001/* func data */);
|
||||
(void *)1001/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1001/* func data */);
|
||||
gli[1] = elm_genlist_item_append(gl, &itc1,
|
||||
(void *)1002/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1002/* func data */);
|
||||
(void *)1002/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1002/* func data */);
|
||||
gli[2] = elm_genlist_item_append(gl, &itc1,
|
||||
(void *)1003/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1003/* func data */);
|
||||
(void *)1003/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1003/* func data */);
|
||||
gli[3] = elm_genlist_item_prepend(gl, &itc1,
|
||||
(void *)1004/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1004/* func data */);
|
||||
(void *)1004/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1004/* func data */);
|
||||
gli[4] = elm_genlist_item_prepend(gl, &itc1,
|
||||
(void *)1005/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1005/* func data */);
|
||||
(void *)1005/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1005/* func data */);
|
||||
gli[5] = elm_genlist_item_insert_before(gl, &itc1,
|
||||
(void *)1006/* item data */, gli[2]/* rel */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1006/* func data */);
|
||||
(void *)1006/* item data */, gli[2]/* rel */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1006/* func data */);
|
||||
gli[6] = elm_genlist_item_insert_after(gl, &itc1,
|
||||
(void *)1007/* item data */, gli[2]/* rel */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1007/* func data */);
|
||||
(void *)1007/* item data */, gli[2]/* rel */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
(void *)1007/* func data */);
|
||||
|
||||
elm_box_pack_end(bx, gl);
|
||||
|
||||
|
@ -2450,27 +2450,27 @@ Evas_Object *gl2_icon_get(const void *data, Evas_Object *obj, const char *part)
|
|||
Evas_Object *ic = elm_icon_add(obj);
|
||||
if (!strcmp(part, "elm.swallow.icon"))
|
||||
{
|
||||
if ((tit->mode & 0x3) == 0)
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 1)
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo.png", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 2)
|
||||
snprintf(buf, sizeof(buf), "%s/images/panel_01.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 3)
|
||||
snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
if ((tit->mode & 0x3) == 0)
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 1)
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo.png", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 2)
|
||||
snprintf(buf, sizeof(buf), "%s/images/panel_01.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 3)
|
||||
snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
}
|
||||
else if (!strcmp(part, "elm.swallow.end"))
|
||||
{
|
||||
if ((tit->mode & 0x3) == 0)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 1)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 2)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 3)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
if ((tit->mode & 0x3) == 0)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 1)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 2)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", PACKAGE_DATA_DIR);
|
||||
else if ((tit->mode & 0x3) == 3)
|
||||
snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
}
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
|
||||
return ic;
|
||||
|
@ -2525,16 +2525,16 @@ my_bt_31(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
tit[0].mode = 0;
|
||||
tit[0].item = elm_genlist_item_append(gl, &itc2,
|
||||
&(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
tit[1].mode = 1;
|
||||
tit[1].item = elm_genlist_item_append(gl, &itc2,
|
||||
&(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
tit[2].mode = 2;
|
||||
tit[2].item = elm_genlist_item_append(gl, &itc2,
|
||||
&(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
|
||||
elm_box_pack_end(bx, gl);
|
||||
evas_object_show(bx2);
|
||||
|
@ -2598,32 +2598,32 @@ Evas_Object *gl3_icon_get(const void *data, Evas_Object *obj, const char *part)
|
|||
char buf[PATH_MAX];
|
||||
if (!strcmp(part, "elm.swallow.icon"))
|
||||
{
|
||||
Evas_Object *bx = elm_box_add(obj);
|
||||
Evas_Object *ic;
|
||||
elm_box_horizontal_set(bx, 1);
|
||||
ic = elm_icon_add(obj);
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
ic = elm_icon_add(obj);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
evas_object_show(bx);
|
||||
return bx;
|
||||
Evas_Object *bx = elm_box_add(obj);
|
||||
Evas_Object *ic;
|
||||
elm_box_horizontal_set(bx, 1);
|
||||
ic = elm_icon_add(obj);
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
ic = elm_icon_add(obj);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
evas_object_show(bx);
|
||||
return bx;
|
||||
}
|
||||
else if (!strcmp(part, "elm.swallow.end"))
|
||||
{
|
||||
Evas_Object *ck;
|
||||
ck = elm_check_add(obj);
|
||||
evas_object_propagate_events_set(ck, 0);
|
||||
elm_check_state_set(ck, tit->onoff);
|
||||
evas_object_smart_callback_add(ck, "changed", my_gl_item_check_changed, data);
|
||||
evas_object_show(ck);
|
||||
return ck;
|
||||
Evas_Object *ck;
|
||||
ck = elm_check_add(obj);
|
||||
evas_object_propagate_events_set(ck, 0);
|
||||
elm_check_state_set(ck, tit->onoff);
|
||||
evas_object_smart_callback_add(ck, "changed", my_gl_item_check_changed, data);
|
||||
evas_object_show(ck);
|
||||
return ck;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -2670,16 +2670,16 @@ my_bt_32(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
tit[0].mode = 0;
|
||||
tit[0].item = elm_genlist_item_append(gl, &itc3,
|
||||
&(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
tit[1].mode = 1;
|
||||
tit[1].item = elm_genlist_item_append(gl, &itc3,
|
||||
&(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
tit[2].mode = 2;
|
||||
tit[2].item = elm_genlist_item_append(gl, &itc3,
|
||||
&(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
|
||||
elm_box_pack_end(bx, gl);
|
||||
evas_object_show(bx2);
|
||||
|
@ -2919,19 +2919,19 @@ my_bt_35(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"This is page 1 in a pager stack.<br>"
|
||||
"<br>"
|
||||
"So what is a pager stack? It is a stack<br>"
|
||||
"of pages that hold widgets in it. The<br>"
|
||||
"pages can be pushed and popped on and<br>"
|
||||
"off the stack, activated and otherwise<br>"
|
||||
"activated if already in the stack<br>"
|
||||
"(activated means promoted to the top of<br>"
|
||||
"the stack).<br>"
|
||||
"<br>"
|
||||
"The theme may define the animation how<br>"
|
||||
"show and hide of pages."
|
||||
);
|
||||
"This is page 1 in a pager stack.<br>"
|
||||
"<br>"
|
||||
"So what is a pager stack? It is a stack<br>"
|
||||
"of pages that hold widgets in it. The<br>"
|
||||
"pages can be pushed and popped on and<br>"
|
||||
"off the stack, activated and otherwise<br>"
|
||||
"activated if already in the stack<br>"
|
||||
"(activated means promoted to the top of<br>"
|
||||
"the stack).<br>"
|
||||
"<br>"
|
||||
"The theme may define the animation how<br>"
|
||||
"show and hide of pages."
|
||||
);
|
||||
elm_box_pack_end(bx, lb);
|
||||
evas_object_show(lb);
|
||||
bt = elm_button_add(win);
|
||||
|
@ -2952,11 +2952,11 @@ my_bt_35(void *data, Evas_Object *obj, void *event_info)
|
|||
evas_object_show(bx);
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"This is page 2 in a pager stack.<br>"
|
||||
"<br>"
|
||||
"This is just like the previous page in<br>"
|
||||
"the pager stack."
|
||||
);
|
||||
"This is page 2 in a pager stack.<br>"
|
||||
"<br>"
|
||||
"This is just like the previous page in<br>"
|
||||
"the pager stack."
|
||||
);
|
||||
elm_box_pack_end(bx, lb);
|
||||
evas_object_show(lb);
|
||||
bt = elm_button_add(win);
|
||||
|
@ -2977,11 +2977,11 @@ my_bt_35(void *data, Evas_Object *obj, void *event_info)
|
|||
evas_object_show(bx);
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"This is page 3 in a pager stack.<br>"
|
||||
"<br>"
|
||||
"This is just like the previous page in<br>"
|
||||
"the pager stack."
|
||||
);
|
||||
"This is page 3 in a pager stack.<br>"
|
||||
"<br>"
|
||||
"This is just like the previous page in<br>"
|
||||
"the pager stack."
|
||||
);
|
||||
elm_box_pack_end(bx, lb);
|
||||
evas_object_show(lb);
|
||||
bt = elm_button_add(win);
|
||||
|
@ -3014,14 +3014,14 @@ gl4_exp(void *data, Evas_Object *obj, void *event_info)
|
|||
int val = (int)elm_genlist_item_data_get(it);
|
||||
val *= 10;
|
||||
elm_genlist_item_append(gl, &itc4,
|
||||
(void *)(val + 1)/* item data */, it/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
(void *)(val + 1)/* item data */, it/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
elm_genlist_item_append(gl, &itc4,
|
||||
(void *)(val + 2)/* item data */, it/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
(void *)(val + 2)/* item data */, it/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
elm_genlist_item_append(gl, &itc4,
|
||||
(void *)(val + 3)/* item data */, it/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
(void *)(val + 3)/* item data */, it/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
}
|
||||
static void
|
||||
gl4_con(void *data, Evas_Object *obj, void *event_info)
|
||||
|
@ -3054,19 +3054,19 @@ Evas_Object *gl4_icon_get(const void *data, Evas_Object *obj, const char *part)
|
|||
char buf[PATH_MAX];
|
||||
if (!strcmp(part, "elm.swallow.icon"))
|
||||
{
|
||||
Evas_Object *ic = elm_icon_add(obj);
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
|
||||
evas_object_show(ic);
|
||||
return ic;
|
||||
Evas_Object *ic = elm_icon_add(obj);
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
|
||||
evas_object_show(ic);
|
||||
return ic;
|
||||
}
|
||||
else if (!strcmp(part, "elm.swallow.end"))
|
||||
{
|
||||
Evas_Object *ck;
|
||||
ck = elm_check_add(obj);
|
||||
evas_object_show(ck);
|
||||
return ck;
|
||||
Evas_Object *ck;
|
||||
ck = elm_check_add(obj);
|
||||
evas_object_show(ck);
|
||||
return ck;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -3109,14 +3109,14 @@ my_bt_36(void *data, Evas_Object *obj, void *event_info)
|
|||
itc4.func.del = gl4_del;
|
||||
|
||||
elm_genlist_item_append(gl, &itc4,
|
||||
(void *)1/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
(void *)1/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
elm_genlist_item_append(gl, &itc4,
|
||||
(void *)2/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
(void *)2/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
elm_genlist_item_append(gl, &itc4,
|
||||
(void *)3/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
(void *)3/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */,
|
||||
NULL/* func data */);
|
||||
|
||||
evas_object_smart_callback_add(gl, "expand,request", gl4_exp_req, gl);
|
||||
evas_object_smart_callback_add(gl, "contract,request", gl4_con_req, gl);
|
||||
|
@ -3178,11 +3178,11 @@ char *gl5_label_get(const void *data, Evas_Object *obj, const char *part)
|
|||
char buf[256];
|
||||
if (!strcmp(part, "elm.text"))
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "Item mode %i", tit->mode);
|
||||
snprintf(buf, sizeof(buf), "Item mode %i", tit->mode);
|
||||
}
|
||||
else if (!strcmp(part, "elm.text.sub"))
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%i bottles on the wall", tit->mode);
|
||||
snprintf(buf, sizeof(buf), "%i bottles on the wall", tit->mode);
|
||||
}
|
||||
return strdup(buf);
|
||||
}
|
||||
|
@ -3192,32 +3192,32 @@ Evas_Object *gl5_icon_get(const void *data, Evas_Object *obj, const char *part)
|
|||
char buf[PATH_MAX];
|
||||
if (!strcmp(part, "elm.swallow.icon"))
|
||||
{
|
||||
Evas_Object *bx = elm_box_add(obj);
|
||||
Evas_Object *ic;
|
||||
elm_box_horizontal_set(bx, 1);
|
||||
ic = elm_icon_add(obj);
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
ic = elm_icon_add(obj);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
evas_object_show(bx);
|
||||
return bx;
|
||||
Evas_Object *bx = elm_box_add(obj);
|
||||
Evas_Object *ic;
|
||||
elm_box_horizontal_set(bx, 1);
|
||||
ic = elm_icon_add(obj);
|
||||
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
ic = elm_icon_add(obj);
|
||||
elm_icon_file_set(ic, buf, NULL);
|
||||
elm_icon_scale_set(ic, 0, 0);
|
||||
evas_object_show(ic);
|
||||
elm_box_pack_end(bx, ic);
|
||||
evas_object_show(bx);
|
||||
return bx;
|
||||
}
|
||||
else if (!strcmp(part, "elm.swallow.end"))
|
||||
{
|
||||
Evas_Object *ck;
|
||||
ck = elm_check_add(obj);
|
||||
evas_object_propagate_events_set(ck, 0);
|
||||
elm_check_state_set(ck, tit->onoff);
|
||||
evas_object_smart_callback_add(ck, "changed", my_gl_item_check_changed2, data);
|
||||
evas_object_show(ck);
|
||||
return ck;
|
||||
Evas_Object *ck;
|
||||
ck = elm_check_add(obj);
|
||||
evas_object_propagate_events_set(ck, 0);
|
||||
elm_check_state_set(ck, tit->onoff);
|
||||
evas_object_smart_callback_add(ck, "changed", my_gl_item_check_changed2, data);
|
||||
evas_object_show(ck);
|
||||
return ck;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -3263,16 +3263,16 @@ my_bt_37(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
tit[0].mode = 0;
|
||||
tit[0].item = elm_genlist_item_append(gl, &itc5,
|
||||
&(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
tit[1].mode = 1;
|
||||
tit[1].item = elm_genlist_item_append(gl, &itc5,
|
||||
&(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
tit[2].mode = 2;
|
||||
tit[2].item = elm_genlist_item_append(gl, &itc5,
|
||||
&(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
&(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */,
|
||||
NULL/* func data */);
|
||||
|
||||
elm_box_pack_end(bx, gl);
|
||||
evas_object_show(bx2);
|
||||
|
@ -3540,9 +3540,9 @@ my_win_main(void)
|
|||
|
||||
lb = elm_label_add(win);
|
||||
elm_label_label_set(lb,
|
||||
"Please select a test from the list below<br>"
|
||||
"by clicking the test button to show the<br>"
|
||||
"test window.");
|
||||
"Please select a test from the list below<br>"
|
||||
"by clicking the test button to show the<br>"
|
||||
"test window.");
|
||||
elm_frame_content_set(fr, lb);
|
||||
evas_object_show(lb);
|
||||
|
||||
|
|
|
@ -127,15 +127,15 @@ extern "C" {
|
|||
typedef enum _Elm_Win_Keyboard_Mode
|
||||
{
|
||||
ELM_WIN_KEYBOARD_UNKNOWN,
|
||||
ELM_WIN_KEYBOARD_OFF,
|
||||
ELM_WIN_KEYBOARD_ON,
|
||||
ELM_WIN_KEYBOARD_ALPHA,
|
||||
ELM_WIN_KEYBOARD_NUMERIC,
|
||||
ELM_WIN_KEYBOARD_PIN,
|
||||
ELM_WIN_KEYBOARD_PHONE_NUMBER,
|
||||
ELM_WIN_KEYBOARD_HEX,
|
||||
ELM_WIN_KEYBOARD_TERMINAL,
|
||||
ELM_WIN_KEYBOARD_PASSWORD
|
||||
ELM_WIN_KEYBOARD_OFF,
|
||||
ELM_WIN_KEYBOARD_ON,
|
||||
ELM_WIN_KEYBOARD_ALPHA,
|
||||
ELM_WIN_KEYBOARD_NUMERIC,
|
||||
ELM_WIN_KEYBOARD_PIN,
|
||||
ELM_WIN_KEYBOARD_PHONE_NUMBER,
|
||||
ELM_WIN_KEYBOARD_HEX,
|
||||
ELM_WIN_KEYBOARD_TERMINAL,
|
||||
ELM_WIN_KEYBOARD_PASSWORD
|
||||
} Elm_Win_Keyboard_Mode;
|
||||
|
||||
#ifndef ELM_LIB_QUICKLAUNCH
|
||||
|
@ -298,9 +298,9 @@ extern "C" {
|
|||
|
||||
typedef enum _Elm_Scroller_Policy
|
||||
{
|
||||
ELM_SCROLLER_POLICY_AUTO,
|
||||
ELM_SCROLLER_POLICY_ON,
|
||||
ELM_SCROLLER_POLICY_OFF
|
||||
ELM_SCROLLER_POLICY_AUTO,
|
||||
ELM_SCROLLER_POLICY_ON,
|
||||
ELM_SCROLLER_POLICY_OFF
|
||||
}
|
||||
Elm_Scroller_Policy;
|
||||
|
||||
|
@ -378,9 +378,9 @@ extern "C" {
|
|||
typedef enum _Elm_Hover_Axis
|
||||
{
|
||||
ELM_HOVER_AXIS_NONE,
|
||||
ELM_HOVER_AXIS_HORIZONTAL,
|
||||
ELM_HOVER_AXIS_VERTICAL,
|
||||
ELM_HOVER_AXIS_BOTH
|
||||
ELM_HOVER_AXIS_HORIZONTAL,
|
||||
ELM_HOVER_AXIS_VERTICAL,
|
||||
ELM_HOVER_AXIS_BOTH
|
||||
} Elm_Hover_Axis;
|
||||
EAPI Evas_Object *elm_hover_add(Evas_Object *parent);
|
||||
EAPI void elm_hover_target_set(Evas_Object *obj, Evas_Object *target);
|
||||
|
@ -508,9 +508,9 @@ extern "C" {
|
|||
|
||||
typedef enum _Elm_Icon_Type
|
||||
{
|
||||
ELM_ICON_NONE,
|
||||
ELM_ICON_FILE,
|
||||
ELM_ICON_STANDARD
|
||||
ELM_ICON_NONE,
|
||||
ELM_ICON_FILE,
|
||||
ELM_ICON_STANDARD
|
||||
} Elm_Icon_Type;
|
||||
typedef struct _Elm_Hoversel_Item Elm_Hoversel_Item;
|
||||
EAPI Evas_Object *elm_hoversel_add(Evas_Object *parent);
|
||||
|
@ -540,9 +540,9 @@ extern "C" {
|
|||
|
||||
typedef enum _Elm_List_Mode
|
||||
{
|
||||
ELM_LIST_COMPRESS,
|
||||
ELM_LIST_SCROLL,
|
||||
ELM_LIST_LIMIT
|
||||
ELM_LIST_COMPRESS,
|
||||
ELM_LIST_SCROLL,
|
||||
ELM_LIST_LIMIT
|
||||
} Elm_List_Mode;
|
||||
typedef struct _Elm_List_Item Elm_List_Item;
|
||||
EAPI Evas_Object *elm_list_add(Evas_Object *parent);
|
||||
|
@ -604,8 +604,8 @@ extern "C" {
|
|||
|
||||
typedef enum _Elm_Genlist_Item_Flags
|
||||
{
|
||||
ELM_GENLIST_ITEM_NONE = 0,
|
||||
ELM_GENLIST_ITEM_SUBITEMS = (1 << 0)
|
||||
ELM_GENLIST_ITEM_NONE = 0,
|
||||
ELM_GENLIST_ITEM_SUBITEMS = (1 << 0)
|
||||
} Elm_Genlist_Item_Flags;
|
||||
typedef struct _Elm_Genlist_Item_Class Elm_Genlist_Item_Class;
|
||||
typedef struct _Elm_Genlist_Item Elm_Genlist_Item;
|
||||
|
@ -617,13 +617,13 @@ extern "C" {
|
|||
|
||||
struct _Elm_Genlist_Item_Class
|
||||
{
|
||||
const char *item_style;
|
||||
struct _Elm_Genlist_Item_Class_Func {
|
||||
GenlistItemLabelGetFunc label_get;
|
||||
GenlistItemIconGetFunc icon_get;
|
||||
GenlistItemStateGetFunc state_get;
|
||||
GenlistItemDelFunc del;
|
||||
} func;
|
||||
const char *item_style;
|
||||
struct _Elm_Genlist_Item_Class_Func {
|
||||
GenlistItemLabelGetFunc label_get;
|
||||
GenlistItemIconGetFunc icon_get;
|
||||
GenlistItemStateGetFunc state_get;
|
||||
GenlistItemDelFunc del;
|
||||
} func;
|
||||
};
|
||||
|
||||
EAPI Evas_Object *elm_genlist_add(Evas_Object *parent);
|
||||
|
|
|
@ -60,9 +60,9 @@ _del_hook(Evas_Object *obj)
|
|||
elm_hoversel_hover_end(obj);
|
||||
EINA_LIST_FREE(wd->items, it)
|
||||
{
|
||||
eina_stringshare_del(it->label);
|
||||
eina_stringshare_del(it->icon_file);
|
||||
free(it);
|
||||
eina_stringshare_del(it->label);
|
||||
eina_stringshare_del(it->icon_file);
|
||||
free(it);
|
||||
}
|
||||
free(wd);
|
||||
}
|
||||
|
@ -122,25 +122,25 @@ _activate(Evas_Object *obj)
|
|||
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
bt = elm_button_add(wd->hover);
|
||||
elm_button_style_set(bt, "hoversel_vertical_entry");
|
||||
elm_button_label_set(bt, it->label);
|
||||
if (it->icon_file)
|
||||
{
|
||||
ic = elm_icon_add(obj);
|
||||
elm_icon_scale_set(ic, 0, 1);
|
||||
if (it->icon_type == ELM_ICON_FILE)
|
||||
elm_icon_file_set(ic, it->icon_file, NULL);
|
||||
else if (it->icon_type == ELM_ICON_STANDARD)
|
||||
elm_icon_standard_set(ic, it->icon_file);
|
||||
elm_button_icon_set(bt, ic);
|
||||
evas_object_show(ic);
|
||||
}
|
||||
evas_object_size_hint_weight_set(bt, 1.0, 0.0);
|
||||
evas_object_size_hint_align_set(bt, -1.0, -1.0);
|
||||
elm_box_pack_end(bx, bt);
|
||||
evas_object_smart_callback_add(bt, "clicked", _item_clicked, it);
|
||||
evas_object_show(bt);
|
||||
bt = elm_button_add(wd->hover);
|
||||
elm_button_style_set(bt, "hoversel_vertical_entry");
|
||||
elm_button_label_set(bt, it->label);
|
||||
if (it->icon_file)
|
||||
{
|
||||
ic = elm_icon_add(obj);
|
||||
elm_icon_scale_set(ic, 0, 1);
|
||||
if (it->icon_type == ELM_ICON_FILE)
|
||||
elm_icon_file_set(ic, it->icon_file, NULL);
|
||||
else if (it->icon_type == ELM_ICON_STANDARD)
|
||||
elm_icon_standard_set(ic, it->icon_file);
|
||||
elm_button_icon_set(bt, ic);
|
||||
evas_object_show(ic);
|
||||
}
|
||||
evas_object_size_hint_weight_set(bt, 1.0, 0.0);
|
||||
evas_object_size_hint_align_set(bt, -1.0, -1.0);
|
||||
elm_box_pack_end(bx, bt);
|
||||
evas_object_smart_callback_add(bt, "clicked", _item_clicked, it);
|
||||
evas_object_show(bt);
|
||||
}
|
||||
|
||||
elm_hover_content_set
|
||||
|
@ -295,9 +295,9 @@ elm_hoversel_hover_end(Evas_Object *obj)
|
|||
if (!wd) return;
|
||||
if (wd->hover)
|
||||
{
|
||||
evas_object_del(wd->hover);
|
||||
wd->hover = NULL;
|
||||
evas_object_smart_callback_call(obj, "dismissed", NULL);
|
||||
evas_object_del(wd->hover);
|
||||
wd->hover = NULL;
|
||||
evas_object_smart_callback_call(obj, "dismissed", NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ _load_file(const char *file)
|
|||
while ((size = fread(buf, 1, sizeof(buf), f)))
|
||||
{
|
||||
buf[size] = 0;
|
||||
text = _buf_append(text, buf, &len, &alloc);
|
||||
text = _buf_append(text, buf, &len, &alloc);
|
||||
}
|
||||
fclose(f);
|
||||
return text;
|
||||
|
@ -108,9 +108,9 @@ _load_plain(const char *file)
|
|||
text = _load_file(file);
|
||||
if (text)
|
||||
{
|
||||
text2 = elm_entry_utf8_to_markup(text);
|
||||
free(text);
|
||||
return text2;
|
||||
text2 = elm_entry_utf8_to_markup(text);
|
||||
free(text);
|
||||
return text2;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -175,8 +175,8 @@ _save_plain_utf8(const char *file, const char *text)
|
|||
text2 = elm_entry_markup_to_utf8(text);
|
||||
if (text2)
|
||||
{
|
||||
_save_markup_utf8(file, text2);
|
||||
free(text2);
|
||||
_save_markup_utf8(file, text2);
|
||||
free(text2);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -188,7 +188,7 @@ _save(Evas_Object *obj)
|
|||
switch (wd->format)
|
||||
{
|
||||
case ELM_TEXT_FORMAT_PLAIN_UTF8:
|
||||
_save_plain_utf8(wd->file, elm_entry_entry_get(wd->entry));
|
||||
_save_plain_utf8(wd->file, elm_entry_entry_get(wd->entry));
|
||||
break;
|
||||
case ELM_TEXT_FORMAT_MARKUP_UTF8:
|
||||
_save_markup_utf8(wd->file, elm_entry_entry_get(wd->entry));
|
||||
|
|
|
@ -84,7 +84,7 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
|
|||
evas_object_event_callback_del
|
||||
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
|
||||
wd->icon = NULL;
|
||||
edje_object_message_signal_process(wd->btn);
|
||||
edje_object_message_signal_process(wd->btn);
|
||||
_sizing_eval(obj);
|
||||
}
|
||||
}
|
||||
|
@ -134,13 +134,13 @@ elm_button_label_set(Evas_Object *obj, const char *label)
|
|||
if (wd->label) eina_stringshare_del(wd->label);
|
||||
if (label)
|
||||
{
|
||||
wd->label = eina_stringshare_add(label);
|
||||
wd->label = eina_stringshare_add(label);
|
||||
edje_object_signal_emit(wd->btn, "elm,state,text,visible", "elm");
|
||||
edje_object_message_signal_process(wd->btn);
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->label = NULL;
|
||||
wd->label = NULL;
|
||||
edje_object_signal_emit(wd->btn, "elm,state,text,hidden", "elm");
|
||||
edje_object_message_signal_process(wd->btn);
|
||||
}
|
||||
|
@ -157,13 +157,13 @@ elm_button_icon_set(Evas_Object *obj, Evas_Object *icon)
|
|||
elm_widget_sub_object_del(obj, wd->icon);
|
||||
if ((icon) && (wd->icon != icon))
|
||||
{
|
||||
wd->icon = icon;
|
||||
wd->icon = icon;
|
||||
elm_widget_sub_object_add(obj, icon);
|
||||
edje_object_part_swallow(wd->btn, "elm.swallow.content", icon);
|
||||
edje_object_signal_emit(wd->btn, "elm,state,icon,visible", "elm");
|
||||
evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
edje_object_message_signal_process(wd->btn);
|
||||
edje_object_message_signal_process(wd->btn);
|
||||
_sizing_eval(obj);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -48,12 +48,12 @@ _item_select(Elm_Carousel_Item *it)
|
|||
if (it->selected) return;
|
||||
EINA_LIST_FOREACH(wd->items, l, it2)
|
||||
{
|
||||
if (it2->selected)
|
||||
{
|
||||
it2->selected = EINA_FALSE;
|
||||
edje_object_signal_emit(it2->base, "elm,state,unselected", "elm");
|
||||
break;
|
||||
}
|
||||
if (it2->selected)
|
||||
{
|
||||
it2->selected = EINA_FALSE;
|
||||
edje_object_signal_emit(it2->base, "elm,state,unselected", "elm");
|
||||
break;
|
||||
}
|
||||
}
|
||||
it->selected = EINA_TRUE;
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
|
@ -79,21 +79,21 @@ _theme_hook(Evas_Object *obj)
|
|||
Evas_Coord mw, mh;
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
if (it->selected)
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
_elm_theme_set(it->base, "carousel", "item", elm_widget_style_get(obj));
|
||||
edje_object_scale_set(it->base, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
if (it->icon)
|
||||
{
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
edje_object_size_min_calc(it->base, &mw, &mh);
|
||||
evas_object_size_hint_min_set(it->base, mw, mh);
|
||||
evas_object_size_hint_max_set(it->base, 9999, mh);
|
||||
if (it->selected)
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
_elm_theme_set(it->base, "carousel", "item", elm_widget_style_get(obj));
|
||||
edje_object_scale_set(it->base, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
if (it->icon)
|
||||
{
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
edje_object_size_min_calc(it->base, &mw, &mh);
|
||||
evas_object_size_hint_min_set(it->base, mw, mh);
|
||||
evas_object_size_hint_max_set(it->base, 9999, mh);
|
||||
}
|
||||
_sizing_eval(obj);
|
||||
}
|
||||
|
@ -129,15 +129,15 @@ _resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
evas_object_geometry_get(wd->bx, NULL, NULL, &w, &h);
|
||||
if (vw >= mw)
|
||||
{
|
||||
if (w != vw) evas_object_resize(wd->bx, vw, h);
|
||||
if (w != vw) evas_object_resize(wd->bx, vw, h);
|
||||
}
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
if (it->selected)
|
||||
{
|
||||
_item_show(it);
|
||||
break;
|
||||
}
|
||||
if (it->selected)
|
||||
{
|
||||
_item_show(it);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -169,8 +169,8 @@ elm_carousel_add(Evas_Object *parent)
|
|||
elm_smart_scroller_theme_set(wd->scr, "carousel", "base", "default");
|
||||
elm_widget_resize_object_set(obj, wd->scr);
|
||||
elm_smart_scroller_policy_set(wd->scr,
|
||||
ELM_SMART_SCROLLER_POLICY_AUTO,
|
||||
ELM_SMART_SCROLLER_POLICY_OFF);
|
||||
ELM_SMART_SCROLLER_POLICY_AUTO,
|
||||
ELM_SMART_SCROLLER_POLICY_OFF);
|
||||
|
||||
wd->icon_size = 32;
|
||||
|
||||
|
@ -182,7 +182,7 @@ elm_carousel_add(Evas_Object *parent)
|
|||
evas_object_show(wd->bx);
|
||||
|
||||
evas_object_event_callback_add(wd->scr, EVAS_CALLBACK_RESIZE,
|
||||
_resize, obj);
|
||||
_resize, obj);
|
||||
|
||||
_sizing_eval(obj);
|
||||
return obj;
|
||||
|
@ -204,16 +204,16 @@ elm_carousel_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, vo
|
|||
it->base = edje_object_add(evas_object_evas_get(obj));
|
||||
_elm_theme_set(it->base, "carousel", "item", elm_widget_style_get(obj));
|
||||
edje_object_signal_callback_add(it->base, "elm,action,click", "elm",
|
||||
_select, it);
|
||||
_select, it);
|
||||
elm_widget_sub_object_add(obj, it->base);
|
||||
if (it->icon)
|
||||
{
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
evas_object_show(it->icon);
|
||||
elm_widget_sub_object_add(obj, it->icon);
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
evas_object_show(it->icon);
|
||||
elm_widget_sub_object_add(obj, it->icon);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
edje_object_size_min_calc(it->base, &mw, &mh);
|
||||
|
|
|
@ -196,13 +196,13 @@ elm_check_label_set(Evas_Object *obj, const char *label)
|
|||
if (wd->label) eina_stringshare_del(wd->label);
|
||||
if (label)
|
||||
{
|
||||
wd->label = eina_stringshare_add(label);
|
||||
wd->label = eina_stringshare_add(label);
|
||||
edje_object_signal_emit(wd->chk, "elm,state,text,visible", "elm");
|
||||
edje_object_message_signal_process(wd->chk);
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->label = NULL;
|
||||
wd->label = NULL;
|
||||
edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm");
|
||||
edje_object_message_signal_process(wd->chk);
|
||||
}
|
||||
|
@ -316,6 +316,6 @@ elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep)
|
|||
}
|
||||
else
|
||||
{
|
||||
wd->statep = NULL;
|
||||
wd->statep = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -206,7 +206,7 @@ _time_update(Evas_Object *obj)
|
|||
_elm_theme_set(wd->clk, "clock", "base-am_pm", style);
|
||||
else
|
||||
_elm_theme_set(wd->clk, "clock", "base", style);
|
||||
edje_object_scale_set(wd->clk, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
edje_object_scale_set(wd->clk, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
|
@ -215,17 +215,17 @@ _time_update(Evas_Object *obj)
|
|||
if ((!wd->seconds) && (i >= 4)) break;
|
||||
wd->digit[i] = edje_object_add(evas_object_evas_get(wd->clk));
|
||||
_elm_theme_set(wd->digit[i], "clock", "flipdigit", style);
|
||||
edje_object_scale_set(wd->digit[i], elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
edje_object_scale_set(wd->digit[i], elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
if (wd->edit)
|
||||
edje_object_signal_emit(wd->digit[i], "elm,state,edit,on", "elm");
|
||||
edje_object_signal_callback_add(wd->digit[i], "elm,action,up", "",
|
||||
_signal_clock_val_up, obj);
|
||||
edje_object_signal_callback_add(wd->digit[i], "elm,action,down", "",
|
||||
_signal_clock_val_down, obj);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
edje_object_size_min_restricted_calc(wd->digit[i], &mw, &mh, mw, mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
edje_extern_object_min_size_set(wd->digit[i], mw, mh);
|
||||
snprintf(buf, sizeof(buf), "d%i", i);
|
||||
edje_object_part_swallow(wd->clk , buf, wd->digit[i]);
|
||||
|
@ -235,17 +235,17 @@ _time_update(Evas_Object *obj)
|
|||
{
|
||||
wd->ampm = edje_object_add(evas_object_evas_get(wd->clk));
|
||||
_elm_theme_set(wd->ampm, "clock", "flipampm", style);
|
||||
edje_object_scale_set(wd->ampm, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
edje_object_scale_set(wd->ampm, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
if (wd->edit)
|
||||
edje_object_signal_emit(wd->ampm, "elm,state,edit,on", "elm");
|
||||
edje_object_signal_callback_add(wd->ampm, "elm,action,up", "",
|
||||
_signal_clock_val_up, obj);
|
||||
edje_object_signal_callback_add(wd->ampm, "elm,action,down", "",
|
||||
_signal_clock_val_down, obj);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
edje_object_size_min_restricted_calc(wd->ampm, &mw, &mh, mw, mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 2, &mh);
|
||||
edje_extern_object_min_size_set(wd->ampm, mw, mh);
|
||||
edje_object_part_swallow(wd->clk , "ampm", wd->ampm);
|
||||
evas_object_show(wd->ampm);
|
||||
|
|
|
@ -124,15 +124,15 @@ _on_focus_hook(void *data, Evas_Object *obj)
|
|||
if (!wd->editable) return;
|
||||
if (elm_widget_focus_get(obj))
|
||||
{
|
||||
evas_object_focus_set(wd->ent, 1);
|
||||
edje_object_signal_emit(wd->ent, "elm,action,focus", "elm");
|
||||
if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON);
|
||||
evas_object_focus_set(wd->ent, 1);
|
||||
edje_object_signal_emit(wd->ent, "elm,action,focus", "elm");
|
||||
if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON);
|
||||
}
|
||||
else
|
||||
{
|
||||
edje_object_signal_emit(wd->ent, "elm,action,unfocus", "elm");
|
||||
evas_object_focus_set(wd->ent, 0);
|
||||
if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF);
|
||||
edje_object_signal_emit(wd->ent, "elm,action,unfocus", "elm");
|
||||
evas_object_focus_set(wd->ent, 0);
|
||||
if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,17 +143,17 @@ _hoversel_position(Evas_Object *obj)
|
|||
Evas_Coord cx, cy, cw, ch, x, y, mw, mh;
|
||||
evas_object_geometry_get(wd->ent, &x, &y, NULL, NULL);
|
||||
edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text",
|
||||
&cx, &cy, &cw, &ch);
|
||||
&cx, &cy, &cw, &ch);
|
||||
evas_object_size_hint_min_get(wd->hoversel, &mw, &mh);
|
||||
if (cw < mw)
|
||||
{
|
||||
cx += (cw - mw) / 2;
|
||||
cw = mw;
|
||||
cx += (cw - mw) / 2;
|
||||
cw = mw;
|
||||
}
|
||||
if (ch < mh)
|
||||
{
|
||||
cy += (ch - mh) / 2;
|
||||
ch = mh;
|
||||
cy += (ch - mh) / 2;
|
||||
ch = mh;
|
||||
}
|
||||
evas_object_move(wd->hoversel, x + cx, y + cy);
|
||||
evas_object_resize(wd->hoversel, cw, ch);
|
||||
|
@ -205,16 +205,16 @@ _paste(void *data, Evas_Object *obj, void *event_info)
|
|||
if (wd->sel_notify_handler)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
Evas_Object *top;
|
||||
Evas_Object *top;
|
||||
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
{
|
||||
ecore_x_selection_primary_request
|
||||
(elm_win_xwindow_get(top),
|
||||
ECORE_X_SELECTION_TARGET_UTF8_STRING);
|
||||
wd->selection_asked = EINA_TRUE;
|
||||
}
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
{
|
||||
ecore_x_selection_primary_request
|
||||
(elm_win_xwindow_get(top),
|
||||
ECORE_X_SELECTION_TARGET_UTF8_STRING);
|
||||
wd->selection_asked = EINA_TRUE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -278,20 +278,20 @@ _long_press(void *data)
|
|||
evas_object_smart_callback_add(wd->hoversel, "dismissed", _dismissed, data);
|
||||
if (!wd->selmode)
|
||||
{
|
||||
elm_hoversel_item_add(wd->hoversel, "Select", NULL, ELM_ICON_NONE, _select, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Paste", NULL, ELM_ICON_NONE, _paste, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Select", NULL, ELM_ICON_NONE, _select, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Paste", NULL, ELM_ICON_NONE, _paste, data);
|
||||
}
|
||||
else
|
||||
{
|
||||
elm_hoversel_item_add(wd->hoversel, "Copy", NULL, ELM_ICON_NONE, _copy, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Cut", NULL, ELM_ICON_NONE, _cut, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Cancel", NULL, ELM_ICON_NONE, _cancel, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Copy", NULL, ELM_ICON_NONE, _copy, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Cut", NULL, ELM_ICON_NONE, _cut, data);
|
||||
elm_hoversel_item_add(wd->hoversel, "Cancel", NULL, ELM_ICON_NONE, _cancel, data);
|
||||
}
|
||||
if (wd->hoversel)
|
||||
{
|
||||
_hoversel_position(data);
|
||||
evas_object_show(wd->hoversel);
|
||||
elm_hoversel_hover_begin(wd->hoversel);
|
||||
_hoversel_position(data);
|
||||
evas_object_show(wd->hoversel);
|
||||
elm_hoversel_hover_begin(wd->hoversel);
|
||||
}
|
||||
wd->longpress_timer = NULL;
|
||||
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
|
||||
|
@ -322,9 +322,9 @@ _mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
|
|||
if (ev->button != 1) return;
|
||||
if (wd->longpress_timer)
|
||||
{
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -335,49 +335,49 @@ _mouse_move(void *data, Evas *evas, Evas_Object *obj, void *event_info)
|
|||
Evas_Event_Mouse_Move *ev = event_info;
|
||||
if (!wd->selmode)
|
||||
{
|
||||
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
|
||||
{
|
||||
if (wd->longpress_timer)
|
||||
{
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
}
|
||||
}
|
||||
else if (wd->longpress_timer)
|
||||
{
|
||||
Evas_Coord dx, dy;
|
||||
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
|
||||
{
|
||||
if (wd->longpress_timer)
|
||||
{
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
}
|
||||
}
|
||||
else if (wd->longpress_timer)
|
||||
{
|
||||
Evas_Coord dx, dy;
|
||||
|
||||
dx = wd->downx - ev->cur.canvas.x;
|
||||
dx *= dx;
|
||||
dy = wd->downy - ev->cur.canvas.y;
|
||||
dy *= dy;
|
||||
if ((dx + dy) >
|
||||
((_elm_config->finger_size / 2) *
|
||||
(_elm_config->finger_size / 2)))
|
||||
{
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
}
|
||||
}
|
||||
dx = wd->downx - ev->cur.canvas.x;
|
||||
dx *= dx;
|
||||
dy = wd->downy - ev->cur.canvas.y;
|
||||
dy *= dy;
|
||||
if ((dx + dy) >
|
||||
((_elm_config->finger_size / 2) *
|
||||
(_elm_config->finger_size / 2)))
|
||||
{
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (wd->longpress_timer)
|
||||
{
|
||||
Evas_Coord dx, dy;
|
||||
Evas_Coord dx, dy;
|
||||
|
||||
dx = wd->downx - ev->cur.canvas.x;
|
||||
dx *= dx;
|
||||
dy = wd->downy - ev->cur.canvas.y;
|
||||
dy *= dy;
|
||||
if ((dx + dy) >
|
||||
((_elm_config->finger_size / 2) *
|
||||
(_elm_config->finger_size / 2)))
|
||||
{
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
}
|
||||
dx = wd->downx - ev->cur.canvas.x;
|
||||
dx *= dx;
|
||||
dy = wd->downy - ev->cur.canvas.y;
|
||||
dy *= dy;
|
||||
if ((dx + dy) >
|
||||
((_elm_config->finger_size / 2) *
|
||||
(_elm_config->finger_size / 2)))
|
||||
{
|
||||
elm_widget_scroll_freeze_pop(data);
|
||||
ecore_timer_del(wd->longpress_timer);
|
||||
wd->longpress_timer = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -421,14 +421,14 @@ _str_append(char *str, const char *txt, int *len, int *alloc)
|
|||
if (txt_len <= 0) return str;
|
||||
if ((*len + txt_len) >= *alloc)
|
||||
{
|
||||
char *str2;
|
||||
int alloc2;
|
||||
char *str2;
|
||||
int alloc2;
|
||||
|
||||
alloc2 = *alloc + txt_len + 128;
|
||||
str2 = realloc(str, alloc2);
|
||||
if (!str2) return str;
|
||||
*alloc = alloc2;
|
||||
str = str2;
|
||||
alloc2 = *alloc + txt_len + 128;
|
||||
str2 = realloc(str, alloc2);
|
||||
if (!str2) return str;
|
||||
*alloc = alloc2;
|
||||
str = str2;
|
||||
}
|
||||
strcpy(str + *len, txt);
|
||||
*len += txt_len;
|
||||
|
@ -449,114 +449,114 @@ _mkup_to_text(const char *mkup)
|
|||
s = p;
|
||||
for (;;)
|
||||
{
|
||||
if ((*p == 0) ||
|
||||
(tag_end) || (esc_end) ||
|
||||
(tag_start) || (esc_start))
|
||||
{
|
||||
if (tag_end)
|
||||
{
|
||||
char *ttag, *match;
|
||||
if ((*p == 0) ||
|
||||
(tag_end) || (esc_end) ||
|
||||
(tag_start) || (esc_start))
|
||||
{
|
||||
if (tag_end)
|
||||
{
|
||||
char *ttag, *match;
|
||||
|
||||
ttag = malloc(tag_end - tag_start);
|
||||
if (ttag)
|
||||
{
|
||||
strncpy(ttag, tag_start + 1, tag_end - tag_start - 1);
|
||||
ttag[tag_end - tag_start - 1] = 0;
|
||||
if (!strcmp(ttag, "br"))
|
||||
str = _str_append(str, "\n", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\n"))
|
||||
str = _str_append(str, "\n", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\\n"))
|
||||
str = _str_append(str, "\n", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\t"))
|
||||
str = _str_append(str, "\t", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\\t"))
|
||||
str = _str_append(str, "\t", &str_len, &str_alloc);
|
||||
free(ttag);
|
||||
}
|
||||
tag_start = tag_end = NULL;
|
||||
}
|
||||
else if (esc_end)
|
||||
{
|
||||
ts = malloc(esc_end - esc_start + 1);
|
||||
if (ts)
|
||||
{
|
||||
const char *esc;
|
||||
strncpy(ts, esc_start, esc_end - esc_start);
|
||||
ts[esc_end - esc_start] = 0;
|
||||
esc = evas_textblock_escape_string_get(ts);
|
||||
if (esc)
|
||||
str = _str_append(str, esc, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
esc_start = esc_end = NULL;
|
||||
}
|
||||
else if (*p == 0)
|
||||
{
|
||||
ts = malloc(p - s + 1);
|
||||
if (ts)
|
||||
{
|
||||
strncpy(ts, s, p - s);
|
||||
ts[p - s] = 0;
|
||||
str = _str_append(str, ts, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
s = NULL;
|
||||
}
|
||||
if (*p == 0)
|
||||
break;
|
||||
}
|
||||
if (*p == '<')
|
||||
{
|
||||
if (!esc_start)
|
||||
{
|
||||
tag_start = p;
|
||||
tag_end = NULL;
|
||||
ts = malloc(p - s + 1);
|
||||
if (ts)
|
||||
{
|
||||
strncpy(ts, s, p - s);
|
||||
ts[p - s] = 0;
|
||||
str = _str_append(str, ts, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
s = NULL;
|
||||
}
|
||||
}
|
||||
else if (*p == '>')
|
||||
{
|
||||
if (tag_start)
|
||||
{
|
||||
tag_end = p;
|
||||
s = p + 1;
|
||||
}
|
||||
}
|
||||
else if (*p == '&')
|
||||
{
|
||||
if (!tag_start)
|
||||
{
|
||||
esc_start = p;
|
||||
esc_end = NULL;
|
||||
ts = malloc(p - s + 1);
|
||||
if (ts)
|
||||
{
|
||||
strncpy(ts, s, p - s);
|
||||
ts[p - s] = 0;
|
||||
str = _str_append(str, ts, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
s = NULL;
|
||||
}
|
||||
}
|
||||
else if (*p == ';')
|
||||
{
|
||||
if (esc_start)
|
||||
{
|
||||
esc_end = p;
|
||||
s = p + 1;
|
||||
}
|
||||
}
|
||||
p++;
|
||||
ttag = malloc(tag_end - tag_start);
|
||||
if (ttag)
|
||||
{
|
||||
strncpy(ttag, tag_start + 1, tag_end - tag_start - 1);
|
||||
ttag[tag_end - tag_start - 1] = 0;
|
||||
if (!strcmp(ttag, "br"))
|
||||
str = _str_append(str, "\n", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\n"))
|
||||
str = _str_append(str, "\n", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\\n"))
|
||||
str = _str_append(str, "\n", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\t"))
|
||||
str = _str_append(str, "\t", &str_len, &str_alloc);
|
||||
else if (!strcmp(ttag, "\\t"))
|
||||
str = _str_append(str, "\t", &str_len, &str_alloc);
|
||||
free(ttag);
|
||||
}
|
||||
tag_start = tag_end = NULL;
|
||||
}
|
||||
else if (esc_end)
|
||||
{
|
||||
ts = malloc(esc_end - esc_start + 1);
|
||||
if (ts)
|
||||
{
|
||||
const char *esc;
|
||||
strncpy(ts, esc_start, esc_end - esc_start);
|
||||
ts[esc_end - esc_start] = 0;
|
||||
esc = evas_textblock_escape_string_get(ts);
|
||||
if (esc)
|
||||
str = _str_append(str, esc, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
esc_start = esc_end = NULL;
|
||||
}
|
||||
else if (*p == 0)
|
||||
{
|
||||
ts = malloc(p - s + 1);
|
||||
if (ts)
|
||||
{
|
||||
strncpy(ts, s, p - s);
|
||||
ts[p - s] = 0;
|
||||
str = _str_append(str, ts, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
s = NULL;
|
||||
}
|
||||
if (*p == 0)
|
||||
break;
|
||||
}
|
||||
if (*p == '<')
|
||||
{
|
||||
if (!esc_start)
|
||||
{
|
||||
tag_start = p;
|
||||
tag_end = NULL;
|
||||
ts = malloc(p - s + 1);
|
||||
if (ts)
|
||||
{
|
||||
strncpy(ts, s, p - s);
|
||||
ts[p - s] = 0;
|
||||
str = _str_append(str, ts, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
s = NULL;
|
||||
}
|
||||
}
|
||||
else if (*p == '>')
|
||||
{
|
||||
if (tag_start)
|
||||
{
|
||||
tag_end = p;
|
||||
s = p + 1;
|
||||
}
|
||||
}
|
||||
else if (*p == '&')
|
||||
{
|
||||
if (!tag_start)
|
||||
{
|
||||
esc_start = p;
|
||||
esc_end = NULL;
|
||||
ts = malloc(p - s + 1);
|
||||
if (ts)
|
||||
{
|
||||
strncpy(ts, s, p - s);
|
||||
ts[p - s] = 0;
|
||||
str = _str_append(str, ts, &str_len, &str_alloc);
|
||||
free(ts);
|
||||
}
|
||||
s = NULL;
|
||||
}
|
||||
}
|
||||
else if (*p == ';')
|
||||
{
|
||||
if (esc_start)
|
||||
{
|
||||
esc_end = p;
|
||||
s = p + 1;
|
||||
}
|
||||
}
|
||||
p++;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
@ -571,23 +571,23 @@ _text_to_mkup(const char *text)
|
|||
if (!text) return NULL;
|
||||
for (;;)
|
||||
{
|
||||
// FIXME: use evas_string_char_next_get()
|
||||
pos = pos2;
|
||||
ch = evas_common_font_utf8_get_next((unsigned char *)(text), &pos2);
|
||||
if (ch <= 0) break;
|
||||
if (ch == '\n') str = _str_append(str, "<br>", &str_len, &str_alloc);
|
||||
else if (ch == '\t') str = _str_append(str, "<\t>", &str_len, &str_alloc);
|
||||
else if (ch == '<') str = _str_append(str, "<", &str_len, &str_alloc);
|
||||
else if (ch == '>') str = _str_append(str, ">", &str_len, &str_alloc);
|
||||
else if (ch == '&') str = _str_append(str, "&", &str_len, &str_alloc);
|
||||
else
|
||||
{
|
||||
char tstr[16];
|
||||
// FIXME: use evas_string_char_next_get()
|
||||
pos = pos2;
|
||||
ch = evas_common_font_utf8_get_next((unsigned char *)(text), &pos2);
|
||||
if (ch <= 0) break;
|
||||
if (ch == '\n') str = _str_append(str, "<br>", &str_len, &str_alloc);
|
||||
else if (ch == '\t') str = _str_append(str, "<\t>", &str_len, &str_alloc);
|
||||
else if (ch == '<') str = _str_append(str, "<", &str_len, &str_alloc);
|
||||
else if (ch == '>') str = _str_append(str, ">", &str_len, &str_alloc);
|
||||
else if (ch == '&') str = _str_append(str, "&", &str_len, &str_alloc);
|
||||
else
|
||||
{
|
||||
char tstr[16];
|
||||
|
||||
strncpy(tstr, text + pos, pos2 - pos);
|
||||
tstr[pos2 - pos] = 0;
|
||||
str = _str_append(str, tstr, &str_len, &str_alloc);
|
||||
}
|
||||
strncpy(tstr, text + pos, pos2 - pos);
|
||||
tstr[pos2 - pos] = 0;
|
||||
str = _str_append(str, tstr, &str_len, &str_alloc);
|
||||
}
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
@ -609,25 +609,25 @@ _signal_selection_start(void *data, Evas_Object *obj, const char *emission, cons
|
|||
Evas_Object *entry;
|
||||
EINA_LIST_FOREACH(entries, l, entry)
|
||||
{
|
||||
if (entry != data) elm_entry_select_none(entry);
|
||||
if (entry != data) elm_entry_select_none(entry);
|
||||
}
|
||||
wd->have_selection = EINA_TRUE;
|
||||
evas_object_smart_callback_call(data, "selection,start", NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
char *txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
if (txt)
|
||||
{
|
||||
char *txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
if (txt)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
Evas_Object *top;
|
||||
Evas_Object *top;
|
||||
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
ecore_x_selection_primary_set
|
||||
(elm_win_xwindow_get(top), txt, strlen(txt));
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
ecore_x_selection_primary_set
|
||||
(elm_win_xwindow_get(top), txt, strlen(txt));
|
||||
#endif
|
||||
free(txt);
|
||||
}
|
||||
free(txt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -639,19 +639,19 @@ _signal_selection_changed(void *data, Evas_Object *obj, const char *emission, co
|
|||
evas_object_smart_callback_call(data, "selection,changed", NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
char *txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
if (txt)
|
||||
{
|
||||
char *txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
if (txt)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
Evas_Object *top;
|
||||
Evas_Object *top;
|
||||
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
ecore_x_selection_primary_set
|
||||
(elm_win_xwindow_get(top), txt, strlen(txt));
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
ecore_x_selection_primary_set
|
||||
(elm_win_xwindow_get(top), txt, strlen(txt));
|
||||
#endif
|
||||
free(txt);
|
||||
}
|
||||
free(txt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -664,38 +664,38 @@ _signal_selection_cleared(void *data, Evas_Object *obj, const char *emission, co
|
|||
evas_object_smart_callback_call(data, "selection,cleared", NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
if (wd->cut_sel)
|
||||
{
|
||||
if (wd->cut_sel)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
Evas_Object *top;
|
||||
Evas_Object *top;
|
||||
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
{
|
||||
char *t;
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
{
|
||||
char *t;
|
||||
|
||||
t = _mkup_to_text(wd->cut_sel);
|
||||
if (t)
|
||||
{
|
||||
ecore_x_selection_primary_set
|
||||
(elm_win_xwindow_get(top), t, strlen(t));
|
||||
free(t);
|
||||
}
|
||||
}
|
||||
t = _mkup_to_text(wd->cut_sel);
|
||||
if (t)
|
||||
{
|
||||
ecore_x_selection_primary_set
|
||||
(elm_win_xwindow_get(top), t, strlen(t));
|
||||
free(t);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
eina_stringshare_del(wd->cut_sel);
|
||||
wd->cut_sel = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
eina_stringshare_del(wd->cut_sel);
|
||||
wd->cut_sel = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
Evas_Object *top;
|
||||
Evas_Object *top;
|
||||
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
ecore_x_selection_primary_clear();
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
ecore_x_selection_primary_clear();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -707,16 +707,16 @@ _signal_entry_paste_request(void *data, Evas_Object *obj, const char *emission,
|
|||
if (wd->sel_notify_handler)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
Evas_Object *top;
|
||||
Evas_Object *top;
|
||||
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
{
|
||||
ecore_x_selection_primary_request
|
||||
(elm_win_xwindow_get(top),
|
||||
ECORE_X_SELECTION_TARGET_UTF8_STRING);
|
||||
wd->selection_asked = EINA_TRUE;
|
||||
}
|
||||
top = elm_widget_top_get(data);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
{
|
||||
ecore_x_selection_primary_request
|
||||
(elm_win_xwindow_get(top),
|
||||
ECORE_X_SELECTION_TARGET_UTF8_STRING);
|
||||
wd->selection_asked = EINA_TRUE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -739,8 +739,8 @@ _signal_entry_cut_notify(void *data, Evas_Object *obj, const char *emission, con
|
|||
txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
if (txt)
|
||||
{
|
||||
wd->cut_sel = eina_stringshare_add(txt);
|
||||
free(txt);
|
||||
wd->cut_sel = eina_stringshare_add(txt);
|
||||
free(txt);
|
||||
}
|
||||
edje_object_part_text_insert(wd->ent, "elm.text", "");
|
||||
wd->changed = EINA_TRUE;
|
||||
|
@ -758,11 +758,11 @@ _signal_cursor_changed(void *data, Evas_Object *obj, const char *emission, const
|
|||
elm_widget_show_region_set(data, cx, cy, cw, ch);
|
||||
else
|
||||
{
|
||||
wd->deferred_cur = EINA_TRUE;
|
||||
wd->cx = cx;
|
||||
wd->cy = cy;
|
||||
wd->cw = cw;
|
||||
wd->ch = ch;
|
||||
wd->deferred_cur = EINA_TRUE;
|
||||
wd->cx = cx;
|
||||
wd->cy = cy;
|
||||
wd->cw = cw;
|
||||
wd->ch = ch;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -859,22 +859,22 @@ _event_selection_notify(void *data, int type, void *event)
|
|||
if ((ev->selection == ECORE_X_SELECTION_CLIPBOARD) ||
|
||||
(ev->selection == ECORE_X_SELECTION_PRIMARY))
|
||||
{
|
||||
Ecore_X_Selection_Data_Text *text_data;
|
||||
Ecore_X_Selection_Data_Text *text_data;
|
||||
|
||||
text_data = ev->data;
|
||||
if (text_data->data.content == ECORE_X_SELECTION_CONTENT_TEXT)
|
||||
{
|
||||
if (text_data->text)
|
||||
{
|
||||
char *txt = _text_to_mkup(text_data->text);
|
||||
if (txt)
|
||||
{
|
||||
elm_entry_entry_insert(data, txt);
|
||||
free(txt);
|
||||
}
|
||||
}
|
||||
}
|
||||
wd->selection_asked = EINA_FALSE;
|
||||
text_data = ev->data;
|
||||
if (text_data->data.content == ECORE_X_SELECTION_CONTENT_TEXT)
|
||||
{
|
||||
if (text_data->text)
|
||||
{
|
||||
char *txt = _text_to_mkup(text_data->text);
|
||||
if (txt)
|
||||
{
|
||||
elm_entry_entry_insert(data, txt);
|
||||
free(txt);
|
||||
}
|
||||
}
|
||||
}
|
||||
wd->selection_asked = EINA_FALSE;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -888,7 +888,7 @@ _event_selection_clear(void *data, int type, void *event)
|
|||
if ((ev->selection == ECORE_X_SELECTION_CLIPBOARD) ||
|
||||
(ev->selection == ECORE_X_SELECTION_PRIMARY))
|
||||
{
|
||||
elm_entry_select_none(data);
|
||||
elm_entry_select_none(data);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -945,12 +945,12 @@ elm_entry_add(Evas_Object *parent)
|
|||
top = elm_widget_top_get(obj);
|
||||
if ((top) && (elm_win_xwindow_get(top)))
|
||||
{
|
||||
wd->sel_notify_handler =
|
||||
ecore_event_handler_add(ECORE_X_EVENT_SELECTION_NOTIFY,
|
||||
_event_selection_notify, obj);
|
||||
wd->sel_clear_handler =
|
||||
ecore_event_handler_add(ECORE_X_EVENT_SELECTION_CLEAR,
|
||||
_event_selection_clear, obj);
|
||||
wd->sel_notify_handler =
|
||||
ecore_event_handler_add(ECORE_X_EVENT_SELECTION_NOTIFY,
|
||||
_event_selection_notify, obj);
|
||||
wd->sel_clear_handler =
|
||||
ecore_event_handler_add(ECORE_X_EVENT_SELECTION_CLEAR,
|
||||
_event_selection_clear, obj);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1068,9 +1068,9 @@ elm_entry_select_none(Evas_Object *obj)
|
|||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (wd->selmode)
|
||||
{
|
||||
wd->selmode = EINA_FALSE;
|
||||
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
|
||||
edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
|
||||
wd->selmode = EINA_FALSE;
|
||||
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
|
||||
edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
|
||||
}
|
||||
wd->have_selection = EINA_FALSE;
|
||||
edje_object_part_text_select_none(wd->ent, "elm.text");
|
||||
|
@ -1082,9 +1082,9 @@ elm_entry_select_all(Evas_Object *obj)
|
|||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (wd->selmode)
|
||||
{
|
||||
wd->selmode = EINA_FALSE;
|
||||
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
|
||||
edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
|
||||
wd->selmode = EINA_FALSE;
|
||||
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
|
||||
edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
|
||||
}
|
||||
wd->have_selection = EINA_TRUE;
|
||||
edje_object_part_text_select_all(wd->ent, "elm.text");
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -398,19 +398,19 @@ elm_hover_best_content_location_get(const Evas_Object *obj, Elm_Hover_Axis pref_
|
|||
if (spc_b < 0) spc_b = 0;
|
||||
if (pref_axis == ELM_HOVER_AXIS_HORIZONTAL)
|
||||
{
|
||||
if (spc_l < spc_r) return "right";
|
||||
else return "left";
|
||||
if (spc_l < spc_r) return "right";
|
||||
else return "left";
|
||||
}
|
||||
else if (pref_axis == ELM_HOVER_AXIS_VERTICAL)
|
||||
{
|
||||
if (spc_t < spc_b) return "bottom";
|
||||
else return "top";
|
||||
if (spc_t < spc_b) return "bottom";
|
||||
else return "top";
|
||||
}
|
||||
if (spc_l < spc_r)
|
||||
{
|
||||
if (spc_t > spc_r) return "top";
|
||||
else if (spc_b > spc_r) return "bottom";
|
||||
return "right";
|
||||
if (spc_t > spc_r) return "top";
|
||||
else if (spc_b > spc_r) return "bottom";
|
||||
return "right";
|
||||
}
|
||||
if (spc_t > spc_r) return "top";
|
||||
else if (spc_b > spc_r) return "bottom";
|
||||
|
|
|
@ -55,7 +55,7 @@ _sizing_eval(Evas_Object *obj)
|
|||
else
|
||||
{
|
||||
_els_smart_icon_scale_set(wd->img, elm_widget_scale_get(obj) *
|
||||
_elm_config->scale);
|
||||
_elm_config->scale);
|
||||
_els_smart_icon_size_get(wd->img, &w, &h);
|
||||
}
|
||||
if (!wd->scale_down)
|
||||
|
|
|
@ -50,14 +50,14 @@ _del_hook(Evas_Object *obj)
|
|||
EINA_LIST_FREE(wd->items, it)
|
||||
{
|
||||
if (it->del_cb) it->del_cb((void *)it->data, it->obj, it);
|
||||
eina_stringshare_del(it->label);
|
||||
if (!it->fixed)
|
||||
{
|
||||
if (it->icon) evas_object_del(it->icon);
|
||||
if (it->end) evas_object_del(it->end);
|
||||
}
|
||||
if (it->base) evas_object_del(it->base);
|
||||
free(it);
|
||||
eina_stringshare_del(it->label);
|
||||
if (!it->fixed)
|
||||
{
|
||||
if (it->icon) evas_object_del(it->icon);
|
||||
if (it->end) evas_object_del(it->end);
|
||||
}
|
||||
if (it->base) evas_object_del(it->base);
|
||||
free(it);
|
||||
}
|
||||
eina_list_free(wd->selected);
|
||||
free(wd);
|
||||
|
@ -101,16 +101,16 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
|
|||
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
if ((sub == it->icon) || (sub == it->end))
|
||||
{
|
||||
if (it->icon == sub) it->icon = NULL;
|
||||
if (it->end == sub) it->end = NULL;
|
||||
evas_object_event_callback_del
|
||||
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
|
||||
_fix_items(obj);
|
||||
_sizing_eval(obj);
|
||||
break;
|
||||
}
|
||||
if ((sub == it->icon) || (sub == it->end))
|
||||
{
|
||||
if (it->icon == sub) it->icon = NULL;
|
||||
if (it->end == sub) it->end = NULL;
|
||||
evas_object_event_callback_del
|
||||
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
|
||||
_fix_items(obj);
|
||||
_sizing_eval(obj);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -134,8 +134,8 @@ _item_select(Elm_List_Item *it)
|
|||
const char *selectraise;
|
||||
if (it->selected)
|
||||
{
|
||||
if (wd->always_select) goto call;
|
||||
return;
|
||||
if (wd->always_select) goto call;
|
||||
return;
|
||||
}
|
||||
it->selected = EINA_TRUE;
|
||||
wd->selected = eina_list_append(wd->selected, it);
|
||||
|
@ -155,15 +155,15 @@ _item_unselect(Elm_List_Item *it)
|
|||
selectraise = edje_object_data_get(it->base, "selectraise");
|
||||
if ((selectraise) && (!strcmp(selectraise, "on")))
|
||||
{
|
||||
if ((stacking) && (!strcmp(stacking, "below")))
|
||||
evas_object_lower(it->base);
|
||||
if ((stacking) && (!strcmp(stacking, "below")))
|
||||
evas_object_lower(it->base);
|
||||
}
|
||||
it->hilighted = EINA_FALSE;
|
||||
if (it->selected)
|
||||
{
|
||||
it->selected = EINA_FALSE;
|
||||
wd->selected = eina_list_remove(wd->selected, it);
|
||||
evas_object_smart_callback_call(it->obj, "unselected", it);
|
||||
it->selected = EINA_FALSE;
|
||||
wd->selected = eina_list_remove(wd->selected, it);
|
||||
evas_object_smart_callback_call(it->obj, "unselected", it);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -175,11 +175,11 @@ _mouse_move(void *data, Evas *evas, Evas_Object *obj, void *event_info)
|
|||
Evas_Event_Mouse_Move *ev = event_info;
|
||||
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
|
||||
{
|
||||
if (!wd->on_hold)
|
||||
{
|
||||
wd->on_hold = EINA_TRUE;
|
||||
_item_unselect(it);
|
||||
}
|
||||
if (!wd->on_hold)
|
||||
{
|
||||
wd->on_hold = EINA_TRUE;
|
||||
_item_unselect(it);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -206,35 +206,35 @@ _mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
|
|||
else wd->on_hold = EINA_FALSE;
|
||||
if (wd->on_hold)
|
||||
{
|
||||
wd->on_hold = EINA_FALSE;
|
||||
return;
|
||||
wd->on_hold = EINA_FALSE;
|
||||
return;
|
||||
}
|
||||
if (wd->multi)
|
||||
{
|
||||
if (!it->selected)
|
||||
{
|
||||
_item_hilight(it);
|
||||
_item_select(it);
|
||||
}
|
||||
else _item_unselect(it);
|
||||
if (!it->selected)
|
||||
{
|
||||
_item_hilight(it);
|
||||
_item_select(it);
|
||||
}
|
||||
else _item_unselect(it);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!it->selected)
|
||||
{
|
||||
while (wd->selected)
|
||||
_item_unselect(wd->selected->data);
|
||||
_item_hilight(it);
|
||||
_item_unselect(wd->selected->data);
|
||||
_item_hilight(it);
|
||||
_item_select(it);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
const Eina_List *l, *l_next;
|
||||
Elm_List_Item *it2;
|
||||
EINA_LIST_FOREACH_SAFE(wd->selected, l, l_next, it2)
|
||||
if (it2 != it) _item_unselect(it2);
|
||||
_item_hilight(it);
|
||||
_item_select(it);
|
||||
_item_hilight(it);
|
||||
_item_select(it);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -254,24 +254,24 @@ _item_new(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *e
|
|||
it->data = data;
|
||||
it->base = edje_object_add(evas_object_evas_get(obj));
|
||||
evas_object_event_callback_add(it->base, EVAS_CALLBACK_MOUSE_DOWN,
|
||||
_mouse_down, it);
|
||||
_mouse_down, it);
|
||||
evas_object_event_callback_add(it->base, EVAS_CALLBACK_MOUSE_UP,
|
||||
_mouse_up, it);
|
||||
_mouse_up, it);
|
||||
evas_object_event_callback_add(it->base, EVAS_CALLBACK_MOUSE_MOVE,
|
||||
_mouse_move, it);
|
||||
_mouse_move, it);
|
||||
evas_object_size_hint_weight_set(it->base, 1.0, 1.0);
|
||||
evas_object_size_hint_align_set(it->base, -1.0, -1.0);
|
||||
if (it->icon)
|
||||
{
|
||||
elm_widget_sub_object_add(obj, it->icon);
|
||||
evas_object_event_callback_add(it->icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
elm_widget_sub_object_add(obj, it->icon);
|
||||
evas_object_event_callback_add(it->icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
}
|
||||
if (it->end)
|
||||
{
|
||||
elm_widget_sub_object_add(obj, it->end);
|
||||
evas_object_event_callback_add(it->end, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
elm_widget_sub_object_add(obj, it->end);
|
||||
evas_object_event_callback_add(it->end, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
}
|
||||
return it;
|
||||
}
|
||||
|
@ -289,107 +289,107 @@ _fix_items(Evas_Object *obj)
|
|||
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
Evas_Coord mw, mh;
|
||||
if (it->icon)
|
||||
{
|
||||
evas_object_size_hint_min_get(it->icon, &mw, &mh);
|
||||
if (mw > minw[0]) minw[0] = mw;
|
||||
if (mh > minh[0]) minh[0] = mh;
|
||||
}
|
||||
if (it->end)
|
||||
{
|
||||
evas_object_size_hint_min_get(it->end, &mw, &mh);
|
||||
if (mw > minw[1]) minw[1] = mw;
|
||||
if (mh > minh[1]) minh[1] = mh;
|
||||
}
|
||||
Evas_Coord mw, mh;
|
||||
if (it->icon)
|
||||
{
|
||||
evas_object_size_hint_min_get(it->icon, &mw, &mh);
|
||||
if (mw > minw[0]) minw[0] = mw;
|
||||
if (mh > minh[0]) minh[0] = mh;
|
||||
}
|
||||
if (it->end)
|
||||
{
|
||||
evas_object_size_hint_min_get(it->end, &mw, &mh);
|
||||
if (mw > minw[1]) minw[1] = mw;
|
||||
if (mh > minh[1]) minh[1] = mh;
|
||||
}
|
||||
}
|
||||
if ((minw[0] != wd->minw[0]) || (minw[1] != wd->minw[1]) ||
|
||||
(minw[0] != wd->minh[0]) || (minh[1] != wd->minh[1]))
|
||||
{
|
||||
wd->minw[0] = minw[0];
|
||||
wd->minw[1] = minw[1];
|
||||
wd->minh[0] = minh[0];
|
||||
wd->minh[1] = minh[1];
|
||||
redo = 1;
|
||||
wd->minw[0] = minw[0];
|
||||
wd->minw[1] = minw[1];
|
||||
wd->minh[0] = minh[0];
|
||||
wd->minh[1] = minh[1];
|
||||
redo = 1;
|
||||
}
|
||||
i = 0;
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
it->even = i & 0x1;
|
||||
if ((it->even != it->is_even) || (!it->fixed) || (redo))
|
||||
{
|
||||
const char *stacking;
|
||||
it->even = i & 0x1;
|
||||
if ((it->even != it->is_even) || (!it->fixed) || (redo))
|
||||
{
|
||||
const char *stacking;
|
||||
|
||||
if (wd->mode == ELM_LIST_COMPRESS)
|
||||
{
|
||||
if (it->even)
|
||||
_elm_theme_set(it->base, "list", "item_compress", style);
|
||||
else
|
||||
_elm_theme_set(it->base, "list", "item_compress_odd", style);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (it->even)
|
||||
_elm_theme_set(it->base, "list", "item", style);
|
||||
else
|
||||
_elm_theme_set(it->base, "list", "item_odd", style);
|
||||
}
|
||||
stacking = edje_object_data_get(it->base, "stacking");
|
||||
if (stacking)
|
||||
{
|
||||
if (!strcmp(stacking, "below"))
|
||||
evas_object_lower(it->base);
|
||||
else if (!strcmp(stacking, "above"))
|
||||
evas_object_raise(it->base);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
if ((!it->icon) && (minh[0] > 0))
|
||||
{
|
||||
it->icon = evas_object_rectangle_add(evas_object_evas_get(it->base));
|
||||
evas_object_color_set(it->icon, 0, 0, 0, 0);
|
||||
it->dummy_icon = EINA_TRUE;
|
||||
}
|
||||
if ((!it->end) && (minh[1] > 0))
|
||||
{
|
||||
it->end = evas_object_rectangle_add(evas_object_evas_get(it->base));
|
||||
evas_object_color_set(it->end, 0, 0, 0, 0);
|
||||
it->dummy_end = EINA_TRUE;
|
||||
}
|
||||
if (it->icon)
|
||||
{
|
||||
evas_object_size_hint_min_set(it->icon, minw[0], minh[0]);
|
||||
evas_object_size_hint_max_set(it->icon, 99999, 99999);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
}
|
||||
if (it->end)
|
||||
{
|
||||
evas_object_size_hint_min_set(it->end, minw[1], minh[1]);
|
||||
evas_object_size_hint_max_set(it->end, 99999, 99999);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.end", it->end);
|
||||
}
|
||||
if (!it->fixed)
|
||||
{
|
||||
edje_object_message_signal_process(it->base);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
edje_object_size_min_restricted_calc(it->base, &mw, &mh, mw, mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
evas_object_size_hint_min_set(it->base, mw, mh);
|
||||
evas_object_show(it->base);
|
||||
}
|
||||
if ((it->selected) || (it->hilighted))
|
||||
{
|
||||
const char *selectraise;
|
||||
if (wd->mode == ELM_LIST_COMPRESS)
|
||||
{
|
||||
if (it->even)
|
||||
_elm_theme_set(it->base, "list", "item_compress", style);
|
||||
else
|
||||
_elm_theme_set(it->base, "list", "item_compress_odd", style);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (it->even)
|
||||
_elm_theme_set(it->base, "list", "item", style);
|
||||
else
|
||||
_elm_theme_set(it->base, "list", "item_odd", style);
|
||||
}
|
||||
stacking = edje_object_data_get(it->base, "stacking");
|
||||
if (stacking)
|
||||
{
|
||||
if (!strcmp(stacking, "below"))
|
||||
evas_object_lower(it->base);
|
||||
else if (!strcmp(stacking, "above"))
|
||||
evas_object_raise(it->base);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
if ((!it->icon) && (minh[0] > 0))
|
||||
{
|
||||
it->icon = evas_object_rectangle_add(evas_object_evas_get(it->base));
|
||||
evas_object_color_set(it->icon, 0, 0, 0, 0);
|
||||
it->dummy_icon = EINA_TRUE;
|
||||
}
|
||||
if ((!it->end) && (minh[1] > 0))
|
||||
{
|
||||
it->end = evas_object_rectangle_add(evas_object_evas_get(it->base));
|
||||
evas_object_color_set(it->end, 0, 0, 0, 0);
|
||||
it->dummy_end = EINA_TRUE;
|
||||
}
|
||||
if (it->icon)
|
||||
{
|
||||
evas_object_size_hint_min_set(it->icon, minw[0], minh[0]);
|
||||
evas_object_size_hint_max_set(it->icon, 99999, 99999);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
}
|
||||
if (it->end)
|
||||
{
|
||||
evas_object_size_hint_min_set(it->end, minw[1], minh[1]);
|
||||
evas_object_size_hint_max_set(it->end, 99999, 99999);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.end", it->end);
|
||||
}
|
||||
if (!it->fixed)
|
||||
{
|
||||
edje_object_message_signal_process(it->base);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
edje_object_size_min_restricted_calc(it->base, &mw, &mh, mw, mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
evas_object_size_hint_min_set(it->base, mw, mh);
|
||||
evas_object_show(it->base);
|
||||
}
|
||||
if ((it->selected) || (it->hilighted))
|
||||
{
|
||||
const char *selectraise;
|
||||
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
selectraise = edje_object_data_get(it->base, "selectraise");
|
||||
if ((selectraise) && (!strcmp(selectraise, "on")))
|
||||
evas_object_raise(it->base);
|
||||
stacking = edje_object_data_get(it->base, "stacking");
|
||||
}
|
||||
it->fixed = EINA_TRUE;
|
||||
it->is_even = it->even;
|
||||
}
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
selectraise = edje_object_data_get(it->base, "selectraise");
|
||||
if ((selectraise) && (!strcmp(selectraise, "on")))
|
||||
evas_object_raise(it->base);
|
||||
stacking = edje_object_data_get(it->base, "stacking");
|
||||
}
|
||||
it->fixed = EINA_TRUE;
|
||||
it->is_even = it->even;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
mw = 0; mh = 0;
|
||||
|
@ -565,13 +565,13 @@ elm_list_item_selected_set(Elm_List_Item *it, Eina_Bool selected)
|
|||
|
||||
if (selected)
|
||||
{
|
||||
if (!wd->multi)
|
||||
{
|
||||
if (!wd->multi)
|
||||
{
|
||||
while (wd->selected)
|
||||
_item_unselect(wd->selected->data);
|
||||
}
|
||||
_item_hilight(it);
|
||||
_item_select(it);
|
||||
_item_unselect(wd->selected->data);
|
||||
}
|
||||
_item_hilight(it);
|
||||
_item_select(it);
|
||||
}
|
||||
else
|
||||
_item_unselect(it);
|
||||
|
|
|
@ -286,21 +286,21 @@ _elm_window_property_change(void *data, int ev_type, void *ev)
|
|||
|
||||
if (event->win == ecore_x_window_root_first_get())
|
||||
{
|
||||
if (event->atom == _elm_atom_enlightenment_scale)
|
||||
{
|
||||
int val = 1000;
|
||||
if (event->atom == _elm_atom_enlightenment_scale)
|
||||
{
|
||||
int val = 1000;
|
||||
|
||||
if (ecore_x_window_prop_card32_get(event->win,
|
||||
event->atom,
|
||||
&val, 1) > 0)
|
||||
{
|
||||
double pscale;
|
||||
if (ecore_x_window_prop_card32_get(event->win,
|
||||
event->atom,
|
||||
&val, 1) > 0)
|
||||
{
|
||||
double pscale;
|
||||
|
||||
pscale = _elm_config->scale;
|
||||
if (val > 0) _elm_config->scale = (double)val / 1000.0;
|
||||
if (pscale != _elm_config->scale) _elm_rescale();
|
||||
}
|
||||
}
|
||||
pscale = _elm_config->scale;
|
||||
if (val > 0) _elm_config->scale = (double)val / 1000.0;
|
||||
if (pscale != _elm_config->scale) _elm_rescale();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -368,50 +368,50 @@ elm_quicklaunch_init(int argc, char **argv)
|
|||
|
||||
if (!_elm_data_dir)
|
||||
{
|
||||
s = getenv("ELM_DATA_DIR");
|
||||
_elm_data_dir = eina_stringshare_add(s);
|
||||
s = getenv("ELM_DATA_DIR");
|
||||
_elm_data_dir = eina_stringshare_add(s);
|
||||
}
|
||||
if (!_elm_data_dir)
|
||||
{
|
||||
s = getenv("ELM_PREFIX");
|
||||
if (s)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/share/elementary", s);
|
||||
_elm_data_dir = eina_stringshare_add(buf);
|
||||
}
|
||||
s = getenv("ELM_PREFIX");
|
||||
if (s)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/share/elementary", s);
|
||||
_elm_data_dir = eina_stringshare_add(buf);
|
||||
}
|
||||
}
|
||||
#ifdef HAVE_DLADDR
|
||||
if (!_elm_data_dir)
|
||||
{
|
||||
Dl_info elementary_dl;
|
||||
// libelementary.so/../../share/elementary/
|
||||
if (dladdr(elm_init, &elementary_dl))
|
||||
{
|
||||
char *dir, *dir2;
|
||||
Dl_info elementary_dl;
|
||||
// libelementary.so/../../share/elementary/
|
||||
if (dladdr(elm_init, &elementary_dl))
|
||||
{
|
||||
char *dir, *dir2;
|
||||
|
||||
dir = ecore_file_dir_get(elementary_dl.dli_fname);
|
||||
if (dir)
|
||||
{
|
||||
dir2 = ecore_file_dir_get(dir);
|
||||
if (dir2)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/share/elementary", dir2);
|
||||
if (ecore_file_is_dir(buf))
|
||||
_elm_data_dir = eina_stringshare_add(buf);
|
||||
free(dir2);
|
||||
}
|
||||
free(dir);
|
||||
}
|
||||
}
|
||||
dir = ecore_file_dir_get(elementary_dl.dli_fname);
|
||||
if (dir)
|
||||
{
|
||||
dir2 = ecore_file_dir_get(dir);
|
||||
if (dir2)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/share/elementary", dir2);
|
||||
if (ecore_file_is_dir(buf))
|
||||
_elm_data_dir = eina_stringshare_add(buf);
|
||||
free(dir2);
|
||||
}
|
||||
free(dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (!_elm_data_dir)
|
||||
{
|
||||
_elm_data_dir = eina_stringshare_add(PACKAGE_DATA_DIR);
|
||||
_elm_data_dir = eina_stringshare_add(PACKAGE_DATA_DIR);
|
||||
}
|
||||
if (!_elm_data_dir)
|
||||
{
|
||||
_elm_data_dir = eina_stringshare_add("/");
|
||||
_elm_data_dir = eina_stringshare_add("/");
|
||||
}
|
||||
|
||||
// FIXME: actually load config
|
||||
|
@ -436,38 +436,38 @@ elm_quicklaunch_init(int argc, char **argv)
|
|||
s = getenv("ELM_ENGINE");
|
||||
if (s)
|
||||
{
|
||||
if ((!strcasecmp(s, "x11")) ||
|
||||
(!strcasecmp(s, "x")) ||
|
||||
(!strcasecmp(s, "software-x11")) ||
|
||||
(!strcasecmp(s, "software_x11")))
|
||||
_elm_config->engine = ELM_SOFTWARE_X11;
|
||||
else if ((!strcasecmp(s, "x11-16")) ||
|
||||
(!strcasecmp(s, "x16")) ||
|
||||
(!strcasecmp(s, "software-16-x11")) ||
|
||||
(!strcasecmp(s, "software_16_x11")))
|
||||
_elm_config->engine = ELM_SOFTWARE_16_X11;
|
||||
else if ((!strcasecmp(s, "xrender")) ||
|
||||
(!strcasecmp(s, "xr")) ||
|
||||
(!strcasecmp(s, "xrender-x11")) ||
|
||||
(!strcasecmp(s, "xrender_x11")))
|
||||
_elm_config->engine = ELM_XRENDER_X11;
|
||||
else if ((!strcasecmp(s, "fb")) ||
|
||||
(!strcasecmp(s, "software-fb")) ||
|
||||
(!strcasecmp(s, "software_fb")))
|
||||
_elm_config->engine = ELM_SOFTWARE_FB;
|
||||
else if ((!strcasecmp(s, "opengl")) ||
|
||||
(!strcasecmp(s, "gl")) ||
|
||||
(!strcasecmp(s, "opengl-x11")) ||
|
||||
(!strcasecmp(s, "opengl_x11")))
|
||||
_elm_config->engine = ELM_OPENGL_X11;
|
||||
else if ((!strcasecmp(s, "gdi")) ||
|
||||
(!strcasecmp(s, "software-gdi")) ||
|
||||
(!strcasecmp(s, "software_gdi")))
|
||||
_elm_config->engine = ELM_SOFTWARE_WIN32;
|
||||
else if ((!strcasecmp(s, "wince-gdi")) ||
|
||||
(!strcasecmp(s, "software-16-wince-gdi")) ||
|
||||
(!strcasecmp(s, "software_16_wince_gdi")))
|
||||
_elm_config->engine = ELM_SOFTWARE_16_WINCE;
|
||||
if ((!strcasecmp(s, "x11")) ||
|
||||
(!strcasecmp(s, "x")) ||
|
||||
(!strcasecmp(s, "software-x11")) ||
|
||||
(!strcasecmp(s, "software_x11")))
|
||||
_elm_config->engine = ELM_SOFTWARE_X11;
|
||||
else if ((!strcasecmp(s, "x11-16")) ||
|
||||
(!strcasecmp(s, "x16")) ||
|
||||
(!strcasecmp(s, "software-16-x11")) ||
|
||||
(!strcasecmp(s, "software_16_x11")))
|
||||
_elm_config->engine = ELM_SOFTWARE_16_X11;
|
||||
else if ((!strcasecmp(s, "xrender")) ||
|
||||
(!strcasecmp(s, "xr")) ||
|
||||
(!strcasecmp(s, "xrender-x11")) ||
|
||||
(!strcasecmp(s, "xrender_x11")))
|
||||
_elm_config->engine = ELM_XRENDER_X11;
|
||||
else if ((!strcasecmp(s, "fb")) ||
|
||||
(!strcasecmp(s, "software-fb")) ||
|
||||
(!strcasecmp(s, "software_fb")))
|
||||
_elm_config->engine = ELM_SOFTWARE_FB;
|
||||
else if ((!strcasecmp(s, "opengl")) ||
|
||||
(!strcasecmp(s, "gl")) ||
|
||||
(!strcasecmp(s, "opengl-x11")) ||
|
||||
(!strcasecmp(s, "opengl_x11")))
|
||||
_elm_config->engine = ELM_OPENGL_X11;
|
||||
else if ((!strcasecmp(s, "gdi")) ||
|
||||
(!strcasecmp(s, "software-gdi")) ||
|
||||
(!strcasecmp(s, "software_gdi")))
|
||||
_elm_config->engine = ELM_SOFTWARE_WIN32;
|
||||
else if ((!strcasecmp(s, "wince-gdi")) ||
|
||||
(!strcasecmp(s, "software-16-wince-gdi")) ||
|
||||
(!strcasecmp(s, "software_16_wince_gdi")))
|
||||
_elm_config->engine = ELM_SOFTWARE_16_WINCE;
|
||||
}
|
||||
|
||||
s = getenv("ELM_THUMBSCROLL_ENABLE");
|
||||
|
@ -488,43 +488,43 @@ elm_quicklaunch_init(int argc, char **argv)
|
|||
s= getenv("ELM_FONT_HINTING");
|
||||
if (s)
|
||||
{
|
||||
if (!strcasecmp(s, "none"))
|
||||
_elm_config->font_hinting = 0;
|
||||
else if (!strcasecmp(s, "auto"))
|
||||
_elm_config->font_hinting = 1;
|
||||
else if (!strcasecmp(s, "bytecode"))
|
||||
_elm_config->font_hinting = 2;
|
||||
if (!strcasecmp(s, "none"))
|
||||
_elm_config->font_hinting = 0;
|
||||
else if (!strcasecmp(s, "auto"))
|
||||
_elm_config->font_hinting = 1;
|
||||
else if (!strcasecmp(s, "bytecode"))
|
||||
_elm_config->font_hinting = 2;
|
||||
}
|
||||
|
||||
s = getenv("ELM_FONT_PATH");
|
||||
if (s)
|
||||
{
|
||||
const char *p, *pp;
|
||||
char *buf;
|
||||
const char *p, *pp;
|
||||
char *buf;
|
||||
|
||||
buf = alloca(strlen(s) + 1);
|
||||
p = s;
|
||||
pp = p;
|
||||
for (;;)
|
||||
{
|
||||
if ((*p == ':') || (*p == 0))
|
||||
{
|
||||
int len;
|
||||
buf = alloca(strlen(s) + 1);
|
||||
p = s;
|
||||
pp = p;
|
||||
for (;;)
|
||||
{
|
||||
if ((*p == ':') || (*p == 0))
|
||||
{
|
||||
int len;
|
||||
|
||||
len = p - pp;
|
||||
strncpy(buf, pp, len);
|
||||
buf[len] = 0;
|
||||
_elm_config->font_dirs = eina_list_append(_elm_config->font_dirs, eina_stringshare_add(buf));
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
pp = p;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
len = p - pp;
|
||||
strncpy(buf, pp, len);
|
||||
buf[len] = 0;
|
||||
_elm_config->font_dirs = eina_list_append(_elm_config->font_dirs, eina_stringshare_add(buf));
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
pp = p;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s = getenv("ELM_IMAGE_CACHE");
|
||||
|
@ -563,32 +563,32 @@ elm_quicklaunch_sub_init(int argc, char **argv)
|
|||
int val = 1000;
|
||||
|
||||
if (!ecore_x_init(NULL))
|
||||
{
|
||||
EINA_ERROR_PERR("elementary: ERROR. Cannot connect to X11 display. check $DISPLAY variable\n");
|
||||
exit(1);
|
||||
}
|
||||
{
|
||||
EINA_ERROR_PERR("elementary: ERROR. Cannot connect to X11 display. check $DISPLAY variable\n");
|
||||
exit(1);
|
||||
}
|
||||
if (!ecore_x_screen_is_composited(0))
|
||||
_elm_config->compositing = 0;
|
||||
_elm_atom_enlightenment_scale = ecore_x_atom_get("ENLIGHTENMENT_SCALE");
|
||||
ecore_x_event_mask_set(ecore_x_window_root_first_get(),
|
||||
ECORE_X_EVENT_MASK_WINDOW_PROPERTY);
|
||||
_elm_event_property_change = ecore_event_handler_add
|
||||
(ECORE_X_EVENT_WINDOW_PROPERTY, _elm_window_property_change, NULL);
|
||||
if (!getenv("ELM_SCALE"))
|
||||
{
|
||||
if (ecore_x_window_prop_card32_get(ecore_x_window_root_first_get(),
|
||||
_elm_atom_enlightenment_scale,
|
||||
&val, 1) > 0)
|
||||
{
|
||||
if (val > 0)
|
||||
{
|
||||
_elm_config->scale = (double)val / 1000.0;
|
||||
// FIXME: hack until e export finger size too
|
||||
if (getenv("ELM_FINGER_SIZE"))
|
||||
_elm_config->finger_size = 40.0 * _elm_config->scale;
|
||||
}
|
||||
}
|
||||
}
|
||||
_elm_atom_enlightenment_scale = ecore_x_atom_get("ENLIGHTENMENT_SCALE");
|
||||
ecore_x_event_mask_set(ecore_x_window_root_first_get(),
|
||||
ECORE_X_EVENT_MASK_WINDOW_PROPERTY);
|
||||
_elm_event_property_change = ecore_event_handler_add
|
||||
(ECORE_X_EVENT_WINDOW_PROPERTY, _elm_window_property_change, NULL);
|
||||
if (!getenv("ELM_SCALE"))
|
||||
{
|
||||
if (ecore_x_window_prop_card32_get(ecore_x_window_root_first_get(),
|
||||
_elm_atom_enlightenment_scale,
|
||||
&val, 1) > 0)
|
||||
{
|
||||
if (val > 0)
|
||||
{
|
||||
_elm_config->scale = (double)val / 1000.0;
|
||||
// FIXME: hack until e export finger size too
|
||||
if (getenv("ELM_FINGER_SIZE"))
|
||||
_elm_config->finger_size = 40.0 * _elm_config->scale;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -606,11 +606,11 @@ elm_quicklaunch_sub_shutdown(void)
|
|||
(_elm_config->engine == ELM_SOFTWARE_16_WINCE))
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
ecore_event_handler_del(_elm_event_property_change);
|
||||
_elm_event_property_change = NULL;
|
||||
ecore_x_disconnect();
|
||||
ecore_event_handler_del(_elm_event_property_change);
|
||||
_elm_event_property_change = NULL;
|
||||
ecore_x_disconnect();
|
||||
#endif
|
||||
evas_cserve_disconnect();
|
||||
evas_cserve_disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -624,7 +624,7 @@ elm_quicklaunch_shutdown(void)
|
|||
|
||||
EINA_LIST_FREE(_elm_config->font_dirs, fontdir)
|
||||
{
|
||||
eina_stringshare_del(fontdir);
|
||||
eina_stringshare_del(fontdir);
|
||||
}
|
||||
|
||||
ecore_event_handler_del(_elm_exit_handler);
|
||||
|
@ -661,7 +661,7 @@ elm_quicklaunch_seed(void)
|
|||
(_elm_config->engine == ELM_OPENGL_X11))
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
ecore_x_sync();
|
||||
ecore_x_sync();
|
||||
#endif
|
||||
}
|
||||
ecore_main_loop_iterate();
|
||||
|
@ -677,32 +677,32 @@ elm_quicklaunch_prepare(int argc, char **argv)
|
|||
char *exe = elm_quicklaunch_exe_path_get(argv[0]);
|
||||
if (!exe)
|
||||
{
|
||||
printf("ERROR: %s does not exist\n", argv[0]);
|
||||
return EINA_FALSE;
|
||||
printf("ERROR: %s does not exist\n", argv[0]);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
char *exe2, *p;
|
||||
char *exename;
|
||||
char *exe2, *p;
|
||||
char *exename;
|
||||
|
||||
exe2 = malloc(strlen(exe) + 1 + 10);
|
||||
strcpy(exe2, exe);
|
||||
p = strrchr(exe2, '/');
|
||||
if (p) p++;
|
||||
else p = exe2;
|
||||
exename = alloca(strlen(p) + 1);
|
||||
strcpy(exename, p);
|
||||
*p = 0;
|
||||
strcat(p, "../lib/");
|
||||
strcat(p, exename);
|
||||
strcat(p, ".so");
|
||||
if (access(exe2, R_OK | X_OK) == 0)
|
||||
{
|
||||
free(exe);
|
||||
exe = exe2;
|
||||
}
|
||||
else
|
||||
free(exe2);
|
||||
exe2 = malloc(strlen(exe) + 1 + 10);
|
||||
strcpy(exe2, exe);
|
||||
p = strrchr(exe2, '/');
|
||||
if (p) p++;
|
||||
else p = exe2;
|
||||
exename = alloca(strlen(p) + 1);
|
||||
strcpy(exename, p);
|
||||
*p = 0;
|
||||
strcat(p, "../lib/");
|
||||
strcat(p, exename);
|
||||
strcat(p, ".so");
|
||||
if (access(exe2, R_OK | X_OK) == 0)
|
||||
{
|
||||
free(exe);
|
||||
exe = exe2;
|
||||
}
|
||||
else
|
||||
free(exe2);
|
||||
}
|
||||
qr_handle = dlopen(exe, RTLD_NOW | RTLD_GLOBAL);
|
||||
free(exe);
|
||||
|
@ -710,9 +710,9 @@ elm_quicklaunch_prepare(int argc, char **argv)
|
|||
qr_main = dlsym(qr_handle, "elm_main");
|
||||
if (!qr_main)
|
||||
{
|
||||
dlclose(qr_handle);
|
||||
qr_handle = NULL;
|
||||
return EINA_FALSE;
|
||||
dlclose(qr_handle);
|
||||
qr_handle = NULL;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
return EINA_TRUE;
|
||||
#else
|
||||
|
@ -757,24 +757,24 @@ elm_quicklaunch_fork(int argc, char **argv, char *cwd, void (postfork_func) (voi
|
|||
// need to accept current environment from elementary_run
|
||||
if (!qr_main)
|
||||
{
|
||||
int i;
|
||||
char **args;
|
||||
int i;
|
||||
char **args;
|
||||
|
||||
child = fork();
|
||||
if (child > 0) return EINA_TRUE;
|
||||
child = fork();
|
||||
if (child > 0) return EINA_TRUE;
|
||||
else if (child < 0)
|
||||
{
|
||||
perror("could not fork");
|
||||
return EINA_FALSE;
|
||||
}
|
||||
setsid();
|
||||
if (chdir(cwd) != 0)
|
||||
setsid();
|
||||
if (chdir(cwd) != 0)
|
||||
perror("could not chdir");
|
||||
args = alloca((argc + 1) * sizeof(char *));
|
||||
for (i = 0; i < argc; i++) args[i] = argv[i];
|
||||
args[argc] = NULL;
|
||||
printf("WARNING: %s not quicklaunch capable\n", argv[0]);
|
||||
exit(execvp(argv[0], args));
|
||||
args = alloca((argc + 1) * sizeof(char *));
|
||||
for (i = 0; i < argc; i++) args[i] = argv[i];
|
||||
args[argc] = NULL;
|
||||
printf("WARNING: %s not quicklaunch capable\n", argv[0]);
|
||||
exit(execvp(argv[0], args));
|
||||
}
|
||||
child = fork();
|
||||
if (child > 0) return EINA_TRUE;
|
||||
|
@ -794,12 +794,12 @@ elm_quicklaunch_fork(int argc, char **argv, char *cwd, void (postfork_func) (voi
|
|||
save_env();
|
||||
if (real_argv)
|
||||
{
|
||||
char *lastarg, *p;
|
||||
char *lastarg, *p;
|
||||
|
||||
ecore_app_args_get(&real_argc, &real_argv);
|
||||
lastarg = real_argv[real_argc - 1] + strlen(real_argv[real_argc - 1]);
|
||||
for (p = real_argv[0]; p < lastarg; p++) *p = 0;
|
||||
strcpy(real_argv[0], argv[0]);
|
||||
ecore_app_args_get(&real_argc, &real_argv);
|
||||
lastarg = real_argv[real_argc - 1] + strlen(real_argv[real_argc - 1]);
|
||||
for (p = real_argv[0]; p < lastarg; p++) *p = 0;
|
||||
strcpy(real_argv[0], argv[0]);
|
||||
}
|
||||
ecore_app_args_set(argc, (const char **)argv);
|
||||
ret = qr_main(argc, argv);
|
||||
|
@ -816,9 +816,9 @@ elm_quicklaunch_cleanup(void)
|
|||
#ifdef HAVE_FORK
|
||||
if (qr_handle)
|
||||
{
|
||||
dlclose(qr_handle);
|
||||
qr_handle = NULL;
|
||||
qr_main = NULL;
|
||||
dlclose(qr_handle);
|
||||
qr_handle = NULL;
|
||||
qr_main = NULL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -848,37 +848,37 @@ elm_quicklaunch_exe_path_get(const char *exe)
|
|||
if ((exe[0] == '.') && (exe[1] == '.') && (exe[2] == '/')) return strdup(exe);
|
||||
if (!path)
|
||||
{
|
||||
const char *p, *pp, *s;
|
||||
char *buf;
|
||||
path = getenv("PATH");
|
||||
buf = alloca(strlen(path) + 1);
|
||||
p = path;
|
||||
pp = p;
|
||||
for (;;)
|
||||
{
|
||||
if ((*p == ':') || (*p == 0))
|
||||
{
|
||||
int len;
|
||||
const char *p, *pp, *s;
|
||||
char *buf;
|
||||
path = getenv("PATH");
|
||||
buf = alloca(strlen(path) + 1);
|
||||
p = path;
|
||||
pp = p;
|
||||
for (;;)
|
||||
{
|
||||
if ((*p == ':') || (*p == 0))
|
||||
{
|
||||
int len;
|
||||
|
||||
len = p - pp;
|
||||
strncpy(buf, pp, len);
|
||||
buf[len] = 0;
|
||||
pathlist = eina_list_append(pathlist, eina_stringshare_add(buf));
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
pp = p;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
len = p - pp;
|
||||
strncpy(buf, pp, len);
|
||||
buf[len] = 0;
|
||||
pathlist = eina_list_append(pathlist, eina_stringshare_add(buf));
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
pp = p;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*p == 0) break;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
EINA_LIST_FOREACH(pathlist, l, pathitr)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/%s", pathitr, exe);
|
||||
if (access(buf, R_OK | X_OK) == 0) return strdup(buf);
|
||||
snprintf(buf, sizeof(buf), "%s/%s", pathitr, exe);
|
||||
if (access(buf, R_OK | X_OK) == 0) return strdup(buf);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -69,8 +69,8 @@ _sizing_eval(Evas_Object *obj)
|
|||
Item *it;
|
||||
EINA_LIST_FOREACH(wd->stack, l, it)
|
||||
{
|
||||
if (it->minw > minw) minw = it->minw;
|
||||
if (it->minh > minh) minh = it->minh;
|
||||
if (it->minw > minw) minw = it->minw;
|
||||
if (it->minh > minh) minh = it->minh;
|
||||
}
|
||||
evas_object_size_hint_min_set(obj, minw, minh);
|
||||
evas_object_size_hint_max_set(obj, maxw, maxh);
|
||||
|
@ -94,30 +94,30 @@ _eval_top(Evas_Object *obj)
|
|||
ittop = eina_list_last(wd->stack)->data;
|
||||
if (ittop != wd->top)
|
||||
{
|
||||
Evas_Object *o;
|
||||
const char *onshow, *onhide;
|
||||
Evas_Object *o;
|
||||
const char *onshow, *onhide;
|
||||
|
||||
if (wd->top)
|
||||
{
|
||||
o = wd->top->base;
|
||||
edje_object_signal_emit(o, "elm,action,hide", "elm");
|
||||
onhide = edje_object_data_get(o, "onhide");
|
||||
if (onhide)
|
||||
{
|
||||
if (!strcmp(onhide, "raise")) evas_object_raise(o);
|
||||
else if (!strcmp(onhide, "lower")) evas_object_lower(o);
|
||||
}
|
||||
}
|
||||
wd->top = ittop;
|
||||
o = wd->top->base;
|
||||
evas_object_show(o);
|
||||
edje_object_signal_emit(o, "elm,action,show", "elm");
|
||||
onshow = edje_object_data_get(o, "onshow");
|
||||
if (onshow)
|
||||
{
|
||||
if (!strcmp(onshow, "raise")) evas_object_raise(o);
|
||||
else if (!strcmp(onshow, "lower")) evas_object_lower(o);
|
||||
}
|
||||
if (wd->top)
|
||||
{
|
||||
o = wd->top->base;
|
||||
edje_object_signal_emit(o, "elm,action,hide", "elm");
|
||||
onhide = edje_object_data_get(o, "onhide");
|
||||
if (onhide)
|
||||
{
|
||||
if (!strcmp(onhide, "raise")) evas_object_raise(o);
|
||||
else if (!strcmp(onhide, "lower")) evas_object_lower(o);
|
||||
}
|
||||
}
|
||||
wd->top = ittop;
|
||||
o = wd->top->base;
|
||||
evas_object_show(o);
|
||||
edje_object_signal_emit(o, "elm,action,show", "elm");
|
||||
onshow = edje_object_data_get(o, "onshow");
|
||||
if (onshow)
|
||||
{
|
||||
if (!strcmp(onshow, "raise")) evas_object_raise(o);
|
||||
else if (!strcmp(onshow, "lower")) evas_object_lower(o);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -142,16 +142,16 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
|
|||
Item *it;
|
||||
EINA_LIST_FOREACH(wd->stack, l, it)
|
||||
{
|
||||
if (it->content == sub)
|
||||
{
|
||||
wd->stack = eina_list_remove_list(wd->stack, l);
|
||||
evas_object_event_callback_del
|
||||
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
|
||||
evas_object_del(it->base);
|
||||
_eval_top(it->obj);
|
||||
free(it);
|
||||
return;
|
||||
}
|
||||
if (it->content == sub)
|
||||
{
|
||||
wd->stack = eina_list_remove_list(wd->stack, l);
|
||||
evas_object_event_callback_del
|
||||
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
|
||||
evas_object_del(it->base);
|
||||
_eval_top(it->obj);
|
||||
free(it);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -177,7 +177,7 @@ _signal_hide_finished(void *data, Evas_Object *obj, const char *emission, const
|
|||
edje_object_message_signal_process(it->base);
|
||||
if (it->popme)
|
||||
{
|
||||
evas_object_del(it->content);
|
||||
evas_object_del(it->content);
|
||||
}
|
||||
_sizing_eval(obj2);
|
||||
}
|
||||
|
@ -248,7 +248,7 @@ elm_pager_content_push(Evas_Object *obj, Evas_Object *content)
|
|||
edje_object_size_min_calc(it->base, &it->minw, &it->minh);
|
||||
evas_object_show(it->content);
|
||||
evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, it);
|
||||
_changed_size_hints, it);
|
||||
wd->stack = eina_list_append(wd->stack, it);
|
||||
_eval_top(obj);
|
||||
_sizing_eval(obj);
|
||||
|
@ -277,28 +277,28 @@ elm_pager_content_pop(Evas_Object *obj)
|
|||
ll = eina_list_last(wd->stack);
|
||||
if (ll)
|
||||
{
|
||||
ll = ll->prev;
|
||||
if (!ll)
|
||||
{
|
||||
Evas_Object *o;
|
||||
const char *onhide;
|
||||
ll = ll->prev;
|
||||
if (!ll)
|
||||
{
|
||||
Evas_Object *o;
|
||||
const char *onhide;
|
||||
|
||||
wd->top = it;
|
||||
o = wd->top->base;
|
||||
edje_object_signal_emit(o, "elm,action,hide", "elm");
|
||||
onhide = edje_object_data_get(o, "onhide");
|
||||
if (onhide)
|
||||
{
|
||||
if (!strcmp(onhide, "raise")) evas_object_raise(o);
|
||||
else if (!strcmp(onhide, "lower")) evas_object_lower(o);
|
||||
}
|
||||
wd->top = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
it = ll->data;
|
||||
elm_pager_content_promote(obj, it->content);
|
||||
}
|
||||
wd->top = it;
|
||||
o = wd->top->base;
|
||||
edje_object_signal_emit(o, "elm,action,hide", "elm");
|
||||
onhide = edje_object_data_get(o, "onhide");
|
||||
if (onhide)
|
||||
{
|
||||
if (!strcmp(onhide, "raise")) evas_object_raise(o);
|
||||
else if (!strcmp(onhide, "lower")) evas_object_lower(o);
|
||||
}
|
||||
wd->top = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
it = ll->data;
|
||||
elm_pager_content_promote(obj, it->content);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -322,13 +322,13 @@ elm_pager_content_promote(Evas_Object *obj, Evas_Object *content)
|
|||
Item *it;
|
||||
EINA_LIST_FOREACH(wd->stack, l, it)
|
||||
{
|
||||
if (it->content == content)
|
||||
{
|
||||
wd->stack = eina_list_remove_list(wd->stack, l);
|
||||
wd->stack = eina_list_append(wd->stack, it);
|
||||
_eval_top(obj);
|
||||
return;
|
||||
}
|
||||
if (it->content == content)
|
||||
{
|
||||
wd->stack = eina_list_remove_list(wd->stack, l);
|
||||
wd->stack = eina_list_append(wd->stack, it);
|
||||
_eval_top(obj);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -367,4 +367,3 @@ elm_pager_content_top_get(Evas_Object *obj)
|
|||
it = eina_list_last(wd->stack)->data;
|
||||
return it->content;
|
||||
}
|
||||
|
||||
|
|
|
@ -37,8 +37,8 @@ _sizing_eval(Evas_Object *obj)
|
|||
Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
|
||||
|
||||
evas_object_size_hint_min_set(wd->img,
|
||||
wd->size * elm_widget_scale_get(obj) * _elm_config->scale,
|
||||
wd->size * elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
wd->size * elm_widget_scale_get(obj) * _elm_config->scale,
|
||||
wd->size * elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->img);
|
||||
elm_coords_finger_size_adjust(1, &minw, 1, &minh);
|
||||
edje_object_size_min_restricted_calc(wd->frm, &minw, &minh, minw, minh);
|
||||
|
|
|
@ -137,11 +137,11 @@ _state_set(Evas_Object *obj, Eina_Bool state)
|
|||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (state != wd->state)
|
||||
{
|
||||
wd->state = state;
|
||||
if (wd->state)
|
||||
edje_object_signal_emit(wd->chk, "elm,state,radio,on", "elm");
|
||||
else
|
||||
edje_object_signal_emit(wd->chk, "elm,state,radio,off", "elm");
|
||||
wd->state = state;
|
||||
if (wd->state)
|
||||
edje_object_signal_emit(wd->chk, "elm,state,radio,on", "elm");
|
||||
else
|
||||
edje_object_signal_emit(wd->chk, "elm,state,radio,off", "elm");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -153,9 +153,9 @@ _state_set_all(Widget_Data *wd)
|
|||
|
||||
EINA_LIST_FOREACH(wd->group->radios, l, child)
|
||||
{
|
||||
Widget_Data *wd2 = elm_widget_data_get(child);
|
||||
if (wd2->value == wd->group->value) _state_set(child, 1);
|
||||
else _state_set(child, 0);
|
||||
Widget_Data *wd2 = elm_widget_data_get(child);
|
||||
if (wd2->value == wd->group->value) _state_set(child, 1);
|
||||
else _state_set(child, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -227,13 +227,13 @@ elm_radio_label_set(Evas_Object *obj, const char *label)
|
|||
if (wd->label) eina_stringshare_del(wd->label);
|
||||
if (label)
|
||||
{
|
||||
wd->label = eina_stringshare_add(label);
|
||||
wd->label = eina_stringshare_add(label);
|
||||
edje_object_signal_emit(wd->chk, "elm,state,text,visible", "elm");
|
||||
edje_object_message_signal_process(wd->chk);
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->label = NULL;
|
||||
wd->label = NULL;
|
||||
edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm");
|
||||
edje_object_message_signal_process(wd->chk);
|
||||
}
|
||||
|
@ -380,18 +380,18 @@ elm_radio_value_pointer_set(Evas_Object *obj, int *valuep)
|
|||
|
||||
if (valuep)
|
||||
{
|
||||
wd->group->valuep = valuep;
|
||||
wd->group->valuep = valuep;
|
||||
if (*(wd->group->valuep) != wd->group->value)
|
||||
{
|
||||
const Eina_List *l;
|
||||
const Eina_List *l;
|
||||
Evas_Object *child;
|
||||
|
||||
wd->group->value = *(wd->group->valuep);
|
||||
wd->group->value = *(wd->group->valuep);
|
||||
_state_set_all(wd);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->group->valuep = NULL;
|
||||
wd->group->valuep = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -187,7 +187,7 @@ elm_scroller_add(Evas_Object *parent)
|
|||
wd->scr = elm_smart_scroller_add(e);
|
||||
elm_widget_resize_object_set(obj, wd->scr);
|
||||
evas_object_event_callback_add(wd->scr, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
_changed_size_hints, obj);
|
||||
|
||||
edje_object_size_min_calc(elm_smart_scroller_edje_object_get(wd->scr), &minw, &minh);
|
||||
evas_object_size_hint_min_set(obj, minw, minh);
|
||||
|
@ -252,9 +252,9 @@ elm_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scro
|
|||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
const Elm_Scroller_Policy map[3] =
|
||||
{
|
||||
ELM_SMART_SCROLLER_POLICY_AUTO,
|
||||
ELM_SMART_SCROLLER_POLICY_ON,
|
||||
ELM_SMART_SCROLLER_POLICY_OFF
|
||||
ELM_SMART_SCROLLER_POLICY_AUTO,
|
||||
ELM_SMART_SCROLLER_POLICY_ON,
|
||||
ELM_SMART_SCROLLER_POLICY_OFF
|
||||
};
|
||||
if (!wd) return;
|
||||
if ((policy_h < 0) || (policy_h >= 3) || (policy_v < 0) || (policy_v >= 3))
|
||||
|
|
|
@ -159,17 +159,17 @@ _val_fetch(Evas_Object *obj)
|
|||
double posx = 0.0, posy = 0.0, pos = 0.0, val;
|
||||
|
||||
edje_object_part_drag_value_get(wd->slider, "elm.dragable.slider",
|
||||
&posx, &posy);
|
||||
&posx, &posy);
|
||||
if (wd->horizontal) pos = posx;
|
||||
else pos = posy;
|
||||
if (wd->inverted) pos = 1.0 - pos;
|
||||
val = (pos * (wd->val_max - wd->val_min)) + wd->val_min;
|
||||
if (val != wd->val)
|
||||
{
|
||||
wd->val = val;
|
||||
evas_object_smart_callback_call(obj, "changed", NULL);
|
||||
if (wd->delay) ecore_timer_del(wd->delay);
|
||||
wd->delay = ecore_timer_add(0.2, _delay_change, obj);
|
||||
wd->val = val;
|
||||
evas_object_smart_callback_call(obj, "changed", NULL);
|
||||
if (wd->delay) ecore_timer_del(wd->delay);
|
||||
wd->delay = ecore_timer_add(0.2, _delay_change, obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -194,10 +194,10 @@ _units_set(Evas_Object *obj)
|
|||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (wd->units)
|
||||
{
|
||||
char buf[1024];
|
||||
char buf[1024];
|
||||
|
||||
snprintf(buf, sizeof(buf), wd->units, wd->val);
|
||||
edje_object_part_text_set(wd->slider, "elm.units", buf);
|
||||
snprintf(buf, sizeof(buf), wd->units, wd->val);
|
||||
edje_object_part_text_set(wd->slider, "elm.units", buf);
|
||||
}
|
||||
else
|
||||
edje_object_part_text_set(wd->slider, "elm.units", NULL);
|
||||
|
@ -209,10 +209,10 @@ _indicator_set(Evas_Object *obj)
|
|||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (wd->indicator)
|
||||
{
|
||||
char buf[1024];
|
||||
char buf[1024];
|
||||
|
||||
snprintf(buf, sizeof(buf), wd->indicator, wd->val);
|
||||
edje_object_part_text_set(wd->slider, "elm.indicator", buf);
|
||||
snprintf(buf, sizeof(buf), wd->indicator, wd->val);
|
||||
edje_object_part_text_set(wd->slider, "elm.indicator", buf);
|
||||
}
|
||||
else
|
||||
edje_object_part_text_set(wd->slider, "elm.indicator", NULL);
|
||||
|
@ -310,13 +310,13 @@ elm_slider_label_set(Evas_Object *obj, const char *label)
|
|||
if (wd->label) eina_stringshare_del(wd->label);
|
||||
if (label)
|
||||
{
|
||||
wd->label = eina_stringshare_add(label);
|
||||
wd->label = eina_stringshare_add(label);
|
||||
edje_object_signal_emit(wd->slider, "elm,state,text,visible", "elm");
|
||||
edje_object_message_signal_process(wd->slider);
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->label = NULL;
|
||||
wd->label = NULL;
|
||||
edje_object_signal_emit(wd->slider, "elm,state,text,hidden", "elm");
|
||||
edje_object_message_signal_process(wd->slider);
|
||||
}
|
||||
|
@ -402,13 +402,13 @@ elm_slider_unit_format_set(Evas_Object *obj, const char *units)
|
|||
if (wd->units) eina_stringshare_del(wd->units);
|
||||
if (units)
|
||||
{
|
||||
wd->units = eina_stringshare_add(units);
|
||||
wd->units = eina_stringshare_add(units);
|
||||
edje_object_signal_emit(wd->slider, "elm,state,units,visible", "elm");
|
||||
edje_object_message_signal_process(wd->slider);
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->units = NULL;
|
||||
wd->units = NULL;
|
||||
edje_object_signal_emit(wd->slider, "elm,state,units,hidden", "elm");
|
||||
edje_object_message_signal_process(wd->slider);
|
||||
}
|
||||
|
|
|
@ -13,12 +13,12 @@ _elm_theme_find_try(const char *f, const char *group)
|
|||
|
||||
if (edje_file_group_exists(f, group))
|
||||
{
|
||||
file = eina_stringshare_add(f);
|
||||
if (file)
|
||||
{
|
||||
eina_hash_add(cache, group, file);
|
||||
return file;
|
||||
}
|
||||
file = eina_stringshare_add(f);
|
||||
if (file)
|
||||
{
|
||||
eina_hash_add(cache, group, file);
|
||||
return file;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -35,8 +35,8 @@ _elm_theme_theme_element_try(const char *home, const char *f, const char *group)
|
|||
return _elm_theme_find_try(f, group);
|
||||
else if (((f[0] == '~') && (f[1] == '/')))
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/%s", home, f + 2);
|
||||
return _elm_theme_find_try(buf, group);
|
||||
snprintf(buf, sizeof(buf), "%s/%s", home, f + 2);
|
||||
return _elm_theme_find_try(buf, group);
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "%s/.elementary/themes/%s.edj", home, f);
|
||||
file = _elm_theme_find_try(buf, group);
|
||||
|
@ -57,23 +57,23 @@ _elm_theme_group_file_find(const char *group)
|
|||
if (file) return file;
|
||||
if (!home)
|
||||
{
|
||||
home = getenv("HOME");
|
||||
if (!home) home = "";
|
||||
home = getenv("HOME");
|
||||
if (!home) home = "";
|
||||
}
|
||||
EINA_LIST_FOREACH(overlay, l, f)
|
||||
{
|
||||
file = _elm_theme_theme_element_try(home, f, group);
|
||||
if (file) return file;
|
||||
file = _elm_theme_theme_element_try(home, f, group);
|
||||
if (file) return file;
|
||||
}
|
||||
EINA_LIST_FOREACH(themes, l, f)
|
||||
{
|
||||
file = _elm_theme_theme_element_try(home, f, group);
|
||||
if (file) return file;
|
||||
file = _elm_theme_theme_element_try(home, f, group);
|
||||
if (file) return file;
|
||||
}
|
||||
EINA_LIST_FOREACH(extension, l, f)
|
||||
{
|
||||
file = _elm_theme_theme_element_try(home, f, group);
|
||||
if (file) return file;
|
||||
file = _elm_theme_theme_element_try(home, f, group);
|
||||
if (file) return file;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -103,8 +103,8 @@ _elm_theme_set(Evas_Object *o, const char *clas, const char *group, const char *
|
|||
file = _elm_theme_group_file_find(buf2);
|
||||
if (file)
|
||||
{
|
||||
ok = edje_object_file_set(o, file, buf2);
|
||||
if (ok) return 1;
|
||||
ok = edje_object_file_set(o, file, buf2);
|
||||
if (ok) return 1;
|
||||
}
|
||||
snprintf(buf2, sizeof(buf2), "elm/%s/%s/default", clas, group);
|
||||
file = _elm_theme_group_file_find(buf2);
|
||||
|
@ -125,9 +125,9 @@ _elm_theme_icon_set(Evas_Object *o, const char *group, const char *style)
|
|||
file = _elm_theme_group_file_find(buf2);
|
||||
if (file)
|
||||
{
|
||||
_els_smart_icon_file_edje_set(o, file, buf2);
|
||||
_els_smart_icon_size_get(o, &w, &h);
|
||||
if (w > 0) return 1;
|
||||
_els_smart_icon_file_edje_set(o, file, buf2);
|
||||
_els_smart_icon_size_get(o, &w, &h);
|
||||
if (w > 0) return 1;
|
||||
}
|
||||
snprintf(buf2, sizeof(buf2), "elm/icon/%s/default", group);
|
||||
file = _elm_theme_group_file_find(buf2);
|
||||
|
@ -154,47 +154,47 @@ _elm_theme_parse(const char *theme)
|
|||
pe = p;
|
||||
for (;;)
|
||||
{
|
||||
if ((*pe == ':') || (*pe == 0))
|
||||
{ // p -> pe == 'name/'
|
||||
if (pe > p)
|
||||
{
|
||||
char *n = malloc(pe - p + 1);
|
||||
if (n)
|
||||
{
|
||||
const char *nn;
|
||||
strncpy(n, p, pe - p);
|
||||
n[pe - p] = 0;
|
||||
nn = eina_stringshare_add(n);
|
||||
if (nn)
|
||||
names = eina_list_append(names, nn);
|
||||
free(n);
|
||||
}
|
||||
}
|
||||
if (*pe == 0) break;
|
||||
p = pe + 1;
|
||||
pe = p;
|
||||
}
|
||||
else
|
||||
pe++;
|
||||
if ((*pe == ':') || (*pe == 0))
|
||||
{ // p -> pe == 'name/'
|
||||
if (pe > p)
|
||||
{
|
||||
char *n = malloc(pe - p + 1);
|
||||
if (n)
|
||||
{
|
||||
const char *nn;
|
||||
strncpy(n, p, pe - p);
|
||||
n[pe - p] = 0;
|
||||
nn = eina_stringshare_add(n);
|
||||
if (nn)
|
||||
names = eina_list_append(names, nn);
|
||||
free(n);
|
||||
}
|
||||
}
|
||||
if (*pe == 0) break;
|
||||
p = pe + 1;
|
||||
pe = p;
|
||||
}
|
||||
else
|
||||
pe++;
|
||||
}
|
||||
p = eina_list_data_get(eina_list_last(names));
|
||||
if ((!p) || ((p) && (strcmp(p, "default"))))
|
||||
{
|
||||
p = eina_stringshare_add("default");
|
||||
if (p)
|
||||
names = eina_list_append(names, p);
|
||||
p = eina_stringshare_add("default");
|
||||
if (p)
|
||||
names = eina_list_append(names, p);
|
||||
}
|
||||
if (cache)
|
||||
{
|
||||
eina_hash_foreach(cache, _cache_free_cb, NULL);
|
||||
eina_hash_free(cache);
|
||||
cache = NULL;
|
||||
eina_hash_foreach(cache, _cache_free_cb, NULL);
|
||||
eina_hash_free(cache);
|
||||
cache = NULL;
|
||||
}
|
||||
cache = eina_hash_string_superfast_new(NULL);
|
||||
|
||||
EINA_LIST_FREE(themes, p)
|
||||
{
|
||||
eina_stringshare_del(p);
|
||||
eina_stringshare_del(p);
|
||||
}
|
||||
|
||||
themes = names;
|
||||
|
|
|
@ -154,13 +154,13 @@ elm_toggle_label_set(Evas_Object *obj, const char *label)
|
|||
if (wd->label) eina_stringshare_del(wd->label);
|
||||
if (label)
|
||||
{
|
||||
wd->label = eina_stringshare_add(label);
|
||||
wd->label = eina_stringshare_add(label);
|
||||
edje_object_signal_emit(wd->tgl, "elm,state,text,visible", "elm");
|
||||
edje_object_message_signal_process(wd->tgl);
|
||||
}
|
||||
else
|
||||
{
|
||||
wd->label = NULL;
|
||||
wd->label = NULL;
|
||||
edje_object_signal_emit(wd->tgl, "elm,state,text,hidden", "elm");
|
||||
edje_object_message_signal_process(wd->tgl);
|
||||
}
|
||||
|
@ -242,6 +242,6 @@ elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep)
|
|||
}
|
||||
else
|
||||
{
|
||||
wd->statep = NULL;
|
||||
wd->statep = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,12 +47,12 @@ _item_select(Elm_Toolbar_Item *it)
|
|||
if (it->selected) return;
|
||||
EINA_LIST_FOREACH(wd->items, l, it2)
|
||||
{
|
||||
if (it2->selected)
|
||||
{
|
||||
it2->selected = EINA_FALSE;
|
||||
edje_object_signal_emit(it2->base, "elm,state,unselected", "elm");
|
||||
break;
|
||||
}
|
||||
if (it2->selected)
|
||||
{
|
||||
it2->selected = EINA_FALSE;
|
||||
edje_object_signal_emit(it2->base, "elm,state,unselected", "elm");
|
||||
break;
|
||||
}
|
||||
}
|
||||
it->selected = EINA_TRUE;
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
|
@ -69,10 +69,10 @@ _del_hook(Evas_Object *obj)
|
|||
Elm_Toolbar_Item *it;
|
||||
EINA_LIST_FREE(wd->items, it)
|
||||
{
|
||||
eina_stringshare_del(it->label);
|
||||
if (it->icon) evas_object_del(it->icon);
|
||||
evas_object_del(it->base);
|
||||
free(it);
|
||||
eina_stringshare_del(it->label);
|
||||
if (it->icon) evas_object_del(it->icon);
|
||||
evas_object_del(it->base);
|
||||
free(it);
|
||||
}
|
||||
free(wd);
|
||||
}
|
||||
|
@ -89,24 +89,24 @@ _theme_hook(Evas_Object *obj)
|
|||
edje_object_scale_set(wd->scr, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
edje_object_scale_set(it->base, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
if (it->selected)
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
_elm_theme_set(it->base, "toolbar", "item", style);
|
||||
if (it->icon)
|
||||
{
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
edje_object_size_min_restricted_calc(it->base, &mw, &mh, mw, mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
evas_object_size_hint_min_set(it->base, mw, mh);
|
||||
evas_object_size_hint_max_set(it->base, 9999, mh);
|
||||
edje_object_scale_set(it->base, elm_widget_scale_get(obj) * _elm_config->scale);
|
||||
if (it->selected)
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
_elm_theme_set(it->base, "toolbar", "item", style);
|
||||
if (it->icon)
|
||||
{
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
mw = mh = -1;
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
edje_object_size_min_restricted_calc(it->base, &mw, &mh, mw, mh);
|
||||
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
|
||||
evas_object_size_hint_min_set(it->base, mw, mh);
|
||||
evas_object_size_hint_max_set(it->base, 9999, mh);
|
||||
}
|
||||
_sizing_eval(obj);
|
||||
}
|
||||
|
@ -125,13 +125,13 @@ _sizing_eval(Evas_Object *obj)
|
|||
elm_smart_scroller_child_viewport_size_get(wd->scr, &vw, &vh);
|
||||
if (wd->scrollable)
|
||||
{
|
||||
minw = 500 - vw;
|
||||
minh = minh + (500 - vh);
|
||||
minw = 500 - vw;
|
||||
minh = minh + (500 - vh);
|
||||
}
|
||||
else
|
||||
{
|
||||
minw = minw + (500 - vw);
|
||||
minh = minh + (500 - vh);
|
||||
minw = minw + (500 - vw);
|
||||
minh = minh + (500 - vh);
|
||||
}
|
||||
evas_object_size_hint_min_set(obj, minw, minh);
|
||||
evas_object_size_hint_max_set(obj, maxw, maxh);
|
||||
|
@ -150,15 +150,15 @@ _resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
evas_object_geometry_get(wd->bx, NULL, NULL, &w, &h);
|
||||
if (vw >= mw)
|
||||
{
|
||||
if (w != vw) evas_object_resize(wd->bx, vw, h);
|
||||
if (w != vw) evas_object_resize(wd->bx, vw, h);
|
||||
}
|
||||
EINA_LIST_FOREACH(wd->items, l, it)
|
||||
{
|
||||
if (it->selected)
|
||||
{
|
||||
_item_show(it);
|
||||
break;
|
||||
}
|
||||
if (it->selected)
|
||||
{
|
||||
_item_show(it);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -191,8 +191,8 @@ elm_toolbar_add(Evas_Object *parent)
|
|||
elm_smart_scroller_theme_set(wd->scr, "toolbar", "base", "default");
|
||||
elm_widget_resize_object_set(obj, wd->scr);
|
||||
elm_smart_scroller_policy_set(wd->scr,
|
||||
ELM_SMART_SCROLLER_POLICY_AUTO,
|
||||
ELM_SMART_SCROLLER_POLICY_OFF);
|
||||
ELM_SMART_SCROLLER_POLICY_AUTO,
|
||||
ELM_SMART_SCROLLER_POLICY_OFF);
|
||||
|
||||
wd->icon_size = 32;
|
||||
wd->scrollable = EINA_TRUE;
|
||||
|
@ -205,7 +205,7 @@ elm_toolbar_add(Evas_Object *parent)
|
|||
evas_object_show(wd->bx);
|
||||
|
||||
evas_object_event_callback_add(wd->scr, EVAS_CALLBACK_RESIZE,
|
||||
_resize, obj);
|
||||
_resize, obj);
|
||||
|
||||
_sizing_eval(obj);
|
||||
return obj;
|
||||
|
@ -227,16 +227,16 @@ elm_toolbar_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, voi
|
|||
it->base = edje_object_add(evas_object_evas_get(obj));
|
||||
_elm_theme_set(it->base, "toolbar", "item", elm_widget_style_get(obj));
|
||||
edje_object_signal_callback_add(it->base, "elm,action,click", "elm",
|
||||
_select, it);
|
||||
_select, it);
|
||||
elm_widget_sub_object_add(obj, it->base);
|
||||
if (it->icon)
|
||||
{
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
evas_object_show(it->icon);
|
||||
elm_widget_sub_object_add(obj, it->icon);
|
||||
edje_extern_object_min_size_set(it->icon,
|
||||
(double)wd->icon_size * _elm_config->scale,
|
||||
(double)wd->icon_size * _elm_config->scale);
|
||||
edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);
|
||||
evas_object_show(it->icon);
|
||||
elm_widget_sub_object_add(obj, it->icon);
|
||||
}
|
||||
edje_object_part_text_set(it->base, "elm.text", it->label);
|
||||
mw = mh = -1;
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
#define API_ENTRY \
|
||||
Smart_Data *sd = evas_object_smart_data_get(obj); \
|
||||
if ((!obj) || (!sd) || \
|
||||
(evas_object_type_get(obj) && \
|
||||
strcmp(evas_object_type_get(obj), SMART_NAME)))
|
||||
(evas_object_type_get(obj) && \
|
||||
strcmp(evas_object_type_get(obj), SMART_NAME)))
|
||||
#define INTERNAL_ENTRY \
|
||||
Smart_Data *sd = evas_object_smart_data_get(obj); \
|
||||
if (!sd) return;
|
||||
|
@ -68,12 +68,12 @@ _sub_obj_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
Smart_Data *sd = data;
|
||||
if (obj == sd->resize_obj)
|
||||
{
|
||||
sd->resize_obj = NULL;
|
||||
sd->resize_obj = NULL;
|
||||
}
|
||||
else if (obj == sd->hover_obj) sd->hover_obj = NULL;
|
||||
else
|
||||
{
|
||||
sd->subobjs = eina_list_remove(sd->subobjs, obj);
|
||||
sd->subobjs = eina_list_remove(sd->subobjs, obj);
|
||||
}
|
||||
evas_object_smart_callback_call(sd->obj, "sub-object-del", obj);
|
||||
}
|
||||
|
@ -238,11 +238,11 @@ elm_widget_resize_object_set(Evas_Object *obj, Evas_Object *sobj)
|
|||
API_ENTRY return;
|
||||
if (sd->resize_obj)
|
||||
{
|
||||
if (!strcmp(evas_object_type_get(sd->resize_obj), SMART_NAME))
|
||||
{
|
||||
Smart_Data *sd2 = evas_object_smart_data_get(sd->resize_obj);
|
||||
if (sd2) sd2->parent_obj = NULL;
|
||||
}
|
||||
if (!strcmp(evas_object_type_get(sd->resize_obj), SMART_NAME))
|
||||
{
|
||||
Smart_Data *sd2 = evas_object_smart_data_get(sd->resize_obj);
|
||||
if (sd2) sd2->parent_obj = NULL;
|
||||
}
|
||||
evas_object_event_callback_del(sd->resize_obj, EVAS_CALLBACK_DEL, _sub_obj_del);
|
||||
evas_object_event_callback_del(sd->resize_obj, EVAS_CALLBACK_MOUSE_DOWN, _sub_obj_mouse_down);
|
||||
evas_object_smart_member_del(sd->resize_obj);
|
||||
|
@ -250,11 +250,11 @@ elm_widget_resize_object_set(Evas_Object *obj, Evas_Object *sobj)
|
|||
sd->resize_obj = sobj;
|
||||
if (sd->resize_obj)
|
||||
{
|
||||
if (!strcmp(evas_object_type_get(sd->resize_obj), SMART_NAME))
|
||||
{
|
||||
Smart_Data *sd2 = evas_object_smart_data_get(sd->resize_obj);
|
||||
if (sd2) sd2->parent_obj = obj;
|
||||
}
|
||||
if (!strcmp(evas_object_type_get(sd->resize_obj), SMART_NAME))
|
||||
{
|
||||
Smart_Data *sd2 = evas_object_smart_data_get(sd->resize_obj);
|
||||
if (sd2) sd2->parent_obj = obj;
|
||||
}
|
||||
evas_object_clip_set(sobj, evas_object_clip_get(obj));
|
||||
evas_object_smart_member_add(sobj, obj);
|
||||
evas_object_event_callback_add(sobj, EVAS_CALLBACK_DEL, _sub_obj_del, sd);
|
||||
|
@ -345,7 +345,7 @@ elm_widget_focus_jump(Evas_Object *obj, int forward)
|
|||
else
|
||||
{
|
||||
int focus_next;
|
||||
int noloop = 0;
|
||||
int noloop = 0;
|
||||
|
||||
focus_next = 0;
|
||||
if (!sd->focused)
|
||||
|
@ -359,53 +359,53 @@ elm_widget_focus_jump(Evas_Object *obj, int forward)
|
|||
{
|
||||
if (forward)
|
||||
{
|
||||
if (elm_widget_can_focus_get(sd->resize_obj))
|
||||
{
|
||||
if ((focus_next) &&
|
||||
(!elm_widget_disabled_get(sd->resize_obj)))
|
||||
{
|
||||
/* the previous focused item was unfocused - so focus
|
||||
* the next one (that can be focused) */
|
||||
if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1;
|
||||
else noloop = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (elm_widget_focus_get(sd->resize_obj))
|
||||
{
|
||||
/* jump to the next focused item or focus this item */
|
||||
if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1;
|
||||
/* it returned 0 - it got to the last item and is past it */
|
||||
focus_next = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!noloop)
|
||||
{
|
||||
if (elm_widget_can_focus_get(sd->resize_obj))
|
||||
{
|
||||
if ((focus_next) &&
|
||||
(!elm_widget_disabled_get(sd->resize_obj)))
|
||||
{
|
||||
/* the previous focused item was unfocused - so focus
|
||||
* the next one (that can be focused) */
|
||||
if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1;
|
||||
else noloop = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (elm_widget_focus_get(sd->resize_obj))
|
||||
{
|
||||
/* jump to the next focused item or focus this item */
|
||||
if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1;
|
||||
/* it returned 0 - it got to the last item and is past it */
|
||||
focus_next = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!noloop)
|
||||
{
|
||||
const Eina_List *l;
|
||||
Evas_Object *child;
|
||||
EINA_LIST_FOREACH(sd->subobjs, l, child)
|
||||
{
|
||||
if (elm_widget_can_focus_get(child))
|
||||
{
|
||||
if ((focus_next) &&
|
||||
(!elm_widget_disabled_get(child)))
|
||||
{
|
||||
/* the previous focused item was unfocused - so focus
|
||||
* the next one (that can be focused) */
|
||||
if (elm_widget_focus_jump(child, forward)) return 1;
|
||||
else break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (elm_widget_focus_get(child))
|
||||
{
|
||||
/* jump to the next focused item or focus this item */
|
||||
if (elm_widget_focus_jump(child, forward)) return 1;
|
||||
/* it returned 0 - it got to the last item and is past it */
|
||||
focus_next = 1;
|
||||
}
|
||||
}
|
||||
{
|
||||
if (elm_widget_can_focus_get(child))
|
||||
{
|
||||
if ((focus_next) &&
|
||||
(!elm_widget_disabled_get(child)))
|
||||
{
|
||||
/* the previous focused item was unfocused - so focus
|
||||
* the next one (that can be focused) */
|
||||
if (elm_widget_focus_jump(child, forward)) return 1;
|
||||
else break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (elm_widget_focus_get(child))
|
||||
{
|
||||
/* jump to the next focused item or focus this item */
|
||||
if (elm_widget_focus_jump(child, forward)) return 1;
|
||||
/* it returned 0 - it got to the last item and is past it */
|
||||
focus_next = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -439,8 +439,8 @@ elm_widget_focus_jump(Evas_Object *obj, int forward)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (!l)
|
||||
{
|
||||
if (!l)
|
||||
{
|
||||
if (elm_widget_can_focus_get(sd->resize_obj))
|
||||
{
|
||||
if ((focus_next) &&
|
||||
|
@ -461,15 +461,15 @@ elm_widget_focus_jump(Evas_Object *obj, int forward)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* no next item can be focused */
|
||||
if (sd->focused)
|
||||
{
|
||||
sd->focused = 0;
|
||||
if (sd->on_focus_func) sd->on_focus_func(sd->on_focus_data, obj);
|
||||
sd->focused = 0;
|
||||
if (sd->on_focus_func) sd->on_focus_func(sd->on_focus_data, obj);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -492,25 +492,25 @@ elm_widget_focus_set(Evas_Object *obj, int first)
|
|||
{
|
||||
if (first)
|
||||
{
|
||||
if ((elm_widget_can_focus_get(sd->resize_obj)) &&
|
||||
(!elm_widget_disabled_get(sd->resize_obj)))
|
||||
{
|
||||
elm_widget_focus_set(sd->resize_obj, first);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((elm_widget_can_focus_get(sd->resize_obj)) &&
|
||||
(!elm_widget_disabled_get(sd->resize_obj)))
|
||||
{
|
||||
elm_widget_focus_set(sd->resize_obj, first);
|
||||
}
|
||||
else
|
||||
{
|
||||
const Eina_List *l;
|
||||
Evas_Object *child;
|
||||
EINA_LIST_FOREACH(sd->subobjs, l, child)
|
||||
{
|
||||
if ((elm_widget_can_focus_get(child)) &&
|
||||
(!elm_widget_disabled_get(child)))
|
||||
{
|
||||
elm_widget_focus_set(child, first);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
if ((elm_widget_can_focus_get(child)) &&
|
||||
(!elm_widget_disabled_get(child)))
|
||||
{
|
||||
elm_widget_focus_set(child, first);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -525,14 +525,14 @@ elm_widget_focus_set(Evas_Object *obj, int first)
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (!l)
|
||||
{
|
||||
if ((elm_widget_can_focus_get(sd->resize_obj)) &&
|
||||
(!elm_widget_disabled_get(sd->resize_obj)))
|
||||
{
|
||||
elm_widget_focus_set(sd->resize_obj, first);
|
||||
}
|
||||
}
|
||||
if (!l)
|
||||
{
|
||||
if ((elm_widget_can_focus_get(sd->resize_obj)) &&
|
||||
(!elm_widget_disabled_get(sd->resize_obj)))
|
||||
{
|
||||
elm_widget_focus_set(sd->resize_obj, first);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -551,20 +551,20 @@ elm_widget_focused_object_clear(Evas_Object *obj)
|
|||
if (!sd->focused) return;
|
||||
if (elm_widget_focus_get(sd->resize_obj))
|
||||
{
|
||||
elm_widget_focused_object_clear(sd->resize_obj);
|
||||
elm_widget_focused_object_clear(sd->resize_obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
const Eina_List *l;
|
||||
Evas_Object *child;
|
||||
EINA_LIST_FOREACH(sd->subobjs, l, child)
|
||||
{
|
||||
if (elm_widget_focus_get(child))
|
||||
{
|
||||
elm_widget_focused_object_clear(child);
|
||||
break;
|
||||
}
|
||||
}
|
||||
{
|
||||
if (elm_widget_focus_get(child))
|
||||
{
|
||||
elm_widget_focused_object_clear(child);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
sd->focused = 0;
|
||||
if (sd->on_focus_func) sd->on_focus_func(sd->on_focus_data, obj);
|
||||
|
@ -595,31 +595,31 @@ elm_widget_focus_steal(Evas_Object *obj)
|
|||
{
|
||||
o = elm_widget_parent_get(parent);
|
||||
if (!o) break;
|
||||
sd = evas_object_smart_data_get(o);
|
||||
if (sd->focused) break;
|
||||
sd = evas_object_smart_data_get(o);
|
||||
if (sd->focused) break;
|
||||
parent = o;
|
||||
}
|
||||
if (!elm_widget_parent_get(parent))
|
||||
elm_widget_focused_object_clear(parent);
|
||||
else
|
||||
{
|
||||
parent = elm_widget_parent_get(parent);
|
||||
sd = evas_object_smart_data_get(parent);
|
||||
if (elm_widget_focus_get(sd->resize_obj))
|
||||
elm_widget_focused_object_clear(sd->resize_obj);
|
||||
else
|
||||
{
|
||||
parent = elm_widget_parent_get(parent);
|
||||
sd = evas_object_smart_data_get(parent);
|
||||
if (elm_widget_focus_get(sd->resize_obj))
|
||||
elm_widget_focused_object_clear(sd->resize_obj);
|
||||
else
|
||||
{
|
||||
const Eina_List *l;
|
||||
Evas_Object *child;
|
||||
EINA_LIST_FOREACH(sd->subobjs, l, child)
|
||||
{
|
||||
if (elm_widget_focus_get(child))
|
||||
{
|
||||
elm_widget_focused_object_clear(child);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
if (elm_widget_focus_get(child))
|
||||
{
|
||||
elm_widget_focused_object_clear(child);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_elm_widget_parent_focus(obj);
|
||||
return;
|
||||
|
@ -653,8 +653,8 @@ elm_widget_disabled_set(Evas_Object *obj, int disabled)
|
|||
Evas_Object *o, *parent;
|
||||
|
||||
parent = obj;
|
||||
for (;;)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
o = elm_widget_parent_get(parent);
|
||||
if (!o) break;
|
||||
parent = o;
|
||||
|
@ -756,8 +756,8 @@ elm_widget_scale_set(Evas_Object *obj, double scale)
|
|||
if (scale <= 0.0) scale = 0.0;
|
||||
if (sd->scale != scale)
|
||||
{
|
||||
sd->scale = scale;
|
||||
elm_widget_theme(obj);
|
||||
sd->scale = scale;
|
||||
elm_widget_theme(obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -853,24 +853,24 @@ _smart_del(Evas_Object *obj)
|
|||
if (sd->del_pre_func) sd->del_pre_func(obj);
|
||||
if (sd->resize_obj)
|
||||
{
|
||||
sobj = sd->resize_obj;
|
||||
sobj = sd->resize_obj;
|
||||
sd->resize_obj = NULL;
|
||||
evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del);
|
||||
evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->resize_obj);
|
||||
evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->resize_obj);
|
||||
evas_object_del(sobj);
|
||||
}
|
||||
if (sd->hover_obj)
|
||||
{
|
||||
sobj = sd->resize_obj;
|
||||
sobj = sd->resize_obj;
|
||||
sd->hover_obj = NULL;
|
||||
evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del);
|
||||
evas_object_smart_callback_call(sd->obj, "sub-object-del", sobj);
|
||||
evas_object_smart_callback_call(sd->obj, "sub-object-del", sobj);
|
||||
evas_object_del(sobj);
|
||||
}
|
||||
EINA_LIST_FREE(sd->subobjs, sobj)
|
||||
{
|
||||
evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del);
|
||||
evas_object_smart_callback_call(sd->obj, "sub-object-del", sobj);
|
||||
evas_object_smart_callback_call(sd->obj, "sub-object-del", sobj);
|
||||
evas_object_del(sobj);
|
||||
}
|
||||
if (sd->del_func) sd->del_func(obj);
|
||||
|
@ -957,6 +957,6 @@ _smart_init(void)
|
|||
NULL,
|
||||
NULL
|
||||
};
|
||||
_e_smart = evas_smart_class_new(&sc);
|
||||
_e_smart = evas_smart_class_new(&sc);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,12 +80,12 @@ _elm_win_obj_callback_del(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
while (evas_object_bottom_get(win->evas) &&
|
||||
(evas_object_bottom_get(win->evas) != obj))
|
||||
{
|
||||
evas_object_del(evas_object_bottom_get(win->evas));
|
||||
evas_object_del(evas_object_bottom_get(win->evas));
|
||||
}
|
||||
while (evas_object_top_get(win->evas) &&
|
||||
(evas_object_top_get(win->evas) != obj))
|
||||
{
|
||||
evas_object_del(evas_object_top_get(win->evas));
|
||||
evas_object_del(evas_object_top_get(win->evas));
|
||||
}
|
||||
evas_image_cache_flush(win->evas);
|
||||
evas_font_cache_flush(win->evas);
|
||||
|
@ -345,11 +345,11 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
|
|||
evas_object_pass_events_set(win->win_obj, 1);
|
||||
|
||||
ecore_evas_object_associate(win->ee, win->win_obj,
|
||||
ECORE_EVAS_OBJECT_ASSOCIATE_BASE |
|
||||
ECORE_EVAS_OBJECT_ASSOCIATE_STACK |
|
||||
ECORE_EVAS_OBJECT_ASSOCIATE_LAYER);
|
||||
ECORE_EVAS_OBJECT_ASSOCIATE_BASE |
|
||||
ECORE_EVAS_OBJECT_ASSOCIATE_STACK |
|
||||
ECORE_EVAS_OBJECT_ASSOCIATE_LAYER);
|
||||
evas_object_event_callback_add(win->win_obj, EVAS_CALLBACK_DEL,
|
||||
_elm_win_obj_callback_del, win);
|
||||
_elm_win_obj_callback_del, win);
|
||||
|
||||
ecore_evas_name_class_set(win->ee, name, _elm_appname);
|
||||
ecore_evas_callback_delete_request_set(win->ee, _elm_win_delete_request);
|
||||
|
@ -377,7 +377,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type)
|
|||
{
|
||||
case ELM_SOFTWARE_16_WINCE:
|
||||
case ELM_SOFTWARE_FB:
|
||||
ecore_evas_fullscreen_set(win->ee, 1);
|
||||
ecore_evas_fullscreen_set(win->ee, 1);
|
||||
break;
|
||||
case ELM_SOFTWARE_X11:
|
||||
case ELM_SOFTWARE_16_X11:
|
||||
|
@ -516,12 +516,12 @@ elm_win_fullscreen_set(Evas_Object *obj, Eina_Bool fullscreen)
|
|||
{
|
||||
case ELM_SOFTWARE_16_WINCE:
|
||||
case ELM_SOFTWARE_FB:
|
||||
// these engines... can ONLY be fullscreen
|
||||
break;
|
||||
// these engines... can ONLY be fullscreen
|
||||
break;
|
||||
default:
|
||||
ecore_evas_fullscreen_set(win->ee, fullscreen);
|
||||
_elm_win_xwin_update(win);
|
||||
break;
|
||||
ecore_evas_fullscreen_set(win->ee, fullscreen);
|
||||
_elm_win_xwin_update(win);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -661,10 +661,10 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
|
|||
Evas_Object *sub = event_info;
|
||||
if (sub == wd->content)
|
||||
{
|
||||
evas_object_event_callback_del
|
||||
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
|
||||
wd->content = NULL;
|
||||
_sizing_eval(obj);
|
||||
evas_object_event_callback_del
|
||||
(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints);
|
||||
wd->content = NULL;
|
||||
_sizing_eval(obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -722,11 +722,11 @@ elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content)
|
|||
wd->content = content;
|
||||
if (content)
|
||||
{
|
||||
elm_widget_sub_object_add(obj, content);
|
||||
edje_object_part_swallow(wd->frm, "elm.swallow.content", content);
|
||||
evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
_sizing_eval(obj);
|
||||
elm_widget_sub_object_add(obj, content);
|
||||
edje_object_part_swallow(wd->frm, "elm.swallow.content", content);
|
||||
evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_changed_size_hints, obj);
|
||||
_sizing_eval(obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue