Ephoto: Add a gadget config so that ephoto can work as an Enlightenment sandboxed gadget.
This commit is contained in:
parent
f16212869f
commit
aec1b6516d
|
@ -2,3 +2,19 @@ install_data('ephoto.desktop',
|
||||||
install_dir: join_paths(dir_data, 'applications'))
|
install_dir: join_paths(dir_data, 'applications'))
|
||||||
install_data('ephoto.png',
|
install_data('ephoto.png',
|
||||||
install_dir: join_paths(dir_data, 'icons'))
|
install_dir: join_paths(dir_data, 'icons'))
|
||||||
|
host_os = host_machine.system()
|
||||||
|
if host_os == 'linux'
|
||||||
|
if cc.has_header_symbol('features.h', '__UCLIBC__')
|
||||||
|
host_os = 'linux-uclibc'
|
||||||
|
elif cc.has_header_symbol('features.h', '__dietlibc__')
|
||||||
|
host_os = 'linux-dietlibc'
|
||||||
|
else
|
||||||
|
host_os = 'linux-gnu'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
dep_e = dependency('enlightenment')
|
||||||
|
release = dep_e.get_pkgconfig_variable('release')
|
||||||
|
module_arch = '@0@-@1@-@2@'.format(host_os, host_machine.cpu_family(), release)
|
||||||
|
dir_gadgets = join_paths([dir_lib, 'enlightenment/gadgets', module_arch])
|
||||||
|
install_data('ephoto.desktop',
|
||||||
|
install_dir: join_paths([dir_gadgets, 'ephoto']))
|
||||||
|
|
|
@ -17,6 +17,7 @@ elm = dependency('elementary', required: true, version: efl_version)
|
||||||
edje = dependency('edje', required: true, version: efl_version)
|
edje = dependency('edje', required: true, version: efl_version)
|
||||||
eipc = dependency('ecore-ipc', required: true, version: efl_version)
|
eipc = dependency('ecore-ipc', required: true, version: efl_version)
|
||||||
exif = dependency('libexif', required: false, version: '>= 0.6.0')
|
exif = dependency('libexif', required: false, version: '>= 0.6.0')
|
||||||
|
depe = dependency('enlightenment', required: false)
|
||||||
##### check for windows dependency
|
##### check for windows dependency
|
||||||
if build_machine.system() == 'windows'
|
if build_machine.system() == 'windows'
|
||||||
win = dependency('evil', version: efl_version)
|
win = dependency('evil', version: efl_version)
|
||||||
|
@ -66,6 +67,9 @@ endif
|
||||||
if exif.found() == true
|
if exif.found() == true
|
||||||
cfg.set ('HAVE_LIBEXIF' , 1)
|
cfg.set ('HAVE_LIBEXIF' , 1)
|
||||||
endif
|
endif
|
||||||
|
if depe.found() == true
|
||||||
|
cfg.set ('HAVE_E' , 1)
|
||||||
|
endif
|
||||||
if get_option('nls') == true
|
if get_option('nls') == true
|
||||||
if cc.has_header('locale.h') == true
|
if cc.has_header('locale.h') == true
|
||||||
if cc.has_header('libintl.h') == true
|
if cc.has_header('libintl.h') == true
|
||||||
|
|
|
@ -2,16 +2,17 @@
|
||||||
|
|
||||||
static void _ephoto_display_usage(void);
|
static void _ephoto_display_usage(void);
|
||||||
|
|
||||||
EAPI_MAIN int
|
int
|
||||||
elm_main(int argc, char **argv)
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int r = 0;
|
int gadget = 0, r = 0;
|
||||||
|
|
||||||
|
elm_init(argc, (char **)argv);
|
||||||
eio_init();
|
eio_init();
|
||||||
elm_need_efreet();
|
elm_need_efreet();
|
||||||
elm_language_set("");
|
elm_language_set("");
|
||||||
elm_app_compile_data_dir_set(PACKAGE_DATA_DIR);
|
elm_app_compile_data_dir_set(PACKAGE_DATA_DIR);
|
||||||
elm_app_info_set(elm_main, "ephoto", "themes/ephoto.edj");
|
elm_app_info_set(main, "ephoto", "themes/ephoto.edj");
|
||||||
#if HAVE_GETTEXT && ENABLE_NLS
|
#if HAVE_GETTEXT && ENABLE_NLS
|
||||||
elm_app_compile_locale_set(LOCALEDIR);
|
elm_app_compile_locale_set(LOCALEDIR);
|
||||||
bindtextdomain(PACKAGE, elm_app_locale_dir_get());
|
bindtextdomain(PACKAGE, elm_app_locale_dir_get());
|
||||||
|
@ -28,6 +29,9 @@ elm_main(int argc, char **argv)
|
||||||
|
|
||||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
||||||
|
|
||||||
|
if (getenv("E_GADGET_ID"))
|
||||||
|
gadget = 1;
|
||||||
|
|
||||||
if (argc > 2)
|
if (argc > 2)
|
||||||
{
|
{
|
||||||
printf("Too Many Arguments!\n");
|
printf("Too Many Arguments!\n");
|
||||||
|
@ -37,7 +41,7 @@ elm_main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
else if (argc < 2)
|
else if (argc < 2)
|
||||||
{
|
{
|
||||||
Evas_Object *win = ephoto_window_add(NULL);
|
Evas_Object *win = ephoto_window_add(NULL, gadget);
|
||||||
|
|
||||||
if (!win)
|
if (!win)
|
||||||
{
|
{
|
||||||
|
@ -61,7 +65,7 @@ elm_main(int argc, char **argv)
|
||||||
r = 1;
|
r = 1;
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
Evas_Object *win = ephoto_window_add(real);
|
Evas_Object *win = ephoto_window_add(real, gadget);
|
||||||
|
|
||||||
free(real);
|
free(real);
|
||||||
if (!win)
|
if (!win)
|
||||||
|
@ -71,12 +75,12 @@ elm_main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
elm_run();
|
ecore_main_loop_begin();
|
||||||
|
|
||||||
end:
|
end:
|
||||||
e_thumb_shutdown();
|
e_thumb_shutdown();
|
||||||
efreet_mime_shutdown();
|
efreet_mime_shutdown();
|
||||||
eio_shutdown();
|
eio_shutdown();
|
||||||
|
elm_shutdown();
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
@ -89,5 +93,3 @@ _ephoto_display_usage(void)
|
||||||
"ephoto filename : Specifies a file to open\n"
|
"ephoto filename : Specifies a file to open\n"
|
||||||
"ephoto dirname : Specifies a directory to open\n");
|
"ephoto dirname : Specifies a directory to open\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
ELM_MAIN()
|
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
# include <Edje.h>
|
# include <Edje.h>
|
||||||
# include <Evas.h>
|
# include <Evas.h>
|
||||||
# include <Eio.h>
|
# include <Eio.h>
|
||||||
|
#if HAVE_ENLIGHTENMENT
|
||||||
|
# include <e_gadget_types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAVE_GETTEXT
|
#if HAVE_GETTEXT
|
||||||
# include <locale.h>
|
# include <locale.h>
|
||||||
|
@ -45,7 +48,7 @@ typedef enum _Ephoto_Sort Ephoto_Sort;
|
||||||
typedef enum _Ephoto_Ipc_Domain Ephoto_Ipc_Domain;
|
typedef enum _Ephoto_Ipc_Domain Ephoto_Ipc_Domain;
|
||||||
|
|
||||||
/*main window functions*/
|
/*main window functions*/
|
||||||
Evas_Object *ephoto_window_add(const char *path);
|
Evas_Object *ephoto_window_add(const char *path, int gadget);
|
||||||
void ephoto_title_set(Ephoto *ephoto, const char *title);
|
void ephoto_title_set(Ephoto *ephoto, const char *title);
|
||||||
void ephoto_thumb_size_set(Ephoto *ephoto, int size);
|
void ephoto_thumb_size_set(Ephoto *ephoto, int size);
|
||||||
Evas_Object *ephoto_thumb_add(Ephoto *ephoto, Evas_Object *parent,
|
Evas_Object *ephoto_thumb_add(Ephoto *ephoto, Evas_Object *parent,
|
||||||
|
@ -292,6 +295,7 @@ struct _Ephoto
|
||||||
const char *destination;
|
const char *destination;
|
||||||
|
|
||||||
int thumb_gen_size;
|
int thumb_gen_size;
|
||||||
|
int gadget;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
|
|
@ -102,23 +102,31 @@ _ephoto_slideshow_show(Ephoto *ephoto, Ephoto_Entry *entry)
|
||||||
{
|
{
|
||||||
_ephoto_state_set(ephoto, EPHOTO_STATE_SLIDESHOW);
|
_ephoto_state_set(ephoto, EPHOTO_STATE_SLIDESHOW);
|
||||||
ephoto_slideshow_show_controls(ephoto);
|
ephoto_slideshow_show_controls(ephoto);
|
||||||
if (ephoto->selentries)
|
if (!ephoto->gadget)
|
||||||
ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->selentries);
|
{
|
||||||
else if (ephoto->searchentries)
|
if (ephoto->selentries)
|
||||||
ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->searchentries);
|
ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->selentries);
|
||||||
else
|
else if (ephoto->searchentries)
|
||||||
ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->entries);
|
ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->searchentries);
|
||||||
ephoto_slideshow_entry_set(ephoto->slideshow, entry);
|
else
|
||||||
|
ephoto_slideshow_entries_set(ephoto->slideshow, ephoto->entries);
|
||||||
|
ephoto_slideshow_entry_set(ephoto->slideshow, entry);
|
||||||
|
}
|
||||||
evas_object_show(ephoto->slideshow);
|
evas_object_show(ephoto->slideshow);
|
||||||
evas_object_hide(ephoto->single_browser);
|
if (!ephoto->gadget)
|
||||||
evas_object_hide(ephoto->thumb_browser);
|
{
|
||||||
elm_object_focus_set(ephoto->slideshow, EINA_TRUE);
|
evas_object_hide(ephoto->single_browser);
|
||||||
elm_table_unpack(ephoto->main, ephoto->statusbar);
|
evas_object_hide(ephoto->thumb_browser);
|
||||||
evas_object_hide(ephoto->dir_browser);
|
elm_table_unpack(ephoto->main, ephoto->statusbar);
|
||||||
elm_box_unpack(ephoto->layout, ephoto->dir_browser);
|
evas_object_hide(ephoto->dir_browser);
|
||||||
evas_object_hide(ephoto->statusbar);
|
elm_box_unpack(ephoto->layout, ephoto->dir_browser);
|
||||||
evas_object_freeze_events_set(ephoto->single_browser, EINA_TRUE);
|
evas_object_hide(ephoto->statusbar);
|
||||||
evas_object_freeze_events_set(ephoto->thumb_browser, EINA_TRUE);
|
evas_object_freeze_events_set(ephoto->single_browser, EINA_TRUE);
|
||||||
|
evas_object_freeze_events_set(ephoto->thumb_browser, EINA_TRUE);
|
||||||
|
elm_table_unpack(ephoto->main, ephoto->statusbar);
|
||||||
|
}
|
||||||
|
if (!ephoto->gadget)
|
||||||
|
elm_object_focus_set(ephoto->slideshow, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(ephoto->slideshow, EINA_FALSE);
|
evas_object_freeze_events_set(ephoto->slideshow, EINA_FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,7 +249,8 @@ _win_free(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
ecore_event_handler_del(handler);
|
ecore_event_handler_del(handler);
|
||||||
}
|
}
|
||||||
ephoto_entries_free(ephoto);
|
ephoto_entries_free(ephoto);
|
||||||
ephoto_config_save(ephoto);
|
if (!ephoto->gadget)
|
||||||
|
ephoto_config_save(ephoto);
|
||||||
free(ephoto->config);
|
free(ephoto->config);
|
||||||
free(ephoto);
|
free(ephoto);
|
||||||
}
|
}
|
||||||
|
@ -255,6 +264,8 @@ _resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
|
|
||||||
if (elm_win_fullscreen_get(ephoto->win))
|
if (elm_win_fullscreen_get(ephoto->win))
|
||||||
return;
|
return;
|
||||||
|
if (ephoto->gadget)
|
||||||
|
return;
|
||||||
evas_object_geometry_get(ephoto->win, 0, 0, &w, &h);
|
evas_object_geometry_get(ephoto->win, 0, 0, &w, &h);
|
||||||
if (w && h)
|
if (w && h)
|
||||||
{
|
{
|
||||||
|
@ -358,7 +369,7 @@ ephoto_show_folders(Ephoto *ephoto, Eina_Bool toggle)
|
||||||
}
|
}
|
||||||
|
|
||||||
Evas_Object *
|
Evas_Object *
|
||||||
ephoto_window_add(const char *path)
|
ephoto_window_add(const char *path, int gadget)
|
||||||
{
|
{
|
||||||
Ephoto *ephoto = calloc(1, sizeof(Ephoto));
|
Ephoto *ephoto = calloc(1, sizeof(Ephoto));
|
||||||
Evas_Object *ic, *but;
|
Evas_Object *ic, *but;
|
||||||
|
@ -381,7 +392,16 @@ ephoto_window_add(const char *path)
|
||||||
ephoto->thumb_browser_dirty = EINA_FALSE;
|
ephoto->thumb_browser_dirty = EINA_FALSE;
|
||||||
ephoto->entries = NULL;
|
ephoto->entries = NULL;
|
||||||
ephoto->sort = EPHOTO_SORT_ALPHABETICAL_ASCENDING;
|
ephoto->sort = EPHOTO_SORT_ALPHABETICAL_ASCENDING;
|
||||||
ephoto->win = elm_win_util_standard_add("ephoto", "Ephoto");
|
ephoto->gadget = gadget;
|
||||||
|
if (!ephoto->gadget)
|
||||||
|
ephoto->win = elm_win_util_standard_add("ephoto", "Ephoto");
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ephoto->win = elm_win_add(NULL, "ephoto", ELM_WIN_BASIC);
|
||||||
|
elm_win_title_set(ephoto->win, "Ephoto");
|
||||||
|
elm_win_alpha_set(ephoto->win, 1);
|
||||||
|
evas_object_size_hint_aspect_set(ephoto->win, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||||
|
}
|
||||||
if (!ephoto->win)
|
if (!ephoto->win)
|
||||||
{
|
{
|
||||||
free(ephoto);
|
free(ephoto);
|
||||||
|
@ -426,31 +446,34 @@ ephoto_window_add(const char *path)
|
||||||
elm_box_pack_end(ephoto->layout, ephoto->pager);
|
elm_box_pack_end(ephoto->layout, ephoto->pager);
|
||||||
evas_object_show(ephoto->pager);
|
evas_object_show(ephoto->pager);
|
||||||
|
|
||||||
ephoto->thumb_browser = ephoto_thumb_browser_add(ephoto, ephoto->layout);
|
if (!ephoto->gadget)
|
||||||
if (!ephoto->thumb_browser)
|
|
||||||
{
|
{
|
||||||
evas_object_del(ephoto->win);
|
ephoto->thumb_browser = ephoto_thumb_browser_add(ephoto, ephoto->layout);
|
||||||
return NULL;
|
if (!ephoto->thumb_browser)
|
||||||
}
|
{
|
||||||
elm_table_pack(ephoto->pager, ephoto->thumb_browser, 0, 0, 1, 1);
|
evas_object_del(ephoto->win);
|
||||||
evas_object_smart_callback_add(ephoto->thumb_browser, "view",
|
return NULL;
|
||||||
_ephoto_thumb_browser_view, ephoto);
|
}
|
||||||
evas_object_smart_callback_add(ephoto->thumb_browser, "changed,directory",
|
elm_table_pack(ephoto->pager, ephoto->thumb_browser, 0, 0, 1, 1);
|
||||||
_ephoto_thumb_browser_changed_directory, ephoto);
|
evas_object_smart_callback_add(ephoto->thumb_browser, "view",
|
||||||
evas_object_smart_callback_add(ephoto->thumb_browser, "slideshow",
|
_ephoto_thumb_browser_view, ephoto);
|
||||||
_ephoto_thumb_browser_slideshow, ephoto);
|
evas_object_smart_callback_add(ephoto->thumb_browser, "changed,directory",
|
||||||
|
_ephoto_thumb_browser_changed_directory, ephoto);
|
||||||
|
evas_object_smart_callback_add(ephoto->thumb_browser, "slideshow",
|
||||||
|
_ephoto_thumb_browser_slideshow, ephoto);
|
||||||
|
|
||||||
ephoto->single_browser = ephoto_single_browser_add(ephoto, ephoto->layout);
|
ephoto->single_browser = ephoto_single_browser_add(ephoto, ephoto->layout);
|
||||||
if (!ephoto->single_browser)
|
if (!ephoto->single_browser)
|
||||||
{
|
{
|
||||||
evas_object_del(ephoto->win);
|
evas_object_del(ephoto->win);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
elm_table_pack(ephoto->pager, ephoto->single_browser, 0, 0, 1, 1);
|
||||||
|
evas_object_smart_callback_add(ephoto->single_browser, "back",
|
||||||
|
_ephoto_single_browser_back, ephoto);
|
||||||
|
evas_object_smart_callback_add(ephoto->single_browser, "slideshow",
|
||||||
|
_ephoto_single_browser_slideshow, ephoto);
|
||||||
}
|
}
|
||||||
elm_table_pack(ephoto->pager, ephoto->single_browser, 0, 0, 1, 1);
|
|
||||||
evas_object_smart_callback_add(ephoto->single_browser, "back",
|
|
||||||
_ephoto_single_browser_back, ephoto);
|
|
||||||
evas_object_smart_callback_add(ephoto->single_browser, "slideshow",
|
|
||||||
_ephoto_single_browser_slideshow, ephoto);
|
|
||||||
ephoto->slideshow = ephoto_slideshow_add(ephoto, ephoto->layout);
|
ephoto->slideshow = ephoto_slideshow_add(ephoto, ephoto->layout);
|
||||||
if (!ephoto->slideshow)
|
if (!ephoto->slideshow)
|
||||||
{
|
{
|
||||||
|
@ -461,114 +484,116 @@ ephoto_window_add(const char *path)
|
||||||
evas_object_smart_callback_add(ephoto->slideshow, "back",
|
evas_object_smart_callback_add(ephoto->slideshow, "back",
|
||||||
_ephoto_slideshow_back, ephoto);
|
_ephoto_slideshow_back, ephoto);
|
||||||
|
|
||||||
ephoto->dir_browser = ephoto_directory_browser_add(ephoto, ephoto->layout);
|
if (!ephoto->gadget)
|
||||||
EPHOTO_WEIGHT(ephoto->dir_browser, ephoto->config->left_size, EVAS_HINT_EXPAND);
|
{
|
||||||
EPHOTO_FILL(ephoto->dir_browser);
|
ephoto->dir_browser = ephoto_directory_browser_add(ephoto, ephoto->layout);
|
||||||
elm_box_pack_start(ephoto->layout, ephoto->dir_browser);
|
EPHOTO_WEIGHT(ephoto->dir_browser, ephoto->config->left_size, EVAS_HINT_EXPAND);
|
||||||
evas_object_show(ephoto->dir_browser);
|
EPHOTO_FILL(ephoto->dir_browser);
|
||||||
|
elm_box_pack_start(ephoto->layout, ephoto->dir_browser);
|
||||||
|
evas_object_show(ephoto->dir_browser);
|
||||||
|
|
||||||
ephoto->statusbar = elm_box_add(ephoto->main);
|
ephoto->statusbar = elm_box_add(ephoto->main);
|
||||||
evas_object_size_hint_min_set(ephoto->statusbar, 20 * elm_config_scale_get(),
|
evas_object_size_hint_min_set(ephoto->statusbar, 20 * elm_config_scale_get(),
|
||||||
20 * elm_config_scale_get());
|
20 * elm_config_scale_get());
|
||||||
elm_box_horizontal_set(ephoto->statusbar, EINA_TRUE);
|
elm_box_horizontal_set(ephoto->statusbar, EINA_TRUE);
|
||||||
EPHOTO_WEIGHT(ephoto->statusbar, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
|
EPHOTO_WEIGHT(ephoto->statusbar, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
|
||||||
EPHOTO_FILL(ephoto->statusbar);
|
EPHOTO_FILL(ephoto->statusbar);
|
||||||
elm_table_pack(ephoto->main, ephoto->statusbar, 0, 2, 1, 1);
|
elm_table_pack(ephoto->main, ephoto->statusbar, 0, 2, 1, 1);
|
||||||
evas_object_show(ephoto->statusbar);
|
evas_object_show(ephoto->statusbar);
|
||||||
|
|
||||||
ic = elm_icon_add(ephoto->statusbar);
|
ic = elm_icon_add(ephoto->statusbar);
|
||||||
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
||||||
20 * elm_config_scale_get());
|
20 * elm_config_scale_get());
|
||||||
ret = elm_icon_standard_set(ic, "folder");
|
ret = elm_icon_standard_set(ic, "folder");
|
||||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||||
ephoto->folders_icon = ic;
|
ephoto->folders_icon = ic;
|
||||||
|
|
||||||
but = elm_button_add(ephoto->statusbar);
|
but = elm_button_add(ephoto->statusbar);
|
||||||
elm_object_part_content_set(but, "icon", ic);
|
elm_object_part_content_set(but, "icon", ic);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
elm_object_text_set(but, _("Show Folders"));
|
elm_object_text_set(but, _("Show Folders"));
|
||||||
evas_object_smart_callback_add(but, "clicked", _folder_icon_clicked, ephoto);
|
evas_object_smart_callback_add(but, "clicked", _folder_icon_clicked, ephoto);
|
||||||
elm_object_tooltip_text_set(but, _("Show Folders"));
|
elm_object_tooltip_text_set(but, _("Show Folders"));
|
||||||
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_RIGHT);
|
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_RIGHT);
|
||||||
elm_box_pack_end(ephoto->statusbar, but);
|
elm_box_pack_end(ephoto->statusbar, but);
|
||||||
evas_object_show(but);
|
evas_object_show(but);
|
||||||
ephoto->folders_button = but;
|
ephoto->folders_button = but;
|
||||||
|
|
||||||
ephoto->controls_left = elm_box_add(ephoto->statusbar);
|
ephoto->controls_left = elm_box_add(ephoto->statusbar);
|
||||||
elm_box_horizontal_set(ephoto->controls_left, EINA_TRUE);
|
elm_box_horizontal_set(ephoto->controls_left, EINA_TRUE);
|
||||||
EPHOTO_WEIGHT(ephoto->controls_left, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
EPHOTO_WEIGHT(ephoto->controls_left, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
EPHOTO_FILL(ephoto->controls_left);
|
EPHOTO_FILL(ephoto->controls_left);
|
||||||
elm_box_pack_end(ephoto->statusbar, ephoto->controls_left);
|
elm_box_pack_end(ephoto->statusbar, ephoto->controls_left);
|
||||||
evas_object_show(ephoto->controls_left);
|
evas_object_show(ephoto->controls_left);
|
||||||
|
|
||||||
ephoto->infolabel = elm_label_add(ephoto->statusbar);
|
ephoto->infolabel = elm_label_add(ephoto->statusbar);
|
||||||
elm_object_style_set(ephoto->infolabel, "info");
|
elm_object_style_set(ephoto->infolabel, "info");
|
||||||
elm_label_line_wrap_set(ephoto->infolabel, ELM_WRAP_MIXED);
|
elm_label_line_wrap_set(ephoto->infolabel, ELM_WRAP_MIXED);
|
||||||
elm_label_ellipsis_set(ephoto->infolabel, EINA_TRUE);
|
elm_label_ellipsis_set(ephoto->infolabel, EINA_TRUE);
|
||||||
elm_object_text_set(ephoto->infolabel, _("Information"));
|
elm_object_text_set(ephoto->infolabel, _("Information"));
|
||||||
EPHOTO_EXPAND(ephoto->infolabel);
|
EPHOTO_EXPAND(ephoto->infolabel);
|
||||||
EPHOTO_FILL(ephoto->infolabel);
|
EPHOTO_FILL(ephoto->infolabel);
|
||||||
|
|
||||||
elm_box_pack_end(ephoto->statusbar, ephoto->infolabel);
|
elm_box_pack_end(ephoto->statusbar, ephoto->infolabel);
|
||||||
evas_object_show(ephoto->infolabel);
|
evas_object_show(ephoto->infolabel);
|
||||||
|
|
||||||
ephoto->controls_right = elm_box_add(ephoto->statusbar);
|
ephoto->controls_right = elm_box_add(ephoto->statusbar);
|
||||||
elm_box_horizontal_set(ephoto->controls_right, EINA_TRUE);
|
elm_box_horizontal_set(ephoto->controls_right, EINA_TRUE);
|
||||||
EPHOTO_WEIGHT(ephoto->controls_right, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
EPHOTO_WEIGHT(ephoto->controls_right, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
EPHOTO_FILL(ephoto->controls_right);
|
EPHOTO_FILL(ephoto->controls_right);
|
||||||
elm_box_pack_end(ephoto->statusbar, ephoto->controls_right);
|
elm_box_pack_end(ephoto->statusbar, ephoto->controls_right);
|
||||||
evas_object_show(ephoto->controls_right);
|
evas_object_show(ephoto->controls_right);
|
||||||
|
|
||||||
ic = elm_icon_add(ephoto->statusbar);
|
ic = elm_icon_add(ephoto->statusbar);
|
||||||
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
||||||
20 * elm_config_scale_get());
|
20 * elm_config_scale_get());
|
||||||
ret = elm_icon_standard_set(ic, "media-playback-start");
|
ret = elm_icon_standard_set(ic, "media-playback-start");
|
||||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||||
|
|
||||||
but = elm_button_add(ephoto->statusbar);
|
but = elm_button_add(ephoto->statusbar);
|
||||||
elm_object_part_content_set(but, "icon", ic);
|
elm_object_part_content_set(but, "icon", ic);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
elm_object_text_set(but, _("Slideshow"));
|
elm_object_text_set(but, _("Slideshow"));
|
||||||
evas_object_smart_callback_add(but, "clicked",
|
evas_object_smart_callback_add(but, "clicked",
|
||||||
_slideshow_icon_clicked, ephoto);
|
_slideshow_icon_clicked, ephoto);
|
||||||
elm_object_tooltip_text_set(but, _("Slideshow"));
|
elm_object_tooltip_text_set(but, _("Slideshow"));
|
||||||
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_TOP);
|
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_TOP);
|
||||||
elm_box_pack_end(ephoto->statusbar, but);
|
elm_box_pack_end(ephoto->statusbar, but);
|
||||||
evas_object_show(but);
|
evas_object_show(but);
|
||||||
|
|
||||||
ic = elm_icon_add(ephoto->statusbar);
|
ic = elm_icon_add(ephoto->statusbar);
|
||||||
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
||||||
20 * elm_config_scale_get());
|
20 * elm_config_scale_get());
|
||||||
ret = elm_icon_standard_set(ic, "preferences-other");
|
ret = elm_icon_standard_set(ic, "preferences-other");
|
||||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||||
|
|
||||||
but = elm_button_add(ephoto->statusbar);
|
but = elm_button_add(ephoto->statusbar);
|
||||||
elm_object_part_content_set(but, "icon", ic);
|
elm_object_part_content_set(but, "icon", ic);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
elm_object_text_set(but, _("Settings"));
|
elm_object_text_set(but, _("Settings"));
|
||||||
evas_object_smart_callback_add(but, "clicked",
|
evas_object_smart_callback_add(but, "clicked",
|
||||||
_settings_icon_clicked, ephoto);
|
_settings_icon_clicked, ephoto);
|
||||||
elm_object_tooltip_text_set(but, _("Settings"));
|
elm_object_tooltip_text_set(but, _("Settings"));
|
||||||
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_TOP);
|
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_TOP);
|
||||||
elm_box_pack_end(ephoto->statusbar, but);
|
elm_box_pack_end(ephoto->statusbar, but);
|
||||||
evas_object_show(but);
|
evas_object_show(but);
|
||||||
|
|
||||||
ic = elm_icon_add(ephoto->statusbar);
|
ic = elm_icon_add(ephoto->statusbar);
|
||||||
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
evas_object_size_hint_min_set(ic, 20 * elm_config_scale_get(),
|
||||||
20 * elm_config_scale_get());
|
20 * elm_config_scale_get());
|
||||||
ret = elm_icon_standard_set(ic, "application-exit");
|
ret = elm_icon_standard_set(ic, "application-exit");
|
||||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||||
|
|
||||||
ephoto->exit = elm_button_add(ephoto->statusbar);
|
|
||||||
elm_object_part_content_set(ephoto->exit, "icon", ic);
|
|
||||||
if (!ret)
|
|
||||||
elm_object_text_set(ephoto->exit, _("Exit"));
|
|
||||||
evas_object_smart_callback_add(ephoto->exit, "clicked",
|
|
||||||
_exit_icon_clicked, ephoto);
|
|
||||||
elm_object_tooltip_text_set(ephoto->exit, _("Exit"));
|
|
||||||
elm_object_tooltip_orient_set(ephoto->exit, ELM_TOOLTIP_ORIENT_TOP);
|
|
||||||
evas_object_hide(ephoto->exit);
|
|
||||||
|
|
||||||
|
ephoto->exit = elm_button_add(ephoto->statusbar);
|
||||||
|
elm_object_part_content_set(ephoto->exit, "icon", ic);
|
||||||
|
if (!ret)
|
||||||
|
elm_object_text_set(ephoto->exit, _("Exit"));
|
||||||
|
evas_object_smart_callback_add(ephoto->exit, "clicked",
|
||||||
|
_exit_icon_clicked, ephoto);
|
||||||
|
elm_object_tooltip_text_set(ephoto->exit, _("Exit"));
|
||||||
|
elm_object_tooltip_orient_set(ephoto->exit, ELM_TOOLTIP_ORIENT_TOP);
|
||||||
|
evas_object_hide(ephoto->exit);
|
||||||
|
}
|
||||||
if ((!path) || (!ecore_file_exists(path)))
|
if ((!path) || (!ecore_file_exists(path)))
|
||||||
{
|
{
|
||||||
if (ephoto->config->open)
|
if (ephoto->config->open)
|
||||||
|
@ -594,7 +619,10 @@ ephoto_window_add(const char *path)
|
||||||
char *rp = ecore_file_realpath(path);
|
char *rp = ecore_file_realpath(path);
|
||||||
eina_stringshare_replace(&ephoto->config->directory, rp);
|
eina_stringshare_replace(&ephoto->config->directory, rp);
|
||||||
free(rp);
|
free(rp);
|
||||||
_ephoto_thumb_browser_show(ephoto, NULL);
|
if (!ephoto->gadget)
|
||||||
|
_ephoto_thumb_browser_show(ephoto, NULL);
|
||||||
|
else
|
||||||
|
_ephoto_slideshow_show(ephoto, NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -604,12 +632,17 @@ ephoto_window_add(const char *path)
|
||||||
eina_stringshare_replace(&ephoto->config->directory, rp);
|
eina_stringshare_replace(&ephoto->config->directory, rp);
|
||||||
free(rp);
|
free(rp);
|
||||||
free(dir);
|
free(dir);
|
||||||
ephoto_single_browser_path_pending_set(ephoto->single_browser, path);
|
if (!ephoto->gadget)
|
||||||
evas_object_hide(ephoto->thumb_browser);
|
{
|
||||||
evas_object_hide(ephoto->slideshow);
|
ephoto_single_browser_path_pending_set(ephoto->single_browser, path);
|
||||||
evas_object_show(ephoto->single_browser);
|
evas_object_hide(ephoto->thumb_browser);
|
||||||
ephoto_single_browser_show_controls(ephoto);
|
evas_object_hide(ephoto->slideshow);
|
||||||
ephoto->state = EPHOTO_STATE_SINGLE;
|
evas_object_show(ephoto->single_browser);
|
||||||
|
ephoto_single_browser_show_controls(ephoto);
|
||||||
|
ephoto->state = EPHOTO_STATE_SINGLE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
_ephoto_slideshow_show(ephoto, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(config, PATH_MAX, "%s/.config/ephoto", eina_environment_home_get());
|
snprintf(config, PATH_MAX, "%s/.config/ephoto", eina_environment_home_get());
|
||||||
|
@ -617,36 +650,41 @@ ephoto_window_add(const char *path)
|
||||||
snprintf(trash, PATH_MAX, "%s/trash", ephoto->config_path);
|
snprintf(trash, PATH_MAX, "%s/trash", ephoto->config_path);
|
||||||
ephoto->trash_path = eina_stringshare_add(trash);
|
ephoto->trash_path = eina_stringshare_add(trash);
|
||||||
|
|
||||||
ephoto_directory_browser_top_dir_set(ephoto, ephoto->config->directory);
|
if (!ephoto->gadget)
|
||||||
ephoto_directory_browser_initialize_structure(ephoto, (char *)ephoto->config->open);
|
{
|
||||||
evas_object_resize(ephoto->win, ephoto->config->window_width,
|
ephoto_directory_browser_top_dir_set(ephoto, ephoto->config->directory);
|
||||||
ephoto->config->window_height);
|
ephoto_directory_browser_initialize_structure(ephoto, (char *)ephoto->config->open);
|
||||||
|
evas_object_resize(ephoto->win, ephoto->config->window_width,
|
||||||
|
ephoto->config->window_height);
|
||||||
|
}
|
||||||
evas_object_show(ephoto->win);
|
evas_object_show(ephoto->win);
|
||||||
|
|
||||||
if (!ephoto->config->folders)
|
if (!ephoto->gadget)
|
||||||
{
|
{
|
||||||
evas_object_hide(ephoto->dir_browser);
|
if (!ephoto->config->folders)
|
||||||
elm_box_unpack(ephoto->layout, ephoto->dir_browser);
|
{
|
||||||
ephoto->folders_toggle = EINA_FALSE;
|
evas_object_hide(ephoto->dir_browser);
|
||||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder");
|
elm_box_unpack(ephoto->layout, ephoto->dir_browser);
|
||||||
if (!ret)
|
ephoto->folders_toggle = EINA_FALSE;
|
||||||
elm_object_text_set(ephoto->folders_button, _("Show Folders"));
|
ret = elm_icon_standard_set(ephoto->folders_icon, "folder");
|
||||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Show Folders"));
|
if (!ret)
|
||||||
|
elm_object_text_set(ephoto->folders_button, _("Show Folders"));
|
||||||
|
elm_object_tooltip_text_set(ephoto->folders_button, _("Show Folders"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ephoto->folders_toggle = EINA_TRUE;
|
||||||
|
ret = elm_icon_standard_set(ephoto->folders_icon, "folder-open");
|
||||||
|
if (!ret)
|
||||||
|
elm_object_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||||
|
elm_object_tooltip_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||||
|
}
|
||||||
|
if (ephoto->config->firstrun)
|
||||||
|
{
|
||||||
|
_settings_icon_clicked(ephoto, NULL, NULL);
|
||||||
|
ephoto->config->firstrun = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
ephoto->folders_toggle = EINA_TRUE;
|
|
||||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder-open");
|
|
||||||
if (!ret)
|
|
||||||
elm_object_text_set(ephoto->folders_button, _("Hide Folders"));
|
|
||||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Hide Folders"));
|
|
||||||
}
|
|
||||||
if (ephoto->config->firstrun)
|
|
||||||
{
|
|
||||||
_settings_icon_clicked(ephoto, NULL, NULL);
|
|
||||||
ephoto->config->firstrun = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ephoto->win;
|
return ephoto->win;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -799,9 +837,18 @@ _ephoto_populate_end(void *data, Eio_File *handler EINA_UNUSED)
|
||||||
|
|
||||||
ed->ephoto->ls = NULL;
|
ed->ephoto->ls = NULL;
|
||||||
|
|
||||||
if (eina_list_count(ed->ephoto->entries))
|
if (!ed->ephoto->gadget)
|
||||||
ephoto_single_browser_entries_set(ed->ephoto->single_browser,
|
{
|
||||||
|
if (eina_list_count(ed->ephoto->entries))
|
||||||
|
ephoto_single_browser_entries_set(ed->ephoto->single_browser,
|
||||||
|
ed->ephoto->entries);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (eina_list_count(ed->ephoto->entries))
|
||||||
|
ephoto_slideshow_entries_set(ed->ephoto->slideshow,
|
||||||
ed->ephoto->entries);
|
ed->ephoto->entries);
|
||||||
|
}
|
||||||
ecore_event_add(EPHOTO_EVENT_POPULATE_END, NULL, NULL, NULL);
|
ecore_event_add(EPHOTO_EVENT_POPULATE_END, NULL, NULL, NULL);
|
||||||
free(ed);
|
free(ed);
|
||||||
}
|
}
|
||||||
|
@ -963,6 +1010,13 @@ ephoto_directory_set(Ephoto *ephoto, const char *path, Evas_Object *expanded,
|
||||||
if (ed->ephoto->job.change_dir)
|
if (ed->ephoto->job.change_dir)
|
||||||
ecore_job_del(ed->ephoto->job.change_dir);
|
ecore_job_del(ed->ephoto->job.change_dir);
|
||||||
ed->ephoto->job.change_dir = ecore_job_add(_ephoto_change_dir, ed);
|
ed->ephoto->job.change_dir = ecore_job_add(_ephoto_change_dir, ed);
|
||||||
|
|
||||||
|
if (ephoto->gadget)
|
||||||
|
{
|
||||||
|
free(rp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (ephoto->monitor)
|
if (ephoto->monitor)
|
||||||
{
|
{
|
||||||
eio_monitor_del(ephoto->monitor);
|
eio_monitor_del(ephoto->monitor);
|
||||||
|
|
|
@ -473,11 +473,14 @@ _slideshow_transition(void *data)
|
||||||
|
|
||||||
snprintf(buf, PATH_MAX, "ephoto,%s", ss->ephoto->config->slideshow_transition);
|
snprintf(buf, PATH_MAX, "ephoto,%s", ss->ephoto->config->slideshow_transition);
|
||||||
elm_layout_signal_emit(ss->slideshow, buf, "ephoto");
|
elm_layout_signal_emit(ss->slideshow, buf, "ephoto");
|
||||||
if (ss->ephoto->config->movess)
|
if (!ss->ephoto->gadget)
|
||||||
{
|
{
|
||||||
elm_layout_signal_emit(ss->current_item, _slideshow_move_start_get(ss), "ephoto");
|
if (ss->ephoto->config->movess)
|
||||||
elm_layout_signal_emit(ss->current_item, _slideshow_move_end_get(ss), "ephoto");
|
{
|
||||||
_slideshow_move_randomize(ss);
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_start_get(ss), "ephoto");
|
||||||
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_end_get(ss), "ephoto");
|
||||||
|
_slideshow_move_randomize(ss);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ss->timer)
|
if (ss->timer)
|
||||||
ecore_timer_del(ss->timer);
|
ecore_timer_del(ss->timer);
|
||||||
|
@ -502,19 +505,25 @@ _slideshow_play(Ephoto_Slideshow *ss)
|
||||||
evas_object_raise(ss->current_item);
|
evas_object_raise(ss->current_item);
|
||||||
evas_object_show(ss->current_item);
|
evas_object_show(ss->current_item);
|
||||||
}
|
}
|
||||||
_slideshow_move_randomize(ss);
|
if (!ss->ephoto->gadget)
|
||||||
|
{
|
||||||
|
if (ss->ephoto->config->movess)
|
||||||
|
_slideshow_move_randomize(ss);
|
||||||
|
}
|
||||||
msg = alloca(sizeof(Edje_Message_Float_Set) + (1 * sizeof(float)));
|
msg = alloca(sizeof(Edje_Message_Float_Set) + (1 * sizeof(float)));
|
||||||
msg->count = 1;
|
msg->count = 1;
|
||||||
msg->val[0] = (float)ss->timeout;
|
msg->val[0] = (float)ss->timeout;
|
||||||
edje_object_message_send(elm_layout_edje_get(ss->current_item),
|
edje_object_message_send(elm_layout_edje_get(ss->current_item),
|
||||||
EDJE_MESSAGE_FLOAT_SET, 1, msg);
|
EDJE_MESSAGE_FLOAT_SET, 1, msg);
|
||||||
|
|
||||||
if (ss->ephoto->config->movess)
|
if (!ss->ephoto->gadget)
|
||||||
{
|
{
|
||||||
elm_layout_signal_emit(ss->current_item, _slideshow_move_start_get(ss), "ephoto");
|
if (ss->ephoto->config->movess)
|
||||||
elm_layout_signal_emit(ss->current_item, _slideshow_move_end_get(ss), "ephoto");
|
{
|
||||||
_slideshow_move_randomize(ss);
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_start_get(ss), "ephoto");
|
||||||
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_end_get(ss), "ephoto");
|
||||||
|
_slideshow_move_randomize(ss);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ss->timer)
|
if (ss->timer)
|
||||||
|
@ -560,7 +569,8 @@ _mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
evas_object_del(ss->notify);
|
evas_object_del(ss->notify);
|
||||||
ss->notify_box = NULL;
|
ss->notify_box = NULL;
|
||||||
ss->notify = NULL;
|
ss->notify = NULL;
|
||||||
evas_object_smart_callback_call(ss->slideshow, "back", entry);
|
if (!ss->ephoto->gadget)
|
||||||
|
evas_object_smart_callback_call(ss->slideshow, "back", entry);
|
||||||
if (ss->old_item)
|
if (ss->old_item)
|
||||||
{
|
{
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item2");
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item2");
|
||||||
|
@ -777,6 +787,90 @@ _settings(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
ephoto_config_main(ss->ephoto);
|
ephoto_config_main(ss->ephoto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_gadget_settings_save(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
|
void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Evas_Object *popup = data, *fentry, *spinner;
|
||||||
|
Ephoto_Slideshow *ss = evas_object_data_get(popup, "slideshow");
|
||||||
|
const char *path;
|
||||||
|
|
||||||
|
fentry = evas_object_data_get(popup, "fentry");
|
||||||
|
spinner = evas_object_data_get(popup, "timeout");
|
||||||
|
|
||||||
|
ss->ephoto->config->slideshow_timeout = elm_spinner_value_get(spinner);
|
||||||
|
path = elm_object_text_get(fentry);
|
||||||
|
if (ecore_file_is_dir(path))
|
||||||
|
ephoto_directory_set(ss->ephoto, path, NULL, EINA_FALSE, EINA_TRUE);
|
||||||
|
|
||||||
|
evas_object_del(popup);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_gadget_settings(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
|
void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Ephoto_Slideshow *ss = data;
|
||||||
|
Evas_Object *popup, *but, *table, *fentry, *label, *spinner;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
|
popup = elm_win_add(ss->ephoto->win, "win", ELM_WIN_BASIC);
|
||||||
|
elm_win_alpha_set(popup, 1);
|
||||||
|
evas_object_data_set(popup, "slideshow", ss);
|
||||||
|
|
||||||
|
table = elm_table_add(popup);
|
||||||
|
EPHOTO_EXPAND(table);
|
||||||
|
EPHOTO_FILL(table);
|
||||||
|
elm_win_resize_object_add(popup, table);
|
||||||
|
evas_object_show(table);
|
||||||
|
|
||||||
|
label = elm_label_add(table);
|
||||||
|
elm_object_text_set(label, _("Directory:"));
|
||||||
|
EPHOTO_FILL(label);
|
||||||
|
elm_table_pack(table, label, 0, 0, 1, 1);
|
||||||
|
evas_object_show(label);
|
||||||
|
|
||||||
|
fentry = elm_entry_add(table);
|
||||||
|
elm_entry_single_line_set(fentry, EINA_TRUE);
|
||||||
|
elm_entry_editable_set(fentry, EINA_TRUE);
|
||||||
|
elm_entry_scrollable_set(fentry, EINA_TRUE);
|
||||||
|
elm_object_text_set(fentry, ss->ephoto->config->directory);
|
||||||
|
evas_object_size_hint_weight_set(fentry, EVAS_HINT_EXPAND, 0.0);
|
||||||
|
evas_object_size_hint_align_set(fentry, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_size_hint_min_set(fentry, 300, 75);
|
||||||
|
elm_table_pack(table, fentry, 1, 0, 1, 1);
|
||||||
|
evas_object_show(fentry);
|
||||||
|
evas_object_data_set(popup, "fentry", fentry);
|
||||||
|
|
||||||
|
label = elm_label_add(table);
|
||||||
|
memset(buf, 0, PATH_MAX);
|
||||||
|
snprintf(buf, PATH_MAX, "%s:", _("Show Each Slide For"));
|
||||||
|
elm_object_text_set(label, buf);
|
||||||
|
EPHOTO_FILL(label);
|
||||||
|
elm_table_pack(table, label, 0, 1, 1, 1);
|
||||||
|
evas_object_show(label);
|
||||||
|
|
||||||
|
spinner = elm_spinner_add(table);
|
||||||
|
elm_spinner_editable_set(spinner, EINA_TRUE);
|
||||||
|
memset(buf, 0, PATH_MAX);
|
||||||
|
snprintf(buf, PATH_MAX, "%%1.0f %s", _("seconds"));
|
||||||
|
elm_spinner_label_format_set(spinner, buf);
|
||||||
|
elm_spinner_step_set(spinner, 1);
|
||||||
|
elm_spinner_value_set(spinner, ss->ephoto->config->slideshow_timeout);
|
||||||
|
elm_spinner_min_max_set(spinner, 1, 60);
|
||||||
|
elm_table_pack(table, spinner, 1, 1, 1, 1);
|
||||||
|
evas_object_show(spinner);
|
||||||
|
evas_object_data_set(popup, "timeout", spinner);
|
||||||
|
|
||||||
|
but = elm_button_add(table);
|
||||||
|
elm_object_text_set(but, _("Okay"));
|
||||||
|
elm_table_pack(table, but, 0, 2, 2, 1);
|
||||||
|
evas_object_smart_callback_add(but, "clicked", _gadget_settings_save, popup);
|
||||||
|
evas_object_show(but);
|
||||||
|
|
||||||
|
evas_object_show(popup);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
void *event_info)
|
void *event_info)
|
||||||
|
@ -790,7 +884,8 @@ _key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
|
|
||||||
if (!strcmp(k, "Escape") || !strcmp(k, "F5"))
|
if (!strcmp(k, "Escape") || !strcmp(k, "F5"))
|
||||||
{
|
{
|
||||||
_back(ss, NULL, NULL);
|
if (!ss->ephoto->gadget)
|
||||||
|
_back(ss, NULL, NULL);
|
||||||
}
|
}
|
||||||
else if (!strcmp(k, "F1"))
|
else if (!strcmp(k, "F1"))
|
||||||
{
|
{
|
||||||
|
@ -905,6 +1000,15 @@ ephoto_slideshow_show_controls(Ephoto *ephoto)
|
||||||
elm_object_content_set(ss->notify, ss->notify_box);
|
elm_object_content_set(ss->notify, ss->notify_box);
|
||||||
evas_object_show(ss->notify_box);
|
evas_object_show(ss->notify_box);
|
||||||
|
|
||||||
|
if (ephoto->gadget)
|
||||||
|
{
|
||||||
|
but = _add_icon(ss->notify_box, "preferences-other", _("Settings"), NULL);
|
||||||
|
evas_object_smart_callback_add(but, "clicked", _gadget_settings, ss);
|
||||||
|
elm_notify_align_set(ss->notify, 0.5, 0.5);
|
||||||
|
elm_notify_timeout_set(ss->notify, 3.0);
|
||||||
|
evas_object_show(ss->notify);
|
||||||
|
return;
|
||||||
|
}
|
||||||
but = _add_icon(ss->notify_box, "edit-undo", _("Back"), NULL);
|
but = _add_icon(ss->notify_box, "edit-undo", _("Back"), NULL);
|
||||||
evas_object_smart_callback_add(but, "clicked", _back, ss);
|
evas_object_smart_callback_add(but, "clicked", _back, ss);
|
||||||
but = _add_icon(ss->notify_box, "go-first", _("First"), NULL);
|
but = _add_icon(ss->notify_box, "go-first", _("First"), NULL);
|
||||||
|
@ -963,8 +1067,9 @@ ephoto_slideshow_add(Ephoto *ephoto, Evas_Object *parent)
|
||||||
"ephoto,slideshow,base");
|
"ephoto,slideshow,base");
|
||||||
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_DEL, _slideshow_del,
|
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_DEL, _slideshow_del,
|
||||||
ss);
|
ss);
|
||||||
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_DOWN,
|
if (!ephoto->gadget)
|
||||||
_mouse_down, ss);
|
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
|
_mouse_down, ss);
|
||||||
evas_object_data_set(slideshow, "slideshow", ss);
|
evas_object_data_set(slideshow, "slideshow", ss);
|
||||||
EPHOTO_EXPAND(slideshow);
|
EPHOTO_EXPAND(slideshow);
|
||||||
EPHOTO_FILL(slideshow);
|
EPHOTO_FILL(slideshow);
|
||||||
|
@ -990,6 +1095,8 @@ ephoto_slideshow_entries_set(Evas_Object *obj, Eina_List *entries)
|
||||||
|
|
||||||
if (entries)
|
if (entries)
|
||||||
ss->entries = entries;
|
ss->entries = entries;
|
||||||
|
if (ss->ephoto->gadget)
|
||||||
|
ephoto_slideshow_entry_set(ss->slideshow, eina_list_nth(ss->entries, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1011,6 +1118,7 @@ ephoto_slideshow_entry_set(Evas_Object *obj, Ephoto_Entry *entry)
|
||||||
|
|
||||||
ss->timeout = ss->ephoto->config->slideshow_timeout;
|
ss->timeout = ss->ephoto->config->slideshow_timeout;
|
||||||
_slideshow_play(ss);
|
_slideshow_play(ss);
|
||||||
|
ss->playing = 1;
|
||||||
|
|
||||||
if (ss->pause)
|
if (ss->pause)
|
||||||
{
|
{
|
||||||
|
@ -1050,14 +1158,17 @@ ephoto_slideshow_entry_set(Evas_Object *obj, Ephoto_Entry *entry)
|
||||||
evas_object_del(ss->event);
|
evas_object_del(ss->event);
|
||||||
ss->event = NULL;
|
ss->event = NULL;
|
||||||
}
|
}
|
||||||
ss->event = evas_object_rectangle_add(ss->ephoto->win);
|
if (!ss->ephoto->gadget)
|
||||||
evas_object_smart_member_add(ss->event, ss->ephoto->win);
|
{
|
||||||
evas_object_color_set(ss->event, 0, 0, 0, 0);
|
ss->event = evas_object_rectangle_add(ss->ephoto->win);
|
||||||
evas_object_repeat_events_set(ss->event, EINA_TRUE);
|
evas_object_smart_member_add(ss->event, ss->ephoto->win);
|
||||||
evas_object_show(ss->event);
|
evas_object_color_set(ss->event, 0, 0, 0, 0);
|
||||||
evas_object_event_callback_add(ss->event, EVAS_CALLBACK_KEY_DOWN, _key_down,
|
evas_object_repeat_events_set(ss->event, EINA_TRUE);
|
||||||
|
evas_object_show(ss->event);
|
||||||
|
evas_object_event_callback_add(ss->event, EVAS_CALLBACK_KEY_DOWN, _key_down,
|
||||||
ss);
|
ss);
|
||||||
evas_object_raise(ss->event);
|
evas_object_raise(ss->event);
|
||||||
elm_object_focus_set(ss->event, EINA_TRUE);
|
elm_object_focus_set(ss->event, EINA_TRUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,8 @@ deps = [
|
||||||
elm,
|
elm,
|
||||||
edje,
|
edje,
|
||||||
eipc,
|
eipc,
|
||||||
exif
|
exif,
|
||||||
|
depe
|
||||||
]
|
]
|
||||||
executable('ephoto', [
|
executable('ephoto', [
|
||||||
'ephoto.c',
|
'ephoto.c',
|
||||||
|
|
Loading…
Reference in New Issue