netstar pushed a commit to branch master. http://git.enlightenment.org/apps/ecrire.git/commit/?id=dfb5a9594d4a57211b09ed644466189b9649166e
commit dfb5a9594d4a57211b09ed644466189b9649166e Author: Alastair Poole <nets...@gmail.com> Date: Wed Apr 7 10:03:17 2021 +0100 ecrire: Move things...add toolbar. More changes...to come. --- src/bin/{mess_header.h => Ecrire.h} | 21 +++-- src/bin/cfg.c | 2 +- src/bin/file_utils.c | 2 +- src/bin/main.c | 177 ++++++++++++++++++++++++------------ src/bin/meson.build | 2 +- src/bin/ui/alerts.c | 13 ++- src/bin/ui/file_related.c | 2 +- src/bin/ui/goto_dialog.c | 75 ++++++++------- src/bin/ui/search_dialog.c | 2 +- src/bin/ui/settings.c | 11 +-- src/bin/ui/ui.h | 2 +- 11 files changed, 193 insertions(+), 116 deletions(-) diff --git a/src/bin/mess_header.h b/src/bin/Ecrire.h similarity index 65% rename from src/bin/mess_header.h rename to src/bin/Ecrire.h index 4f417a3..3205877 100644 --- a/src/bin/mess_header.h +++ b/src/bin/Ecrire.h @@ -1,5 +1,5 @@ -#ifndef _MESS_HEADER_H -#define _MESS_HEADER_H +#ifndef _ECRIRE_H +#define _ECRIRE_H #include <Evas.h> @@ -18,7 +18,15 @@ struct _Ecrire_Entry { Evas_Object *win; const char *filename; int unsaved; - Elm_Object_Item *copy_item, *cut_item, *save_item, *paste_item, *undo_item, *redo_item; + struct + { + Elm_Object_Item *copy, *cut, *save, *paste, *undo, *redo; + } menu; + + struct + { + Elm_Object_Item *copy, *cut, *save, *paste, *undo, *redo; + } toolbar; struct { @@ -35,9 +43,10 @@ struct _Ecrire_Entry { typedef struct _Ecrire_Entry Ecrire_Entry; -void editor_font_choose(Ecrire_Entry *ent, const char *font, int size); -void editor_save(Ecrire_Entry *ent, void *callback_func); -void save_do(const char *file, Ecrire_Entry *ent); +void ecrire_font_set_save(Ecrire_Entry *inst, const char *font, int size); +void ecrire_entry_font_set(Ecrire_Entry *inst, const char *font, int font_size); +void ecrire_save(Ecrire_Entry *inst, void *callback_func); +void ecrire_entry_save(Ecrire_Entry *inst, const char *file); #ifdef ENABLE_NLS # include <libintl.h> diff --git a/src/bin/cfg.c b/src/bin/cfg.c index 35cf501..135db5e 100644 --- a/src/bin/cfg.c +++ b/src/bin/cfg.c @@ -2,7 +2,7 @@ #include <Efreet.h> #include "cfg.h" -#include "mess_header.h" +#include "Ecrire.h" Ent_Cfg *_ent_cfg; static Eet_Data_Descriptor * _ent_cfg_descriptor; diff --git a/src/bin/file_utils.c b/src/bin/file_utils.c index 8289be7..cb9e982 100644 --- a/src/bin/file_utils.c +++ b/src/bin/file_utils.c @@ -3,7 +3,7 @@ #include <stdio.h> #include <string.h> #include "file_utils.h" -#include "mess_header.h" +#include "Ecrire.h" static char * _buf_append(char *buf, const char *str, int *len, int *alloc) diff --git a/src/bin/main.c b/src/bin/main.c index 34b86a3..19eb534 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -2,7 +2,7 @@ #include <unistd.h> #include <Elementary.h> -#include "mess_header.h" +#include "Ecrire.h" #include "file_utils.h" #include "cfg.h" #include "ui/ui.h" @@ -10,16 +10,22 @@ static Eina_Unicode plain_utf8 = EINA_TRUE; static void print_usage(const char *bin); -static void editor_font_set(Ecrire_Entry *inst, const char *font, int font_size); /* specific log domain to help debug only ecrire */ int _ecrire_log_dom = -1; +static void +_win_del_do(void *data) +{ + Ecrire_Entry *inst = data; + evas_object_del(inst->win); +} + static void _init_entry(Ecrire_Entry *inst) { Elm_Entry_Change_Info *inf; - editor_font_set(inst, inst->font.name, inst->font.size); + ecrire_entry_font_set(inst, inst->font.name, inst->font.size); /* Init the undo stack */ EINA_LIST_FREE(inst->undo_stack, inf) @@ -42,21 +48,17 @@ _init_entry(Ecrire_Entry *inst) inst->last_saved_stack_ptr = inst->undo_stack_ptr; inst->undo_stack_can_merge = EINA_FALSE; - elm_object_item_disabled_set(inst->undo_item, EINA_TRUE); - elm_object_item_disabled_set(inst->redo_item, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.undo, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.redo, EINA_TRUE); } static void -_alert_if_need_saving(void (*done)(void *data), Ecrire_Entry *inst) +_alert_if_need_saving(void (*cb_done)(void *data), Ecrire_Entry *inst) { - if (!elm_object_item_disabled_get(inst->save_item)) - { - ui_alert_need_saving(inst->entry, done, inst); - } + if (!elm_object_item_disabled_get(inst->menu.save)) + ui_alert_need_saving(inst->entry, cb_done, inst); else - { - done(inst); - } + cb_done(inst); } static void @@ -64,8 +66,10 @@ _cb_sel_start(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *inst = data; - elm_object_item_disabled_set(inst->copy_item, EINA_FALSE); - elm_object_item_disabled_set(inst->cut_item, EINA_FALSE); + elm_object_item_disabled_set(inst->menu.copy, EINA_FALSE); + elm_object_item_disabled_set(inst->menu.cut, EINA_FALSE); + elm_object_item_disabled_set(inst->toolbar.copy, EINA_FALSE); + elm_object_item_disabled_set(inst->toolbar.cut, EINA_FALSE); } static void @@ -73,14 +77,16 @@ _cb_sel_clear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *inst = data; - elm_object_item_disabled_set(inst->copy_item, EINA_TRUE); - elm_object_item_disabled_set(inst->cut_item, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.copy, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.cut, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.copy, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.cut, EINA_TRUE); } static void _update_cur_file(const char *file, Ecrire_Entry *inst) { - const char *saving = (!elm_object_item_disabled_get(inst->save_item)) ? + const char *saving = (!elm_object_item_disabled_get(inst->menu.save)) ? "*" : ""; eina_stringshare_replace(&inst->filename, file); { @@ -131,19 +137,28 @@ _cb_cur_changed_manual(void *data, Evas_Object *obj EINA_UNUSED, void *event_inf static void _update_undo_redo_items(Ecrire_Entry *inst) { - elm_object_item_disabled_set(inst->undo_item, - !eina_list_next(inst->undo_stack_ptr)); - elm_object_item_disabled_set(inst->redo_item, - !eina_list_prev(inst->undo_stack_ptr)); + Eina_Bool disabled; + + disabled = !eina_list_next(inst->undo_stack_ptr); + + elm_object_item_disabled_set(inst->menu.undo, disabled); + elm_object_item_disabled_set(inst->toolbar.undo, disabled); + + disabled = !eina_list_prev(inst->undo_stack_ptr); + + elm_object_item_disabled_set(inst->menu.redo, disabled); + elm_object_item_disabled_set(inst->toolbar.redo, disabled); if (inst->undo_stack_ptr == inst->last_saved_stack_ptr) { - elm_object_item_disabled_set(inst->save_item, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.save, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.save, EINA_TRUE); _update_cur_file(inst->filename, inst); } - else if (elm_object_item_disabled_get(inst->save_item)) + else if (elm_object_item_disabled_get(inst->menu.save)) { - elm_object_item_disabled_set(inst->save_item, EINA_FALSE); + elm_object_item_disabled_set(inst->menu.save, EINA_FALSE); + elm_object_item_disabled_set(inst->toolbar.save, EINA_FALSE); _update_cur_file(inst->filename, inst); } } @@ -325,7 +340,8 @@ static void _cb_ent_changed(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) { Ecrire_Entry *inst = data; - elm_object_item_disabled_set(inst->save_item, EINA_FALSE); + elm_object_item_disabled_set(inst->menu.save, EINA_FALSE); + elm_object_item_disabled_set(inst->toolbar.save, EINA_FALSE); _update_cur_file(inst->filename, inst); /* Undo/redo */ @@ -355,7 +371,8 @@ _load_to_entry(Ecrire_Entry *inst, const char *file) elm_object_text_set(inst->entry, ""); _init_entry(inst); elm_entry_entry_append(inst->entry, buf); - elm_object_item_disabled_set(inst->save_item, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.save, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.save, EINA_TRUE); free(buf); } } @@ -381,7 +398,7 @@ _cb_fs_open_done(void *data, Evas_Object *obj EINA_UNUSED, } void -save_do(const char *file, Ecrire_Entry *inst) +ecrire_entry_save(Ecrire_Entry *inst, const char *file) { Eina_Bool ok; @@ -392,7 +409,8 @@ save_do(const char *file, Ecrire_Entry *inst) if (ok) { - elm_object_item_disabled_set(inst->save_item, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.save, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.save, EINA_TRUE); inst->last_saved_stack_ptr = inst->undo_stack_ptr; _update_cur_file(file, inst); } @@ -400,14 +418,14 @@ save_do(const char *file, Ecrire_Entry *inst) } static void -_cb_fs_save_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, - void *event_info) +_cb_fs_ecrire_entry_save(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info) { Ecrire_Entry *inst = data; - const char *selected = event_info; + const char *filename = event_info; - if (selected) - save_do(selected, inst); + if (filename) + ecrire_entry_save(inst, filename); } static void @@ -432,10 +450,10 @@ _cb_open(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) } void -editor_save(Ecrire_Entry *inst, void *callback_func) +ecrire_save(Ecrire_Entry *inst, void *callback_func) { if (inst->filename) - save_do(inst->filename, inst); + ecrire_entry_save(inst, inst->filename); else ui_file_open_save_dialog_open(inst->win, EINA_TRUE, callback_func, inst); } @@ -444,20 +462,14 @@ static void _cb_save(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *inst = data; - editor_save(inst, _cb_fs_save_done); + ecrire_save(inst, _cb_fs_ecrire_entry_save); } static void _cb_save_as(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *inst = data; - ui_file_open_save_dialog_open(inst->win, EINA_TRUE, _cb_fs_save_done, inst); -} - -static void -_win_del_do(void *data EINA_UNUSED) -{ - elm_exit(); + ui_file_open_save_dialog_open(inst->win, EINA_TRUE, _cb_fs_ecrire_entry_save, inst); } static void @@ -471,7 +483,8 @@ _new_do(void *data) { elm_object_text_set(inst->entry, ""); _init_entry(inst); - elm_object_item_disabled_set(inst->save_item, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.save, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.save, EINA_TRUE); _update_cur_file(NULL, inst); } } @@ -560,8 +573,8 @@ _cb_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event) } } -static void -editor_font_set(Ecrire_Entry *inst, const char *font, int font_size) +void +ecrire_entry_font_set(Ecrire_Entry *inst, const char *font, int font_size) { const Evas_Object *tb = elm_entry_textblock_get(inst->entry); Eina_Strbuf *sbuf; @@ -592,9 +605,9 @@ editor_font_set(Ecrire_Entry *inst, const char *font, int font_size) } void -editor_font_choose(Ecrire_Entry *inst, const char *font, int size) +ecrire_font_set_save(Ecrire_Entry *inst, const char *font, int size) { - editor_font_set(inst, font, size); + ecrire_entry_font_set(inst, font, size); eina_stringshare_replace(&_ent_cfg->font.name, font); _ent_cfg->font.size = size; @@ -602,6 +615,46 @@ editor_font_choose(Ecrire_Entry *inst, const char *font, int size) ecrire_cfg_save(); } + +static Evas_Object * +_ecrire_toolbar_add(Ecrire_Entry *inst) +{ + Evas_Object *tb; + Elm_Object_Item *it; + + tb = elm_toolbar_add(inst->win); + elm_toolbar_align_set(tb, 0); + elm_toolbar_horizontal_set(tb, 1); + elm_toolbar_icon_size_set(tb, 24); + evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, 0); + evas_object_show(tb); + + elm_toolbar_item_append(tb, "document-new", _("New"), _cb_new, inst); + elm_toolbar_item_append(tb, "document-open", _("Open"), _cb_open, inst); + inst->toolbar.save = elm_toolbar_item_append(tb, "document-save", _("Save"), _cb_save, inst); + elm_toolbar_item_append(tb, "document-save-as", _("Save As"), _cb_save_as, inst); + it = elm_toolbar_item_append(tb, "separator", "", NULL, NULL); + elm_toolbar_item_separator_set(it, 1); + inst->toolbar.cut = elm_toolbar_item_append(tb, "edit-cut", _("Cut"), _cb_cut, inst); + inst->toolbar.copy = elm_toolbar_item_append(tb, "edit-copy", _("Copy"), _cb_copy, inst); + inst->toolbar.paste = elm_toolbar_item_append(tb, "edit-paste", _("Paste"), _cb_paste, inst); + it = elm_toolbar_item_append(tb, "separator", "", NULL, NULL); + elm_toolbar_item_separator_set(it, 1); + inst->toolbar.undo = elm_toolbar_item_append(tb, "edit-undo", _("Undo"), _cb_undo, inst); + inst->toolbar.redo = elm_toolbar_item_append(tb, "edit-redo", _("Redo"), _cb_redo, inst); + elm_toolbar_item_append(tb, "edit-find-replace", _("Find"), _cb_find, inst); + elm_toolbar_item_append(tb, "go-jump", _("Go to..."), _cb_goto_line, inst); + it = elm_toolbar_item_append(tb, "separator", "", NULL, NULL); + elm_toolbar_item_separator_set(it, 1); + elm_toolbar_item_append(tb, "preferences-system", _("Settings"), _cb_font_settings, inst); + + elm_object_item_disabled_set(inst->toolbar.copy, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.cut, EINA_TRUE); + elm_object_item_disabled_set(inst->toolbar.save, EINA_TRUE); + return tb; +} + static void _ecrire_menu_add(Ecrire_Entry *inst) { @@ -612,40 +665,42 @@ _ecrire_menu_add(Ecrire_Entry *inst) it = elm_menu_item_add(menu, NULL, NULL, _("File"), NULL, NULL); elm_menu_item_add(menu, it, "document-new", _("New"), _cb_new, inst); elm_menu_item_add(menu, it, "document-open", _("Open"), _cb_open, inst); - inst->save_item = + inst->menu.save = elm_menu_item_add(menu, it, "document-save", _("Save"), _cb_save, inst); elm_menu_item_add(menu, it, "document-save-as", _("Save As"), _cb_save_as, inst); elm_menu_item_separator_add(menu, it); elm_menu_item_add(menu, it, "application-exit", _("Exit"), _cb_exit, inst); it = elm_menu_item_add(menu, NULL, NULL, _("Edit"), NULL, NULL); - inst->cut_item = + inst->menu.cut = elm_menu_item_add(menu, it, "edit-cut", _("Cut"), _cb_cut, inst); - inst->copy_item = + inst->menu.copy = elm_menu_item_add(menu, it, "edit-copy", _("Copy"), _cb_copy, inst); - inst->paste_item = + inst->menu.paste = elm_menu_item_add(menu, it, "edit-paste", _("Paste"), _cb_paste, inst); elm_menu_item_separator_add(menu, it); - inst->undo_item = + inst->menu.undo = elm_menu_item_add(menu, it, "edit-undo", _("Undo"), _cb_undo, inst); - inst->redo_item = + inst->menu.redo = elm_menu_item_add(menu, it, "edit-redo", _("Redo"), _cb_redo, inst); elm_menu_item_separator_add(menu, it); elm_menu_item_add(menu, it, "edit-find-replace", _("Find"), _cb_find, inst); - elm_menu_item_add(menu, it, "go-jump", _("Go to line.."), _cb_goto_line, inst); + elm_menu_item_add(menu, it, "go-jump", _("Go to line..."), _cb_goto_line, inst); elm_menu_item_separator_add(menu, it); elm_menu_item_add(menu, it, "preferences-system", _("Settings"), _cb_font_settings, inst); /* We don't have a selection when we start, make the items disabled */ - elm_object_item_disabled_set(inst->copy_item, EINA_TRUE); - elm_object_item_disabled_set(inst->cut_item, EINA_TRUE); - elm_object_item_disabled_set(inst->save_item, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.copy, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.cut, EINA_TRUE); + elm_object_item_disabled_set(inst->menu.save, EINA_TRUE); + } EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *pad, *fr, *bx, *entry, *cur_info; + Evas_Object *toolbar; Evas_Coord w = 600, h = 600; int c; @@ -718,6 +773,7 @@ elm_main(int argc, char **argv) DBG("Opening filename: '%s'", inst->filename); + elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); inst->win = win = elm_win_util_standard_add("erire", "Ecrire"); elm_win_autodel_set(inst->win, EINA_FALSE); @@ -726,6 +782,9 @@ elm_main(int argc, char **argv) evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bx); + toolbar = _ecrire_toolbar_add(inst); + elm_box_pack_end(bx, toolbar); + inst->frame = fr = elm_frame_add(win); evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); diff --git a/src/bin/meson.build b/src/bin/meson.build index 5e761e6..46605fd 100644 --- a/src/bin/meson.build +++ b/src/bin/meson.build @@ -4,7 +4,7 @@ executable('ecrire', [ 'file_utils.c', 'file_utils.h', 'main.c', - 'mess_header.h', + 'Ecrire.h', 'ui/alerts.c', 'ui/file_related.c', 'ui/settings.c', diff --git a/src/bin/ui/alerts.c b/src/bin/ui/alerts.c index 9104459..6131356 100644 --- a/src/bin/ui/alerts.c +++ b/src/bin/ui/alerts.c @@ -1,7 +1,7 @@ #include "config.h" #include <Elementary.h> -#include "../mess_header.h" +#include "../Ecrire.h" static void *done_data; static void (*done_cb)(void *data); @@ -11,19 +11,22 @@ _discard(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ecrire_Entry *ent = done_data; - evas_object_del(data); + if (data) + evas_object_del(data); done_cb(ent); } static void _fs_save_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, - void *event_info) + void *event_info) { + Ecrire_Entry *inst; const char *selected = event_info; + inst = done_data; if (selected) { - save_do(selected, done_data); + ecrire_entry_save(inst, selected); done_cb(data); } } @@ -34,7 +37,7 @@ _save(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) Ecrire_Entry *ent = done_data; evas_object_del(data); - editor_save(ent, _fs_save_done); + ecrire_save(ent, _fs_save_done); } static void diff --git a/src/bin/ui/file_related.c b/src/bin/ui/file_related.c index 8374d61..ebd868b 100644 --- a/src/bin/ui/file_related.c +++ b/src/bin/ui/file_related.c @@ -1,7 +1,7 @@ #include "config.h" #include <Elementary.h> -#include "../mess_header.h" +#include "../Ecrire.h" typedef struct _File_Selector_Data { diff --git a/src/bin/ui/goto_dialog.c b/src/bin/ui/goto_dialog.c index 3f01a13..c1ae743 100644 --- a/src/bin/ui/goto_dialog.c +++ b/src/bin/ui/goto_dialog.c @@ -1,9 +1,9 @@ #include "config.h" #include <Elementary.h> -#include "../mess_header.h" +#include "../Ecrire.h" -static Evas_Object *goto_win, *sent; +static Evas_Object *goto_popup, *sent; static void _goto_do(Evas_Object *entry, const char *text) @@ -14,86 +14,93 @@ _goto_do(Evas_Object *entry, const char *text) line = atoi(text); + evas_object_hide(goto_popup); if (line > 0) { - evas_object_hide(goto_win); - evas_textblock_cursor_line_set(mcur, line-1); - elm_entry_calc_force(entry); - - elm_object_focus_set(entry, EINA_TRUE); + evas_textblock_cursor_line_set(mcur, line-1); + elm_entry_calc_force(entry); + evas_object_smart_callback_call(entry, "cursor,changed", NULL); + elm_object_focus_set(entry, EINA_TRUE); } } static void -_goto_clicked(void *data, - Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +_cb_goto_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { _goto_do(data, elm_object_text_get(sent)); } static void -_my_win_del(void *data EINA_UNUSED, Evas_Object *obj, void *event_info) +_cb_goto_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) +{ + Evas_Event_Key_Down *ev; + + ev = event_info; + + if (!strcmp(ev->keyname, "Return")) + { + _goto_do(data, elm_object_text_get(sent)); + } +} + +static void +_my_parent_del(void *data EINA_UNUSED, Evas_Object *obj, void *event_info) { (void) obj; (void) event_info; /* Reset the stuff that need reseting */ - goto_win = NULL; + goto_popup = NULL; } Evas_Object * ui_goto_dialog_open(Evas_Object *parent, Ecrire_Entry *ent) { Evas_Object *entry = ent->entry; - Evas_Object *win, *bg, *bx, *hbx, *btn; + Evas_Object *popup, *bx, *hbx, *btn; - if (goto_win) + if (goto_popup) { - evas_object_show(goto_win); - return goto_win; + evas_object_show(goto_popup); + return goto_popup; } - goto_win = win = elm_win_add(parent, "jump-to", ELM_WIN_TOOLBAR); - elm_win_autodel_set(win, EINA_TRUE); - elm_win_title_set(win, _("Jump to")); - evas_object_smart_callback_add(win, "delete,request", _my_win_del, entry); - - bg = elm_bg_add(win); - elm_win_resize_object_add(win, bg); - evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bg); + goto_popup = popup = elm_popup_add(parent); + elm_object_part_text_set(popup, "title,text", _("Go to line...")); + evas_object_smart_callback_add(popup, "dismissed", _my_parent_del, entry); - bx = elm_box_add(win); - elm_win_resize_object_add(win, bx); + bx = elm_box_add(parent); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bx); - hbx = elm_box_add(win); + hbx = elm_box_add(parent); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(hbx); elm_box_pack_end(bx, hbx); - sent = elm_entry_add(win); + sent = elm_entry_add(parent); elm_entry_scrollable_set(sent, EINA_TRUE); elm_entry_single_line_set(sent, EINA_TRUE); + elm_entry_editable_set(sent, EINA_TRUE); evas_object_size_hint_align_set(sent, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(sent, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, sent); evas_object_show(sent); + evas_object_event_callback_add(sent, EVAS_CALLBACK_KEY_DOWN, _cb_goto_key_down, entry); - btn = elm_button_add(win); + btn = elm_button_add(parent); elm_object_text_set(btn, _("Go")); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0.0); evas_object_size_hint_weight_set(btn, 0.1, EVAS_HINT_EXPAND); evas_object_show(btn); elm_box_pack_end(hbx, btn); - evas_object_smart_callback_add(btn, "clicked", _goto_clicked, entry); + evas_object_smart_callback_add(btn, "clicked", _cb_goto_clicked, entry); + elm_object_content_set(popup, bx); - /* Forcing it to be the min height. */ - evas_object_resize(win, 300, 1); - evas_object_show(win); + elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER); + evas_object_show(popup); - return win; + return popup; } diff --git a/src/bin/ui/search_dialog.c b/src/bin/ui/search_dialog.c index 06dfd82..85bbea9 100644 --- a/src/bin/ui/search_dialog.c +++ b/src/bin/ui/search_dialog.c @@ -1,7 +1,7 @@ #include "config.h" #include <Elementary.h> -#include "../mess_header.h" +#include "../Ecrire.h" static Evas_Object *search_win, *sent, *rent; static Eina_Bool forward = EINA_TRUE; diff --git a/src/bin/ui/settings.c b/src/bin/ui/settings.c index f162504..53b83f6 100644 --- a/src/bin/ui/settings.c +++ b/src/bin/ui/settings.c @@ -1,7 +1,7 @@ #include "config.h" #include <Elementary.h> -#include "../mess_header.h" +#include "../Ecrire.h" Evas_Object *_settings_popup; @@ -72,7 +72,7 @@ _cb_font_selected(void *data, Evas_Object *obj EINA_UNUSED, return; eina_stringshare_replace(&inst->font.name, selected); - editor_font_choose(inst, inst->font.name, inst->font.size); + ecrire_font_set_save(inst, inst->font.name, inst->font.size); } static void @@ -84,7 +84,7 @@ _cb_spinner_delay_changed(void *data, Evas_Object *obj EINA_UNUSED, inst->font.size = elm_spinner_value_get(obj); if (inst->font.name) - editor_font_choose(inst, inst->font.name, inst->font.size); + ecrire_font_set_save(inst, inst->font.name, inst->font.size); } static void @@ -102,11 +102,11 @@ _cb_check_changed(void *data, Evas_Object *obj, if (enabled) { inst->font.name = NULL; - editor_font_choose(inst, NULL, 0); + ecrire_font_set_save(inst, NULL, 0); } else if (inst->font.name) { - editor_font_choose(inst, inst->font.name, inst->font.size); + ecrire_font_set_save(inst, inst->font.name, inst->font.size); } } @@ -121,7 +121,6 @@ _cb_btn_clicked(void *data, Evas_Object *obj, Evas_Object * ui_settings_open(Evas_Object *parent, Ecrire_Entry *inst) { - Evas_Object *entry = inst->entry; Evas_Object *pop, *tb, *rec, *bx, *hbx, *btn, *list, *lb, *sp, *ck; if (_settings_popup) diff --git a/src/bin/ui/ui.h b/src/bin/ui/ui.h index d35801b..ebf869b 100644 --- a/src/bin/ui/ui.h +++ b/src/bin/ui/ui.h @@ -1,7 +1,7 @@ #ifndef _UI_H #define _UI_H -#include "../mess_header.h" +#include "../Ecrire.h" void ui_file_open_save_dialog_open(Evas_Object *parent, Eina_Bool save, Evas_Smart_Cb func, void *data); --