aboutsummaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/chat_entry.c55
-rw-r--r--src/ui/chat_entry.h48
-rw-r--r--src/ui/messenger.c7
3 files changed, 104 insertions, 6 deletions
diff --git a/src/ui/chat_entry.c b/src/ui/chat_entry.c
new file mode 100644
index 0000000..5ff7063
--- /dev/null
+++ b/src/ui/chat_entry.c
@@ -0,0 +1,55 @@
1/*
2 This file is part of GNUnet.
3 Copyright (C) 2021 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
20/*
21 * @author Tobias Frisch
22 * @file ui/chat_entry.c
23 */
24
25#include "chat_entry.h"
26
27UI_CHAT_ENTRY_Handle*
28ui_chat_entry_new(void)
29{
30 UI_CHAT_ENTRY_Handle* handle = g_malloc(sizeof(UI_CHAT_ENTRY_Handle));
31
32 GtkBuilder* builder = gtk_builder_new_from_file("resources/ui/chat_entry.ui");
33
34 handle->entry_box = GTK_WIDGET(
35 gtk_builder_get_object(builder, "entry_box")
36 );
37
38 handle->avatar = HDY_AVATAR(
39 gtk_builder_get_object(builder, "avatar")
40 );
41
42 handle->title = GTK_LABEL(
43 gtk_builder_get_object(builder, "title")
44 );
45
46 handle->timestamp = GTK_LABEL(
47 gtk_builder_get_object(builder, "timestamp")
48 );
49
50 handle->text = GTK_LABEL(
51 gtk_builder_get_object(builder, "text")
52 );
53
54 return handle;
55}
diff --git a/src/ui/chat_entry.h b/src/ui/chat_entry.h
new file mode 100644
index 0000000..48f2fb7
--- /dev/null
+++ b/src/ui/chat_entry.h
@@ -0,0 +1,48 @@
1/*
2 This file is part of GNUnet.
3 Copyright (C) 2021 GNUnet e.V.
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
20/*
21 * @author Tobias Frisch
22 * @file ui/chat_entry.h
23 */
24
25#ifndef UI_CHAT_ENTRY_H_
26#define UI_CHAT_ENTRY_H_
27
28#include <gtk-3.0/gtk/gtk.h>
29#include <libhandy-1/handy.h>
30
31typedef struct MESSENGER_Application MESSENGER_Application;
32
33typedef struct UI_CHAT_ENTRY_Handle
34{
35 GtkWidget* entry_box;
36
37 HdyAvatar* avatar;
38
39 GtkLabel* title;
40 GtkLabel* timestamp;
41
42 GtkLabel* text;
43} UI_CHAT_ENTRY_Handle;
44
45UI_CHAT_ENTRY_Handle*
46ui_chat_entry_new(void);
47
48#endif /* UI_CHAT_ENTRY_H_ */
diff --git a/src/ui/messenger.c b/src/ui/messenger.c
index ebfde36..46ee362 100644
--- a/src/ui/messenger.c
+++ b/src/ui/messenger.c
@@ -92,12 +92,7 @@ void
92ui_messenger_init(MESSENGER_Application *app, 92ui_messenger_init(MESSENGER_Application *app,
93 UI_MESSENGER_Handle *handle) 93 UI_MESSENGER_Handle *handle)
94{ 94{
95 GtkBuilder* builder = gtk_builder_new(); 95 GtkBuilder* builder = gtk_builder_new_from_file("resources/ui/messenger.ui");
96 gtk_builder_add_from_file(
97 builder,
98 "resources/ui/messenger.ui",
99 NULL
100 );
101 96
102 handle->main_window = GTK_APPLICATION_WINDOW( 97 handle->main_window = GTK_APPLICATION_WINDOW(
103 gtk_builder_get_object(builder, "main_window") 98 gtk_builder_get_object(builder, "main_window")