This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository exclaim.
View the commit online.
commit adbec94559a01024de93113f18e745ee9397582e
Author: Nekobit <m...@ow.nekobit.net>
AuthorDate: Tue Sep 19 22:54:52 2023 -0400
Display some "statuses"
---
src/etc.c | 15 ++++++++++++
src/etc.h | 8 +++++++
src/exc_types.h | 14 ++++++++++++
src/main.c | 31 +++++++++++++++++++++----
src/meson.build | 2 ++
src/status.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/status.h | 8 +++++++
7 files changed, 145 insertions(+), 4 deletions(-)
diff --git a/src/etc.c b/src/etc.c
new file mode 100644
index 0000000..e2e907f
--- /dev/null
+++ b/src/etc.c
@@ -0,0 +1,15 @@
+#include "etc.h"
+
+Evas_Object*
+E_SHOW(Evas_Object* obj)
+{
+ evas_object_show(obj);
+ return obj;
+}
+
+void
+evas_object_fullsize(Evas_Object* obj)
+{
+ evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set (obj, EVAS_HINT_FILL, EVAS_HINT_FILL);
+}
diff --git a/src/etc.h b/src/etc.h
index 6c45dd3..c86cda7 100644
--- a/src/etc.h
+++ b/src/etc.h
@@ -1,5 +1,7 @@
#ifndef ETC_H
#define ETC_H
+#include <Elementary.h>
+#include "../exclaim_config.h"
#define _E_COMMENT(...) do { \
switch ((uintptr_t)__VA_ARGS__) \
@@ -9,4 +11,10 @@
#define E_BEGIN _E_COMMENT
#define E_END _E_COMMENT
+Evas_Object*
+E_SHOW(Evas_Object* obj);
+
+void
+evas_object_fullsize(Evas_Object* obj);
+
#endif // ETC_H
diff --git a/src/exc_types.h b/src/exc_types.h
new file mode 100644
index 0000000..839e058
--- /dev/null
+++ b/src/exc_types.h
@@ -0,0 +1,14 @@
+#ifndef EXC_TYPES_H
+#define EXC_TYPES_H
+
+struct exc_acct
+{
+};
+
+struct exc_status
+{
+ char* title;
+ char* body;
+};
+
+#endif // EXC_TYPES_H
diff --git a/src/main.c b/src/main.c
index 4139b79..e0a21d1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2,6 +2,7 @@
#include <Elementary.h>
#include "../exclaim_config.h"
#include "etc.h"
+#include "status.h"
EAPI_MAIN int
elm_main(int argc, char** argv)
@@ -14,11 +15,33 @@ elm_main(int argc, char** argv)
Evas_Object* win = elm_win_util_standard_add("exclaim_root", "Exclaim");
E_BEGIN(win);
- elm_win_icon_name_set(win, "email-unread");
- elm_win_autodel_set(win, EINA_TRUE);
+ elm_win_icon_name_set(win, "email-unread");
+ elm_win_autodel_set(win, EINA_TRUE);
+
+ Evas_Object* status_scr = E_SHOW(elm_scroller_add(win));
+ E_BEGIN(status_scr);
+ evas_object_fullsize(status_scr);
+
+ Evas_Object* status_content = E_SHOW(elm_box_add(status_scr));
+ E_BEGIN(status_content);
+ evas_object_fullsize(status_content);
+ elm_object_content_set(status_scr, status_content);
+
+ for (int i = 0; i < 30; ++i)
+ {
+ struct exc_status st_test = {
+ .title = "wow",
+ };
+ Evas_Object* status = E_SHOW(exc_status_add(status_content, st_test));
+
+ elm_box_pack_end(status_content, status);
+ }
+ E_END(status_content);
+ E_END(status_scr);
- evas_object_resize(win, ELM_SCALE_SIZE(700), ELM_SCALE_SIZE(300));
- evas_object_show(win);
+ evas_object_resize(win, ELM_SCALE_SIZE(700), ELM_SCALE_SIZE(300));
+ elm_win_resize_object_add(win, status_scr);
+ E_SHOW(win);
E_END(win);
elm_run();
diff --git a/src/meson.build b/src/meson.build
index caacc39..58f4db6 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -2,6 +2,8 @@ dir = join_paths(dir_bin)
inc = include_directories('.')
executable('exclaim', [
'main.c',
+ 'status.c',
+ 'etc.c',
],
include_directories: inc,
dependencies: deps,
diff --git a/src/status.c b/src/status.c
new file mode 100644
index 0000000..f0a0c19
--- /dev/null
+++ b/src/status.c
@@ -0,0 +1,71 @@
+#include <Elementary.h>
+#include "status.h"
+#include "etc.h"
+
+#define PFP_ICON_SIZE 48
+
+Evas_Object*
+exc_status_add(Evas_Object* parent, struct exc_status status)
+{
+ Evas_Object* st_frame = elm_frame_add(parent);
+ E_BEGIN(st_frame);
+ evas_object_size_hint_padding_set(st_frame, 3, 3, 3, 3);
+ //evas_object_size_hint_min_set(st_frame, 300, 300);
+
+ Evas_Object* st_box = E_SHOW(elm_box_add(st_frame));
+ E_BEGIN(st_box);
+ //evas_object_size_hint_min_set(st_box, 300, 300);
+ //evas_object_size_hint_weight_set(st_box, 300, 300);
+ elm_box_horizontal_set(st_box, EINA_TRUE);
+
+ // Add pfp icon
+ Evas_Object* st_icon = E_SHOW(elm_icon_add(st_box));
+ E_BEGIN(st_icon);
+ evas_object_size_hint_align_set(st_icon, 0.5, 0.0);
+ evas_object_size_hint_min_set(st_icon, PFP_ICON_SIZE, PFP_ICON_SIZE);
+ evas_object_size_hint_max_set(st_icon, PFP_ICON_SIZE, PFP_ICON_SIZE);
+ evas_object_size_hint_padding_set(st_icon, 3, 5, 3, 3);
+ elm_icon_standard_set(st_icon, "minetest");
+ elm_box_pack_end(st_box, st_icon);
+ E_END(st_icon);
+
+ Evas_Object* st_box_rt = E_SHOW(elm_box_add(st_box));
+ E_BEGIN(st_box_rt);
+ evas_object_size_hint_align_set(st_box_rt, 0.5, 0.0);
+
+ Evas_Object* st_box_rt_info = E_SHOW(elm_box_add(st_box_rt));
+ E_BEGIN(st_box_rt_info);
+ elm_box_horizontal_set(st_box_rt_info, EINA_TRUE);
+ evas_object_size_hint_padding_set(st_box_rt_info, 3, 3, 3, 3);
+ Evas_Object* st_username = E_SHOW(elm_label_add(st_box));
+ E_BEGIN(st_username);
+ elm_object_text_set(st_username, "Status");
+
+ elm_box_pack_end(st_box_rt_info, st_username);
+ E_END(st_username);
+
+ elm_box_pack_end(st_box_rt, st_box_rt_info);
+ E_END(st_box_rt_info);
+
+ Evas_Object* st_content = E_SHOW(elm_entry_add(st_box));
+ E_BEGIN(st_content);
+ elm_object_text_set(st_username, "Status");
+
+ evas_object_size_hint_min_set(st_content, 300, 300);
+
+ //evas_object_size_hint_weight_set(st_content
+
+ elm_entry_editable_set(st_content, EINA_FALSE);
+ elm_object_text_set(st_content, "Lol, lmao. <b>LOL</> even");
+ elm_box_pack_end(st_box_rt, st_content);
+ E_END(st_content);
+
+ elm_box_pack_end(st_box, st_box_rt);
+ E_BEGIN(st_box_rt);
+
+ elm_object_content_set(st_frame, st_box);
+ E_END(st_box);
+
+ E_END(st_frame);
+ return st_frame;
+}
diff --git a/src/status.h b/src/status.h
new file mode 100644
index 0000000..460c7fb
--- /dev/null
+++ b/src/status.h
@@ -0,0 +1,8 @@
+#ifndef STATUS_H
+#define STATUS_H
+#include "exc_types.h"
+
+Evas_Object*
+exc_status_add(Evas_Object* parent, struct exc_status status);
+
+#endif // STATUS_H
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.