ui - move to menu bar from toolbar - a bit more basic and simple

This commit is contained in:
Carsten Haitzler 2020-04-15 13:14:19 +01:00
parent a60763d0c4
commit 5a0b895521
2 changed files with 60 additions and 55 deletions

View File

@ -437,6 +437,12 @@ _save_as(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
ui_file_open_save_dialog_open(ent->win, _fs_save_done, EINA_TRUE);
}
static void
_win_del_do(void *data EINA_UNUSED)
{
elm_exit();
}
static void
_new_do(void *data)
{
@ -454,6 +460,13 @@ _new(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
_alert_if_need_saving(_new_do, ent);
}
static void
_app_exit(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
Ecrire_Entry *ent = data;
_alert_if_need_saving(_win_del_do, ent);
}
static void
_cut(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
@ -490,12 +503,6 @@ _font_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_U
}
static void
_win_del_do(void *data EINA_UNUSED)
{
elm_exit();
}
static void
my_win_del(void *data, Evas_Object *obj, void *event_info)
{
@ -608,8 +615,9 @@ _key_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event)
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *bg, *tbar, *bx, *cur_info;
Evas_Object *pad, *bx, *cur_info, *menu, *bx2;
Evas_Coord w = 600, h = 600;
Elm_Widget_Item *mit;
int c;
opterr = 0;
@ -671,30 +679,42 @@ elm_main(int argc, char **argv)
DBG("Opening filename: '%s'", main_ec_ent->filename);
main_ec_ent->win = elm_win_add(NULL, "Ecrire", ELM_WIN_BASIC);
main_ec_ent->win = elm_win_util_standard_add("erire", "Ecrire");
elm_win_autodel_set(main_ec_ent->win, EINA_FALSE);
bg = elm_bg_add(main_ec_ent->win);
elm_win_resize_object_add(main_ec_ent->win, bg);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bg);
menu = elm_win_main_menu_get(main_ec_ent->win);
mit = elm_menu_item_add(menu, NULL, NULL, _("File"), NULL, NULL);
elm_menu_item_add(menu, mit, "document-new", _("New"), _new, main_ec_ent);
elm_menu_item_add(menu, mit, "document-open", _("Open"), _open, main_ec_ent);
main_ec_ent->save_item =
elm_menu_item_add(menu, mit, "document-save", _("Save"), _save, main_ec_ent);
elm_menu_item_add(menu, mit, "document-save-as", _("Save As"), _save_as, main_ec_ent);
elm_menu_item_separator_add(menu, mit);
elm_menu_item_add(menu, mit, "application-exit", _("Exit"), _app_exit, main_ec_ent);
mit = elm_menu_item_add(menu, NULL, NULL, _("Edit"), NULL, NULL);
main_ec_ent->cut_item =
elm_menu_item_add(menu, mit, "edit-cut", _("Cut"), _cut, main_ec_ent);
main_ec_ent->copy_item =
elm_menu_item_add(menu, mit, "edit-copy", _("Copy"), _copy, main_ec_ent);
main_ec_ent->paste_item =
elm_menu_item_add(menu, mit, "edit-paste", _("Paste"), _paste, main_ec_ent);
elm_menu_item_separator_add(menu, mit);
main_ec_ent->undo_item =
elm_menu_item_add(menu, mit, "edit-undo", _("Undo"), _undo, main_ec_ent);
main_ec_ent->redo_item =
elm_menu_item_add(menu, mit, "edit-redo", _("Redo"), _redo, main_ec_ent);
elm_menu_item_separator_add(menu, mit);
elm_menu_item_add(menu, mit, "edit-find-replace", _("Find"), _find, main_ec_ent);
elm_menu_item_add(menu, mit, "go-jump", _("Go to line.."), _goto_line, main_ec_ent);
elm_menu_item_separator_add(menu, mit);
elm_menu_item_add(menu, mit, "preferences-system", _("Settings"), _font_settings, main_ec_ent);
bx = elm_box_add(main_ec_ent->win);
elm_win_resize_object_add(main_ec_ent->win, bx);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bx);
tbar = elm_toolbar_add(main_ec_ent->win);
elm_toolbar_homogeneous_set(tbar, 0);
elm_toolbar_shrink_mode_set(tbar, ELM_TOOLBAR_SHRINK_SCROLL);
elm_toolbar_select_mode_set(tbar, ELM_OBJECT_SELECT_MODE_NONE);
elm_toolbar_align_set(tbar, 0.0);
evas_object_size_hint_weight_set(tbar, 0.0, 0.0);
evas_object_size_hint_align_set(tbar, EVAS_HINT_FILL, 0.0);
elm_box_pack_end(bx, tbar);
evas_object_show(tbar);
main_ec_ent->entry = elm_entry_add(main_ec_ent->win);
elm_entry_scrollable_set(main_ec_ent->entry, EINA_TRUE);
elm_entry_line_wrap_set(main_ec_ent->entry, _ent_cfg->wrap_type);
@ -704,11 +724,25 @@ elm_main(int argc, char **argv)
elm_box_pack_end(bx, main_ec_ent->entry);
evas_object_show(main_ec_ent->entry);
pad = elm_frame_add(main_ec_ent->win);
elm_object_style_set(pad, "pad_medium");
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, 1.0);
evas_object_size_hint_weight_set(pad, EVAS_HINT_EXPAND, 0.0);
elm_box_pack_end(bx, pad);
evas_object_show(pad);
bx2 = elm_box_add(main_ec_ent->win);
elm_box_horizontal_set(bx2, EINA_TRUE);
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_content_set(pad, bx2);
evas_object_show(bx2);
cur_info = elm_label_add(main_ec_ent->win);
_cur_changed(cur_info, main_ec_ent->entry, NULL);
evas_object_size_hint_align_set(cur_info, 1.0, 0.5);
evas_object_size_hint_weight_set(cur_info, EVAS_HINT_EXPAND, 0.0);
elm_box_pack_end(bx, cur_info);
elm_box_pack_end(bx2, cur_info);
evas_object_show(cur_info);
evas_object_smart_callback_add(main_ec_ent->entry, "cursor,changed",
@ -722,35 +756,6 @@ elm_main(int argc, char **argv)
evas_object_smart_callback_add(main_ec_ent->entry, "selection,cleared", _sel_clear, main_ec_ent);
evas_object_event_callback_add(main_ec_ent->entry, EVAS_CALLBACK_KEY_DOWN, _key_cb, main_ec_ent);
elm_toolbar_item_append(tbar, "document-new", _("New"), _new, main_ec_ent);
elm_toolbar_item_append(tbar, "document-open", _("Open"), _open, main_ec_ent);
main_ec_ent->save_item =
elm_toolbar_item_append(tbar, "document-save", _("Save"), _save, main_ec_ent);
elm_toolbar_item_append(tbar, "document-save-as", _("Save As"), _save_as,
main_ec_ent);
elm_toolbar_item_separator_set(
elm_toolbar_item_append(tbar, "", "", NULL, NULL), EINA_TRUE);
main_ec_ent->undo_item =
elm_toolbar_item_append(tbar, "edit-undo", _("Undo"), _undo, main_ec_ent);
main_ec_ent->redo_item =
elm_toolbar_item_append(tbar, "edit-redo", _("Redo"), _redo, main_ec_ent);
elm_toolbar_item_separator_set(
elm_toolbar_item_append(tbar, "", "", NULL, NULL), EINA_TRUE);
main_ec_ent->cut_item = elm_toolbar_item_append(tbar, "edit-cut", _("Cut"), _cut, main_ec_ent);
main_ec_ent->copy_item =
elm_toolbar_item_append(tbar, "edit-copy", _("Copy"), _copy, main_ec_ent);
main_ec_ent->paste_item =
elm_toolbar_item_append(tbar, "edit-paste", _("Paste"), _paste, main_ec_ent);
elm_toolbar_item_separator_set(
elm_toolbar_item_append(tbar, "", "", NULL, NULL), EINA_TRUE);
elm_toolbar_item_append(tbar, "edit-find-replace", _("Search"),
_find, main_ec_ent);
elm_toolbar_item_append(tbar, "go-jump", _("Jump to"), _goto_line, main_ec_ent);
elm_toolbar_item_separator_set(
elm_toolbar_item_append(tbar, "", "", NULL, NULL), EINA_TRUE);
elm_toolbar_item_append(tbar, "preferences-system", _("Settings"),
_font_settings, main_ec_ent);
/*
#ifdef HAVE_ECORE_X
if (!ecore_x_selection_owner_get(ECORE_X_ATOM_SELECTION_CLIPBOARD))
@ -790,6 +795,5 @@ ELM_MAIN()
static void
print_usage(const char *bin)
{
fprintf(stderr,
"Usage: %s [filename]\n", bin);
fprintf(stderr, "Usage: %s [filename]\n", bin);
}

View File

@ -26,6 +26,7 @@ _font_list_get(const Evas *e)
Elm_Font_Properties *efp;
efp = elm_font_properties_get(font);
if (!efp) continue;
/* Remove dups */
if (prev_font && !strcmp(efp->name, prev_font))
{