diff options
author | TheJackiMonster <thejackimonster@gmail.com> | 2021-10-28 15:38:24 +0200 |
---|---|---|
committer | TheJackiMonster <thejackimonster@gmail.com> | 2021-10-28 15:38:24 +0200 |
commit | 184431dab83821d1a8cb01a2ad62e018276f2be5 (patch) | |
tree | c9ac11cceb74ce8185ef2fe2a7b780784bb9b51a | |
parent | 7b10b8c90d4bf3d2922f4c1d0eba779ced28be7f (diff) | |
download | messenger-gtk-184431dab83821d1a8cb01a2ad62e018276f2be5.tar.gz messenger-gtk-184431dab83821d1a8cb01a2ad62e018276f2be5.zip |
Setup some test data in ui to visualize the target
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
-rw-r--r-- | resources/css/style.css | 22 | ||||
-rw-r--r-- | resources/ui/messenger.ui | 1330 | ||||
-rw-r--r-- | src/messenger_gtk.c | 77 |
3 files changed, 946 insertions, 483 deletions
diff --git a/resources/css/style.css b/resources/css/style.css index f46cb9d..1bd39ea 100644 --- a/resources/css/style.css +++ b/resources/css/style.css | |||
@@ -3,3 +3,25 @@ | |||
3 | background-color: @theme_bg_color; | 3 | background-color: @theme_bg_color; |
4 | } | 4 | } |
5 | 5 | ||
6 | .chat-entry { | ||
7 | padding: 4px; | ||
8 | } | ||
9 | |||
10 | .message-box { | ||
11 | border-radius: 12px; | ||
12 | padding: 8px 12px; | ||
13 | margin: 4px; | ||
14 | font-size: small; | ||
15 | } | ||
16 | |||
17 | .message-box:not(.own) { | ||
18 | background-color: mix(@theme_bg_color, @theme_fg_color, 0.1); | ||
19 | color: @theme_fg_color; | ||
20 | margin-right: 20px; | ||
21 | } | ||
22 | |||
23 | .message-box.own { | ||
24 | background-color: @theme_selected_bg_color; | ||
25 | color: @theme_selected_fg_color; | ||
26 | margin-left: 20px; | ||
27 | } | ||
diff --git a/resources/ui/messenger.ui b/resources/ui/messenger.ui index 3843629..5a27891 100644 --- a/resources/ui/messenger.ui +++ b/resources/ui/messenger.ui | |||
@@ -26,171 +26,40 @@ Author: Tobias Frisch | |||
26 | <object class="GtkApplicationWindow" id="main_window"> | 26 | <object class="GtkApplicationWindow" id="main_window"> |
27 | <property name="can-focus">False</property> | 27 | <property name="can-focus">False</property> |
28 | <child> | 28 | <child> |
29 | <object class="HdyLeaflet"> | 29 | <object class="HdyLeaflet" id="leaflet_chat"> |
30 | <property name="height-request">600</property> | 30 | <property name="height-request">600</property> |
31 | <property name="visible">True</property> | 31 | <property name="visible">True</property> |
32 | <property name="can-focus">False</property> | 32 | <property name="can-focus">False</property> |
33 | <property name="interpolate-size">True</property> | 33 | <property name="hexpand">True</property> |
34 | <property name="hhomogeneous-folded">False</property> | ||
35 | <property name="vhomogeneous-folded">False</property> | ||
34 | <child> | 36 | <child> |
35 | <object class="HdyFlap" id="flap_user_details"> | 37 | <object class="GtkBox"> |
36 | <property name="visible">True</property> | 38 | <property name="visible">True</property> |
37 | <property name="can-focus">False</property> | 39 | <property name="can-focus">False</property> |
38 | <property name="fold-policy">always</property> | 40 | <property name="orientation">vertical</property> |
39 | <child type="content"> | 41 | <child> |
40 | <object class="GtkBox"> | 42 | <object class="HdyFlap" id="flap_user_details"> |
41 | <property name="visible">True</property> | 43 | <property name="width-request">300</property> |
42 | <property name="can-focus">False</property> | ||
43 | <property name="orientation">vertical</property> | ||
44 | <child> | ||
45 | <object class="GtkBox" id="chats-header-box"> | ||
46 | <property name="visible">True</property> | ||
47 | <property name="can-focus">False</property> | ||
48 | <property name="margin-start">8</property> | ||
49 | <property name="margin-end">8</property> | ||
50 | <property name="margin-top">8</property> | ||
51 | <property name="margin-bottom">8</property> | ||
52 | <property name="spacing">8</property> | ||
53 | <child> | ||
54 | <object class="GtkButton" id="user_details_button"> | ||
55 | <property name="visible">True</property> | ||
56 | <property name="can-focus">True</property> | ||
57 | <property name="receives-default">True</property> | ||
58 | <property name="relief">none</property> | ||
59 | <child> | ||
60 | <object class="GtkImage"> | ||
61 | <property name="visible">True</property> | ||
62 | <property name="can-focus">False</property> | ||
63 | <property name="icon-name">open-menu-symbolic</property> | ||
64 | </object> | ||
65 | </child> | ||
66 | </object> | ||
67 | <packing> | ||
68 | <property name="expand">False</property> | ||
69 | <property name="fill">True</property> | ||
70 | <property name="position">0</property> | ||
71 | </packing> | ||
72 | </child> | ||
73 | <child> | ||
74 | <object class="GtkSearchEntry"> | ||
75 | <property name="width-request">250</property> | ||
76 | <property name="visible">True</property> | ||
77 | <property name="can-focus">True</property> | ||
78 | <property name="primary-icon-name">edit-find-symbolic</property> | ||
79 | <property name="primary-icon-activatable">False</property> | ||
80 | <property name="primary-icon-sensitive">False</property> | ||
81 | </object> | ||
82 | <packing> | ||
83 | <property name="expand">True</property> | ||
84 | <property name="fill">True</property> | ||
85 | <property name="position">1</property> | ||
86 | </packing> | ||
87 | </child> | ||
88 | </object> | ||
89 | <packing> | ||
90 | <property name="expand">False</property> | ||
91 | <property name="fill">True</property> | ||
92 | <property name="position">0</property> | ||
93 | </packing> | ||
94 | </child> | ||
95 | <child> | ||
96 | <object class="GtkScrolledWindow"> | ||
97 | <property name="visible">True</property> | ||
98 | <property name="can-focus">True</property> | ||
99 | <property name="shadow-type">in</property> | ||
100 | <child> | ||
101 | <object class="GtkViewport"> | ||
102 | <property name="visible">True</property> | ||
103 | <property name="can-focus">False</property> | ||
104 | <child> | ||
105 | <object class="GtkListBox"> | ||
106 | <property name="visible">True</property> | ||
107 | <property name="can-focus">False</property> | ||
108 | </object> | ||
109 | </child> | ||
110 | </object> | ||
111 | </child> | ||
112 | </object> | ||
113 | <packing> | ||
114 | <property name="expand">True</property> | ||
115 | <property name="fill">True</property> | ||
116 | <property name="position">1</property> | ||
117 | </packing> | ||
118 | </child> | ||
119 | </object> | ||
120 | </child> | ||
121 | <child type="separator"> | ||
122 | <object class="GtkSeparator"> | ||
123 | <property name="visible">True</property> | ||
124 | <property name="can-focus">False</property> | ||
125 | </object> | ||
126 | </child> | ||
127 | <child type="flap"> | ||
128 | <object class="GtkBox"> | ||
129 | <property name="visible">True</property> | 44 | <property name="visible">True</property> |
130 | <property name="can-focus">False</property> | 45 | <property name="can-focus">False</property> |
131 | <property name="orientation">vertical</property> | 46 | <property name="fold-policy">always</property> |
132 | <child> | 47 | <child type="content"> |
133 | <object class="GtkBox"> | 48 | <object class="GtkBox"> |
134 | <property name="visible">True</property> | 49 | <property name="visible">True</property> |
135 | <property name="can-focus">False</property> | 50 | <property name="can-focus">False</property> |
51 | <property name="orientation">vertical</property> | ||
136 | <child> | 52 | <child> |
137 | <object class="GtkBox"> | 53 | <object class="GtkBox" id="chats-header-box"> |
138 | <property name="width-request">150</property> | ||
139 | <property name="visible">True</property> | ||
140 | <property name="can-focus">False</property> | ||
141 | <property name="margin-start">16</property> | ||
142 | <property name="margin-end">16</property> | ||
143 | <property name="margin-top">16</property> | ||
144 | <property name="margin-bottom">16</property> | ||
145 | <property name="orientation">vertical</property> | ||
146 | <property name="spacing">16</property> | ||
147 | <child> | ||
148 | <object class="GtkImage"> | ||
149 | <property name="visible">True</property> | ||
150 | <property name="can-focus">False</property> | ||
151 | <property name="xalign">0</property> | ||
152 | <property name="icon-name">avatar-default-symbolic</property> | ||
153 | <property name="icon_size">6</property> | ||
154 | </object> | ||
155 | <packing> | ||
156 | <property name="expand">True</property> | ||
157 | <property name="fill">True</property> | ||
158 | <property name="position">0</property> | ||
159 | </packing> | ||
160 | </child> | ||
161 | <child> | ||
162 | <object class="GtkLabel"> | ||
163 | <property name="visible">True</property> | ||
164 | <property name="can-focus">False</property> | ||
165 | <property name="label" translatable="yes">Profile name</property> | ||
166 | <property name="xalign">0</property> | ||
167 | </object> | ||
168 | <packing> | ||
169 | <property name="expand">False</property> | ||
170 | <property name="fill">True</property> | ||
171 | <property name="position">1</property> | ||
172 | </packing> | ||
173 | </child> | ||
174 | </object> | ||
175 | <packing> | ||
176 | <property name="expand">True</property> | ||
177 | <property name="fill">True</property> | ||
178 | <property name="position">0</property> | ||
179 | </packing> | ||
180 | </child> | ||
181 | <child> | ||
182 | <object class="GtkBox"> | ||
183 | <property name="visible">True</property> | 54 | <property name="visible">True</property> |
184 | <property name="can-focus">False</property> | 55 | <property name="can-focus">False</property> |
185 | <property name="margin-start">8</property> | 56 | <property name="margin-start">8</property> |
186 | <property name="margin-end">8</property> | 57 | <property name="margin-end">8</property> |
187 | <property name="margin-top">8</property> | 58 | <property name="margin-top">8</property> |
188 | <property name="margin-bottom">8</property> | 59 | <property name="margin-bottom">8</property> |
189 | <property name="orientation">vertical</property> | ||
190 | <property name="spacing">8</property> | 60 | <property name="spacing">8</property> |
191 | <property name="homogeneous">True</property> | ||
192 | <child> | 61 | <child> |
193 | <object class="GtkButton" id="hide_user_details_button"> | 62 | <object class="GtkButton" id="user_details_button"> |
194 | <property name="visible">True</property> | 63 | <property name="visible">True</property> |
195 | <property name="can-focus">True</property> | 64 | <property name="can-focus">True</property> |
196 | <property name="receives-default">True</property> | 65 | <property name="receives-default">True</property> |
@@ -199,7 +68,7 @@ Author: Tobias Frisch | |||
199 | <object class="GtkImage"> | 68 | <object class="GtkImage"> |
200 | <property name="visible">True</property> | 69 | <property name="visible">True</property> |
201 | <property name="can-focus">False</property> | 70 | <property name="can-focus">False</property> |
202 | <property name="icon-name">go-previous-symbolic</property> | 71 | <property name="icon-name">open-menu-symbolic</property> |
203 | </object> | 72 | </object> |
204 | </child> | 73 | </child> |
205 | </object> | 74 | </object> |
@@ -210,20 +79,13 @@ Author: Tobias Frisch | |||
210 | </packing> | 79 | </packing> |
211 | </child> | 80 | </child> |
212 | <child> | 81 | <child> |
213 | <object class="GtkButton"> | 82 | <object class="GtkSearchEntry"> |
83 | <property name="width-request">250</property> | ||
214 | <property name="visible">True</property> | 84 | <property name="visible">True</property> |
215 | <property name="can-focus">True</property> | 85 | <property name="can-focus">True</property> |
216 | <property name="receives-default">True</property> | 86 | <property name="primary-icon-name">edit-find-symbolic</property> |
217 | <property name="halign">center</property> | 87 | <property name="primary-icon-activatable">False</property> |
218 | <property name="valign">center</property> | 88 | <property name="primary-icon-sensitive">False</property> |
219 | <property name="relief">none</property> | ||
220 | <child> | ||
221 | <object class="GtkImage"> | ||
222 | <property name="visible">True</property> | ||
223 | <property name="can-focus">False</property> | ||
224 | <property name="icon-name">user-bookmarks-symbolic</property> | ||
225 | </object> | ||
226 | </child> | ||
227 | </object> | 89 | </object> |
228 | <packing> | 90 | <packing> |
229 | <property name="expand">True</property> | 91 | <property name="expand">True</property> |
@@ -231,27 +93,103 @@ Author: Tobias Frisch | |||
231 | <property name="position">1</property> | 93 | <property name="position">1</property> |
232 | </packing> | 94 | </packing> |
233 | </child> | 95 | </child> |
96 | </object> | ||
97 | <packing> | ||
98 | <property name="expand">False</property> | ||
99 | <property name="fill">True</property> | ||
100 | <property name="position">0</property> | ||
101 | </packing> | ||
102 | </child> | ||
103 | <child> | ||
104 | <object class="GtkScrolledWindow"> | ||
105 | <property name="visible">True</property> | ||
106 | <property name="can-focus">True</property> | ||
107 | <property name="shadow-type">in</property> | ||
234 | <child> | 108 | <child> |
235 | <object class="GtkButton" id="account_details_button"> | 109 | <object class="GtkViewport"> |
236 | <property name="visible">True</property> | 110 | <property name="visible">True</property> |
237 | <property name="can-focus">True</property> | 111 | <property name="can-focus">False</property> |
238 | <property name="receives-default">True</property> | ||
239 | <property name="halign">center</property> | ||
240 | <property name="valign">center</property> | ||
241 | <property name="relief">none</property> | ||
242 | <child> | 112 | <child> |
243 | <object class="GtkImage"> | 113 | <object class="GtkListBox" id="chats_listbox"> |
244 | <property name="visible">True</property> | 114 | <property name="visible">True</property> |
245 | <property name="can-focus">False</property> | 115 | <property name="can-focus">False</property> |
246 | <property name="icon-name">go-down-symbolic</property> | 116 | <property name="selection-mode">none</property> |
117 | <child> | ||
118 | <object class="GtkListBoxRow"> | ||
119 | <property name="visible">True</property> | ||
120 | <property name="can-focus">True</property> | ||
121 | <property name="selectable">False</property> | ||
122 | <child> | ||
123 | <!-- n-columns=3 n-rows=2 --> | ||
124 | <object class="GtkGrid"> | ||
125 | <property name="visible">True</property> | ||
126 | <property name="can-focus">False</property> | ||
127 | <property name="column-spacing">8</property> | ||
128 | <child> | ||
129 | <object class="HdyAvatar"> | ||
130 | <property name="visible">True</property> | ||
131 | <property name="can-focus">False</property> | ||
132 | <property name="text">Tobias Frisch</property> | ||
133 | <property name="size">48</property> | ||
134 | </object> | ||
135 | <packing> | ||
136 | <property name="left-attach">0</property> | ||
137 | <property name="top-attach">0</property> | ||
138 | <property name="height">2</property> | ||
139 | </packing> | ||
140 | </child> | ||
141 | <child> | ||
142 | <object class="GtkLabel"> | ||
143 | <property name="visible">True</property> | ||
144 | <property name="can-focus">False</property> | ||
145 | <property name="label" translatable="yes">11.12.13</property> | ||
146 | <property name="justify">right</property> | ||
147 | </object> | ||
148 | <packing> | ||
149 | <property name="left-attach">2</property> | ||
150 | <property name="top-attach">0</property> | ||
151 | </packing> | ||
152 | </child> | ||
153 | <child> | ||
154 | <object class="GtkLabel"> | ||
155 | <property name="visible">True</property> | ||
156 | <property name="can-focus">False</property> | ||
157 | <property name="hexpand">True</property> | ||
158 | <property name="label" translatable="yes">Chat title</property> | ||
159 | <property name="ellipsize">end</property> | ||
160 | <property name="xalign">2.2351741291171123e-10</property> | ||
161 | </object> | ||
162 | <packing> | ||
163 | <property name="left-attach">1</property> | ||
164 | <property name="top-attach">0</property> | ||
165 | </packing> | ||
166 | </child> | ||
167 | <child> | ||
168 | <object class="GtkLabel"> | ||
169 | <property name="visible">True</property> | ||
170 | <property name="can-focus">False</property> | ||
171 | <property name="label" translatable="yes">My evil comment text is awesome! This is coming to the Pinephone which will be extremely awesome and this text may only cut some borders in certain areas!!!</property> | ||
172 | <property name="ellipsize">end</property> | ||
173 | <property name="single-line-mode">True</property> | ||
174 | <property name="max-width-chars">48</property> | ||
175 | <property name="xalign">0</property> | ||
176 | </object> | ||
177 | <packing> | ||
178 | <property name="left-attach">1</property> | ||
179 | <property name="top-attach">1</property> | ||
180 | <property name="width">2</property> | ||
181 | </packing> | ||
182 | </child> | ||
183 | <style> | ||
184 | <class name="chat-entry"/> | ||
185 | </style> | ||
186 | </object> | ||
187 | </child> | ||
188 | </object> | ||
189 | </child> | ||
247 | </object> | 190 | </object> |
248 | </child> | 191 | </child> |
249 | </object> | 192 | </object> |
250 | <packing> | ||
251 | <property name="expand">True</property> | ||
252 | <property name="fill">True</property> | ||
253 | <property name="position">2</property> | ||
254 | </packing> | ||
255 | </child> | 193 | </child> |
256 | </object> | 194 | </object> |
257 | <packing> | 195 | <packing> |
@@ -261,47 +199,89 @@ Author: Tobias Frisch | |||
261 | </packing> | 199 | </packing> |
262 | </child> | 200 | </child> |
263 | </object> | 201 | </object> |
264 | <packing> | ||
265 | <property name="expand">False</property> | ||
266 | <property name="fill">True</property> | ||
267 | <property name="position">1</property> | ||
268 | </packing> | ||
269 | </child> | 202 | </child> |
270 | <child> | 203 | <child type="separator"> |
271 | <object class="GtkScrolledWindow"> | 204 | <object class="GtkSeparator"> |
205 | <property name="visible">True</property> | ||
206 | <property name="can-focus">False</property> | ||
207 | </object> | ||
208 | </child> | ||
209 | <child type="flap"> | ||
210 | <object class="GtkBox"> | ||
272 | <property name="visible">True</property> | 211 | <property name="visible">True</property> |
273 | <property name="can-focus">True</property> | 212 | <property name="can-focus">False</property> |
213 | <property name="orientation">vertical</property> | ||
274 | <child> | 214 | <child> |
275 | <object class="GtkViewport"> | 215 | <object class="GtkBox"> |
276 | <property name="visible">True</property> | 216 | <property name="visible">True</property> |
277 | <property name="can-focus">False</property> | 217 | <property name="can-focus">False</property> |
278 | <property name="shadow-type">none</property> | ||
279 | <child> | 218 | <child> |
280 | <object class="GtkBox"> | 219 | <object class="GtkBox"> |
220 | <property name="width-request">150</property> | ||
281 | <property name="visible">True</property> | 221 | <property name="visible">True</property> |
282 | <property name="can-focus">False</property> | 222 | <property name="can-focus">False</property> |
223 | <property name="margin-start">16</property> | ||
224 | <property name="margin-end">16</property> | ||
225 | <property name="margin-top">16</property> | ||
226 | <property name="margin-bottom">16</property> | ||
283 | <property name="orientation">vertical</property> | 227 | <property name="orientation">vertical</property> |
228 | <property name="spacing">16</property> | ||
229 | <child> | ||
230 | <object class="GtkImage"> | ||
231 | <property name="visible">True</property> | ||
232 | <property name="can-focus">False</property> | ||
233 | <property name="xalign">0</property> | ||
234 | <property name="icon-name">avatar-default-symbolic</property> | ||
235 | <property name="icon_size">6</property> | ||
236 | </object> | ||
237 | <packing> | ||
238 | <property name="expand">True</property> | ||
239 | <property name="fill">True</property> | ||
240 | <property name="position">0</property> | ||
241 | </packing> | ||
242 | </child> | ||
284 | <child> | 243 | <child> |
285 | <object class="GtkRevealer" id="account_details_revealer"> | 244 | <object class="GtkLabel"> |
286 | <property name="visible">True</property> | 245 | <property name="visible">True</property> |
287 | <property name="can-focus">False</property> | 246 | <property name="can-focus">False</property> |
247 | <property name="label" translatable="yes">Profile name</property> | ||
248 | <property name="xalign">0</property> | ||
249 | </object> | ||
250 | <packing> | ||
251 | <property name="expand">False</property> | ||
252 | <property name="fill">True</property> | ||
253 | <property name="position">1</property> | ||
254 | </packing> | ||
255 | </child> | ||
256 | </object> | ||
257 | <packing> | ||
258 | <property name="expand">True</property> | ||
259 | <property name="fill">True</property> | ||
260 | <property name="position">0</property> | ||
261 | </packing> | ||
262 | </child> | ||
263 | <child> | ||
264 | <object class="GtkBox"> | ||
265 | <property name="visible">True</property> | ||
266 | <property name="can-focus">False</property> | ||
267 | <property name="margin-start">8</property> | ||
268 | <property name="margin-end">8</property> | ||
269 | <property name="margin-top">8</property> | ||
270 | <property name="margin-bottom">8</property> | ||
271 | <property name="orientation">vertical</property> | ||
272 | <property name="spacing">8</property> | ||
273 | <property name="homogeneous">True</property> | ||
274 | <child> | ||
275 | <object class="GtkButton" id="hide_user_details_button"> | ||
276 | <property name="visible">True</property> | ||
277 | <property name="can-focus">True</property> | ||
278 | <property name="receives-default">True</property> | ||
279 | <property name="relief">none</property> | ||
288 | <child> | 280 | <child> |
289 | <object class="GtkScrolledWindow"> | 281 | <object class="GtkImage"> |
290 | <property name="height-request">300</property> | ||
291 | <property name="visible">True</property> | 282 | <property name="visible">True</property> |
292 | <property name="can-focus">True</property> | 283 | <property name="can-focus">False</property> |
293 | <child> | 284 | <property name="icon-name">go-previous-symbolic</property> |
294 | <object class="GtkViewport"> | ||
295 | <property name="visible">True</property> | ||
296 | <property name="can-focus">False</property> | ||
297 | <child> | ||
298 | <object class="GtkListBox"> | ||
299 | <property name="visible">True</property> | ||
300 | <property name="can-focus">False</property> | ||
301 | </object> | ||
302 | </child> | ||
303 | </object> | ||
304 | </child> | ||
305 | </object> | 285 | </object> |
306 | </child> | 286 | </child> |
307 | </object> | 287 | </object> |
@@ -312,51 +292,97 @@ Author: Tobias Frisch | |||
312 | </packing> | 292 | </packing> |
313 | </child> | 293 | </child> |
314 | <child> | 294 | <child> |
295 | <object class="GtkButton"> | ||
296 | <property name="visible">True</property> | ||
297 | <property name="can-focus">True</property> | ||
298 | <property name="receives-default">True</property> | ||
299 | <property name="halign">center</property> | ||
300 | <property name="valign">center</property> | ||
301 | <property name="relief">none</property> | ||
302 | <child> | ||
303 | <object class="GtkImage"> | ||
304 | <property name="visible">True</property> | ||
305 | <property name="can-focus">False</property> | ||
306 | <property name="icon-name">user-bookmarks-symbolic</property> | ||
307 | </object> | ||
308 | </child> | ||
309 | </object> | ||
310 | <packing> | ||
311 | <property name="expand">True</property> | ||
312 | <property name="fill">True</property> | ||
313 | <property name="position">1</property> | ||
314 | </packing> | ||
315 | </child> | ||
316 | <child> | ||
317 | <object class="GtkButton" id="account_details_button"> | ||
318 | <property name="visible">True</property> | ||
319 | <property name="can-focus">True</property> | ||
320 | <property name="receives-default">True</property> | ||
321 | <property name="halign">center</property> | ||
322 | <property name="valign">center</property> | ||
323 | <property name="relief">none</property> | ||
324 | <child> | ||
325 | <object class="GtkImage"> | ||
326 | <property name="visible">True</property> | ||
327 | <property name="can-focus">False</property> | ||
328 | <property name="icon-name">go-down-symbolic</property> | ||
329 | </object> | ||
330 | </child> | ||
331 | </object> | ||
332 | <packing> | ||
333 | <property name="expand">True</property> | ||
334 | <property name="fill">True</property> | ||
335 | <property name="position">2</property> | ||
336 | </packing> | ||
337 | </child> | ||
338 | </object> | ||
339 | <packing> | ||
340 | <property name="expand">True</property> | ||
341 | <property name="fill">True</property> | ||
342 | <property name="position">1</property> | ||
343 | </packing> | ||
344 | </child> | ||
345 | </object> | ||
346 | <packing> | ||
347 | <property name="expand">False</property> | ||
348 | <property name="fill">True</property> | ||
349 | <property name="position">1</property> | ||
350 | </packing> | ||
351 | </child> | ||
352 | <child> | ||
353 | <object class="GtkScrolledWindow"> | ||
354 | <property name="visible">True</property> | ||
355 | <property name="can-focus">True</property> | ||
356 | <child> | ||
357 | <object class="GtkViewport"> | ||
358 | <property name="visible">True</property> | ||
359 | <property name="can-focus">False</property> | ||
360 | <property name="shadow-type">none</property> | ||
361 | <child> | ||
315 | <object class="GtkBox"> | 362 | <object class="GtkBox"> |
316 | <property name="visible">True</property> | 363 | <property name="visible">True</property> |
317 | <property name="can-focus">False</property> | 364 | <property name="can-focus">False</property> |
318 | <property name="orientation">vertical</property> | 365 | <property name="orientation">vertical</property> |
319 | <child> | 366 | <child> |
320 | <object class="GtkButton"> | 367 | <object class="GtkRevealer" id="account_details_revealer"> |
321 | <property name="visible">True</property> | 368 | <property name="visible">True</property> |
322 | <property name="can-focus">True</property> | 369 | <property name="can-focus">False</property> |
323 | <property name="receives-default">True</property> | ||
324 | <property name="relief">none</property> | ||
325 | <property name="always-show-image">True</property> | ||
326 | <child> | 370 | <child> |
327 | <object class="GtkBox"> | 371 | <object class="GtkScrolledWindow"> |
372 | <property name="height-request">300</property> | ||
328 | <property name="visible">True</property> | 373 | <property name="visible">True</property> |
329 | <property name="can-focus">False</property> | 374 | <property name="can-focus">True</property> |
330 | <property name="margin-start">4</property> | ||
331 | <property name="margin-end">4</property> | ||
332 | <property name="margin-top">4</property> | ||
333 | <property name="margin-bottom">4</property> | ||
334 | <property name="spacing">16</property> | ||
335 | <child> | ||
336 | <object class="GtkImage"> | ||
337 | <property name="visible">True</property> | ||
338 | <property name="can-focus">False</property> | ||
339 | <property name="icon-name">system-users-symbolic</property> | ||
340 | <property name="icon_size">3</property> | ||
341 | </object> | ||
342 | <packing> | ||
343 | <property name="expand">False</property> | ||
344 | <property name="fill">True</property> | ||
345 | <property name="position">0</property> | ||
346 | </packing> | ||
347 | </child> | ||
348 | <child> | 375 | <child> |
349 | <object class="GtkLabel" id="new-group-label"> | 376 | <object class="GtkViewport"> |
350 | <property name="visible">True</property> | 377 | <property name="visible">True</property> |
351 | <property name="can-focus">False</property> | 378 | <property name="can-focus">False</property> |
352 | <property name="label" translatable="yes">New Group</property> | 379 | <child> |
353 | <property name="xalign">0</property> | 380 | <object class="GtkListBox"> |
381 | <property name="visible">True</property> | ||
382 | <property name="can-focus">False</property> | ||
383 | </object> | ||
384 | </child> | ||
354 | </object> | 385 | </object> |
355 | <packing> | ||
356 | <property name="expand">False</property> | ||
357 | <property name="fill">True</property> | ||
358 | <property name="position">1</property> | ||
359 | </packing> | ||
360 | </child> | 386 | </child> |
361 | </object> | 387 | </object> |
362 | </child> | 388 | </child> |
@@ -368,333 +394,397 @@ Author: Tobias Frisch | |||
368 | </packing> | 394 | </packing> |
369 | </child> | 395 | </child> |
370 | <child> | 396 | <child> |
371 | <object class="GtkButton"> | 397 | <object class="GtkBox"> |
372 | <property name="visible">True</property> | 398 | <property name="visible">True</property> |
373 | <property name="can-focus">True</property> | 399 | <property name="can-focus">False</property> |
374 | <property name="receives-default">True</property> | 400 | <property name="orientation">vertical</property> |
375 | <property name="relief">none</property> | ||
376 | <property name="always-show-image">True</property> | ||
377 | <child> | 401 | <child> |
378 | <object class="GtkBox"> | 402 | <object class="GtkButton"> |
379 | <property name="visible">True</property> | 403 | <property name="visible">True</property> |
380 | <property name="can-focus">False</property> | 404 | <property name="can-focus">True</property> |
381 | <property name="margin-start">4</property> | 405 | <property name="receives-default">True</property> |
382 | <property name="margin-end">4</property> | 406 | <property name="relief">none</property> |
383 | <property name="margin-top">4</property> | 407 | <property name="always-show-image">True</property> |
384 | <property name="margin-bottom">4</property> | ||
385 | <property name="spacing">16</property> | ||
386 | <child> | 408 | <child> |
387 | <object class="GtkImage"> | 409 | <object class="GtkBox"> |
388 | <property name="visible">True</property> | 410 | <property name="visible">True</property> |
389 | <property name="can-focus">False</property> | 411 | <property name="can-focus">False</property> |
390 | <property name="icon-name">network-wired-symbolic</property> | 412 | <property name="margin-start">4</property> |
391 | <property name="icon_size">3</property> | 413 | <property name="margin-end">4</property> |
414 | <property name="margin-top">4</property> | ||
415 | <property name="margin-bottom">4</property> | ||
416 | <property name="spacing">16</property> | ||
417 | <child> | ||
418 | <object class="GtkImage"> | ||
419 | <property name="visible">True</property> | ||
420 | <property name="can-focus">False</property> | ||
421 | <property name="icon-name">system-users-symbolic</property> | ||
422 | <property name="icon_size">3</property> | ||
423 | </object> | ||
424 | <packing> | ||
425 | <property name="expand">False</property> | ||
426 | <property name="fill">True</property> | ||
427 | <property name="position">0</property> | ||
428 | </packing> | ||
429 | </child> | ||
430 | <child> | ||
431 | <object class="GtkLabel" id="new-group-label"> | ||
432 | <property name="visible">True</property> | ||
433 | <property name="can-focus">False</property> | ||
434 | <property name="label" translatable="yes">New Group</property> | ||
435 | <property name="xalign">0</property> | ||
436 | </object> | ||
437 | <packing> | ||
438 | <property name="expand">False</property> | ||
439 | <property name="fill">True</property> | ||
440 | <property name="position">1</property> | ||
441 | </packing> | ||
442 | </child> | ||
392 | </object> | 443 | </object> |
393 | <packing> | ||
394 | <property name="expand">False</property> | ||
395 | <property name="fill">True</property> | ||
396 | <property name="position">0</property> | ||
397 | </packing> | ||
398 | </child> | 444 | </child> |
445 | </object> | ||
446 | <packing> | ||
447 | <property name="expand">False</property> | ||
448 | <property name="fill">True</property> | ||
449 | <property name="position">0</property> | ||
450 | </packing> | ||
451 | </child> | ||
452 | <child> | ||
453 | <object class="GtkButton"> | ||
454 | <property name="visible">True</property> | ||
455 | <property name="can-focus">True</property> | ||
456 | <property name="receives-default">True</property> | ||
457 | <property name="relief">none</property> | ||
458 | <property name="always-show-image">True</property> | ||
399 | <child> | 459 | <child> |
400 | <object class="GtkLabel" id="new-platform-label"> | 460 | <object class="GtkBox"> |
401 | <property name="visible">True</property> | 461 | <property name="visible">True</property> |
402 | <property name="can-focus">False</property> | 462 | <property name="can-focus">False</property> |
403 | <property name="label" translatable="yes">New Platform</property> | 463 | <property name="margin-start">4</property> |
404 | <property name="xalign">0</property> | 464 | <property name="margin-end">4</property> |
465 | <property name="margin-top">4</property> | ||
466 | <property name="margin-bottom">4</property> | ||
467 | <property name="spacing">16</property> | ||
468 | <child> | ||
469 | <object class="GtkImage"> | ||
470 | <property name="visible">True</property> | ||
471 | <property name="can-focus">False</property> | ||
472 | <property name="icon-name">network-wired-symbolic</property> | ||
473 | <property name="icon_size">3</property> | ||
474 | </object> | ||
475 | <packing> | ||
476 | <property name="expand">False</property> | ||
477 | <property name="fill">True</property> | ||
478 | <property name="position">0</property> | ||
479 | </packing> | ||
480 | </child> | ||
481 | <child> | ||
482 | <object class="GtkLabel" id="new-platform-label"> | ||
483 | <property name="visible">True</property> | ||
484 | <property name="can-focus">False</property> | ||
485 | <property name="label" translatable="yes">New Platform</property> | ||
486 | <property name="xalign">0</property> | ||
487 | </object> | ||
488 | <packing> | ||
489 | <property name="expand">False</property> | ||
490 | <property name="fill">True</property> | ||
491 | <property name="position">1</property> | ||
492 | </packing> | ||
493 | </child> | ||
405 | </object> | 494 | </object> |
406 | <packing> | ||
407 | <property name="expand">False</property> | ||
408 | <property name="fill">True</property> | ||
409 | <property name="position">1</property> | ||
410 | </packing> | ||
411 | </child> | 495 | </child> |
412 | </object> | 496 | </object> |
497 | <packing> | ||
498 | <property name="expand">False</property> | ||
499 | <property name="fill">True</property> | ||
500 | <property name="position">1</property> | ||
501 | </packing> | ||
413 | </child> | 502 | </child> |
414 | </object> | ||
415 | <packing> | ||
416 | <property name="expand">False</property> | ||
417 | <property name="fill">True</property> | ||
418 | <property name="position">1</property> | ||
419 | </packing> | ||
420 | </child> | ||
421 | <child> | ||
422 | <object class="GtkButton"> | ||
423 | <property name="visible">True</property> | ||
424 | <property name="can-focus">True</property> | ||
425 | <property name="receives-default">True</property> | ||
426 | <property name="relief">none</property> | ||
427 | <property name="always-show-image">True</property> | ||
428 | <child> | 503 | <child> |
429 | <object class="GtkBox"> | 504 | <object class="GtkButton"> |
430 | <property name="visible">True</property> | 505 | <property name="visible">True</property> |
431 | <property name="can-focus">False</property> | 506 | <property name="can-focus">True</property> |
432 | <property name="margin-start">4</property> | 507 | <property name="receives-default">True</property> |
433 | <property name="margin-end">4</property> | 508 | <property name="relief">none</property> |
434 | <property name="margin-top">4</property> | 509 | <property name="always-show-image">True</property> |
435 | <property name="margin-bottom">4</property> | ||
436 | <property name="spacing">16</property> | ||
437 | <child> | 510 | <child> |
438 | <object class="GtkImage"> | 511 | <object class="GtkBox"> |
439 | <property name="visible">True</property> | 512 | <property name="visible">True</property> |
440 | <property name="can-focus">False</property> | 513 | <property name="can-focus">False</property> |
441 | <property name="icon-name">avatar-default-symbolic</property> | 514 | <property name="margin-start">4</property> |
442 | <property name="icon_size">3</property> | 515 | <property name="margin-end">4</property> |
516 | <property name="margin-top">4</property> | ||
517 | <property name="margin-bottom">4</property> | ||
518 | <property name="spacing">16</property> | ||
519 | <child> | ||
520 | <object class="GtkImage"> | ||
521 | <property name="visible">True</property> | ||
522 | <property name="can-focus">False</property> | ||
523 | <property name="icon-name">avatar-default-symbolic</property> | ||
524 | <property name="icon_size">3</property> | ||
525 | </object> | ||
526 | <packing> | ||
527 | <property name="expand">False</property> | ||
528 | <property name="fill">True</property> | ||
529 | <property name="position">0</property> | ||
530 | </packing> | ||
531 | </child> | ||
532 | <child> | ||
533 | <object class="GtkLabel" id="contacts-label"> | ||
534 | <property name="visible">True</property> | ||
535 | <property name="can-focus">False</property> | ||
536 | <property name="label" translatable="yes">Contacts</property> | ||
537 | <property name="xalign">0</property> | ||
538 | </object> | ||
539 | <packing> | ||
540 | <property name="expand">False</property> | ||
541 | <property name="fill">True</property> | ||
542 | <property name="position">1</property> | ||
543 | </packing> | ||
544 | </child> | ||
443 | </object> | 545 | </object> |
444 | <packing> | ||
445 | <property name="expand">False</property> | ||
446 | <property name="fill">True</property> | ||
447 | <property name="position">0</property> | ||
448 | </packing> | ||
449 | </child> | 546 | </child> |
547 | </object> | ||
548 | <packing> | ||
549 | <property name="expand">False</property> | ||
550 | <property name="fill">True</property> | ||
551 | <property name="position">2</property> | ||
552 | </packing> | ||
553 | </child> | ||
554 | <child> | ||
555 | <object class="GtkButton"> | ||
556 | <property name="visible">True</property> | ||
557 | <property name="can-focus">True</property> | ||
558 | <property name="receives-default">True</property> | ||
559 | <property name="relief">none</property> | ||
560 | <property name="always-show-image">True</property> | ||
450 | <child> | 561 | <child> |
451 | <object class="GtkLabel" id="contacts-label"> | 562 | <object class="GtkBox"> |
452 | <property name="visible">True</property> | 563 | <property name="visible">True</property> |
453 | <property name="can-focus">False</property> | 564 | <property name="can-focus">False</property> |
454 | <property name="label" translatable="yes">Contacts</property> | 565 | <property name="margin-start">4</property> |
455 | <property name="xalign">0</property> | 566 | <property name="margin-end">4</property> |
567 | <property name="margin-top">4</property> | ||
568 | <property name="margin-bottom">4</property> | ||
569 | <property name="spacing">16</property> | ||
570 | <child> | ||
571 | <object class="GtkImage"> | ||
572 | <property name="visible">True</property> | ||
573 | <property name="can-focus">False</property> | ||
574 | <property name="icon-name">call-start-symbolic</property> | ||
575 | <property name="icon_size">3</property> | ||
576 | </object> | ||
577 | <packing> | ||
578 | <property name="expand">False</property> | ||
579 | <property name="fill">True</property> | ||
580 | <property name="position">0</property> | ||
581 | </packing> | ||
582 | </child> | ||
583 | <child> | ||
584 | <object class="GtkLabel" id="calls-label"> | ||
585 | <property name="visible">True</property> | ||
586 | <property name="can-focus">False</property> | ||
587 | <property name="label" translatable="yes">Calls</property> | ||
588 | <property name="xalign">0</property> | ||
589 | </object> | ||
590 | <packing> | ||
591 | <property name="expand">False</property> | ||
592 | <property name="fill">True</property> | ||
593 | <property name="position">1</property> | ||
594 | </packing> | ||
595 | </child> | ||
456 | </object> | 596 | </object> |
457 | <packing> | ||
458 | <property name="expand">False</property> | ||
459 | <property name="fill">True</property> | ||
460 | <property name="position">1</property> | ||
461 | </packing> | ||
462 | </child> | 597 | </child> |
463 | </object> | 598 | </object> |
599 | <packing> | ||
600 | <property name="expand">False</property> | ||
601 | <property name="fill">True</property> | ||
602 | <property name="position">3</property> | ||
603 | </packing> | ||
464 | </child> | 604 | </child> |
465 | </object> | ||
466 | <packing> | ||
467 | <property name="expand">False</property> | ||
468 | <property name="fill">True</property> | ||
469 | <property name="position">2</property> | ||
470 | </packing> | ||
471 | </child> | ||
472 | <child> | ||
473 | <object class="GtkButton"> | ||
474 | <property name="visible">True</property> | ||
475 | <property name="can-focus">True</property> | ||
476 | <property name="receives-default">True</property> | ||
477 | <property name="relief">none</property> | ||
478 | <property name="always-show-image">True</property> | ||
479 | <child> | 605 | <child> |
480 | <object class="GtkBox"> | 606 | <object class="GtkButton"> |
481 | <property name="visible">True</property> | 607 | <property name="visible">True</property> |
482 | <property name="can-focus">False</property> | 608 | <property name="can-focus">True</property> |
483 | <property name="margin-start">4</property> | 609 | <property name="receives-default">True</property> |
484 | <property name="margin-end">4</property> | 610 | <property name="relief">none</property> |
485 | <property name="margin-top">4</property> | 611 | <property name="always-show-image">True</property> |
486 | <property name="margin-bottom">4</property> | ||
487 | <property name="spacing">16</property> | ||
488 | <child> | 612 | <child> |
489 | <object class="GtkImage"> | 613 | <object class="GtkBox"> |
490 | <property name="visible">True</property> | 614 | <property name="visible">True</property> |
491 | <property name="can-focus">False</property> | 615 | <property name="can-focus">False</property> |
492 | <property name="icon-name">call-start-symbolic</property> | 616 | <property name="margin-start">4</property> |
493 | <property name="icon_size">3</property> | 617 | <property name="margin-end">4</property> |
618 | <property name="margin-top">4</property> | ||
619 | <property name="margin-bottom">4</property> | ||
620 | <property name="spacing">16</property> | ||
621 | <child> | ||
622 | <object class="GtkImage"> | ||
623 | <property name="visible">True</property> | ||
624 | <property name="can-focus">False</property> | ||
625 | <property name="icon-name">emblem-system-symbolic</property> | ||
626 | <property name="icon_size">3</property> | ||
627 | </object> | ||
628 | <packing> | ||
629 | <property name="expand">False</property> | ||
630 | <property name="fill">True</property> | ||
631 | <property name="position">0</property> | ||
632 | </packing> | ||
633 | </child> | ||
634 | <child> | ||
635 | <object class="GtkLabel" id="settings-label"> | ||
636 | <property name="visible">True</property> | ||
637 | <property name="can-focus">False</property> | ||
638 | <property name="label" translatable="yes">Settings</property> | ||
639 | <property name="xalign">0</property> | ||
640 | </object> | ||
641 | <packing> | ||
642 | <property name="expand">False</property> | ||
643 | <property name="fill">True</property> | ||
644 | <property name="position">1</property> | ||
645 | </packing> | ||
646 | </child> | ||
494 | </object> | 647 | </object> |
495 | <packing> | ||
496 | <property name="expand">False</property> | ||
497 | <property name="fill">True</property> | ||
498 | <property name="position">0</property> | ||
499 | </packing> | ||
500 | </child> | 648 | </child> |
649 | </object> | ||
650 | <packing> | ||
651 | <property name="expand">False</property> | ||
652 | <property name="fill">True</property> | ||
653 | <property name="position">4</property> | ||
654 | </packing> | ||
655 | </child> | ||
656 | <child> | ||
657 | <object class="GtkButton"> | ||
658 | <property name="visible">True</property> | ||
659 | <property name="can-focus">True</property> | ||
660 | <property name="receives-default">True</property> | ||
661 | <property name="relief">none</property> | ||
662 | <property name="always-show-image">True</property> | ||
501 | <child> | 663 | <child> |
502 | <object class="GtkLabel" id="calls-label"> | 664 | <object class="GtkBox"> |
503 | <property name="visible">True</property> | 665 | <property name="visible">True</property> |
504 | <property name="can-focus">False</property> | 666 | <property name="can-focus">False</property> |
505 | <property name="label" translatable="yes">Calls</property> | 667 | <property name="margin-start">4</property> |
506 | <property name="xalign">0</property> | 668 | <property name="margin-end">4</property> |
669 | <property name="margin-top">4</property> | ||
670 | <property name="margin-bottom">4</property> | ||
671 | <property name="spacing">16</property> | ||
672 | <child> | ||
673 | <object class="GtkImage"> | ||
674 | <property name="visible">True</property> | ||
675 | <property name="can-focus">False</property> | ||
676 | <property name="icon-name">weather-clear-night-symbolic</property> | ||
677 | <property name="icon_size">3</property> | ||
678 | </object> | ||
679 | <packing> | ||
680 | <property name="expand">False</property> | ||
681 | <property name="fill">True</property> | ||
682 | <property name="position">0</property> | ||
683 | </packing> | ||
684 | </child> | ||
685 | <child> | ||
686 | <object class="GtkLabel" id="night-mode-label"> | ||
687 | <property name="visible">True</property> | ||
688 | <property name="can-focus">False</property> | ||
689 | <property name="label" translatable="yes">Night Mode</property> | ||
690 | <property name="xalign">0</property> | ||
691 | </object> | ||
692 | <packing> | ||
693 | <property name="expand">False</property> | ||
694 | <property name="fill">True</property> | ||
695 | <property name="position">1</property> | ||
696 | </packing> | ||
697 | </child> | ||
507 | </object> | 698 | </object> |
508 | <packing> | ||
509 | <property name="expand">False</property> | ||
510 | <property name="fill">True</property> | ||
511 | <property name="position">1</property> | ||
512 | </packing> | ||
513 | </child> | 699 | </child> |
514 | </object> | 700 | </object> |
701 | <packing> | ||
702 | <property name="expand">False</property> | ||
703 | <property name="fill">True</property> | ||
704 | <property name="position">5</property> | ||
705 | </packing> | ||
515 | </child> | 706 | </child> |
516 | </object> | 707 | </object> |
517 | <packing> | 708 | <packing> |
518 | <property name="expand">False</property> | 709 | <property name="expand">True</property> |
519 | <property name="fill">True</property> | 710 | <property name="fill">True</property> |
520 | <property name="position">3</property> | 711 | <property name="position">1</property> |
521 | </packing> | 712 | </packing> |
522 | </child> | 713 | </child> |
523 | <child> | 714 | <child> |
524 | <object class="GtkButton"> | 715 | <object class="GtkBox"> |
525 | <property name="visible">True</property> | 716 | <property name="visible">True</property> |
526 | <property name="can-focus">True</property> | 717 | <property name="can-focus">False</property> |
527 | <property name="receives-default">True</property> | 718 | <property name="margin-start">16</property> |
528 | <property name="relief">none</property> | 719 | <property name="margin-end">16</property> |
529 | <property name="always-show-image">True</property> | 720 | <property name="margin-top">16</property> |
721 | <property name="margin-bottom">16</property> | ||
722 | <property name="orientation">vertical</property> | ||
530 | <child> | 723 | <child> |
531 | <object class="GtkBox"> | 724 | <object class="GtkLabel"> |
532 | <property name="visible">True</property> | 725 | <property name="visible">True</property> |
533 | <property name="can-focus">False</property> | 726 | <property name="can-focus">False</property> |
534 | <property name="margin-start">4</property> | 727 | <property name="halign">start</property> |
535 | <property name="margin-end">4</property> | 728 | <property name="label" translatable="yes">GNUnet Messenger</property> |
536 | <property name="margin-top">4</property> | 729 | <attributes> |
537 | <property name="margin-bottom">4</property> | 730 | <attribute name="weight" value="bold"/> |
538 | <property name="spacing">16</property> | 731 | </attributes> |
539 | <child> | ||
540 | <object class="GtkImage"> | ||
541 | <property name="visible">True</property> | ||
542 | <property name="can-focus">False</property> | ||
543 | <property name="icon-name">emblem-system-symbolic</property> | ||
544 | <property name="icon_size">3</property> | ||
545 | </object> | ||
546 | <packing> | ||
547 | <property name="expand">False</property> | ||
548 | <property name="fill">True</property> | ||
549 | <property name="position">0</property> | ||
550 | </packing> | ||
551 | </child> | ||
552 | <child> | ||
553 | <object class="GtkLabel" id="settings-label"> | ||
554 | <property name="visible">True</property> | ||
555 | <property name="can-focus">False</property> | ||
556 | <property name="label" translatable="yes">Settings</property> | ||
557 | <property name="xalign">0</property> | ||
558 | </object> | ||
559 | <packing> | ||
560 | <property name="expand">False</property> | ||
561 | <property name="fill">True</property> | ||
562 | <property name="position">1</property> | ||
563 | </packing> | ||
564 | </child> | ||
565 | </object> | 732 | </object> |
733 | <packing> | ||
734 | <property name="expand">False</property> | ||
735 | <property name="fill">True</property> | ||
736 | <property name="position">0</property> | ||
737 | </packing> | ||
566 | </child> | 738 | </child> |
567 | </object> | ||
568 | <packing> | ||
569 | <property name="expand">False</property> | ||
570 | <property name="fill">True</property> | ||
571 | <property name="position">4</property> | ||
572 | </packing> | ||
573 | </child> | ||
574 | <child> | ||
575 | <object class="GtkButton"> | ||
576 | <property name="visible">True</property> | ||
577 | <property name="can-focus">True</property> | ||
578 | <property name="receives-default">True</property> | ||
579 | <property name="relief">none</property> | ||
580 | <property name="always-show-image">True</property> | ||
581 | <child> | 739 | <child> |
582 | <object class="GtkBox"> | 740 | <object class="GtkLabel"> |
583 | <property name="visible">True</property> | 741 | <property name="visible">True</property> |
584 | <property name="can-focus">False</property> | 742 | <property name="can-focus">False</property> |
585 | <property name="margin-start">4</property> | 743 | <property name="halign">start</property> |
586 | <property name="margin-end">4</property> | 744 | <property name="label" translatable="yes">Version 0.0.1</property> |
587 | <property name="margin-top">4</property> | ||
588 | <property name="margin-bottom">4</property> | ||
589 | <property name="spacing">16</property> | ||
590 | <child> | ||
591 | <object class="GtkImage"> | ||
592 | <property name="visible">True</property> | ||
593 | <property name="can-focus">False</property> | ||
594 | <property name="icon-name">weather-clear-night-symbolic</property> | ||
595 | <property name="icon_size">3</property> | ||
596 | </object> | ||
597 | <packing> | ||
598 | <property name="expand">False</property> | ||
599 | <property name="fill">True</property> | ||
600 | <property name="position">0</property> | ||
601 | </packing> | ||
602 | </child> | ||
603 | <child> | ||
604 | <object class="GtkLabel" id="night-mode-label"> | ||
605 | <property name="visible">True</property> | ||
606 | <property name="can-focus">False</property> | ||
607 | <property name="label" translatable="yes">Night Mode</property> | ||
608 | <property name="xalign">0</property> | ||
609 | </object> | ||
610 | <packing> | ||
611 | <property name="expand">False</property> | ||
612 | <property name="fill">True</property> | ||
613 | <property name="position">1</property> | ||
614 | </packing> | ||
615 | </child> | ||
616 | </object> | 745 | </object> |
746 | <packing> | ||
747 | <property name="expand">False</property> | ||
748 | <property name="fill">True</property> | ||
749 | <property name="position">1</property> | ||
750 | </packing> | ||
617 | </child> | 751 | </child> |
618 | </object> | 752 | </object> |
619 | <packing> | 753 | <packing> |
620 | <property name="expand">False</property> | 754 | <property name="expand">False</property> |
621 | <property name="fill">True</property> | 755 | <property name="fill">True</property> |
622 | <property name="position">5</property> | 756 | <property name="pack-type">end</property> |
623 | </packing> | 757 | <property name="position">2</property> |
624 | </child> | ||
625 | </object> | ||
626 | <packing> | ||
627 | <property name="expand">True</property> | ||
628 | <property name="fill">True</property> | ||
629 | <property name="position">1</property> | ||
630 | </packing> | ||
631 | </child> | ||
632 | <child> | ||
633 | <object class="GtkBox"> | ||
634 | <property name="visible">True</property> | ||
635 | <property name="can-focus">False</property> | ||
636 | <property name="margin-start">16</property> | ||
637 | <property name="margin-end">16</property> | ||
638 | <property name="margin-top">16</property> | ||
639 | <property name="margin-bottom">16</property> | ||
640 | <property name="orientation">vertical</property> | ||
641 | <child> | ||
642 | <object class="GtkLabel"> | ||
643 | <property name="visible">True</property> | ||
644 | <property name="can-focus">False</property> | ||
645 | <property name="halign">start</property> | ||
646 | <property name="label" translatable="yes">GNUnet Messenger</property> | ||
647 | <attributes> | ||
648 | <attribute name="weight" value="bold"/> | ||
649 | </attributes> | ||
650 | </object> | ||
651 | <packing> | ||
652 | <property name="expand">False</property> | ||
653 | <property name="fill">True</property> | ||
654 | <property name="position">0</property> | ||
655 | </packing> | ||
656 | </child> | ||
657 | <child> | ||
658 | <object class="GtkLabel"> | ||
659 | <property name="visible">True</property> | ||
660 | <property name="can-focus">False</property> | ||
661 | <property name="halign">start</property> | ||
662 | <property name="label" translatable="yes">Version 0.0.1</property> | ||
663 | </object> | ||
664 | <packing> | ||
665 | <property name="expand">False</property> | ||
666 | <property name="fill">True</property> | ||
667 | <property name="position">1</property> | ||
668 | </packing> | 758 | </packing> |
669 | </child> | 759 | </child> |
670 | </object> | 760 | </object> |
671 | <packing> | ||
672 | <property name="expand">False</property> | ||
673 | <property name="fill">True</property> | ||
674 | <property name="pack-type">end</property> | ||
675 | <property name="position">2</property> | ||
676 | </packing> | ||
677 | </child> | 761 | </child> |
678 | </object> | 762 | </object> |
679 | </child> | 763 | </child> |
680 | </object> | 764 | </object> |
765 | <packing> | ||
766 | <property name="expand">True</property> | ||
767 | <property name="fill">True</property> | ||
768 | <property name="position">2</property> | ||
769 | </packing> | ||
681 | </child> | 770 | </child> |
771 | <style> | ||
772 | <class name="flap-background"/> | ||
773 | </style> | ||
682 | </object> | 774 | </object> |
683 | <packing> | ||
684 | <property name="expand">True</property> | ||
685 | <property name="fill">True</property> | ||
686 | <property name="position">2</property> | ||
687 | </packing> | ||
688 | </child> | 775 | </child> |
689 | <style> | ||
690 | <class name="flap-background"/> | ||
691 | </style> | ||
692 | </object> | 776 | </object> |
777 | <packing> | ||
778 | <property name="expand">True</property> | ||
779 | <property name="fill">True</property> | ||
780 | <property name="position">0</property> | ||
781 | </packing> | ||
693 | </child> | 782 | </child> |
694 | </object> | 783 | </object> |
695 | </child> | 784 | </child> |
696 | <child> | 785 | <child> |
697 | <object class="GtkBox"> | 786 | <object class="GtkBox"> |
787 | <property name="name">chats-box</property> | ||
698 | <property name="visible">True</property> | 788 | <property name="visible">True</property> |
699 | <property name="can-focus">False</property> | 789 | <property name="can-focus">False</property> |
700 | <property name="hexpand">True</property> | 790 | <property name="hexpand">True</property> |
@@ -829,7 +919,289 @@ Author: Tobias Frisch | |||
829 | <property name="visible">True</property> | 919 | <property name="visible">True</property> |
830 | <property name="can-focus">False</property> | 920 | <property name="can-focus">False</property> |
831 | <child> | 921 | <child> |
832 | <placeholder/> | 922 | <object class="GtkListBox"> |
923 | <property name="visible">True</property> | ||
924 | <property name="can-focus">False</property> | ||
925 | <property name="selection-mode">none</property> | ||
926 | <property name="activate-on-single-click">False</property> | ||
927 | <child> | ||
928 | <object class="GtkListBoxRow"> | ||
929 | <property name="visible">True</property> | ||
930 | <property name="can-focus">True</property> | ||
931 | <property name="activatable">False</property> | ||
932 | <property name="selectable">False</property> | ||
933 | <child> | ||
934 | <object class="GtkBox"> | ||
935 | <property name="visible">True</property> | ||
936 | <property name="can-focus">False</property> | ||
937 | <child> | ||
938 | <object class="GtkFrame"> | ||
939 | <property name="visible">True</property> | ||
940 | <property name="can-focus">False</property> | ||
941 | <property name="label-xalign">0</property> | ||
942 | <property name="shadow-type">none</property> | ||
943 | <child> | ||
944 | <object class="GtkLabel"> | ||
945 | <property name="visible">True</property> | ||
946 | <property name="can-focus">False</property> | ||
947 | <property name="label" translatable="yes">My evil comment text is awesome! This is coming to the Pinephone which will be extremely awesome and this text may only cut some borders in certain areas!!!</property> | ||
948 | <property name="wrap">True</property> | ||
949 | <property name="max-width-chars">64</property> | ||
950 | </object> | ||
951 | </child> | ||
952 | <child type="label"> | ||
953 | <object class="GtkLabel"> | ||
954 | <property name="visible">True</property> | ||
955 | <property name="can-focus">False</property> | ||
956 | <property name="label" translatable="yes">User</property> | ||
957 | </object> | ||
958 | </child> | ||
959 | <style> | ||
960 | <class name="message-box"/> | ||
961 | <class name="own"/> | ||
962 | </style> | ||
963 | </object> | ||
964 | <packing> | ||
965 | <property name="expand">False</property> | ||
966 | <property name="fill">True</property> | ||
967 | <property name="pack-type">end</property> | ||
968 | <property name="position">2</property> | ||
969 | </packing> | ||
970 | </child> | ||
971 | </object> | ||
972 | </child> | ||
973 | </object> | ||
974 | </child> | ||
975 | <child> | ||
976 | <object class="GtkListBoxRow"> | ||
977 | <property name="visible">True</property> | ||
978 | <property name="can-focus">True</property> | ||
979 | <property name="activatable">False</property> | ||
980 | <property name="selectable">False</property> | ||
981 | <child> | ||
982 | <object class="GtkBox"> | ||
983 | <property name="visible">True</property> | ||
984 | <property name="can-focus">False</property> | ||
985 | <child> | ||
986 | <object class="GtkFrame"> | ||
987 | <property name="visible">True</property> | ||
988 | <property name="can-focus">False</property> | ||
989 | <property name="label-xalign">0</property> | ||
990 | <property name="shadow-type">none</property> | ||
991 | <child> | ||
992 | <object class="GtkLabel"> | ||
993 | <property name="visible">True</property> | ||
994 | <property name="can-focus">False</property> | ||
995 | <property name="label" translatable="yes">Great stuff to write</property> | ||
996 | <property name="max-width-chars">64</property> | ||
997 | </object> | ||
998 | </child> | ||
999 | <child type="label"> | ||
1000 | <object class="GtkLabel"> | ||
1001 | <property name="visible">True</property> | ||
1002 | <property name="can-focus">False</property> | ||
1003 | <property name="label" translatable="yes">OtherGuy69</property> | ||
1004 | </object> | ||
1005 | </child> | ||
1006 | <style> | ||
1007 | <class name="message-box"/> | ||
1008 | </style> | ||
1009 | </object> | ||
1010 | <packing> | ||
1011 | <property name="expand">False</property> | ||
1012 | <property name="fill">True</property> | ||
1013 | <property name="position">0</property> | ||
1014 | </packing> | ||
1015 | </child> | ||
1016 | </object> | ||
1017 | </child> | ||
1018 | </object> | ||
1019 | </child> | ||
1020 | <child> | ||
1021 | <object class="GtkListBoxRow"> | ||
1022 | <property name="visible">True</property> | ||
1023 | <property name="can-focus">True</property> | ||
1024 | <child> | ||
1025 | <object class="GtkBox"> | ||
1026 | <property name="visible">True</property> | ||
1027 | <property name="can-focus">False</property> | ||
1028 | <child> | ||
1029 | <object class="GtkFrame"> | ||
1030 | <property name="visible">True</property> | ||
1031 | <property name="can-focus">False</property> | ||
1032 | <property name="label-xalign">0</property> | ||
1033 | <property name="shadow-type">none</property> | ||
1034 | <child> | ||
1035 | <object class="GtkLabel"> | ||
1036 | <property name="visible">True</property> | ||
1037 | <property name="can-focus">False</property> | ||
1038 | <property name="label" translatable="yes">My evil comment text is awesome! This is coming to the Pinephone which will be extremely awesome and this text may only cut some borders in certain areas!!!</property> | ||
1039 | <property name="wrap">True</property> | ||
1040 | <property name="max-width-chars">64</property> | ||
1041 | </object> | ||
1042 | </child> | ||
1043 | <child type="label"> | ||
1044 | <object class="GtkLabel"> | ||
1045 | <property name="visible">True</property> | ||
1046 | <property name="can-focus">False</property> | ||
1047 | <property name="label" translatable="yes">User</property> | ||
1048 | </object> | ||
1049 | </child> | ||
1050 | <style> | ||
1051 | <class name="message-box"/> | ||
1052 | <class name="own"/> | ||
1053 | </style> | ||
1054 | </object> | ||
1055 | <packing> | ||
1056 | <property name="expand">False</property> | ||
1057 | <property name="fill">True</property> | ||
1058 | <property name="pack-type">end</property> | ||
1059 | <property name="position">2</property> | ||
1060 | </packing> | ||
1061 | </child> | ||
1062 | </object> | ||
1063 | </child> | ||
1064 | </object> | ||
1065 | </child> | ||
1066 | <child> | ||
1067 | <object class="GtkListBoxRow"> | ||
1068 | <property name="visible">True</property> | ||
1069 | <property name="can-focus">True</property> | ||
1070 | <child> | ||
1071 | <object class="GtkBox"> | ||
1072 | <property name="visible">True</property> | ||
1073 | <property name="can-focus">False</property> | ||
1074 | <child> | ||
1075 | <object class="GtkFrame"> | ||
1076 | <property name="visible">True</property> | ||
1077 | <property name="can-focus">False</property> | ||
1078 | <property name="label-xalign">0</property> | ||
1079 | <property name="shadow-type">none</property> | ||
1080 | <child> | ||
1081 | <object class="GtkLabel"> | ||
1082 | <property name="visible">True</property> | ||
1083 | <property name="can-focus">False</property> | ||
1084 | <property name="label" translatable="yes">If people would know that you spam here like this...</property> | ||
1085 | <property name="wrap">True</property> | ||
1086 | <property name="max-width-chars">64</property> | ||
1087 | </object> | ||
1088 | </child> | ||
1089 | <child type="label"> | ||
1090 | <object class="GtkLabel"> | ||
1091 | <property name="visible">True</property> | ||
1092 | <property name="can-focus">False</property> | ||
1093 | <property name="label" translatable="yes">CookieHunter</property> | ||
1094 | </object> | ||
1095 | </child> | ||
1096 | <style> | ||
1097 | <class name="message-box"/> | ||
1098 | </style> | ||
1099 | </object> | ||
1100 | <packing> | ||
1101 | <property name="expand">False</property> | ||
1102 | <property name="fill">True</property> | ||
1103 | <property name="position">2</property> | ||
1104 | </packing> | ||
1105 | </child> | ||
1106 | </object> | ||
1107 | </child> | ||
1108 | </object> | ||
1109 | </child> | ||
1110 | <child> | ||
1111 | <object class="GtkListBoxRow"> | ||
1112 | <property name="visible">True</property> | ||
1113 | <property name="can-focus">True</property> | ||
1114 | <child> | ||
1115 | <object class="GtkBox"> | ||
1116 | <property name="visible">True</property> | ||
1117 | <property name="can-focus">False</property> | ||
1118 | <child> | ||
1119 | <object class="GtkFrame"> | ||
1120 | <property name="visible">True</property> | ||
1121 | <property name="can-focus">False</property> | ||
1122 | <property name="label-xalign">0</property> | ||
1123 | <property name="shadow-type">none</property> | ||
1124 | <child> | ||
1125 | <object class="GtkLabel"> | ||
1126 | <property name="visible">True</property> | ||
1127 | <property name="can-focus">False</property> | ||
1128 | <property name="label" translatable="yes">Existence is a crisis my friends. You will only get releaf by open-sourcing your hard work because profit is temporary. Forks remain forever!</property> | ||
1129 | <property name="wrap">True</property> | ||
1130 | <property name="max-width-chars">64</property> | ||
1131 | </object> | ||
1132 | </child> | ||
1133 | <child type="label"> | ||
1134 | <object class="GtkLabel"> | ||
1135 | <property name="visible">True</property> | ||
1136 | <property name="can-focus">False</property> | ||
1137 | <property name="label" translatable="yes">SomePhilosoph28</property> | ||
1138 | </object> | ||
1139 | </child> | ||
1140 | <style> | ||
1141 | <class name="message-box"/> | ||
1142 | </style> | ||
1143 | </object> | ||
1144 | <packing> | ||
1145 | <property name="expand">False</property> | ||
1146 | <property name="fill">True</property> | ||
1147 | <property name="position">2</property> | ||
1148 | </packing> | ||
1149 | </child> | ||
1150 | </object> | ||
1151 | </child> | ||
1152 | </object> | ||
1153 | </child> | ||
1154 | <child> | ||
1155 | <object class="GtkListBoxRow"> | ||
1156 | <property name="visible">True</property> | ||
1157 | <property name="can-focus">True</property> | ||
1158 | <child> | ||
1159 | <object class="GtkBox"> | ||
1160 | <property name="visible">True</property> | ||
1161 | <property name="can-focus">False</property> | ||
1162 | <child> | ||
1163 | <object class="GtkFrame"> | ||
1164 | <property name="visible">True</property> | ||
1165 | <property name="can-focus">False</property> | ||
1166 | <property name="label-xalign">0</property> | ||
1167 | <property name="shadow-type">none</property> | ||
1168 | <child> | ||
1169 | <object class="GtkLabel"> | ||
1170 | <property name="visible">True</property> | ||
1171 | <property name="can-focus">False</property> | ||
1172 | <property name="label" translatable="yes">My evil comment text is awesome! This is coming to the Pinephone which will be extremely awesome and this text may only cut some borders in certain areas!!!</property> | ||
1173 | <property name="wrap">True</property> | ||
1174 | <property name="max-width-chars">64</property> | ||
1175 | </object> | ||
1176 | </child> | ||
1177 | <child type="label"> | ||
1178 | <object class="GtkLabel"> | ||
1179 | <property name="visible">True</property> | ||
1180 | <property name="can-focus">False</property> | ||
1181 | <property name="label" translatable="yes">User</property> | ||
1182 | </object> | ||
1183 | </child> | ||
1184 | <style> | ||
1185 | <class name="message-box"/> | ||
1186 | <class name="own"/> | ||
1187 | </style> | ||
1188 | </object> | ||
1189 | <packing> | ||
1190 | <property name="expand">False</property> | ||
1191 | <property name="fill">True</property> | ||
1192 | <property name="pack-type">end</property> | ||
1193 | <property name="position">2</property> | ||
1194 | </packing> | ||
1195 | </child> | ||
1196 | </object> | ||
1197 | </child> | ||
1198 | </object> | ||
1199 | </child> | ||
1200 | </object> | ||
1201 | <packing> | ||
1202 | <property name="name">page0</property> | ||
1203 | <property name="title" translatable="yes">page0</property> | ||
1204 | </packing> | ||
833 | </child> | 1205 | </child> |
834 | </object> | 1206 | </object> |
835 | </child> | 1207 | </child> |
@@ -1077,7 +1449,7 @@ Author: Tobias Frisch | |||
1077 | <property name="subtitle" translatable="yes">GNUnet</property> | 1449 | <property name="subtitle" translatable="yes">GNUnet</property> |
1078 | <property name="interpolate-size">True</property> | 1450 | <property name="interpolate-size">True</property> |
1079 | <child> | 1451 | <child> |
1080 | <object class="GtkButton"> | 1452 | <object class="GtkButton" id="back_button"> |
1081 | <property name="visible">True</property> | 1453 | <property name="visible">True</property> |
1082 | <property name="can-focus">True</property> | 1454 | <property name="can-focus">True</property> |
1083 | <property name="receives-default">True</property> | 1455 | <property name="receives-default">True</property> |
diff --git a/src/messenger_gtk.c b/src/messenger_gtk.c index cfc4b84..a07e6b3 100644 --- a/src/messenger_gtk.c +++ b/src/messenger_gtk.c | |||
@@ -27,8 +27,8 @@ | |||
27 | 27 | ||
28 | #include <gnunet/gnunet_chat_lib.h> | 28 | #include <gnunet/gnunet_chat_lib.h> |
29 | 29 | ||
30 | G_MODULE_EXPORT void handle_user_details_button_click(GtkButton* button, | 30 | void handle_user_details_button_click(GtkButton* button, |
31 | gpointer user_data) | 31 | gpointer user_data) |
32 | { | 32 | { |
33 | HdyFlap* flap = HDY_FLAP(user_data); | 33 | HdyFlap* flap = HDY_FLAP(user_data); |
34 | 34 | ||
@@ -39,8 +39,8 @@ G_MODULE_EXPORT void handle_user_details_button_click(GtkButton* button, | |||
39 | } | 39 | } |
40 | } | 40 | } |
41 | 41 | ||
42 | G_MODULE_EXPORT void handle_account_details_button_click(GtkButton* button, | 42 | void handle_account_details_button_click(GtkButton* button, |
43 | gpointer user_data) | 43 | gpointer user_data) |
44 | { | 44 | { |
45 | GtkRevealer* revealer = GTK_REVEALER(user_data); | 45 | GtkRevealer* revealer = GTK_REVEALER(user_data); |
46 | 46 | ||
@@ -51,6 +51,31 @@ G_MODULE_EXPORT void handle_account_details_button_click(GtkButton* button, | |||
51 | } | 51 | } |
52 | } | 52 | } |
53 | 53 | ||
54 | void handle_chats_listbox_row_activated(GtkListBox* listbox, | ||
55 | GtkListBoxRow* row, | ||
56 | gpointer user_data) | ||
57 | { | ||
58 | HdyLeaflet* leaflet = HDY_LEAFLET(user_data); | ||
59 | |||
60 | GList* children = gtk_container_get_children(GTK_CONTAINER(leaflet)); | ||
61 | |||
62 | if ((children) && (children->next)) { | ||
63 | hdy_leaflet_set_visible_child(leaflet, GTK_WIDGET(children->next->data)); | ||
64 | } | ||
65 | } | ||
66 | |||
67 | void handle_back_button_click(GtkButton* button, | ||
68 | gpointer user_data) | ||
69 | { | ||
70 | HdyLeaflet* leaflet = HDY_LEAFLET(user_data); | ||
71 | |||
72 | GList* children = gtk_container_get_children(GTK_CONTAINER(leaflet)); | ||
73 | |||
74 | if (children) { | ||
75 | hdy_leaflet_set_visible_child(leaflet, GTK_WIDGET(children->data)); | ||
76 | } | ||
77 | } | ||
78 | |||
54 | int main(int argc, char** argv) { | 79 | int main(int argc, char** argv) { |
55 | gtk_init(&argc, &argv); | 80 | gtk_init(&argc, &argv); |
56 | 81 | ||
@@ -84,6 +109,23 @@ int main(int argc, char** argv) { | |||
84 | gtk_builder_get_object(builder, "title_bar") | 109 | gtk_builder_get_object(builder, "title_bar") |
85 | ); | 110 | ); |
86 | 111 | ||
112 | HdyLeaflet* leaflet_chat = HDY_LEAFLET( | ||
113 | gtk_builder_get_object(builder, "leaflet_chat") | ||
114 | ); | ||
115 | |||
116 | hdy_leaflet_set_homogeneous(leaflet_chat, FALSE, GTK_ORIENTATION_HORIZONTAL, FALSE); | ||
117 | |||
118 | GtkListBox* chats_listbox = GTK_LIST_BOX( | ||
119 | gtk_builder_get_object(builder, "chats_listbox") | ||
120 | ); | ||
121 | |||
122 | g_signal_connect( | ||
123 | chats_listbox, | ||
124 | "row-activated", | ||
125 | G_CALLBACK(handle_chats_listbox_row_activated), | ||
126 | leaflet_chat | ||
127 | ); | ||
128 | |||
87 | GtkButton* user_details_button = GTK_BUTTON( | 129 | GtkButton* user_details_button = GTK_BUTTON( |
88 | gtk_builder_get_object(builder, "user_details_button") | 130 | gtk_builder_get_object(builder, "user_details_button") |
89 | ); | 131 | ); |
@@ -125,6 +167,33 @@ int main(int argc, char** argv) { | |||
125 | account_details_revealer | 167 | account_details_revealer |
126 | ); | 168 | ); |
127 | 169 | ||
170 | GtkButton* back_button = GTK_BUTTON( | ||
171 | gtk_builder_get_object(builder, "back_button") | ||
172 | ); | ||
173 | |||
174 | g_signal_connect( | ||
175 | back_button, | ||
176 | "clicked", | ||
177 | G_CALLBACK(handle_back_button_click), | ||
178 | leaflet_chat | ||
179 | ); | ||
180 | |||
181 | g_object_bind_property( | ||
182 | leaflet_chat, | ||
183 | "folded", | ||
184 | back_button, | ||
185 | "visible", | ||
186 | G_BINDING_SYNC_CREATE | ||
187 | ); | ||
188 | |||
189 | g_object_bind_property( | ||
190 | leaflet_chat, | ||
191 | "folded", | ||
192 | title_bar, | ||
193 | "show-close-button", | ||
194 | G_BINDING_INVERT_BOOLEAN | ||
195 | ); | ||
196 | |||
128 | gtk_widget_show(GTK_WIDGET(window)); | 197 | gtk_widget_show(GTK_WIDGET(window)); |
129 | 198 | ||
130 | g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); | 199 | g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); |