about: redesign about page.

This commit is contained in:
Hermet Park 2016-05-25 02:20:51 +09:00
parent ab93f6ecb8
commit 3f317692cb
15 changed files with 398 additions and 316 deletions

19
data/about/COMMAND Normal file
View File

@ -0,0 +1,19 @@
enventor --help</br>
enventor [input file] [output file] [-t] [-i image path] [-s sound path] [-f font path] [-d data path] [-w workspace path]</br>
</br>
input file = EDC file to open. If input file is skipped, Enventor will open a default template code with a temporary file.</br>
output file = EDJ file to store compiled file. If output file is skipped, Enventor will store the binary file to the temporary directory.</br>
-t = Open template menu when you launch Enventor</br>
-i = path to image resources that the edc includes</br>
-s = path to sound resources that the edc includes</br>
-f = path to font resources that the edc includes</br>
-d = path to data resources that the edc includes</br>
-w = workspace directory path that contains group edc files</br>
</br>
Examples of Enventor command line usage:</br>
$ enventor</br>
$ enventor input.edc -i ./images</br>
$ enventor input.edc output.edj -i ./images</br>
$ enventor -t</br>
$ enventor newfile.edc -t</br>
$ enventor input.edc output.edj -i ./images -s ./sounds -w ./workspace

15
data/about/DEVEL Normal file
View File

@ -0,0 +1,15 @@
Many developers have contributed to Enventor project. The following names are dedicated Enventor developers' names but there are more people who've gladly contributed for Enventor. For a complete list of contributors, See AUTHORS file.</br>
</br>
Copyright (C) 2013 - 2016 by:</br>
</br>
Hermet Park</br>
Jaehyun Cho</br>
Mykyta Biliavskyi</br>
Kateryna Fesyna</br>
Tae-Hyup Kim</br>
Yunho Jeong</br>
Mincheol Seo</br>
Raoul Hecky</br>
Yurii Tsivun</br>
</br>
And various contributors (See AUTHORS)

61
data/about/HISTORY Normal file
View File

@ -0,0 +1,61 @@
<b>Changes since Enventor 0.7.0</b><br>
<br>
<b>Additions:</b><br>
* Editor: Open/Close Bracket Highlighting.<br>
* Statusbar: Support view inverting function (for simulating device rotation)<br>
* Introduce a edc navigator.<br>
* Support a color selector for "color" keywords in edc to change color.<br>
* Add Enventor APis.<br>
- enventor_object_part_states_list_get()<br>
- enventor_object_parts_list_get()<br>
- enventor_object_part_type_get()<br>
- enventor_object_programs_list_get()<br>
- ctxpopup,activated signal.<br>
<br>
<b>Removes:</b><br>
* Remove fixed size option in setting.<br>
* Remove minimum new template code.<br>
* Remove Enventr_Max_Line data type.<br>
<br>
<b>Improvements:</b><br>
* Editor: Support group name macros and preview those group macros.<br>
* Improve Dummy Spacer UI.<br>
* Statusbar supports live view zooming.<br>
* Statusbar supports view size setting.<br>
* View Scale slider in setting works on step size for mouse wheel.<br>
* Improve the usage of the live view zooming with mouse wheel.<br>
* Template code: fixed weird code insertion inside LazyEDC block.<br>
* Support more autocomplete keywords.<br>
* New design of Enventor logo.<br>
* Improve tools ui.<br>
* Simpilier editor ctxpopup ui.<br>
* Console Box: Clicking Error log redirects editor cursor to the error code.<br>
* Auto Indentation: Apply auto indentation for a edc file which is newly loaded.<br>
* Auto Indentation: Improve logics for better smart results.<br>
* Auto-select error code when error is occured.<br>
* Auto completion: improve logic to guide better smart candidates lists.<br>
* Live Edit: Select a name text in edc for a newly inserted part.<br>
* Part Selection: Select a name in edc for a current selected part.<br>
* RedoUndo: Support real-time preview when we undo/redo the code.<br>
* Set a default font as Monospace type.<br>
* Support monospace font types in the setting fonts list.<br>
* In default, Select a current font type in the text setting.<br>
* Editor Ctxpopup: Support Back key to reset the modification.<br>
<br>
<b>Fixes:</b><br>
* Fix incorrect tools' tooltip position.<br>
* Remove some unsupported edc keyowrds.<br>
* Fix some memory leak issues.<br>
* Fix ridiculous editor cursor jumping issue.<br>
* Fix to paste markup symbols correctly.<br>
* Fix editor to work with Copy and Paste Plain Text mode.<br>
* Fix crash issues.<br>
* Fix a bug that dummy swallow is invisible.<br>
* Fix a bug that part selection in live view doesn't work.<br>
* Fix not to insert an empty line at the end of file.<br>
* Fix to keep the edc changed status correctly. This brought enventor save edc files multiple times unnecessarily.<br>
* Fix initial line max is 0 issue.<br>
* Reset cursor position to 0 when edc file is loaded.<br>
* Fix to update images properly even if very large size of image were updated by other process.<br>
<br>
Please see NEWS for more information.

