ajwillia-ms pushed a commit to branch master.

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

commit 498049cba172736ca0c5bdd7dea9b242a2a8f69a
Author: Andy Williams <a...@andywilliams.me>
Date:   Tue May 19 00:01:56 2015 +0100

    add a main menu to EDI
---
 ChangeLog          |  1 +
 src/bin/edi_main.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f23d26a..edf07b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * Remember open tabs and windows per project
        * Allow hiding of the toolbar
+       * Added a main menu to move items off toolbar
 
 2015-08-15 ajwillia.ms (Andy Williams)
 
diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c
index f9a1eb7..18c1451 100644
--- a/src/bin/edi_main.c
+++ b/src/bin/edi_main.c
@@ -466,12 +466,10 @@ _tb_new_cancel_cb(void *data EINA_UNUSED,
 }
 
 static void
-_tb_new_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info 
EINA_UNUSED)
+_edi_file_new()
 {
    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_new_popup = popup;
    elm_object_part_text_set(popup, "title,text",
@@ -497,6 +495,14 @@ _tb_new_cb(void *data EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UNUSE
 }
 
 static void
+_tb_new_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_file_new();
+}
+
+static void
 _tb_save_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);
@@ -657,6 +663,51 @@ _tb_settings_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *even
    edi_settings_show(_edi_main_win);
 }
 
+static void
+_edi_menu_new_cb(void *data EINA_UNUSED, Evas_Object *obj 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)
+{
+   edi_mainview_save();
+}
+
+static void
+_edi_menu_settings_cb(void *data EINA_UNUSED, Evas_Object *obj 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)
+{
+   elm_exit();
+}
+
+static void
+_edi_menu_setup(Evas_Object *win)
+{
+   Evas_Object *menu;
+   Elm_Object_Item *menu_it;
+
+   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_separator_add(menu, menu_it);
+   elm_menu_item_add(menu, menu_it, NULL, "Settings", _edi_menu_settings_cb, 
NULL);
+   elm_menu_item_separator_add(menu, menu_it);
+   elm_menu_item_add(menu, menu_it, NULL, "Quit", _edi_menu_quit_cb, NULL);
+}
+
 static Evas_Object *
 edi_toolbar_setup(Evas_Object *win)
 {
@@ -832,6 +883,7 @@ edi_open(const char *inputpath)
    tb = edi_toolbar_setup(win);
    _edi_toolbar = tb;
    _edi_toolbar_set_visible(!_edi_project_config->gui.toolbar_hidden);
+   _edi_menu_setup(win);
 
    content = edi_content_setup(vbx, path);
    evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);

-- 


Reply via email to