ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=ff7d8550e5048488403c33415183ead5dae3ab00

commit ff7d8550e5048488403c33415183ead5dae3ab00
Author: Andy Williams <a...@andywilliams.me>
Date:   Tue May 19 22:32:55 2015 +0100

    menu: flesh out our application menu
---
 TODO               |   1 -
 src/bin/edi_main.c | 146 +++++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 124 insertions(+), 23 deletions(-)

diff --git a/TODO b/TODO
index f212bc1..2f72d1c 100644
--- a/TODO
+++ b/TODO
@@ -2,7 +2,6 @@ This project is in heavy development, we are currenty working 
towards the
 "Code aware editor" phase, the following work is still to be done:
 
 * Redo changes that have been undone
-* Add a menu for easier access to some features
 * Search / replace in project / directory
 * Integrate elm_code project (cedric, ajwillia-ms and TAsn)
   - Code folding
diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c
index 24322ad..a22788d 100644
--- a/src/bin/edi_main.c
+++ b/src/bin/edi_main.c
@@ -510,13 +510,6 @@ _tb_save_cb(void *data EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UNUS
 }
 
 static void
-_tb_open_window_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info 
EINA_UNUSED)
-{
-   elm_toolbar_item_selected_set(elm_toolbar_selected_item_get(obj), 
EINA_FALSE);
-   edi_mainview_new_window();
-}
-
-static void
 _tb_close_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info 
EINA_UNUSED)
 {
    elm_toolbar_item_selected_set(elm_toolbar_selected_item_get(obj), 
EINA_FALSE);
@@ -573,12 +566,10 @@ _tb_goto_cancel_cb(void *data EINA_UNUSED,
 }
 
 static void
-_tb_goto_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info 
EINA_UNUSED)
+_edi_edit_goto()
 {
    Evas_Object *popup, *input, *button;
 
-   elm_toolbar_item_selected_set(elm_toolbar_selected_item_get(obj), 
EINA_FALSE);
-
    popup = elm_popup_add(_edi_main_win);
    _edi_goto_popup = popup;
    elm_object_part_text_set(popup, "title,text",
@@ -603,6 +594,14 @@ _tb_goto_cb(void *data EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UNUS
    evas_object_show(popup);
 }
 
+static void
+_tb_goto_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info 
EINA_UNUSED)
+{
+   elm_toolbar_item_selected_set(elm_toolbar_selected_item_get(obj), 
EINA_FALSE);
+
+   _edi_edit_goto();
+}
+
 static Eina_Bool
 _edi_build_prep(Evas_Object *button, Eina_Bool test)
 {
@@ -665,33 +664,117 @@ _tb_settings_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *even
 
 static void
 _edi_menu_new_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
-          void *event_info EINA_UNUSED)
+                 void *event_info EINA_UNUSED)
 {
    _edi_file_new();
 }
 
 static void
 _edi_menu_save_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
-          void *event_info EINA_UNUSED)
+                  void *event_info EINA_UNUSED)
 {
    edi_mainview_save();
 }
 
 static void
+_edi_menu_open_window_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                         void *event_info EINA_UNUSED)
+{
+   edi_mainview_new_window();
+}
+
+static void
+_edi_menu_close_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                   void *event_info EINA_UNUSED)
+{
+   edi_mainview_close();
+}
+
+static void
 _edi_menu_settings_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
-          void *event_info EINA_UNUSED)
+                      void *event_info EINA_UNUSED)
 {
    edi_settings_show(_edi_main_win);
 }
 
 static void
 _edi_menu_quit_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
-          void *event_info EINA_UNUSED)
+                  void *event_info EINA_UNUSED)
 {
    elm_exit();
 }
 
 static void