10
data/about/INTRO Normal file
View File

@ -0,0 +1,10 @@
<b>Enventor v0.8.0</b></br>
</br>
This is an EDC editor with some convenient functions. It was started near the begining of June 2013, so expecting it to do everything a mature script editor does is a bit premature. However, considering its young age, it does a lot.</br>
</br>
Please see the following sites for more information.</br>
</br>
http://www.enlightenment.org</br>
https://phab.enlightenment.org/w/projects/enventor/</br>
http://www.openhub.net/p/enventor

View File

@ -1,6 +1,10 @@
MAINTAINERCLEANFILES = Makefile.in
filesdir = $(datadir)/$(PACKAGE)/about
files_DATA = \
ABOUT
INTRO \
HISTORY \
SHORTCUT \
COMMAND \
DEVEL
EXTRA_DIST = $(files_DATA)

43
data/about/SHORTCUT Normal file
View File

@ -0,0 +1,43 @@
<b>Functions:</b></br>
Esc - Open/Close Menu</br>
F1 - About</br>
F2 - New</br>
F3 - Save</br>
F4 - Load</br>
F5 - Toggle Line Number</br>
F8 - Toggle Tools</br>
F9 - Toggle File Browser</br>
F10 - Toggle EDC Navigator</br>
F11 - Toggle Status</br>
F12 - Settings</br>
</br>
Ctrl+S - Quick Save + Update Live View</br>
Ctrl+I - Toggle Auto Indentation</br>
Ctrl+O - Toggle Auto Completion</br>
Ctrl+W - Toggle Dummy Parts</br>
Ctrl+H - Toggle Part Highlighting</br>
Ctrl+M - Toggle Mirror Mode</br>
Ctrl+T - Insert Defaut Template Code</br>
Ctrl+Mouse Wheel Up - View Zoom In / Font Size Up</br>
Ctrl+Mouse Wheel Down - View Zoom Out / Font Size Down</br>
</br>
<b>Panes Control:</b></br>
Alt+Left - Toggle Full Edit View</br>
Alt+Right - Toggle Full Live View</br>
Alt+Up - Toggle Full Console View</br>
Alt+Down - Toggle Full Editors View</br>
</br>
<b>Text Editor:</b></br>
Ctrl+A - Select Text All</br>
Ctrl+Double Click - Select a word</br>
Ctrl+Z - Undo Text</br>
Ctrl+R - Redo Text</br>
Ctrl+C - Copy Selected Text</br>
Ctrl+V - Paste Copied Text</br>
Ctrl+X - Cut Selected Text</br>
Ctrl+D - Delete a Current line</br>
Ctrl+F - Find/Replace</br>
Ctrl+L - Go to line</br>
Ctrl+Home - Go to the Top line</br>
Ctrl+End - Go to the Bottom line</br>
Ctrl+Space - Search candidate keywords in the context

View File

