diff --git a/src/bin/ephoto_config.c b/src/bin/ephoto_config.c
index cf0ac51..92ff0ab 100644
--- a/src/bin/ephoto_config.c
+++ b/src/bin/ephoto_config.c
@@ -116,6 +116,8 @@ _config_save_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (elm_object_text_get(ephoto->config->slide_trans))
eina_stringshare_replace(&ephoto->config->slideshow_transition,
elm_object_text_get(ephoto->config->slide_trans));
+
+ evas_object_del(popup);
}
static void
@@ -344,6 +346,80 @@ _link_anchor(void *data, Evas_Object *obj, void *event_info)
evas_object_show(button);
}
+static Evas_Object *
+_ephoto_config_bindings(Evas_Object *parent)
+{
+ Evas_Object *box, *scroller, *entry;
+ Eina_Strbuf *sbuf = eina_strbuf_new();
+
+ box = elm_box_add(parent);
+ elm_box_horizontal_set(box, EINA_FALSE);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(box);
+
+ scroller = elm_scroller_add(box);
+ evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_box_pack_end(box, scroller);
+ evas_object_show(scroller);
+
+ entry = elm_entry_add(scroller);
+ elm_entry_editable_set(entry, EINA_FALSE);
+ elm_entry_line_wrap_set(entry, ELM_WRAP_NONE);
+ evas_object_size_hint_weight_set(entry, 0.0, 0.0);
+ evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ eina_strbuf_append_printf(sbuf,
+ _("General Bindings
"
+ "F1: Settings Panel
"
+ "F5: Start Slideshow
"
+ "F11: Toggle Fullscreen
"
+ "Thumbnail Browser Bindings
"
+ "Ctrl+Shift+f: Toggle File Selector
"
+ "Ctrl++: Zoom In
"
+ "Ctrl+-: Zoom Out
"
+ "Ctrl+Tab: View Image
"
+ "Ctrl+c: Copy Image
"
+ "Ctrl+x: Cut Image
"
+ "Ctrl+v: Paste Image
"
+ "Ctrl+a: Select All
"
+ "Ctrl+f: Toggle Search
"
+ "Ctrl+Delete: Delete Image
"
+ "F2: Rename Image
"
+ "Escape: Clear Selection
"
+ "Single Browser Bindings
"
+ "Ctrl+Shift+0: Zoom 1:1
"
+ "Ctrl++: Zoom In
"
+ "Ctrl+-: Zoom Out
"
+ "Ctrl+0: Zoom Fit
"
+ "Ctrl+Shift+l: Rotate Counter Clockwise
"
+ "Ctrl+l: Flip Horizontal
"
+ "Ctrl+Shift+r: Rotate Clockwise
"
+ "Ctrl+r: Flip Vertical
"
+ "Ctrl+Shift+s: Save Image As
"
+ "Ctrl+s: Save Image
"
+ "Ctrl+u: Reset Image
"
+ "Home: Navigate First
"
+ "Left Arrow: Navigate Previous
"
+ "Right Arrow: Navigate Next
"
+ "End: Navigate Last
"
+ "Escape: Return to Thumbnail Browser
"
+ "Slideshow Bindings
"
+ "Space: Play/Pause Slideshow
"
+ "Home: Navigate First
"
+ "Left Arrow: Navigate Previous
"
+ "Right Arrow: Navigate Next
"
+ "End: Navigate Last
"
+ "Escape: Quit Slideshow
"));
+ elm_object_text_set(entry, eina_strbuf_string_get(sbuf));
+ elm_object_content_set(scroller, entry);
+ evas_object_show(entry);
+
+ evas_object_show(box);
+
+ return box;
+}
+
static Evas_Object *
_ephoto_config_about(Evas_Object *parent)
{
@@ -438,10 +514,12 @@ _segment_changed(void *data EINA_UNUSED, Evas_Object *o, void *event)
Evas_Object *page = elm_object_item_data_get(it);
Evas_Object *gen = evas_object_data_get(o, "gen");
Evas_Object *slide = evas_object_data_get(o, "slide");
+ Evas_Object *kb = evas_object_data_get(o, "bindings");
Evas_Object *about = evas_object_data_get(o, "about");
evas_object_hide(gen);
evas_object_hide(slide);
+ evas_object_hide(kb);
evas_object_hide(about);
evas_object_show(page);
}
@@ -450,8 +528,8 @@ void
ephoto_config_main(Ephoto *ephoto)
{
Evas_Object *popup, *table, *segment, *button, *ic;
- Evas_Object *gen, *slide, *about, *sep;
- Elm_Object_Item *geni, *slidei, *abouti;
+ Evas_Object *gen, *slide, *kb, *about, *sep;
+ Elm_Object_Item *geni, *slidei, *kbi, *abouti;
popup = elm_popup_add(ephoto->win);
elm_popup_scrollable_set(popup, EINA_TRUE);
@@ -467,6 +545,8 @@ ephoto_config_main(Ephoto *ephoto)
elm_table_pack(table, gen, 0, 2, 1, 1);
slide = _ephoto_config_slideshow(ephoto, table);
elm_table_pack(table, slide, 0, 2, 1, 1);
+ kb = _ephoto_config_bindings(table);
+ elm_table_pack(table, kb, 0, 2, 1, 1);
about = _ephoto_config_about(table);
elm_table_pack(table, about, 0, 2, 1, 1);
@@ -479,6 +559,7 @@ ephoto_config_main(Ephoto *ephoto)
evas_object_data_set(segment, "gen", gen);
evas_object_data_set(segment, "slide", slide);
+ evas_object_data_set(segment, "bindings", kb);
evas_object_data_set(segment, "about", about);
ic = elm_icon_add(segment);
@@ -495,6 +576,13 @@ ephoto_config_main(Ephoto *ephoto)
evas_object_show(ic);
slidei = elm_segment_control_item_add(segment, ic, _("Slideshow"));
+ ic = elm_icon_add(segment);
+ elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
+ evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_standard_set(ic, "input-keyboard");
+ evas_object_show(ic);
+ kbi = elm_segment_control_item_add(segment, ic, _("Bindings"));
+
ic = elm_icon_add(segment);
elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
@@ -514,8 +602,10 @@ ephoto_config_main(Ephoto *ephoto)
elm_object_item_data_set(geni, gen);
elm_object_item_data_set(slidei, slide);
+ elm_object_item_data_set(kbi, kb);
elm_object_item_data_set(abouti, about);
evas_object_hide(slide);
+ evas_object_hide(kb);
evas_object_hide(about);
elm_segment_control_item_selected_set(geni, EINA_TRUE);