ecrire: improve ui and open behaviour.
This commit is contained in:
parent
c775617dd6
commit
3f70cbe5a8
|
@ -92,6 +92,10 @@ _update_cur_file(const char *file, Ecrire_Entry *ent)
|
|||
snprintf(buf, sizeof(buf), _("%sUntitled %d - %s"), saving,
|
||||
ent->unsaved, PACKAGE_NAME);
|
||||
|
||||
if (ent->filename)
|
||||
elm_object_text_set(ent->frame, ent->filename);
|
||||
else
|
||||
elm_object_text_set(ent->frame, buf);
|
||||
elm_win_title_set(ent->win, buf);
|
||||
}
|
||||
}
|
||||
|
@ -360,8 +364,13 @@ _fs_open_done(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|||
void *event_info)
|
||||
{
|
||||
const char *selected = event_info;
|
||||
if (selected)
|
||||
_load_to_entry(main_ec_ent, selected);
|
||||
|
||||
if (!selected) return;
|
||||
|
||||
if (ecore_file_app_installed("ecrire"))
|
||||
ecore_exe_run(eina_slstr_printf("ecrire %s", selected), NULL);
|
||||
else
|
||||
_load_to_entry(main_ec_ent, selected);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -447,10 +456,18 @@ static void
|
|||
_new_do(void *data)
|
||||
{
|
||||
Ecrire_Entry *ent = data;
|
||||
elm_object_text_set(ent->entry, "");
|
||||
_init_entry(ent);
|
||||
elm_object_item_disabled_set(ent->save_item, EINA_TRUE);
|
||||
_update_cur_file(NULL, ent);
|
||||
|
||||
if (ecore_file_app_installed("ecrire"))
|
||||
{
|
||||
ecore_exe_run("ecrire", NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
elm_object_text_set(ent->entry, "");
|
||||
_init_entry(ent);
|
||||
elm_object_item_disabled_set(ent->save_item, EINA_TRUE);
|
||||
_update_cur_file(NULL, ent);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -620,7 +637,7 @@ _key_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event)
|
|||
EAPI_MAIN int
|
||||
elm_main(int argc, char **argv)
|
||||
{
|
||||
Evas_Object *pad, *bx, *cur_info, *menu, *bx2;
|
||||
Evas_Object *pad, *fr, *bx, *cur_info, *menu, *bx2;
|
||||
Evas_Coord w = 600, h = 600;
|
||||
Elm_Widget_Item *mit;
|
||||
int c;
|
||||
|
@ -692,13 +709,19 @@ elm_main(int argc, char **argv)
|
|||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(bx);
|
||||
|
||||
main_ec_ent->frame = fr = elm_frame_add(main_ec_ent->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);
|
||||
evas_object_show(fr);
|
||||
|
||||
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);
|
||||
elm_entry_cnp_mode_set(main_ec_ent->entry, ELM_CNP_MODE_PLAINTEXT);
|
||||
evas_object_size_hint_align_set(main_ec_ent->entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(main_ec_ent->entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_box_pack_end(bx, main_ec_ent->entry);
|
||||
elm_object_content_set(fr, main_ec_ent->entry);
|
||||
elm_box_pack_end(bx, fr);
|
||||
evas_object_show(main_ec_ent->entry);
|
||||
|
||||
pad = elm_frame_add(main_ec_ent->win);
|
||||
|
@ -783,6 +806,7 @@ elm_main(int argc, char **argv)
|
|||
|
||||
evas_object_smart_callback_add(main_ec_ent->win, "delete,request", my_win_del, main_ec_ent);
|
||||
evas_object_smart_callback_add(main_ec_ent->win, "focus,in", my_win_focused, main_ec_ent);
|
||||
elm_win_center(main_ec_ent->win, EINA_TRUE, EINA_TRUE);
|
||||
evas_object_show(main_ec_ent->win);
|
||||
|
||||
_load_to_entry(main_ec_ent, main_ec_ent->filename);
|
||||
|
|
|
@ -14,6 +14,7 @@ extern int _ecrire_log_dom;
|
|||
|
||||
struct _Ecrire_Entry {
|
||||
Evas_Object *entry;
|
||||
Evas_Object *frame;
|
||||
Evas_Object *win;
|
||||
const char *filename;
|
||||
int unsaved;
|
||||
|
|
|
@ -68,41 +68,24 @@ ui_goto_dialog_open(Evas_Object *parent, Ecrire_Entry *ent)
|
|||
evas_object_show(bx);
|
||||
|
||||
hbx = elm_box_add(win);
|
||||
elm_box_padding_set(hbx, 15, 0);
|
||||
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, 0.0);
|
||||
evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(hbx);
|
||||
elm_box_pack_end(bx, hbx);
|
||||
|
||||
lbl = elm_label_add(win);
|
||||
elm_object_text_set(lbl, _("Jump to line:"));
|
||||
evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, 0.5);
|
||||
evas_object_size_hint_weight_set(lbl, 0.0, 0.0);
|
||||
elm_box_pack_end(hbx, lbl);
|
||||
evas_object_show(lbl);
|
||||
|
||||
sent = elm_entry_add(win);
|
||||
elm_entry_scrollable_set(sent, EINA_TRUE);
|
||||
elm_entry_single_line_set(sent, EINA_TRUE);
|
||||
evas_object_size_hint_align_set(sent, EVAS_HINT_FILL, 0.0);
|
||||
evas_object_size_hint_weight_set(sent, EVAS_HINT_EXPAND, 0.0);
|
||||
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);
|
||||
|
||||
hbx = elm_box_add(win);
|
||||
elm_box_homogeneous_set(hbx, EINA_FALSE);
|
||||
elm_box_padding_set(hbx, 15, 0);
|
||||
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, 0.0);
|
||||
evas_object_show(hbx);
|
||||
elm_box_pack_end(bx, hbx);
|
||||
|
||||
btn = elm_button_add(win);
|
||||
elm_object_text_set(btn, _("Go"));
|
||||
evas_object_size_hint_align_set(btn, 1.0, 0.0);
|
||||
evas_object_size_hint_weight_set(btn, 0.0, 0.0);
|
||||
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);
|
||||
|
|
|
@ -132,7 +132,7 @@ Evas_Object *
|
|||
ui_find_dialog_open(Evas_Object *parent, Ecrire_Entry *ent)
|
||||
{
|
||||
Evas_Object *entry = ent->entry;
|
||||
Evas_Object *win, *bg, *bx, *lbl, *hbx, *btn;
|
||||
Evas_Object *win, *bg, *tbl, *bx, *exp, *pad, *lbl, *hbx, *btn;
|
||||
|
||||
if (search_win)
|
||||
{
|
||||
|
@ -155,19 +155,18 @@ ui_find_dialog_open(Evas_Object *parent, Ecrire_Entry *ent)
|
|||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(bx);
|
||||
|
||||
hbx = elm_box_add(win);
|
||||
elm_box_padding_set(hbx, 15, 0);
|
||||
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, 0.0);
|
||||
evas_object_show(hbx);
|
||||
elm_box_pack_end(bx, hbx);
|
||||
tbl = elm_table_add(win);
|
||||
elm_table_padding_set(tbl, 15, 0);
|
||||
evas_object_size_hint_align_set(tbl, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(tbl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(tbl);
|
||||
elm_box_pack_end(bx, tbl);
|
||||
|
||||
lbl = elm_label_add(win);
|
||||
elm_object_text_set(lbl, _("Search for:"));
|
||||
elm_object_text_set(lbl, _("Search:"));
|
||||
evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, 0.5);
|
||||
evas_object_size_hint_weight_set(lbl, 0.0, 0.0);
|
||||
elm_box_pack_end(hbx, lbl);
|
||||
elm_table_pack(tbl, lbl, 0, 0, 1, 1);
|
||||
evas_object_show(lbl);
|
||||
|
||||
sent = elm_entry_add(win);
|
||||
|
@ -175,23 +174,14 @@ ui_find_dialog_open(Evas_Object *parent, Ecrire_Entry *ent)
|
|||
elm_entry_single_line_set(sent, EINA_TRUE);
|
||||
evas_object_size_hint_align_set(sent, EVAS_HINT_FILL, 0.0);
|
||||
evas_object_size_hint_weight_set(sent, EVAS_HINT_EXPAND, 0.0);
|
||||
elm_box_pack_end(hbx, sent);
|
||||
elm_table_pack(tbl, sent, 1, 0, 1, 1);
|
||||
evas_object_show(sent);
|
||||
|
||||
hbx = elm_box_add(win);
|
||||
elm_box_homogeneous_set(hbx, EINA_FALSE);
|
||||
elm_box_padding_set(hbx, 15, 0);
|
||||
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, 0.0);
|
||||
evas_object_show(hbx);
|
||||
elm_box_pack_end(bx, hbx);
|
||||
|
||||
lbl = elm_label_add(win);
|
||||
elm_object_text_set(lbl, _("Replace with:"));
|
||||
evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, 0.5);
|
||||
elm_object_text_set(lbl, _("Replace:"));
|
||||
evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, 1.0);
|
||||
evas_object_size_hint_weight_set(lbl, 0.0, 0.0);
|
||||
elm_box_pack_end(hbx, lbl);
|
||||
elm_table_pack(tbl, lbl, 0, 1, 1, 1);
|
||||
evas_object_show(lbl);
|
||||
|
||||
rent = elm_entry_add(win);
|
||||
|
@ -199,36 +189,57 @@ ui_find_dialog_open(Evas_Object *parent, Ecrire_Entry *ent)
|
|||
elm_entry_single_line_set(rent, EINA_TRUE);
|
||||
evas_object_size_hint_align_set(rent, EVAS_HINT_FILL, 0.0);
|
||||
evas_object_size_hint_weight_set(rent, EVAS_HINT_EXPAND, 0.0);
|
||||
elm_box_pack_end(hbx, rent);
|
||||
elm_table_pack(tbl, rent, 1, 1, 1, 1);
|
||||
evas_object_show(rent);
|
||||
|
||||
hbx = elm_box_add(win);
|
||||
elm_box_homogeneous_set(hbx, EINA_FALSE);
|
||||
elm_box_padding_set(hbx, 15, 0);
|
||||
elm_box_horizontal_set(hbx, EINA_TRUE);
|
||||
evas_object_size_hint_align_set(hbx, 1.0, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(hbx, 0.0, 0.0);
|
||||
evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0.0);
|
||||
evas_object_show(hbx);
|
||||
elm_box_pack_end(bx, hbx);
|
||||
|
||||
exp = elm_box_add(win);
|
||||
evas_object_size_hint_align_set(exp, 1.0, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(exp, EVAS_HINT_EXPAND, 0.0);
|
||||
elm_box_horizontal_set(exp, EINA_TRUE);
|
||||
elm_box_homogeneous_set(exp, EINA_TRUE);
|
||||
evas_object_show(exp);
|
||||
elm_box_pack_end(hbx, exp);
|
||||
|
||||
pad = elm_frame_add(win);
|
||||
elm_object_style_set(pad, "pad_small");
|
||||
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(pad, EVAS_HINT_EXPAND, 0.0);
|
||||
evas_object_show(pad);
|
||||
|
||||
btn = elm_button_add(win);
|
||||
elm_object_text_set(btn, _("Find"));
|
||||
evas_object_size_hint_align_set(btn, 1.0, 0.0);
|
||||
evas_object_size_hint_weight_set(btn, 0.0, 0.0);
|
||||
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0);
|
||||
evas_object_show(btn);
|
||||
elm_box_pack_end(hbx, btn);
|
||||
elm_object_content_set(pad, btn);
|
||||
elm_box_pack_end(exp, pad);
|
||||
evas_object_smart_callback_add(btn, "clicked", _find_clicked, entry);
|
||||
|
||||
pad = elm_frame_add(win);
|
||||
elm_object_style_set(pad, "pad_small");
|
||||
evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(pad, EVAS_HINT_EXPAND, 0.0);
|
||||
evas_object_show(pad);
|
||||
|
||||
btn = elm_button_add(win);
|
||||
elm_object_text_set(btn, _("Replace"));
|
||||
evas_object_size_hint_align_set(btn, 1.0, 0.0);
|
||||
evas_object_size_hint_weight_set(btn, 0.0, 0.0);
|
||||
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0);
|
||||
evas_object_show(btn);
|
||||
elm_box_pack_end(hbx, btn);
|
||||
elm_object_content_set(pad, btn);
|
||||
elm_box_pack_end(exp, pad);
|
||||
evas_object_smart_callback_add(btn, "clicked", _replace_clicked, entry);
|
||||
|
||||
/* Forcing it to be the min height. */
|
||||
evas_object_resize(win, 300, 1);
|
||||
evas_object_resize(win, 250, 1);
|
||||
evas_object_show(win);
|
||||
|
||||
cur_find = NULL;
|
||||
|
|
Loading…
Reference in New Issue