@ -13,120 +13,6 @@ images {
image: "bg_demo.png" COMP;
}
group { name: "about_layout";
parts {
part { name: "clipper";
type: RECT;
description { state: "default" 0.0;
color: 127 127 127 127;
}
description { state: "show" 0.0;
color: 255 255 255 255;
}
}
part { name: "bg";
type: RECT;
clip_to: "clipper";
description { state: "default" 0.0;
color: 0 0 0 175;
}
}
part { name: "left_top_padding";
type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 10 10;
fixed: 1 1;
align: 0 0;
rel2.relative: 0 0;
}
}
part { name: "right_bottom_padding";
type: SPACER;
scale: 1;
description { state: "default" 0.0;
min: 10 10;
fixed: 1 1;
align: 1 1;
rel1.relative: 1 1;
}
}
part { name: "elm.swallow.entry";
type: SWALLOW;
scale: 1;
clip_to: "clipper";
description { state: "default" 0.0;
rel1.to: "left_top_padding";
rel1.relative: 1 1;
rel2.to: "right_bottom_padding";
rel2.relative: 0 0;
}
}
swallow { "elm.swallow.back_button";
scale: 1;
clip_to: "clipper";
desc {
fixed: 1 1;
min: 26 26;
max: 26 26;
align: 1 0.0;
rel1.relative: 0 0;
rel2.relative: 0 0;
rel1.to: "back_button_padding";
rel2.to: "back_button_padding";
}
}
spacer { "back_button_padding";
scale: 1;
desc {
fixed: 1 1;
min: 22 0;
align: 1 0.0;
rel1.relative: 1 0;
rel2.relative: 1 0;
}
}
part { name: "event_blocker";
type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0;
visible: 1;
}
description { state: "hide" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
}
programs {
program { name: "load";
signal: "load";
action: STATE_SET "show" 0.0;
transition: "DECELERATE" 0.5;
target: "clipper";
after: "event_blocker_hide";
}
program { name: "dismiss";
signal: "elm,state,dismiss";
source: "";
action: STATE_SET "default" 0.0;
// transition: "DECELERATE" 0.125;
target: "clipper";
target: "event_blocker";
after: "dismiss_done";
}
program { name: "event_blocker_hide";
signal: "elm,state,event_blocker,hide";
source: "";
action: STATE_SET "hide" 0.0;
target: "event_blocker";
}
program { name: "dismiss_done";
action: SIGNAL_EMIT "elm,state,dismiss,done" "";
}
}
}
group { name: "fileselector_layout";
parts {
part { name: "clipper";

View File

@ -745,114 +745,6 @@ group { name: "elm/scroller/base/enventor";
}
}
group { name: "elm/scroller/entry/about";
inherit: "elm/scroller/base/enventor";
image: "bg_glow_in.png" COMP;
parts {
part { name: "elm.swallow.content";
description { state: "default" 0.0;
rel1.to: "elm.swallow.icon";
rel1.relative: 1.0 0.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.end";
rel2.relative: 0.0 1.0;
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.icon"; type: SWALLOW;
clip_to: "clipper";
description { state: "default" 0.0;
fixed: 1 1;
rel1.offset: 1 1;
rel2.offset: 1 -2;
rel2.relative: 0.0 1.0;
visible: 0;
align: 1.0 0.0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
align: 0.0 0.0;
}
}
program {
signal: "elm,action,show,icon"; source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.icon";
}
program {
signal: "elm,action,hide,icon"; source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.icon";
}
part { name: "elm.swallow.end"; type: SWALLOW;
clip_to: "clipper";
description { state: "default" 0.0;
fixed: 1 1;
rel1.offset: -2 1;
rel1.relative: 1.0 0.0;
rel2.offset: -2 -2;
visible: 0;
align: 0.0 0.0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
align: 1.0 0.0;
}
}
program {
signal: "elm,action,show,end"; source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.end";
}
program {
signal: "elm,action,hide,end"; source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.end";
}
part { name: "glow";
mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "bg";
rel2.to: "bg";
image.normal: "bg_glow_in.png";
image.border: 7 7 7 7;
image.middle: 0;
fill.smooth: 0;
color: 255 255 255 0;
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
description { state: "focused2" 0.0;
inherit: "default" 0.0;
color: 255 255 255 64;
}
}
}
programs {
program {
signal: "elm,action,focus_highlight,show"; source: "elm";
action: STATE_SET "focused" 0.0;
target: "glow";
after: "focus_in2";
}
program { name: "focus_in2";
action: STATE_SET "focused2" 0.0;
transition: DECELERATE 0.5;
target: "glow";
}
program {
signal: "elm,action,focus_highlight,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "glow";
}
}
}
group { name: "elm/ctxpopup/bg/enventor";
parts {
part { name: "ctxpopup_bg";

View File

@ -32,7 +32,8 @@ enventor_SOURCES = \
edc_navigator.c \
file_browser.c \
build_setting.c \
preference_setting.c
preference_setting.c \
about.c
enventor_LDADD = \
$(top_builddir)/src/lib/libenventor.la \

232
src/bin/about.c Normal file
View File

@ -0,0 +1,232 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "common.h"
static Evas_Coord win_x = -1;
static Evas_Coord win_y = -1;
static Evas_Coord win_w = DEFAULT_ABOUT_WIN_W;
static Evas_Coord win_h = DEFAULT_ABOUT_WIN_H;
static Evas_Object *g_win = NULL;
static void
keygrabber_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
about_close();
}
static void
win_delete_request_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
about_close();
}
static void
win_moved_cb(void *data EINA_UNUSED, Evas_Object *obj,
void *event_info EINA_UNUSED)
{
/* Move the window with the previous remembered position when the window is
moved by window manager first time. */
if ((win_x != -1) || (win_y != -1)) evas_object_move(obj, win_x, win_y);
evas_object_smart_callback_del(obj, "moved", win_moved_cb);
}
void
about_open(void)
{
Evas_Object *win = g_win;
if (win)
{
elm_win_activate(win);
return;
}
Evas_Object *entry;
char buf[PATH_MAX];
//Win
win = elm_win_add(base_win_get(), _("Enventor About"), ELM_WIN_BASIC);
elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
elm_win_title_set(win, _("About"));
evas_object_smart_callback_add(win, "delete,request", win_delete_request_cb,
NULL);
evas_object_smart_callback_add(win, "moved", win_moved_cb, NULL);
//Bg
Evas_Object *bg = elm_bg_add(win);
evas_object_show(bg);
elm_win_resize_object_add(win, bg);
//Scroller
Evas_Object *scroller = elm_scroller_add(win);
evas_object_show(scroller);
elm_win_resize_object_add(win, scroller);
//Box
Evas_Object *box = elm_box_add(win);
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(box);
elm_object_content_set(scroller, box);
//Frame1: Introduction
Evas_Object *intro_frame = elm_frame_add(box);
elm_frame_autocollapse_set(intro_frame, EINA_TRUE);
elm_object_text_set(intro_frame, "Introduction");
evas_object_size_hint_weight_set(intro_frame, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(intro_frame, EVAS_HINT_FILL, 0);
evas_object_show(intro_frame);
elm_box_pack_end(box, intro_frame);
//Entry
entry = elm_entry_add(intro_frame);
elm_entry_scrollable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, EINA_TRUE);
elm_entry_editable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, ELM_WRAP_MIXED);
elm_object_content_set(intro_frame, entry);
//Read File
snprintf(buf, sizeof(buf), "%s/about/INTRO", elm_app_data_dir_get());
elm_entry_autosave_set(entry, EINA_FALSE);
elm_entry_file_set(entry, buf, ELM_TEXT_FORMAT_MARKUP_UTF8);
//Frame2: Version History
Evas_Object *version_frame = elm_frame_add(box);
elm_frame_autocollapse_set(version_frame, EINA_TRUE);
elm_frame_collapse_set(version_frame, EINA_TRUE);
elm_object_text_set(version_frame, "Version History");
evas_object_size_hint_weight_set(version_frame, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(version_frame, EVAS_HINT_FILL,
0);
evas_object_show(version_frame);
elm_box_pack_end(box, version_frame);
//Entry
entry = elm_entry_add(version_frame);
elm_entry_scrollable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, EINA_TRUE);
elm_entry_editable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, ELM_WRAP_MIXED);
elm_object_content_set(version_frame, entry);
//Read File
snprintf(buf, sizeof(buf), "%s/about/HISTORY", elm_app_data_dir_get());
elm_entry_autosave_set(entry, EINA_FALSE);
elm_entry_file_set(entry, buf, ELM_TEXT_FORMAT_MARKUP_UTF8);
//Frame3: Shortcut Keys
Evas_Object *key_frame = elm_frame_add(box);
elm_frame_autocollapse_set(key_frame, EINA_TRUE);
elm_frame_collapse_set(key_frame, EINA_TRUE);
elm_object_text_set(key_frame, "Shortcut keys");
evas_object_size_hint_weight_set(key_frame, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(key_frame, EVAS_HINT_FILL, 0);
evas_object_show(key_frame);
elm_box_pack_end(box, key_frame);
//Entry
entry = elm_entry_add(key_frame);
elm_entry_scrollable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, EINA_TRUE);
elm_entry_editable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, ELM_WRAP_MIXED);
elm_object_content_set(key_frame, entry);
//Read File
snprintf(buf, sizeof(buf), "%s/about/SHORTCUT", elm_app_data_dir_get());
elm_entry_autosave_set(entry, EINA_FALSE);
elm_entry_file_set(entry, buf, ELM_TEXT_FORMAT_MARKUP_UTF8);
//Frame4: Commandline
Evas_Object *command_frame = elm_frame_add(box);
elm_frame_autocollapse_set(command_frame, EINA_TRUE);
elm_frame_collapse_set(command_frame, EINA_TRUE);
elm_object_text_set(command_frame, "Commandline Usage");
evas_object_size_hint_weight_set(command_frame, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(command_frame, EVAS_HINT_FILL, 0);
evas_object_show(command_frame);
elm_box_pack_end(box, command_frame);
//Entry
entry = elm_entry_add(command_frame);
elm_entry_scrollable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, EINA_TRUE);
elm_entry_editable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, ELM_WRAP_MIXED);
elm_object_content_set(command_frame, entry);
//Read File
snprintf(buf, sizeof(buf), "%s/about/COMMAND", elm_app_data_dir_get());
elm_entry_autosave_set(entry, EINA_FALSE);
elm_entry_file_set(entry, buf, ELM_TEXT_FORMAT_MARKUP_UTF8);
//Frame5: EDC References
Evas_Object *refer_frame = elm_frame_add(box);
elm_object_text_set(refer_frame, "EDC References (Not support yet)");
evas_object_size_hint_weight_set(refer_frame, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(refer_frame, EVAS_HINT_FILL,
EVAS_HINT_FILL);
evas_object_show(refer_frame);
elm_box_pack_end(box, refer_frame);
//Frame6:Developers
Evas_Object *devel_frame = elm_frame_add(box);
elm_frame_autocollapse_set(devel_frame, EINA_TRUE);
elm_frame_collapse_set(devel_frame, EINA_TRUE);
elm_object_text_set(devel_frame, "Developers");
evas_object_size_hint_weight_set(devel_frame, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_align_set(devel_frame, EVAS_HINT_FILL,
EVAS_HINT_FILL);
evas_object_show(devel_frame);
elm_box_pack_end(box, devel_frame);
//Entry
entry = elm_entry_add(devel_frame);
elm_entry_scrollable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, EINA_TRUE);
elm_entry_editable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, ELM_WRAP_MIXED);
elm_object_content_set(devel_frame, entry);
//Read File
snprintf(buf, sizeof(buf), "%s/about/DEVEL", elm_app_data_dir_get());
elm_entry_autosave_set(entry, EINA_FALSE);
elm_entry_file_set(entry, buf, ELM_TEXT_FORMAT_MARKUP_UTF8);
win_w = (Evas_Coord) ((double) win_w * elm_config_scale_get());
win_h = (Evas_Coord) ((double) win_h * elm_config_scale_get());
evas_object_resize(win, win_w, win_h);
evas_object_show(win);
//Keygrabber
Evas_Object *keygrabber =
evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_event_callback_add(keygrabber, EVAS_CALLBACK_KEY_DOWN,
keygrabber_key_down_cb, NULL);
if (!evas_object_key_grab(keygrabber, "Escape", 0, 0, EINA_TRUE))
EINA_LOG_ERR(_("Failed to grab key - Escape"));
g_win = win;
}
void
about_close(void)
{
Evas_Object *win = g_win;
if (!win) return;
//Save last state
evas_object_geometry_get(win, NULL, NULL, &win_w, &win_h);
elm_win_screen_position_get(win, &win_x, &win_y);
evas_object_del(win);
g_win = NULL;
}

