netstar pushed a commit to branch master. http://git.enlightenment.org/apps/evisum.git/commit/?id=5f134b0e82a5d710e147810750675b2eac444bb2
commit 5f134b0e82a5d710e147810750675b2eac444bb2 Author: Alastair Poole <nets...@gmail.com> Date: Mon Jun 29 15:18:35 2020 +0100 about: Basic about box --- data/images/ladyhand.png | Bin 0 -> 750833 bytes data/images/meson.build | 2 +- src/bin/ui/ui.c | 3 +- src/bin/ui/ui.h | 1 + src/bin/ui/ui_util.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++ src/bin/ui/ui_util.h | 3 ++ 6 files changed, 86 insertions(+), 2 deletions(-) diff --git a/data/images/ladyhand.png b/data/images/ladyhand.png new file mode 100644 index 0000000..edc1e40 Binary files /dev/null and b/data/images/ladyhand.png differ diff --git a/data/images/meson.build b/data/images/meson.build index fca3f17..58c3c83 100644 --- a/data/images/meson.build +++ b/data/images/meson.build @@ -3,5 +3,5 @@ install_data('go-up.png', 'go-down.png', 'window.png', 'start.png', 'stop.png', 'kill.png', 'cancel.png', 'increase.png', 'decrease.png', - 'sensor.png', 'mount.png', + 'sensor.png', 'mount.png', 'ladyhand.png', install_dir: join_paths(dir_data, 'evisum/images')) diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c index b2da2f6..9e4bc12 100644 --- a/src/bin/ui/ui.c +++ b/src/bin/ui/ui.c @@ -1057,7 +1057,8 @@ static void _about_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - + Ui *ui = data; + evisum_about_window_show(ui); } static void diff --git a/src/bin/ui/ui.h b/src/bin/ui/ui.h index 80434a9..3cea3a3 100644 --- a/src/bin/ui/ui.h +++ b/src/bin/ui/ui.h @@ -45,6 +45,7 @@ typedef struct Ui Eina_Bool misc_visible; Eina_Bool disk_visible; Eina_Bool mem_visible; + Eina_Bool about_visible; Evas_Object *progress_cpu; Evas_Object *progress_mem; diff --git a/src/bin/ui/ui_util.c b/src/bin/ui/ui_util.c index b77c24a..c1f091b 100644 --- a/src/bin/ui/ui_util.c +++ b/src/bin/ui/ui_util.c @@ -1,4 +1,5 @@ #include "ui_util.h" +#include "ui.h" #include <Elementary.h> #include "config.h" @@ -205,3 +206,81 @@ evisum_child_window_show(Evas_Object *parent, Evas_Object *win) evas_object_show(win); } +static void +_win_del_cb(void *data, Evas_Object *obj, + void *event_info EINA_UNUSED) +{ + Evas_Object *win; + Ui *ui; + + win = data; + + ui = evas_object_data_get(win, "ui"); + if (!ui) return; + ui->about_visible = EINA_FALSE; + evas_object_del(win); +} + +void +evisum_about_window_show(void *data) +{ + Ui *ui; + Evas_Object *win, *bg, *box, *frame, *entry, *btn; + const char *authors = + "Alastair \"netstar\" Poole <nets...@gmail.com>"; + + ui = data; + + if (ui->about_visible) return; + ui->about_visible = EINA_TRUE; + + win = elm_win_add(ui->win, "evisum", ELM_WIN_DIALOG_BASIC); + elm_win_title_set(win, eina_slstr_printf(_("About Evisum %s"), + PACKAGE_VERSION)); + evas_object_smart_callback_add(win, "delete,request", _win_del_cb, win); + evas_object_data_set(win, "ui", ui); + + bg = elm_bg_add(win); + evas_object_size_hint_weight_set(bg, EXPAND, EXPAND); + evas_object_size_hint_align_set(bg, FILL, FILL); + elm_bg_file_set(bg, evisum_icon_path_get("ladyhand"), NULL); + elm_win_resize_object_add(win, bg); + evas_object_color_set(bg, 225, 225, 225, 255); + evas_object_show(bg); + evas_object_size_hint_min_set(bg, 320 * elm_config_scale_get(), + 320 * elm_config_scale_get()); + + box = elm_box_add(win); + evas_object_size_hint_weight_set(box, 0, 0); + evas_object_size_hint_align_set(box, FILL, FILL); + evas_object_show(box); + + frame = elm_frame_add(win); + evas_object_size_hint_weight_set(frame, EXPAND, 0); + evas_object_size_hint_align_set(frame, FILL, FILL); + elm_object_text_set(frame, _("Authors")); + evas_object_color_set(frame, 128, 128, 128, 128); + evas_object_show(frame); + + entry = elm_entry_add(frame); + evas_object_size_hint_align_set(entry, FILL, FILL); + evas_object_size_hint_weight_set(entry, EXPAND, EXPAND); + evas_object_show(entry); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_editable_set(entry, EINA_FALSE); + elm_entry_scrollable_set(entry, EINA_TRUE); + elm_object_text_set(entry, authors); + elm_object_content_set(frame, entry); + + btn = elm_button_add(win); + evas_object_size_hint_align_set(btn, 0.5, 1.0); + evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); + elm_object_text_set(btn, _("Close")); + evas_object_show(btn); + evas_object_smart_callback_add(btn, "clicked", _win_del_cb, win); + + elm_box_pack_end(box, frame); + elm_box_pack_end(box, btn); + elm_object_content_set(win, box); + evas_object_show(win); +} diff --git a/src/bin/ui/ui_util.h b/src/bin/ui/ui_util.h index 42b2a79..d614a5d 100644 --- a/src/bin/ui/ui_util.h +++ b/src/bin/ui/ui_util.h @@ -41,4 +41,7 @@ evisum_ui_textblock_font_size_set(Evas_Object *tb, int new_size); void evisum_child_window_show(Evas_Object *parent, Evas_Object *win); +void +evisum_about_window_show(void *data); + #endif --