rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=6c0c4a2fefb81094c075bab0a0a3c039cb7813fe

commit 6c0c4a2fefb81094c075bab0a0a3c039cb7813fe
Author: Andrii Kroitor <[email protected]>
Date:   Mon Jul 25 13:50:23 2016 +0300

    main_window: add shortcuts list to help menu
---
 data/themes/default/widgets/label.edc | 28 ++++++++++++++
 src/bin/ui/main_window.c              | 70 +++++++++++++++++++++++++++++++++++
 src/bin/ui/main_window.h              | 11 ++++++
 src/bin/ui/menu.c                     |  4 ++
 4 files changed, 113 insertions(+)

diff --git a/data/themes/default/widgets/label.edc 
b/data/themes/default/widgets/label.edc
index cd87c0d..008074b 100644
--- a/data/themes/default/widgets/label.edc
+++ b/data/themes/default/widgets/label.edc
@@ -117,3 +117,31 @@ group { name: "elm/label/base/slide_about";
       }
    }
 }
+
+group { name: "elm/label/base/help";
+   data {
+      item: "min_font_size" "6";
+      item: "max_font_size" "60";
+      item: "default_font_size" "11";
+   }
+   parts {
+      part { name: "label.text.clip";
+         type: RECT;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+         }
+      }
+      part { name: "elm.text";
+         type: TEXTBLOCK;
+         scale: 1;
+         clip_to: "label.text.clip";
+         description { state: "default" 0.0;
+            text {
+               style: "eflete_textblock_style";
+               min: 1 1;
+            }
+         }
+      }
+   }
+}
diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c
index 98a9c15..01788a2 100644
--- a/src/bin/ui/main_window.c
+++ b/src/bin/ui/main_window.c
@@ -207,3 +207,73 @@ about_window_add(void)
    evas_object_del(content);
    return NULL;
 }
+
+static Evas_Object *
+_shortcuts_window_content_get(void *data, Evas_Object **to_focus __UNUSED__)
+{
+   Evas_Object *box = data;
+   Evas_Object *scroller = elm_scroller_add(ap.win);
+   Evas_Object *label = elm_label_add(scroller);
+   elm_object_text_set(label, _(
+                       "Global:<br>"
+                       "<b>F1</b> - normal mode<br>"
+                       "<b>F2</b> - code mode<br>"
+                       "<b>F3</b> - demo mode<br>"
+                       "<b>F7</b> - open image manager<br>"
+                       "<b>F8</b> - open sound manager<br>"
+                       "<b>F9</b> - open style manager<br>"
+                       "<b>F10</b> - open colorclass manager<br>"
+                       "<br>"
+                       "Workspace:<br>"
+                       "<b>ctrl + q</b> - quit<br>"
+                       "<b>ctrl + s</b> - save<br>"
+                       "<b>ctrl + z</b> - undo<br>"
+                       "<b>ctrl + y</b> - redo<br>"
+                       "<b>ctrl + n</b> - add new group<br>"
+                       "<b>q</b> - add new part<br>"
+                       "<b>w</b> - add new state<br>"
+                       "<b>e</b> - add new item<br>"
+                       "<b>r</b> - add new program<br>"
+                       "<b>t</b> - add new data item<br>"
+                       "<b>del</b> - delete selected 
part/state/item/program/data item<br>"
+                       "<b>s</b> - select next state of active part<br>"
+                       "<b>z</b> - select prev part<br>"
+                       "<b>x</b> - select next part<br>"
+                       "<b>ESC</b> - unselect<br>"
+                       "<b>o</b> - show/hide object area<br>"
+                       "<b>ctrl + w</b> - close tab<br>"
+                       "<b>ctrl + wheel_up</b> / <b>KP_ADD</b> - zoom in<br>"
+                       "<b>ctrl + wheel_down</b> / <b>KP_SUB</b> - zoom 
out<br>"
+                       "<b>KP_DIV</b> - set zoom to 100%<br>"
+                       "<br>"
+                       "Tabs:<br>"
+                       "<b>ctrl + num</b> - switch to tab 1-10<br>"
+                       "<b>tab</b> / <b>ctrl + pg_down</b> - switch to next 
tab<br>"
+                       "<b>shift + tab</b> / <b>ctrl + pg_up</b> - switch to 
prev tab<br>"
+                       "<br>"
+                       "Popups:<br>"
+                       "<b>Enter</b> - OK<br>"
+                       "<b>ESC</b> - cancel<br>"
+                       ));
+
+   elm_object_style_set(label, "help");
+   elm_object_content_set(scroller, label);
+   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);
+   evas_object_show(scroller);
+   elm_box_pack_end(box, scroller);
+
+   return box;
+}
+
+Evas_Object *
+shortcuts_window_add(void)
+{
+   Evas_Object *content = elm_box_add(ap.win);
+
+   evas_object_size_hint_min_set(content, 0, 300);
+
+   popup_want_action(_("Shortcuts"), NULL, _shortcuts_window_content_get, 
BTN_OK, NULL, content);
+   evas_object_del(content);
+   return NULL;
+}
diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h
index 6de173a..7f1cb4e 100644
--- a/src/bin/ui/main_window.h
+++ b/src/bin/ui/main_window.h
@@ -85,6 +85,7 @@ enum Menu_Item
 
    MENU_HELP,
       MENU_HELP_ABOUT,
+      MENU_HELP_SHORTCUTS,
 
    /* Needed for menu array init */
    MENU_ITEMS_COUNT
@@ -548,4 +549,14 @@ sound_manager_add(void);
 Evas_Object *
 about_window_add(void);
 
+/**
+ * Show popup with shortcuts info
+ *
+ * @return window
+ *
+ * @ingroup Window
+ */
+Evas_Object *
+shortcuts_window_add(void);
+
 #endif /* UI_MAIN_WINDOW_H */
diff --git a/src/bin/ui/menu.c b/src/bin/ui/menu.c
index 9f45628..29f280d 100644
--- a/src/bin/ui/menu.c
+++ b/src/bin/ui/menu.c
@@ -201,6 +201,9 @@ _menu_cb(void *data __UNUSED__,
       case MENU_HELP_ABOUT:
          about_window_add();
          break;
+      case MENU_HELP_SHORTCUTS:
+         shortcuts_window_add();
+         break;
       default:
          ERR("unknown menu id: %d", menu_event->mid);
          break;
@@ -327,6 +330,7 @@ ui_menu_add(void)
       ITEM_MENU_ADD(MENU_WINDOW, MENU_WINDOW_MANAGER_COLORCLASS, "color", 
_("Color class manager"), "F10")
 
    ITEM_MENU_ADD(MENU_NULL, MENU_HELP, NULL, _("Help"), NULL)
+      ITEM_MENU_ADD(MENU_HELP, MENU_HELP_SHORTCUTS, NULL, _("Shortcuts"), NULL)
       ITEM_MENU_ADD(MENU_HELP, MENU_HELP_ABOUT, NULL, _("About"), NULL)
 
    elm_menu_item_separator_add(window_menu, menu->items[MENU_FILE_IMPORT_EDC]);

-- 


Reply via email to