ecrire: Move things...add toolbar.

More changes...to come.
This commit is contained in:
Alastair Poole 2021-04-07 10:03:17 +01:00
parent 6d63c0cb09
commit dfb5a9594d
11 changed files with 193 additions and 116 deletions

View File

@ -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>

View File

@ -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;

View File

@ -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)

View File

@ -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);

View File

@ -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',

View File

@ -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

View File

@ -1,7 +1,7 @@
#include "config.h"
#include <Elementary.h>
#include "../mess_header.h"
#include "../Ecrire.h"
typedef struct _File_Selector_Data
{

View File

@ -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);
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);
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);
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;
}

View File

@ -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;

View File

@ -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)

View File

@ -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);