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 &lt;nets...@gmail.com&gt;";
+
+   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

-- 


Reply via email to