enventor/src/bin/tools.c

129 lines
4.2 KiB
C

#include <Elementary.h>
#include "common.h"
#define TOOLBAR_ICON_SIZE 16
Eina_Bool
unselect_anim_cb(void *data)
{
Elm_Object_Item *it = data;
elm_toolbar_item_selected_set(it, EINA_FALSE);
return ECORE_CALLBACK_CANCEL;
}
static void
item_unselect(Elm_Object_Item *it)
{
ecore_timer_add(0.1, unselect_anim_cb, it);
}
static void
f2_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
menu_edc_new();
item_unselect((Elm_Object_Item *)event_info);
}
static void
f3_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
menu_edc_save();
item_unselect((Elm_Object_Item *)event_info);
}
static void
f4_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
menu_edc_load();
item_unselect((Elm_Object_Item *)event_info);
}
static void
f5_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
edit_data *ed = data;
config_part_highlight_set(!config_part_highlight_get());
edit_part_highlight_toggle(ed, EINA_TRUE);
item_unselect((Elm_Object_Item *)event_info);
}
static void
f6_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
config_dummy_swallow_set(!config_dummy_swallow_get());
view_dummy_toggle(VIEW_DATA, EINA_TRUE);
item_unselect((Elm_Object_Item *)event_info);
}
static void
f9_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
{
edit_data *ed = data;
config_linenumber_set(!config_linenumber_get());
edit_line_number_toggle(ed);
item_unselect((Elm_Object_Item *)event_info);
}
static void
f10_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
base_statusbar_toggle(EINA_TRUE);
item_unselect((Elm_Object_Item *)event_info);
}
static void
f11_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
if (search_is_opened()) search_close();
else search_open();
item_unselect((Elm_Object_Item *)event_info);
}
static void
f12_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
menu_setting();
item_unselect((Elm_Object_Item *)event_info);
}
Evas_Object *
tools_create(Evas_Object *parent, edit_data *ed)
{
Evas_Object *toolbar = elm_toolbar_add(parent);
elm_object_style_set(toolbar, "item_horizontal");
elm_toolbar_icon_size_set(toolbar,
TOOLBAR_ICON_SIZE * elm_config_scale_get());
elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
elm_toolbar_homogeneous_set(toolbar, EINA_FALSE);
elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_object_focus_allow_set(toolbar, EINA_FALSE);
Elm_Object_Item *it;
Evas_Object *icon;
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/images/new.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "New", f2_cb, NULL);
snprintf(buf, sizeof(buf), "%s/images/file.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Save", f3_cb, NULL);
snprintf(buf, sizeof(buf), "%s/images/file.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Load", f4_cb, NULL);
snprintf(buf, sizeof(buf), "%s/images/highlight.png",
elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Highlight", f5_cb, ed);
snprintf(buf, sizeof(buf), "%s/images/swallow.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Swallow", f6_cb, NULL);
snprintf(buf, sizeof(buf), "%s/images/lines.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Lines", f9_cb, ed);
snprintf(buf, sizeof(buf), "%s/images/find.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Find", f11_cb, NULL);
snprintf(buf, sizeof(buf), "%s/images/status.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Status", f10_cb, NULL);
snprintf(buf, sizeof(buf), "%s/images/setting.png", elm_app_data_dir_get());
it = elm_toolbar_item_append(toolbar, buf, "Setting", f12_cb, NULL);
return toolbar;
}