exclaim/src/main.c

149 lines
4.2 KiB
C

#include <stdio.h>
#include <Elementary.h>
#include "../exclaim_config.h"
#include "etc.h"
#include "status.h"
Evas_Object* sidebar, *sidebar_root, *sidebar_content;
void
explode_win_enable(Evas_Object* win);
void
toggle_sideview()
{
}
static void
win_move(void* data EINA_UNUSED, Evas* e EINA_UNUSED, Evas_Object* obj, void* ev_info EINA_UNUSED)
{
Evas_Coord w, h;
evas_object_geometry_get(obj, NULL, NULL, &w, &h);
evas_object_resize(sidebar_root, 300, h);
printf("test\n");
}
void
create_sideview(Evas_Object* parent)
{
sidebar_root = E_SHOW(elm_frame_add(parent));
E_BEGIN(sidebar_root);
elm_widget_style_set(sidebar_root, "outline");
sidebar = E_SHOW(elm_scroller_add(parent));
//evas_object_resize(sidebar, 400, 400);
E_BEGIN(sidebar);
sidebar_content = E_SHOW(elm_box_add(sidebar_root));
//evas_object_resize(sidebar, 400, 400);
E_BEGIN(sidebar_content);
elm_object_content_set(sidebar, sidebar_content);
E_END(sidebar_content);
E_END(sidebar);
elm_object_content_set(sidebar_root, sidebar);
E_END(sidebar_root);
evas_object_resize(sidebar_root, 300, 0);
evas_object_move(sidebar_root, 68, 0);
}
static void
_cb_toggle_sideview(void* data,
Evas_Object* obj EINA_UNUSED,
void* ev_info EINA_UNUSED)
{
printf("%s\n", "test");
toggle_sideview();
}
Evas_Object*
create_sidebar(Evas_Object* parent)
{
Evas_Object* o;
Evas_Object* sb = elm_toolbar_add(parent);
evas_object_size_hint_weight_set(sb, 0.0, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(sb, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_toolbar_horizontal_set(sb, EINA_FALSE);
elm_toolbar_homogeneous_set(sb, EINA_TRUE);
elm_toolbar_shrink_mode_set(sb, ELM_TOOLBAR_SHRINK_MENU);
o = elm_toolbar_item_append(sb, "home", "Home", NULL, NULL);
elm_toolbar_item_priority_set(o, 1);
o = elm_toolbar_item_append(sb, "user-away", "Local", NULL, NULL);
elm_toolbar_item_priority_set(o, 0);
o = elm_toolbar_item_append(sb, "applications-internet", "Federated", NULL, NULL);
elm_toolbar_item_priority_set(o, 0);
o = elm_toolbar_item_append(sb, "mail-unread", "Notifications", _cb_toggle_sideview, NULL);
elm_toolbar_item_priority_set(o, 1);
o = elm_toolbar_item_append(sb, "view-list-compact", "Lists", _cb_toggle_sideview, NULL);
elm_toolbar_item_priority_set(o, -1);
o = elm_toolbar_item_append(sb, "mail-send", "Direct", NULL, NULL);
elm_toolbar_item_priority_set(o, -2);
return sb;
}
EAPI_MAIN int
elm_main(int argc, char** argv)
{
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR);
elm_app_compile_lib_dir_set(PACKAGE_LIB_DIR);
elm_app_compile_data_dir_set(PACKAGE_DATA_DIR);
elm_app_info_set(elm_main, "exclaim", "checkme");
Evas_Object* win = E_SHOW(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);
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, win_move, NULL);
explode_win_enable(win);
Evas_Object* root = E_SHOW(elm_box_add(win));
E_BEGIN(root);
elm_box_horizontal_set(root, EINA_TRUE);
evas_object_fullsize(root);
Evas_Object* sidebar = E_SHOW(create_sidebar(win));
elm_box_pack_end(root, sidebar);
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);
}
Evas_Object* lol = E_SHOW(elm_label_add(status_content));
elm_object_text_set(lol, "¯\\_(ツ)_/¯");
elm_box_pack_end(status_content, lol);
E_END(status_content);
elm_box_pack_end(root, status_scr);
E_END(status_scr);
evas_object_resize(win, ELM_SCALE_SIZE(700), ELM_SCALE_SIZE(300));
elm_win_resize_object_add(win, root);
E_END(root);
E_END(win);
create_sideview(win);
elm_run();
return EXIT_SUCCESS;
}
ELM_MAIN()