+_edi_menu_cut_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                 void *event_info EINA_UNUSED)
+{
+   edi_mainview_cut();
+}
+
+static void
+_edi_menu_copy_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                  void *event_info EINA_UNUSED)
+{
+   edi_mainview_copy();
+}
+
+static void
+_edi_menu_paste_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                   void *event_info EINA_UNUSED)
+{
+   edi_mainview_paste();
+}
+
+static void
+_edi_menu_find_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                  void *event_info EINA_UNUSED)
+{
+   edi_mainview_search();
+}
+
+static void
+_edi_menu_goto_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                  void *event_info EINA_UNUSED)
+{
+   _edi_edit_goto();
+}
+
+static void
+_edi_menu_build_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                   void *event_info EINA_UNUSED)
+{
+   edi_builder_build();
+}
+
+static void
+_edi_menu_test_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                  void *event_info EINA_UNUSED)
+{
+   edi_builder_test();
+}
+
+static void
+_edi_menu_clean_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                   void *event_info EINA_UNUSED)
+{
+   edi_builder_clean();
+}
+
+static void
+_edi_menu_website_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                     void *event_info EINA_UNUSED)
+{
+   edi_open_url("http://edi-ide.com";);
+}
+
+static void
+_edi_menu_about_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+                   void *event_info EINA_UNUSED)
+{
+   edi_about_show(_edi_main_win);
+}
+
+static void
 _edi_menu_setup(Evas_Object *win)
 {
    Evas_Object *menu;
@@ -700,12 +783,32 @@ _edi_menu_setup(Evas_Object *win)
    menu = elm_win_main_menu_get(win);
 
    menu_it = elm_menu_item_add(menu, NULL, NULL, "File", NULL, NULL);
-   elm_menu_item_add(menu, menu_it, NULL, "New File", _edi_menu_new_cb, NULL);
-   elm_menu_item_add(menu, menu_it, NULL, "Save", _edi_menu_save_cb, NULL);
+   elm_menu_item_add(menu, menu_it, "document-new", "New ...", 
_edi_menu_new_cb, NULL);
+   elm_menu_item_add(menu, menu_it, "document-save", "Save", 
_edi_menu_save_cb, NULL);
+   elm_menu_item_add(menu, menu_it, "window-new", "New window", 
_edi_menu_open_window_cb, NULL);
+   elm_menu_item_add(menu, menu_it, "stock_close", "Close", 
_edi_menu_close_cb, NULL);
+   elm_menu_item_separator_add(menu, menu_it);
+   elm_menu_item_add(menu, menu_it, "preferences-desktop", "Settings", 
_edi_menu_settings_cb, NULL);
    elm_menu_item_separator_add(menu, menu_it);
-   elm_menu_item_add(menu, menu_it, NULL, "Settings", _edi_menu_settings_cb, 
NULL);
+   elm_menu_item_add(menu, menu_it, "application-exit", "Quit", 
_edi_menu_quit_cb, NULL);
+
+   menu_it = elm_menu_item_add(menu, NULL, NULL, "Edit", NULL, NULL);
+   elm_menu_item_add(menu, menu_it, "edit-cut", "Cut", _edi_menu_cut_cb, NULL);
+   elm_menu_item_add(menu, menu_it, "edit-copy", "Copy", _edi_menu_copy_cb, 
NULL);
+   elm_menu_item_add(menu, menu_it, "edit-paste", "Paste", _edi_menu_paste_cb, 
NULL);
+   elm_menu_item_separator_add(menu, menu_it);
+   elm_menu_item_add(menu, menu_it, "edit-find-replace", "Find & Replace", 
_edi_menu_find_cb, NULL);
+   elm_menu_item_add(menu, menu_it, "go-jump", "Goto Line ...", 
_edi_menu_goto_cb, NULL);
+
+   menu_it = elm_menu_item_add(menu, NULL, NULL, "Build", NULL, NULL);
+   elm_menu_item_add(menu, menu_it, "system-run", "Build", _edi_menu_build_cb, 
NULL);
+   elm_menu_item_add(menu, menu_it, "dialog-ok", "Test", _edi_menu_test_cb, 
NULL);
+   elm_menu_item_add(menu, menu_it, "edit-clear", "Clean", _edi_menu_clean_cb, 
NULL);
+
+   menu_it = elm_menu_item_add(menu, NULL, NULL, "Help", NULL, NULL);
+   elm_menu_item_add(menu, menu_it, "go-home", "Website", 
_edi_menu_website_cb, NULL);
    elm_menu_item_separator_add(menu, menu_it);
-   elm_menu_item_add(menu, menu_it, NULL, "Quit", _edi_menu_quit_cb, NULL);
+   elm_menu_item_add(menu, menu_it, "help-about", "About", _edi_menu_about_cb, 
NULL);
 }
 
 static Evas_Object *
@@ -733,8 +836,7 @@ edi_toolbar_setup(Evas_Object *win)
 
    tb_it = elm_toolbar_item_append(tb, "document-new", "New File", _tb_new_cb, 
NULL);
    tb_it = elm_toolbar_item_append(tb, "document-save", "Save", _tb_save_cb, 
NULL);
-   tb_it = elm_toolbar_item_append(tb, "window-new", "New window", 
_tb_open_window_cb, NULL);
-   tb_it = elm_toolbar_item_append(tb, "window-close", "Close", _tb_close_cb, 
NULL);
+   tb_it = elm_toolbar_item_append(tb, "stock_close", "Close", _tb_close_cb, 
NULL);
 
    tb_it = elm_toolbar_item_append(tb, "separator", "", NULL, NULL);
    elm_toolbar_item_separator_set(tb_it, EINA_TRUE);
@@ -746,14 +848,14 @@ edi_toolbar_setup(Evas_Object *win)
    tb_it = elm_toolbar_item_append(tb, "separator", "", NULL, NULL);
    elm_toolbar_item_separator_set(tb_it, EINA_TRUE);
 
-   tb_it = elm_toolbar_item_append(tb, "find", "Find & Replace", 
_tb_search_cb, NULL);
+   tb_it = elm_toolbar_item_append(tb, "edit-find-replace", "Find & Replace", 
_tb_search_cb, NULL);
    tb_it = elm_toolbar_item_append(tb, "go-jump", "Goto Line", _tb_goto_cb, 
NULL);
 
    tb_it = elm_toolbar_item_append(tb, "separator", "", NULL, NULL);
    elm_toolbar_item_separator_set(tb_it, EINA_TRUE);
 
    tb_it = elm_toolbar_item_append(tb, "system-run", "Build", _tb_build_cb, 
NULL);
-   tb_it = elm_toolbar_item_append(tb, "emblem-default", "Test", _tb_test_cb, 
NULL);
+   tb_it = elm_toolbar_item_append(tb, "dialog-ok", "Test", _tb_test_cb, NULL);
 //   tb_it = elm_toolbar_item_append(tb, "player-play", "Run", _tb_run_cb, 
NULL);
    tb_it = elm_toolbar_item_append(tb, "edit-clear", "Clean", _tb_clean_cb, 
NULL);
 

-- 


Reply via email to