View File

@ -746,7 +746,7 @@ keygrabber_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
{
enventor_object_ctxpopup_dismiss(base_enventor_get());
live_edit_cancel();
menu_about();
about_open();
return;
}
//New

View File

@ -10,7 +10,6 @@ struct menu_s
Evas_Object *newfile_layout;
Evas_Object *warning_layout;
Evas_Object *fileselector_layout;
Evas_Object *about_layout;
const char *last_accessed_path;
@ -43,12 +42,6 @@ newfile_close(menu_data *md)
elm_object_signal_emit(md->newfile_layout, "elm,state,dismiss", "");
}
static void
about_close(menu_data *md)
{
elm_object_signal_emit(md->about_layout, "elm,state,dismiss", "");
}
static void
warning_close(menu_data *md)
{
@ -86,17 +79,6 @@ fileselector_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
menu_deactivate_request();
}
static void
about_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED,
const char *source EINA_UNUSED)
{
menu_data *md = data;
evas_object_del(md->about_layout);
md->about_layout = NULL;
menu_deactivate_request();
}
static void
menu_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED,
@ -137,14 +119,6 @@ newfile_cancel_btn_cb(void *data, Evas_Object *obj EINA_UNUSED,
newfile_close(md);
}
static void
about_back_btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *envent_info EINA_UNUSED)
{
menu_data *md = data;
about_close(md);
}
static void
menu_back_btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *envent_info EINA_UNUSED)
@ -234,60 +208,10 @@ warning_open(menu_data *md, Evas_Smart_Cb yes_cb, Evas_Smart_Cb save_cb)
}
static void
about_open(menu_data *md)
{
//Layout
Evas_Object *layout = elm_layout_add(base_win_get());
elm_layout_file_set(layout, EDJE_PATH, "about_layout");
elm_object_signal_callback_add(layout, "elm,state,dismiss,done", "",
about_dismiss_done, md);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(layout);
base_win_resize_object_add(layout);
//Back Button
Evas_Object *back_button = elm_button_add(layout);
elm_object_style_set(back_button, ENVENTOR_NAME);
elm_object_scale_set(back_button, 1.15);
elm_object_focus_allow_set(back_button, EINA_FALSE);
evas_object_show(back_button);
evas_object_smart_callback_add(back_button, "clicked",
about_back_btn_clicked_cb, md);
//Back Button Icon
Evas_Object *back_img = elm_image_add(back_button);
elm_image_file_set(back_img, EDJE_PATH, "close");
elm_object_content_set(back_button, back_img);
elm_object_part_content_set(layout, "elm.swallow.back_button", back_button);
//Entry
Evas_Object *entry = elm_entry_add(layout);
elm_object_style_set(entry, "about");
elm_entry_scrollable_set(entry, EINA_TRUE);
elm_entry_line_wrap_set(entry, EINA_TRUE);
elm_entry_editable_set(entry, EINA_FALSE);
elm_entry_line_wrap_set(entry, ELM_WRAP_MIXED);
evas_object_show(entry);
elm_object_focus_set(entry, EINA_TRUE);
elm_object_part_content_set(layout, "elm.swallow.entry", entry);
//Read README
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/about/ABOUT", elm_app_data_dir_get());
elm_entry_autosave_set(entry, EINA_FALSE);
elm_entry_file_set(entry, buf, ELM_TEXT_FORMAT_MARKUP_UTF8);
md->about_layout = layout;
menu_activate_request();
}
static void
about_btn_cb(void *data, Evas_Object *obj EINA_UNUSED,
about_btn_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
menu_data *md = data;
about_open(md);
about_open();
}
static void
@ -699,13 +623,6 @@ menu_term(void)
free(md);
}
void
menu_about(void)
{
menu_data *md = g_md;
about_open(md);
}
void
menu_setting(void)
{
@ -765,11 +682,6 @@ menu_toggle(void)
fileselector_close(md);
return;
}
if (md->about_layout)
{
about_close(md);
return;
}
//Main Menu
if (md->active_request) menu_close(md);

View File

@ -19,4 +19,5 @@ EXTRA_DIST = common.h \
edc_navigator.h \
file_browser.h \
build_setting.h \
preference_setting.h
preference_setting.h \
about.h

5
src/include/about.h Normal file
View File

@ -0,0 +1,5 @@
#define DEFAULT_ABOUT_WIN_W 533
#define DEFAULT_ABOUT_WIN_H 533
void about_open(void);
void about_close(void);

View File

@ -83,6 +83,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
#include "file_mgr.h"
#include "build_setting.h"
#include "preference_setting.h"
#include "about.h"
/* localization */
#ifdef HAVE_GETTEXT