From 2b25a89d90ebc396357d872b42fec024826dc712 Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Thu, 26 Dec 2019 15:36:29 +0000 Subject: [PATCH] Menu: Change behaviour --- data/icons/folder.png | Bin 0 -> 3038 bytes data/icons/meson.build | 2 +- src/bin/edi_filepanel.c | 36 ++++++++++++++++-------------------- src/bin/edi_main.c | 6 +++--- 4 files changed, 20 insertions(+), 24 deletions(-) create mode 100644 data/icons/folder.png diff --git a/data/icons/folder.png b/data/icons/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..2bee581914403a038bbd47efa57be83e4b3c6b7c GIT binary patch literal 3038 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 Jk8SAO{{d11a&rIx literal 0 HcmV?d00001 diff --git a/data/icons/meson.build b/data/icons/meson.build index f36473b..ecb60ff 100644 --- a/data/icons/meson.build +++ b/data/icons/meson.build @@ -5,7 +5,7 @@ install_data(['document-new.png', 'window-close.png', 'window-close.png', 'edit-find-replace.png', 'go-jump.png', 'system-run.png', 'media-record.png', 'media-playback-start.png', 'media-playback-stop.png', 'utilities-terminal.png', 'help-about.png', 'preferences-desktop.png', - 'go-up.png', 'go-down.png' + 'go-up.png', 'go-down.png', 'folder.png' ], install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'edi', 'icons') ) diff --git a/src/bin/edi_filepanel.c b/src/bin/edi_filepanel.c index e822873..3789b59 100644 --- a/src/bin/edi_filepanel.c +++ b/src/bin/edi_filepanel.c @@ -14,6 +14,7 @@ #include "edi_filepanel.h" #include "edi_file.h" +#include "edi_theme.h" #include "edi_config.h" #include "edi_content_provider.h" #include "mainview/edi_mainview.h" @@ -472,29 +473,26 @@ _item_menu_create(Evas_Object *win, Edi_Dir_Data *sd) menu = elm_menu_add(win); evas_object_smart_callback_add(menu, "dismissed", _item_menu_dismissed_cb, NULL); - menu_it = elm_menu_item_add(menu, NULL, "document-properties", ecore_file_file_get(sd->path), NULL, NULL); - elm_object_item_disabled_set(menu_it, EINA_TRUE); - elm_menu_item_separator_add(menu, NULL); + menu_it2 = menu_it = elm_menu_item_add(menu, NULL, "document-properties", ecore_file_file_get(sd->path), NULL, NULL); - elm_menu_item_add(menu, NULL, "fileopen", _("Open"), _item_menu_open_cb, sd); - elm_menu_item_add(menu, NULL, "window-new", _("Open in New Window"), _item_menu_open_window_cb, sd); + elm_menu_item_add(menu, menu_it, "fileopen", _("Open"), _item_menu_open_cb, sd); + elm_menu_item_add(menu, menu_it, "window-new", _("Open in New Window"), _item_menu_open_window_cb, sd); - menu_it = elm_menu_item_add(menu, NULL, "object-flip-horizontal", _("Open in New Panel"), _item_menu_open_panel_cb, sd); + menu_it = elm_menu_item_add(menu, menu_it, "object-flip-horizontal", _("Open in New Panel"), _item_menu_open_panel_cb, sd); - menu_it = elm_menu_item_add(menu, NULL, NULL, eina_slstr_printf("%s...", _("Open as")), NULL, NULL); + menu_it = elm_menu_item_add(menu, menu_it2, NULL, eina_slstr_printf("%s...", _("Open as")), NULL, NULL); _item_menu_filetype_create(menu, menu_it, "text", _item_menu_open_as_text_cb, sd); _item_menu_filetype_create(menu, menu_it, "code", _item_menu_open_as_code_cb, sd); _item_menu_filetype_create(menu, menu_it, "image", _item_menu_open_as_image_cb, sd); - menu_it = elm_menu_item_add(menu, NULL, "gtk-execute", _("Open External"), + menu_it = elm_menu_item_add(menu, menu_it, "gtk-execute", _("Open External"), _item_menu_xdgopen_cb, sd); - elm_menu_item_separator_add(menu, NULL); - if (edi_scm_enabled()) { status = _edi_filepanel_file_scm_status(sd->path); + elm_menu_item_separator_add(menu, menu_it2); - menu_it = elm_menu_item_add(menu, NULL, NULL, eina_slstr_printf("%s...", _("Source Control")), NULL, NULL); + menu_it = elm_menu_item_add(menu, menu_it2, NULL, eina_slstr_printf("%s...", _("Source Control")), NULL, NULL); menu_it2 = elm_menu_item_add(menu, menu_it, "edit-undo", _("Undo Changes"), _item_menu_scm_undo_cb, sd); if (status == EDI_FILE_STATUS_UNMODIFIED || status == EDI_FILE_STATUS_STAGED) @@ -607,19 +605,17 @@ _item_menu_dir_create(Evas_Object *win, Edi_Dir_Data *sd) evas_object_smart_callback_add(menu, "dismissed", _item_menu_dismissed_cb, NULL); menu_it = elm_menu_item_add(menu, NULL, "folder", ecore_file_file_get(sd->path), NULL, NULL); - elm_object_item_disabled_set(menu_it, EINA_TRUE); - elm_menu_item_separator_add(menu, NULL); - elm_menu_item_add(menu, NULL, "document-new", _("Create File here"), _item_menu_create_file_cb, sd); - elm_menu_item_add(menu, NULL, "folder-new", _("Create Directory here"), _item_menu_create_dir_cb, sd); + elm_menu_item_add(menu, menu_it, "document-new", _("Create File here"), _item_menu_create_file_cb, sd); + elm_menu_item_add(menu, menu_it, "folder-new", _("Create Directory here"), _item_menu_create_dir_cb, sd); if (ecore_file_app_installed("terminology")) - elm_menu_item_add(menu, NULL, "utilities-terminal", _("Open Terminal here"), _item_menu_open_terminal_cb, sd); + elm_menu_item_add(menu, menu_it, "utilities-terminal", _("Open Terminal here"), _item_menu_open_terminal_cb, sd); if (strcmp(sd->path, edi_project_get())) { - elm_menu_item_add(menu, NULL, "document-save-as", _("Rename Directory"), _item_menu_rename_cb, sd); + elm_menu_item_add(menu, menu_it, "document-save-as", _("Rename Directory"), _item_menu_rename_cb, sd); if (ecore_file_dir_is_empty(sd->path)) - elm_menu_item_add(menu, NULL, "edit-delete", _("Remove Directory"), _item_menu_rmdir_cb, sd); + elm_menu_item_add(menu, menu_it, "edit-delete", _("Remove Directory"), _item_menu_rmdir_cb, sd); } } @@ -709,7 +705,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) evas_object_show(lbox); ic = elm_icon_add(lbox); - elm_icon_standard_set(ic, icon_name); + elm_icon_standard_set(ic, edi_theme_icon_path_get(icon_name)); evas_object_size_hint_min_set(ic, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); evas_object_show(ic); elm_box_pack_end(lbox, ic); @@ -795,7 +791,7 @@ _content_dir_get(void *data EINA_UNUSED, Evas_Object *obj, const char *source) return NULL; ic = elm_icon_add(obj); - elm_icon_standard_set(ic, "folder"); + elm_icon_standard_set(ic, edi_theme_icon_path_get("folder")); evas_object_size_hint_min_set(ic, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); evas_object_show(ic); return ic; diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c index a0df22d..5848bde 100644 --- a/src/bin/edi_main.c +++ b/src/bin/edi_main.c @@ -302,7 +302,7 @@ _edi_toggle_panel(void *data, Evas_Object *obj, void *event_info) if (item == _edi_selected_bottompanel) { - elm_toolbar_item_icon_set(item, "go-up"); + elm_toolbar_item_icon_set(item, edi_theme_icon_path_get("go-up")); _edi_slide_panel_new(_edi_bottompanes, panel, _edi_project_config->gui.bottomsize, EINA_FALSE, EINA_FALSE); _edi_selected_bottompanel = NULL; @@ -1403,6 +1403,8 @@ edi_toolbar_win_add(void) evas_object_show(notify); tb = elm_toolbar_add(box); + elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_NONE); + elm_toolbar_select_mode_set(tb, ELM_OBJECT_SELECT_MODE_DEFAULT); elm_toolbar_horizontal_set(tb, _edi_project_config->gui.toolbar_horizontal); elm_toolbar_homogeneous_set(tb, EINA_FALSE); elm_toolbar_align_set(tb, 0.0); @@ -1411,8 +1413,6 @@ edi_toolbar_win_add(void) evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(tb, 0.0, EVAS_HINT_EXPAND); elm_object_focus_allow_set(tb, EINA_FALSE); - elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_NONE); - elm_toolbar_select_mode_set(tb, ELM_OBJECT_SELECT_MODE_NONE); _edi_toolbar_item_add(tb, "document-new", _("New File"), _tb_new_cb); _edi_toolbar_save =_edi_toolbar_item_add(tb, "document-save", _("Save"), _tb_save_cb);