Codebase list krb5-auth-dialog / 1117ad3
Switch from Libglade to GtkBuilder Guido Günther 14 years ago
16 changed file(s) with 865 addition(s) and 824 deletion(s). Raw diff Collapse all Expand all
0 Thu May 7 10:39:32 CEST 2009 Guido Günther <agx@sigxcpu.org>
1
2 Switch from Libglade to GtkBuilder
3 * src/krb5-auth-dialog.xml: new file
4 * preferences/krb5-auth-dialog-preferences.xml: likewise
5 * src/krb5-auth-dialog.glade: remove
6 * preferences/krb5-auth-dialog-preferences.glade: likewise
7 * src/krb5-auth-{applet,pwdialog}.[ch]: use GtkBuilder instead of
8 glade
9 * configure.ac: drop libglade check
10 * po/POTFILES.in: look for krb5-auth-dialog{,-preferences}.xml instead
11 of .glade
12 * {src,preferences,etpo}/Makefile.am: drop libglade
13
014 Sun May 3 17:33:22 CEST 2009 Guido Günther <agx@sigxcpu.org>
115
216 fix build with GLib < 2.18
2323 ALL_LINGUAS="nb de sv"
2424 AM_GLIB_GNU_GETTEXT
2525
26 GTK_REQUIRED="2.4.0"
27 GLADE_REQUIRED="2.4.0"
26 GTK_REQUIRED="2.16.0"
2827 DBUS_REQUIRED="0.60"
2928 GCONF_REQUIRED="2.8"
3029 LIBNOTIFY_REQUIRED="0.4"
3231 GIO_REQUIRED="0.0"
3332
3433 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
35 PKG_CHECK_MODULES(GLADE, libglade-2.0 >= $GLADE_REQUIRED)
3634 PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= $DBUS_REQUIRED)
3735 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= $GCONF_REQUIRED)
3836 PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0 >= $GIO_UNIX_REQUIRED)
199197
200198 CFLAGS="\
201199 $GTK_CFLAGS \
202 $GLADE_CFLAGS \
203200 $DBUS_CFLAGS \
204201 $GCONF_CFLAGS \
205202 $KRB5_CFLAGS \
229226 AC_MSG_NOTICE([])
230227 AC_MSG_NOTICE([ kerberos: $KRB5_CFLAGS $KRB5_LIBS])
231228 AC_MSG_NOTICE([ gtk: $GTK_CFLAGS $GTK_LIBS])
232 AC_MSG_NOTICE([ glade: $GLADE_CFLAGS $GLADE_LIBS])
233229 AC_MSG_NOTICE([ dbus: $DBUS_CFLAGS $DBUS_LIBS])
234230 AC_MSG_NOTICE([ gconf: $GCONF_CFLAGS $GCONF_LIBS])
235231 AC_MSG_NOTICE([ gio-unix: $GIO_UNIX_CFLAGS $GIO_UNIX_LIBS $GIO_CFLAGS $GIO_LIBS])
33 AM_YFLAGS=-d
44 AM_CFLAGS=\
55 @GTK_CFLAGS@ \
6 @GLADE_CFLAGS@ \
76 @DBUS_CFLAGS@ \
87 @GCONF_CFLAGS@ \
98 @KRB5_CFLAGS@ \
1615 @LIBNOTIFY_LIBS@ \
1716 @DBUS_LIBS@ \
1817 @GCONF_LIBS@ \
19 @GLADE_LIBS@ \
2018 @GTK_LIBS@
2119
2220 DISTCLEANFILES=lexer.c
0 src/krb5-auth-dialog.glade
0 src/krb5-auth-dialog.xml
11 src/krb5-auth-dialog.c
22 src/krb5-auth-pwdialog.c
33 src/dummy-strings.c
88 secmem/util.c
99 preferences/krb5-auth-dialog-preferences.c
1010 preferences/krb5-auth-dialog-preferences.desktop.in
11 preferences/krb5-auth-dialog-preferences.glade
11 preferences/krb5-auth-dialog-preferences.xml
1717
1818 krb5_auth_dialog_preferences_LDADD = \
1919 @GCONF_LIBS@ \
20 @GLADE_LIBS@ \
2120 @GTK_LIBS@ \
2221 $(NULL)
2322
2928
3029 pkgdatadir = $(datadir)/krb5-auth-dialog
3130 pkgdata_DATA = \
32 krb5-auth-dialog-preferences.glade
31 krb5-auth-dialog-preferences.xml
3332
3433 CLEANFILES = \
3534 $(desktop_DATA) \
3131
3232 #include <gtk/gtk.h>
3333 #include <glib/gi18n.h>
34 #include <glade/glade.h>
3534
3635 #include "krb5-auth-gconf-tools.h"
3736
3837 #define N_LISTENERS 8
3938
4039 typedef struct {
41 GladeXML *xml;
40 GtkBuilder *xml;
4241 GConfClient *client;
4342
4443 GtkWidget *dialog;
101100 {
102101 char *principal = NULL;
103102
104 dialog->principal_entry = glade_xml_get_widget (dialog->xml, "principal_entry");
103 dialog->principal_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "principal_entry"));
105104 g_assert (dialog->principal_entry != NULL);
106105
107106 if (!ka_gconf_get_string (dialog->client, KA_GCONF_KEY_PRINCIPAL, &principal))
172171 {
173172 char *pkuserid = NULL;
174173
175 dialog->pkuserid_entry = glade_xml_get_widget (dialog->xml, "pkuserid_entry");
174 dialog->pkuserid_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "pkuserid_entry"));
176175 g_assert (dialog->pkuserid_entry != NULL);
177176
178177 if (!ka_gconf_get_string (dialog->client, KA_GCONF_KEY_PK_USERID, &pkuserid))
242241 {
243242 char *pkanchors = NULL;
244243
245 dialog->pkanchors_entry = glade_xml_get_widget (dialog->xml, "pkanchors_entry");
244 dialog->pkanchors_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "pkanchors_entry"));
246245 g_assert (dialog->pkanchors_entry != NULL);
247246
248247 if (!ka_gconf_get_string (dialog->client, KA_GCONF_KEY_PK_ANCHORS, &pkanchors))
302301 {
303302 gboolean forwardable;
304303
305 dialog->forwardable_toggle = glade_xml_get_widget (dialog->xml, "forwardable_toggle");
304 dialog->forwardable_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "forwardable_toggle"));
306305 g_assert (dialog->forwardable_toggle != NULL);
307306
308307 forwardable = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_FORWARDABLE, NULL);
360359 {
361360 gboolean proxiable;
362361
363 dialog->proxiable_toggle = glade_xml_get_widget (dialog->xml, "proxiable_toggle");
362 dialog->proxiable_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "proxiable_toggle"));
364363 g_assert (dialog->proxiable_toggle != NULL);
365364
366365 proxiable = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_PROXIABLE, NULL);
418417 {
419418 gboolean renewable;
420419
421 dialog->renewable_toggle = glade_xml_get_widget (dialog->xml, "renewable_toggle");
420 dialog->renewable_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "renewable_toggle"));
422421 g_assert (dialog->renewable_toggle != NULL);
423422
424423 renewable = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_RENEWABLE, NULL);
474473 {
475474 gboolean trayicon;
476475
477 dialog->trayicon_toggle = glade_xml_get_widget (dialog->xml, "trayicon_toggle");
476 dialog->trayicon_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "trayicon_toggle"));
478477 g_assert (dialog->trayicon_toggle != NULL);
479478
480479 trayicon = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_SHOW_TRAYICON, NULL);
531530 {
532531 gint prompt_mins;
533532
534 dialog->prompt_mins_entry = glade_xml_get_widget (dialog->xml, "prompt_mins_entry");
533 dialog->prompt_mins_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "prompt_mins_entry"));
535534 g_assert (dialog->prompt_mins_entry != NULL);
536535
537536 prompt_mins = gconf_client_get_int (dialog->client, KA_GCONF_KEY_PROMPT_MINS, NULL);
610609 static gboolean
611610 ka_preferences_dialog_init(KaPreferencesDialog* dialog)
612611 {
613 dialog->xml = glade_xml_new (KA_DATA_DIR G_DIR_SEPARATOR_S
614 PACKAGE "-preferences.glade", NULL, NULL);
615
616 dialog->dialog = glade_xml_get_widget (dialog->xml, "krb5_auth_dialog_prefs");
612 dialog->xml = gtk_builder_new ();
613
614 g_assert(gtk_builder_add_from_file(dialog->xml, KA_DATA_DIR G_DIR_SEPARATOR_S
615 PACKAGE "-preferences.xml", NULL));
616
617 dialog->dialog = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "krb5_auth_dialog_prefs"));
617618 g_assert (dialog->dialog);
618619
619620 g_signal_connect (dialog->dialog, "response",
+0
-620
preferences/krb5-auth-dialog-preferences.glade less more
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--Generated with glade3 3.4.5 on Tue Apr 14 22:22:46 2009 -->
3 <glade-interface>
4 <widget class="GtkDialog" id="krb5_auth_dialog_prefs">
5 <property name="border_width">5</property>
6 <property name="title" translatable="yes">Kerberos Authentication Configuration</property>
7 <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
8 <property name="icon_name">gtk-dialog-authentication</property>
9 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
10 <property name="has_separator">False</property>
11 <child internal-child="vbox">
12 <widget class="GtkVBox" id="dialog-vbox1">
13 <property name="visible">True</property>
14 <property name="spacing">2</property>
15 <child>
16 <widget class="GtkNotebook" id="notebook1">
17 <property name="visible">True</property>
18 <property name="can_focus">True</property>
19 <child>
20 <widget class="GtkVBox" id="vbox1">
21 <property name="visible">True</property>
22 <property name="border_width">12</property>
23 <property name="spacing">18</property>
24 <child>
25 <widget class="GtkVBox" id="vbox2">
26 <property name="visible">True</property>
27 <property name="spacing">12</property>
28 <child>
29 <widget class="GtkLabel" id="label4">
30 <property name="visible">True</property>
31 <property name="xalign">0</property>
32 <property name="label" translatable="yes">&lt;b&gt;Kerberos User&lt;/b&gt;</property>
33 <property name="use_markup">True</property>
34 </widget>
35 <packing>
36 <property name="expand">False</property>
37 <property name="fill">False</property>
38 </packing>
39 </child>
40 <child>
41 <widget class="GtkHBox" id="hbox1">
42 <property name="visible">True</property>
43 <property name="spacing">12</property>
44 <child>
45 <widget class="GtkImage" id="access">
46 <property name="visible">True</property>
47 <property name="yalign">0</property>
48 <property name="icon_size">6</property>
49 <property name="icon_name">gtk-dialog-authentication</property>
50 </widget>
51 <packing>
52 <property name="expand">False</property>
53 <property name="fill">False</property>
54 </packing>
55 </child>
56 <child>
57 <widget class="GtkVBox" id="vbox5">
58 <property name="visible">True</property>
59 <property name="spacing">6</property>
60 <child>
61 <widget class="GtkLabel" id="label6">
62 <property name="visible">True</property>
63 <property name="xalign">0</property>
64 <property name="label" translatable="yes">Kerberos principal:</property>
65 </widget>
66 <packing>
67 <property name="expand">False</property>
68 <property name="fill">False</property>
69 </packing>
70 </child>
71 <child>
72 <widget class="GtkHBox" id="hbox5">
73 <property name="visible">True</property>
74 <property name="spacing">6</property>
75 <child>
76 <widget class="GtkLabel" id="label8">
77 <property name="visible">True</property>
78 <property name="label" translatable="yes"> </property>
79 </widget>
80 <packing>
81 <property name="expand">False</property>
82 <property name="fill">False</property>
83 </packing>
84 </child>
85 <child>
86 <widget class="GtkEntry" id="principal_entry">
87 <property name="visible">True</property>
88 <property name="can_focus">True</property>
89 <property name="activates_default">True</property>
90 </widget>
91 <packing>
92 <property name="position">1</property>
93 </packing>
94 </child>
95 </widget>
96 <packing>
97 <property name="position">1</property>
98 </packing>
99 </child>
100 <child>
101 <widget class="GtkLabel" id="label7">
102 <property name="visible">True</property>
103 <property name="xalign">0</property>
104 <property name="label" translatable="yes">PKINIT userid: </property>
105 </widget>
106 <packing>
107 <property name="expand">False</property>
108 <property name="fill">False</property>
109 <property name="position">2</property>
110 </packing>
111 </child>
112 <child>
113 <widget class="GtkHBox" id="hbox6">
114 <property name="visible">True</property>
115 <property name="spacing">6</property>
116 <child>
117 <widget class="GtkLabel" id="label9">
118 <property name="visible">True</property>
119 <property name="label" translatable="yes"> </property>
120 </widget>
121 <packing>
122 <property name="expand">False</property>
123 <property name="fill">False</property>
124 </packing>
125 </child>
126 <child>
127 <widget class="GtkEntry" id="pkuserid_entry">
128 <property name="visible">True</property>
129 <property name="can_focus">True</property>
130 <property name="tooltip" translatable="yes">The principal's public/private/certificate identifier. Leave empty if not using PKINIT.</property>
131 <property name="activates_default">True</property>
132 </widget>
133 <packing>
134 <property name="position">1</property>
135 </packing>
136 </child>
137 </widget>
138 <packing>
139 <property name="position">3</property>
140 </packing>
141 </child>
142 <child>
143 <widget class="GtkLabel" id="label3">
144 <property name="visible">True</property>
145 <property name="xalign">0</property>
146 <property name="label" translatable="yes">PKINT anchors:</property>
147 </widget>
148 <packing>
149 <property name="expand">False</property>
150 <property name="fill">False</property>
151 <property name="position">4</property>
152 </packing>
153 </child>
154 <child>
155 <widget class="GtkHBox" id="hbox12">
156 <property name="visible">True</property>
157 <property name="spacing">6</property>
158 <child>
159 <widget class="GtkLabel" id="label20">
160 <property name="visible">True</property>
161 <property name="label" translatable="yes"> </property>
162 </widget>
163 <packing>
164 <property name="expand">False</property>
165 <property name="fill">False</property>
166 </packing>
167 </child>
168 <child>
169 <widget class="GtkEntry" id="pkanchors_entry">
170 <property name="visible">True</property>
171 <property name="can_focus">True</property>
172 <property name="tooltip" translatable="yes">Path to CA certificates used as trust anchors for PKINIT</property>
173 <property name="activates_default">True</property>
174 </widget>
175 <packing>
176 <property name="position">1</property>
177 </packing>
178 </child>
179 </widget>
180 <packing>
181 <property name="position">5</property>
182 </packing>
183 </child>
184 </widget>
185 <packing>
186 <property name="position">1</property>
187 </packing>
188 </child>
189 </widget>
190 <packing>
191 <property name="position">1</property>
192 </packing>
193 </child>
194 </widget>
195 <packing>
196 <property name="expand">False</property>
197 </packing>
198 </child>
199 <child>
200 <widget class="GtkVBox" id="vbox3">
201 <property name="visible">True</property>
202 <property name="spacing">12</property>
203 <child>
204 <widget class="GtkLabel" id="label5">
205 <property name="visible">True</property>
206 <property name="xalign">0</property>
207 <property name="label" translatable="yes">&lt;b&gt;Ticket Options&lt;/b&gt;</property>
208 <property name="use_markup">True</property>
209 </widget>
210 <packing>
211 <property name="expand">False</property>
212 </packing>
213 </child>
214 <child>
215 <widget class="GtkHBox" id="hbox2">
216 <property name="visible">True</property>
217 <property name="spacing">12</property>
218 <child>
219 <widget class="GtkImage" id="image1">
220 <property name="visible">True</property>
221 <property name="yalign">0</property>
222 <property name="icon_size">6</property>
223 <property name="icon_name">system-lock-screen</property>
224 </widget>
225 <packing>
226 <property name="expand">False</property>
227 <property name="fill">False</property>
228 </packing>
229 </child>
230 <child>
231 <widget class="GtkVBox" id="vbox4">
232 <property name="visible">True</property>
233 <property name="spacing">6</property>
234 <child>
235 <widget class="GtkLabel" id="label10">
236 <property name="visible">True</property>
237 <property name="label" translatable="yes">Requested Kerberos tickets should be:</property>
238 </widget>
239 <packing>
240 <property name="expand">False</property>
241 <property name="fill">False</property>
242 </packing>
243 </child>
244 <child>
245 <widget class="GtkHBox" id="hbox3">
246 <property name="visible">True</property>
247 <child>
248 <widget class="GtkLabel" id="label11">
249 <property name="visible">True</property>
250 <property name="label" translatable="yes"> </property>
251 </widget>
252 <packing>
253 <property name="expand">False</property>
254 <property name="fill">False</property>
255 </packing>
256 </child>
257 <child>
258 <widget class="GtkCheckButton" id="forwardable_toggle">
259 <property name="visible">True</property>
260 <property name="can_focus">True</property>
261 <property name="tooltip" translatable="yes">If checked, request forwardable tickets</property>
262 <property name="label" translatable="yes">forwardable</property>
263 <property name="response_id">0</property>
264 <property name="draw_indicator">True</property>
265 </widget>
266 <packing>
267 <property name="position">1</property>
268 </packing>
269 </child>
270 </widget>
271 <packing>
272 <property name="expand">False</property>
273 <property name="fill">False</property>
274 <property name="position">1</property>
275 </packing>
276 </child>
277 <child>
278 <widget class="GtkHBox" id="hbox4">
279 <property name="visible">True</property>
280 <child>
281 <widget class="GtkLabel" id="label12">
282 <property name="visible">True</property>
283 <property name="label" translatable="yes"> </property>
284 </widget>
285 <packing>
286 <property name="expand">False</property>
287 <property name="fill">False</property>
288 </packing>
289 </child>
290 <child>
291 <widget class="GtkCheckButton" id="renewable_toggle">
292 <property name="visible">True</property>
293 <property name="can_focus">True</property>
294 <property name="tooltip" translatable="yes">If checked, request renewable tickets</property>
295 <property name="label" translatable="yes">renewable</property>
296 <property name="response_id">0</property>
297 <property name="draw_indicator">True</property>
298 </widget>
299 <packing>
300 <property name="expand">False</property>
301 <property name="fill">False</property>
302 <property name="position">1</property>
303 </packing>
304 </child>
305 </widget>
306 <packing>
307 <property name="position">2</property>
308 </packing>
309 </child>
310 <child>
311 <widget class="GtkHBox" id="hbox11">
312 <property name="visible">True</property>
313 <child>
314 <widget class="GtkLabel" id="label19">
315 <property name="visible">True</property>
316 <property name="label" translatable="yes"> </property>
317 </widget>
318 <packing>
319 <property name="expand">False</property>
320 <property name="fill">False</property>
321 </packing>
322 </child>
323 <child>
324 <widget class="GtkCheckButton" id="proxiable_toggle">
325 <property name="visible">True</property>
326 <property name="can_focus">True</property>
327 <property name="tooltip" translatable="yes">If checked, request proxiable tickets</property>
328 <property name="label" translatable="yes">proxiable</property>
329 <property name="response_id">0</property>
330 <property name="draw_indicator">True</property>
331 </widget>
332 <packing>
333 <property name="expand">False</property>
334 <property name="fill">False</property>
335 <property name="position">1</property>
336 </packing>
337 </child>
338 </widget>
339 <packing>
340 <property name="position">3</property>
341 </packing>
342 </child>
343 </widget>
344 <packing>
345 <property name="position">1</property>
346 </packing>
347 </child>
348 </widget>
349 <packing>
350 <property name="position">1</property>
351 </packing>
352 </child>
353 </widget>
354 <packing>
355 <property name="expand">False</property>
356 <property name="position">1</property>
357 </packing>
358 </child>
359 </widget>
360 </child>
361 <child>
362 <widget class="GtkLabel" id="label1">
363 <property name="visible">True</property>
364 <property name="label" translatable="yes">Kerberos</property>
365 </widget>
366 <packing>
367 <property name="type">tab</property>
368 <property name="tab_fill">False</property>
369 </packing>
370 </child>
371 <child>
372 <widget class="GtkVBox" id="vbox9">
373 <property name="visible">True</property>
374 <property name="border_width">12</property>
375 <property name="spacing">18</property>
376 <child>
377 <widget class="GtkVBox" id="vbox8">
378 <property name="visible">True</property>
379 <property name="spacing">12</property>
380 <child>
381 <widget class="GtkLabel" id="label17">
382 <property name="visible">True</property>
383 <property name="xalign">0</property>
384 <property name="label" translatable="yes">&lt;b&gt;Notifications&lt;/b&gt;</property>
385 <property name="use_markup">True</property>
386 </widget>
387 <packing>
388 <property name="expand">False</property>
389 <property name="fill">False</property>
390 </packing>
391 </child>
392 <child>
393 <widget class="GtkHBox" id="hbox9">
394 <property name="visible">True</property>
395 <property name="spacing">12</property>
396 <child>
397 <widget class="GtkImage" id="image3">
398 <property name="visible">True</property>
399 <property name="yalign">0</property>
400 <property name="stock">gtk-dialog-warning</property>
401 <property name="icon_size">6</property>
402 </widget>
403 <packing>
404 <property name="expand">False</property>
405 <property name="fill">False</property>
406 </packing>
407 </child>
408 <child>
409 <widget class="GtkHBox" id="hbox8">
410 <property name="visible">True</property>
411 <property name="spacing">6</property>
412 <child>
413 <widget class="GtkLabel" id="label14">
414 <property name="visible">True</property>
415 <property name="label" translatable="yes"> </property>
416 </widget>
417 <packing>
418 <property name="expand">False</property>
419 <property name="fill">False</property>
420 </packing>
421 </child>
422 <child>
423 <widget class="GtkLabel" id="label15">
424 <property name="visible">True</property>
425 <property name="label" translatable="yes">Warn</property>
426 </widget>
427 <packing>
428 <property name="expand">False</property>
429 <property name="fill">False</property>
430 <property name="position">1</property>
431 </packing>
432 </child>
433 <child>
434 <widget class="GtkSpinButton" id="prompt_mins_entry">
435 <property name="visible">True</property>
436 <property name="can_focus">True</property>
437 <property name="tooltip" translatable="yes">Send notification about ticket expiry that many minutes before it finally expires. </property>
438 <property name="activates_default">True</property>
439 <property name="adjustment">0 0 100 1 10 10</property>
440 </widget>
441 <packing>
442 <property name="expand">False</property>
443 <property name="fill">False</property>
444 <property name="position">2</property>
445 </packing>
446 </child>
447 <child>
448 <widget class="GtkLabel" id="label16">
449 <property name="visible">True</property>
450 <property name="label" translatable="yes">minutes before expiry</property>
451 </widget>
452 <packing>
453 <property name="expand">False</property>
454 <property name="fill">False</property>
455 <property name="position">3</property>
456 </packing>
457 </child>
458 </widget>
459 <packing>
460 <property name="expand">False</property>
461 <property name="position">1</property>
462 </packing>
463 </child>
464 </widget>
465 <packing>
466 <property name="expand">False</property>
467 <property name="position">1</property>
468 </packing>
469 </child>
470 </widget>
471 <packing>
472 <property name="expand">False</property>
473 </packing>
474 </child>
475 <child>
476 <widget class="GtkVBox" id="vbox10">
477 <property name="visible">True</property>
478 <property name="spacing">12</property>
479 <child>
480 <widget class="GtkLabel" id="label18">
481 <property name="visible">True</property>
482 <property name="xalign">0</property>
483 <property name="label" translatable="yes">&lt;b&gt;Appearance&lt;/b&gt;</property>
484 <property name="use_markup">True</property>
485 </widget>
486 <packing>
487 <property name="expand">False</property>
488 <property name="fill">False</property>
489 </packing>
490 </child>
491 <child>
492 <widget class="GtkHBox" id="hbox10">
493 <property name="visible">True</property>
494 <property name="spacing">12</property>
495 <child>
496 <widget class="GtkImage" id="image2">
497 <property name="visible">True</property>
498 <property name="xalign">0</property>
499 <property name="yalign">0</property>
500 <property name="stock">gtk-zoom-in</property>
501 <property name="icon_size">6</property>
502 </widget>
503 <packing>
504 <property name="expand">False</property>
505 <property name="fill">False</property>
506 </packing>
507 </child>
508 <child>
509 <widget class="GtkVBox" id="vbox7">
510 <property name="visible">True</property>
511 <child>
512 <widget class="GtkHBox" id="hbox7">
513 <property name="visible">True</property>
514 <property name="spacing">6</property>
515 <child>
516 <widget class="GtkLabel" id="label13">
517 <property name="visible">True</property>
518 <property name="label" translatable="yes"> </property>
519 </widget>
520 <packing>
521 <property name="expand">False</property>
522 <property name="fill">False</property>
523 </packing>
524 </child>
525 <child>
526 <widget class="GtkCheckButton" id="trayicon_toggle">
527 <property name="visible">True</property>
528 <property name="can_focus">True</property>
529 <property name="tooltip" translatable="yes">If checked, display the tray icon in the status bar.</property>
530 <property name="label" translatable="yes">Show tray icon</property>
531 <property name="response_id">0</property>
532 <property name="draw_indicator">True</property>
533 </widget>
534 <packing>
535 <property name="expand">False</property>
536 <property name="position">1</property>
537 </packing>
538 </child>
539 </widget>
540 </child>
541 </widget>
542 <packing>
543 <property name="expand">False</property>
544 <property name="fill">False</property>
545 <property name="position">1</property>
546 </packing>
547 </child>
548 </widget>
549 <packing>
550 <property name="expand">False</property>
551 <property name="fill">False</property>
552 <property name="position">1</property>
553 </packing>
554 </child>
555 </widget>
556 <packing>
557 <property name="expand">False</property>
558 <property name="position">1</property>
559 </packing>
560 </child>
561 </widget>
562 <packing>
563 <property name="position">1</property>
564 </packing>
565 </child>
566 <child>
567 <widget class="GtkLabel" id="label2">
568 <property name="visible">True</property>
569 <property name="label" translatable="yes">Applet</property>
570 </widget>
571 <packing>
572 <property name="type">tab</property>
573 <property name="position">1</property>
574 <property name="tab_fill">False</property>
575 </packing>
576 </child>
577 </widget>
578 <packing>
579 <property name="position">1</property>
580 </packing>
581 </child>
582 <child internal-child="action_area">
583 <widget class="GtkHButtonBox" id="dialog-action_area1">
584 <property name="visible">True</property>
585 <property name="layout_style">GTK_BUTTONBOX_END</property>
586 <child>
587 <widget class="GtkButton" id="button2">
588 <property name="can_focus">True</property>
589 <property name="receives_default">True</property>
590 <property name="label" translatable="yes">gtk-help</property>
591 <property name="use_stock">True</property>
592 <property name="response_id">-11</property>
593 </widget>
594 </child>
595 <child>
596 <widget class="GtkButton" id="button1">
597 <property name="visible">True</property>
598 <property name="can_focus">True</property>
599 <property name="can_default">True</property>
600 <property name="has_default">True</property>
601 <property name="receives_default">True</property>
602 <property name="label" translatable="yes">gtk-close</property>
603 <property name="use_stock">True</property>
604 <property name="response_id">0</property>
605 </widget>
606 <packing>
607 <property name="position">1</property>
608 </packing>
609 </child>
610 </widget>
611 <packing>
612 <property name="expand">False</property>
613 <property name="pack_type">GTK_PACK_END</property>
614 </packing>
615 </child>
616 </widget>
617 </child>
618 </widget>
619 </glade-interface>
0 <?xml version="1.0"?>
1 <interface>
2 <requires lib="gtk+" version="2.16"/>
3 <!-- interface-naming-policy toplevel-contextual -->
4 <object class="GtkDialog" id="krb5_auth_dialog_prefs">
5 <property name="border_width">5</property>
6 <property name="title" translatable="yes">Kerberos Authentication Configuration</property>
7 <property name="window_position">center-on-parent</property>
8 <property name="icon_name">gtk-dialog-authentication</property>
9 <property name="type_hint">dialog</property>
10 <property name="has_separator">False</property>
11 <child internal-child="vbox">
12 <object class="GtkVBox" id="dialog-vbox1">
13 <property name="visible">True</property>
14 <property name="spacing">2</property>
15 <child>
16 <object class="GtkNotebook" id="notebook1">
17 <property name="visible">True</property>
18 <property name="can_focus">True</property>
19 <child>
20 <object class="GtkVBox" id="vbox1">
21 <property name="visible">True</property>
22 <property name="border_width">12</property>
23 <property name="spacing">18</property>
24 <child>
25 <object class="GtkVBox" id="vbox2">
26 <property name="visible">True</property>
27 <property name="spacing">12</property>
28 <child>
29 <object class="GtkLabel" id="label4">
30 <property name="visible">True</property>
31 <property name="xalign">0</property>
32 <property name="label" translatable="yes">&lt;b&gt;Kerberos User&lt;/b&gt;</property>
33 <property name="use_markup">True</property>
34 </object>
35 <packing>
36 <property name="expand">False</property>
37 <property name="fill">False</property>
38 <property name="position">0</property>
39 </packing>
40 </child>
41 <child>
42 <object class="GtkHBox" id="hbox1">
43 <property name="visible">True</property>
44 <property name="spacing">12</property>
45 <child>
46 <object class="GtkImage" id="access">
47 <property name="visible">True</property>
48 <property name="yalign">0</property>
49 <property name="icon_name">gtk-dialog-authentication</property>
50 <property name="icon-size">6</property>
51 </object>
52 <packing>
53 <property name="expand">False</property>
54 <property name="fill">False</property>
55 <property name="position">0</property>
56 </packing>
57 </child>
58 <child>
59 <object class="GtkVBox" id="vbox5">
60 <property name="visible">True</property>
61 <property name="spacing">6</property>
62 <child>
63 <object class="GtkLabel" id="label6">
64 <property name="visible">True</property>
65 <property name="xalign">0</property>
66 <property name="label" translatable="yes">Kerberos principal:</property>
67 </object>
68 <packing>
69 <property name="expand">False</property>
70 <property name="fill">False</property>
71 <property name="position">0</property>
72 </packing>
73 </child>
74 <child>
75 <object class="GtkHBox" id="hbox5">
76 <property name="visible">True</property>
77 <property name="spacing">6</property>
78 <child>
79 <object class="GtkLabel" id="label8">
80 <property name="visible">True</property>
81 <property name="label" translatable="yes"> </property>
82 </object>
83 <packing>
84 <property name="expand">False</property>
85 <property name="fill">False</property>
86 <property name="position">0</property>
87 </packing>
88 </child>
89 <child>
90 <object class="GtkEntry" id="principal_entry">
91 <property name="visible">True</property>
92 <property name="can_focus">True</property>
93 <property name="activates_default">True</property>
94 </object>
95 <packing>
96 <property name="position">1</property>
97 </packing>
98 </child>
99 </object>
100 <packing>
101 <property name="position">1</property>
102 </packing>
103 </child>
104 <child>
105 <object class="GtkLabel" id="label7">
106 <property name="visible">True</property>
107 <property name="xalign">0</property>
108 <property name="label" translatable="yes">PKINIT userid: </property>
109 </object>
110 <packing>
111 <property name="expand">False</property>
112 <property name="fill">False</property>
113 <property name="position">2</property>
114 </packing>
115 </child>
116 <child>
117 <object class="GtkHBox" id="hbox6">
118 <property name="visible">True</property>
119 <property name="spacing">6</property>
120 <child>
121 <object class="GtkLabel" id="label9">
122 <property name="visible">True</property>
123 <property name="label" translatable="yes"> </property>
124 </object>
125 <packing>
126 <property name="expand">False</property>
127 <property name="fill">False</property>
128 <property name="position">0</property>
129 </packing>
130 </child>
131 <child>
132 <object class="GtkEntry" id="pkuserid_entry">
133 <property name="visible">True</property>
134 <property name="can_focus">True</property>
135 <property name="tooltip_text" translatable="yes">The principal's public/private/certificate identifier. Leave empty if not using PKINIT.</property>
136 <property name="activates_default">True</property>
137 </object>
138 <packing>
139 <property name="position">1</property>
140 </packing>
141 </child>
142 </object>
143 <packing>
144 <property name="position">3</property>
145 </packing>
146 </child>
147 <child>
148 <object class="GtkLabel" id="label3">
149 <property name="visible">True</property>
150 <property name="xalign">0</property>
151 <property name="label" translatable="yes">PKINT anchors:</property>
152 </object>
153 <packing>
154 <property name="expand">False</property>
155 <property name="fill">False</property>
156 <property name="position">4</property>
157 </packing>
158 </child>
159 <child>
160 <object class="GtkHBox" id="hbox12">
161 <property name="visible">True</property>
162 <property name="spacing">6</property>
163 <child>
164 <object class="GtkLabel" id="label20">
165 <property name="visible">True</property>
166 <property name="label" translatable="yes"> </property>
167 </object>
168 <packing>
169 <property name="expand">False</property>
170 <property name="fill">False</property>
171 <property name="position">0</property>
172 </packing>
173 </child>
174 <child>
175 <object class="GtkEntry" id="pkanchors_entry">
176 <property name="visible">True</property>
177 <property name="can_focus">True</property>
178 <property name="tooltip_text" translatable="yes">Path to CA certificates used as trust anchors for PKINIT</property>
179 <property name="activates_default">True</property>
180 </object>
181 <packing>
182 <property name="position">1</property>
183 </packing>
184 </child>
185 </object>
186 <packing>
187 <property name="position">5</property>
188 </packing>
189 </child>
190 </object>
191 <packing>
192 <property name="position">1</property>
193 </packing>
194 </child>
195 </object>
196 <packing>
197 <property name="position">1</property>
198 </packing>
199 </child>
200 </object>
201 <packing>
202 <property name="expand">False</property>
203 <property name="position">0</property>
204 </packing>
205 </child>
206 <child>
207 <object class="GtkVBox" id="vbox3">
208 <property name="visible">True</property>
209 <property name="spacing">12</property>
210 <child>
211 <object class="GtkLabel" id="label5">
212 <property name="visible">True</property>
213 <property name="xalign">0</property>
214 <property name="label" translatable="yes">&lt;b&gt;Ticket Options&lt;/b&gt;</property>
215 <property name="use_markup">True</property>
216 </object>
217 <packing>
218 <property name="expand">False</property>
219 <property name="position">0</property>
220 </packing>
221 </child>
222 <child>
223 <object class="GtkHBox" id="hbox2">
224 <property name="visible">True</property>
225 <property name="spacing">12</property>
226 <child>
227 <object class="GtkImage" id="image1">
228 <property name="visible">True</property>
229 <property name="yalign">0</property>
230 <property name="icon_name">system-lock-screen</property>
231 <property name="icon-size">6</property>
232 </object>
233 <packing>
234 <property name="expand">False</property>
235 <property name="fill">False</property>
236 <property name="position">0</property>
237 </packing>
238 </child>
239 <child>
240 <object class="GtkVBox" id="vbox4">
241 <property name="visible">True</property>
242 <property name="spacing">6</property>
243 <child>
244 <object class="GtkLabel" id="label10">
245 <property name="visible">True</property>
246 <property name="label" translatable="yes">Requested Kerberos tickets should be:</property>
247 </object>
248 <packing>
249 <property name="expand">False</property>
250 <property name="fill">False</property>
251 <property name="position">0</property>
252 </packing>
253 </child>
254 <child>
255 <object class="GtkHBox" id="hbox3">
256 <property name="visible">True</property>
257 <child>
258 <object class="GtkLabel" id="label11">
259 <property name="visible">True</property>
260 <property name="label" translatable="yes"> </property>
261 </object>
262 <packing>
263 <property name="expand">False</property>
264 <property name="fill">False</property>
265 <property name="position">0</property>
266 </packing>
267 </child>
268 <child>
269 <object class="GtkCheckButton" id="forwardable_toggle">
270 <property name="label" translatable="yes">forwardable</property>
271 <property name="visible">True</property>
272 <property name="can_focus">True</property>
273 <property name="receives_default">False</property>
274 <property name="tooltip_text" translatable="yes">If checked, request forwardable tickets</property>
275 <property name="draw_indicator">True</property>
276 </object>
277 <packing>
278 <property name="position">1</property>
279 </packing>
280 </child>
281 </object>
282 <packing>
283 <property name="expand">False</property>
284 <property name="fill">False</property>
285 <property name="position">1</property>
286 </packing>
287 </child>
288 <child>
289 <object class="GtkHBox" id="hbox4">
290 <property name="visible">True</property>
291 <child>
292 <object class="GtkLabel" id="label12">
293 <property name="visible">True</property>
294 <property name="label" translatable="yes"> </property>
295 </object>
296 <packing>
297 <property name="expand">False</property>
298 <property name="fill">False</property>
299 <property name="position">0</property>
300 </packing>
301 </child>
302 <child>
303 <object class="GtkCheckButton" id="renewable_toggle">
304 <property name="label" translatable="yes">renewable</property>
305 <property name="visible">True</property>
306 <property name="can_focus">True</property>
307 <property name="receives_default">False</property>
308 <property name="tooltip_text" translatable="yes">If checked, request renewable tickets</property>
309 <property name="draw_indicator">True</property>
310 </object>
311 <packing>
312 <property name="expand">False</property>
313 <property name="fill">False</property>
314 <property name="position">1</property>
315 </packing>
316 </child>
317 </object>
318 <packing>
319 <property name="position">2</property>
320 </packing>
321 </child>
322 <child>
323 <object class="GtkHBox" id="hbox11">
324 <property name="visible">True</property>
325 <child>
326 <object class="GtkLabel" id="label19">
327 <property name="visible">True</property>
328 <property name="label" translatable="yes"> </property>
329 </object>
330 <packing>
331 <property name="expand">False</property>
332 <property name="fill">False</property>
333 <property name="position">0</property>
334 </packing>
335 </child>
336 <child>
337 <object class="GtkCheckButton" id="proxiable_toggle">
338 <property name="label" translatable="yes">proxiable</property>
339 <property name="visible">True</property>
340 <property name="can_focus">True</property>
341 <property name="receives_default">False</property>
342 <property name="tooltip_text" translatable="yes">If checked, request proxiable tickets</property>
343 <property name="draw_indicator">True</property>
344 </object>
345 <packing>
346 <property name="expand">False</property>
347 <property name="fill">False</property>
348 <property name="position">1</property>
349 </packing>
350 </child>
351 </object>
352 <packing>
353 <property name="position">3</property>
354 </packing>
355 </child>
356 </object>
357 <packing>
358 <property name="position">1</property>
359 </packing>
360 </child>
361 </object>
362 <packing>
363 <property name="position">1</property>
364 </packing>
365 </child>
366 </object>
367 <packing>
368 <property name="expand">False</property>
369 <property name="position">1</property>
370 </packing>
371 </child>
372 </object>
373 </child>
374 <child type="tab">
375 <object class="GtkLabel" id="label1">
376 <property name="visible">True</property>
377 <property name="label" translatable="yes">Kerberos</property>
378 </object>
379 <packing>
380 <property name="tab_fill">False</property>
381 </packing>
382 </child>
383 <child>
384 <object class="GtkVBox" id="vbox9">
385 <property name="visible">True</property>
386 <property name="border_width">12</property>
387 <property name="spacing">18</property>
388 <child>
389 <object class="GtkVBox" id="vbox8">
390 <property name="visible">True</property>
391 <property name="spacing">12</property>
392 <child>
393 <object class="GtkLabel" id="label17">
394 <property name="visible">True</property>
395 <property name="xalign">0</property>
396 <property name="label" translatable="yes">&lt;b&gt;Notifications&lt;/b&gt;</property>
397 <property name="use_markup">True</property>
398 </object>
399 <packing>
400 <property name="expand">False</property>
401 <property name="fill">False</property>
402 <property name="position">0</property>
403 </packing>
404 </child>
405 <child>
406 <object class="GtkHBox" id="hbox9">
407 <property name="visible">True</property>
408 <property name="spacing">12</property>
409 <child>
410 <object class="GtkImage" id="image3">
411 <property name="visible">True</property>
412 <property name="yalign">0</property>
413 <property name="stock">gtk-dialog-warning</property>
414 <property name="icon-size">6</property>
415 </object>
416 <packing>
417 <property name="expand">False</property>
418 <property name="fill">False</property>
419 <property name="position">0</property>
420 </packing>
421 </child>
422 <child>
423 <object class="GtkHBox" id="hbox8">
424 <property name="visible">True</property>
425 <property name="spacing">6</property>
426 <child>
427 <object class="GtkLabel" id="label14">
428 <property name="visible">True</property>
429 <property name="label" translatable="yes"> </property>
430 </object>
431 <packing>
432 <property name="expand">False</property>
433 <property name="fill">False</property>
434 <property name="position">0</property>
435 </packing>
436 </child>
437 <child>
438 <object class="GtkLabel" id="label15">
439 <property name="visible">True</property>
440 <property name="label" translatable="yes">Warn</property>
441 </object>
442 <packing>
443 <property name="expand">False</property>
444 <property name="fill">False</property>
445 <property name="position">1</property>
446 </packing>
447 </child>
448 <child>
449 <object class="GtkSpinButton" id="prompt_mins_entry">
450 <property name="visible">True</property>
451 <property name="can_focus">True</property>
452 <property name="tooltip_text" translatable="yes">Send notification about ticket expiry that many minutes before it finally expires. </property>
453 <property name="activates_default">True</property>
454 <property name="adjustment">adjustment1</property>
455 </object>
456 <packing>
457 <property name="expand">False</property>
458 <property name="fill">False</property>
459 <property name="position">2</property>
460 </packing>
461 </child>
462 <child>
463 <object class="GtkLabel" id="label16">
464 <property name="visible">True</property>
465 <property name="label" translatable="yes">minutes before expiry</property>
466 </object>
467 <packing>
468 <property name="expand">False</property>
469 <property name="fill">False</property>
470 <property name="position">3</property>
471 </packing>
472 </child>
473 </object>
474 <packing>
475 <property name="expand">False</property>
476 <property name="position">1</property>
477 </packing>
478 </child>
479 </object>
480 <packing>
481 <property name="expand">False</property>
482 <property name="position">1</property>
483 </packing>
484 </child>
485 </object>
486 <packing>
487 <property name="expand">False</property>
488 <property name="position">0</property>
489 </packing>
490 </child>
491 <child>
492 <object class="GtkVBox" id="vbox10">
493 <property name="visible">True</property>
494 <property name="spacing">12</property>
495 <child>
496 <object class="GtkLabel" id="label18">
497 <property name="visible">True</property>
498 <property name="xalign">0</property>
499 <property name="label" translatable="yes">&lt;b&gt;Appearance&lt;/b&gt;</property>
500 <property name="use_markup">True</property>
501 </object>
502 <packing>
503 <property name="expand">False</property>
504 <property name="fill">False</property>
505 <property name="position">0</property>
506 </packing>
507 </child>
508 <child>
509 <object class="GtkHBox" id="hbox10">
510 <property name="visible">True</property>
511 <property name="spacing">12</property>
512 <child>
513 <object class="GtkImage" id="image2">
514 <property name="visible">True</property>
515 <property name="xalign">0</property>
516 <property name="yalign">0</property>
517 <property name="stock">gtk-zoom-in</property>
518 <property name="icon-size">6</property>
519 </object>
520 <packing>
521 <property name="expand">False</property>
522 <property name="fill">False</property>
523 <property name="position">0</property>
524 </packing>
525 </child>
526 <child>
527 <object class="GtkVBox" id="vbox7">
528 <property name="visible">True</property>
529 <child>
530 <object class="GtkHBox" id="hbox7">
531 <property name="visible">True</property>
532 <property name="spacing">6</property>
533 <child>
534 <object class="GtkLabel" id="label13">
535 <property name="visible">True</property>
536 <property name="label" translatable="yes"> </property>
537 </object>
538 <packing>
539 <property name="expand">False</property>
540 <property name="fill">False</property>
541 <property name="position">0</property>
542 </packing>
543 </child>
544 <child>
545 <object class="GtkCheckButton" id="trayicon_toggle">
546 <property name="label" translatable="yes">Show tray icon</property>
547 <property name="visible">True</property>
548 <property name="can_focus">True</property>
549 <property name="receives_default">False</property>
550 <property name="tooltip_text" translatable="yes">If checked, display the tray icon in the status bar.</property>
551 <property name="draw_indicator">True</property>
552 </object>
553 <packing>
554 <property name="expand">False</property>
555 <property name="position">1</property>
556 </packing>
557 </child>
558 </object>
559 <packing>
560 <property name="position">0</property>
561 </packing>
562 </child>
563 </object>
564 <packing>
565 <property name="expand">False</property>
566 <property name="fill">False</property>
567 <property name="position">1</property>
568 </packing>
569 </child>
570 </object>
571 <packing>
572 <property name="expand">False</property>
573 <property name="fill">False</property>
574 <property name="position">1</property>
575 </packing>
576 </child>
577 </object>
578 <packing>
579 <property name="expand">False</property>
580 <property name="position">1</property>
581 </packing>
582 </child>
583 </object>
584 <packing>
585 <property name="position">1</property>
586 </packing>
587 </child>
588 <child type="tab">
589 <object class="GtkLabel" id="label2">
590 <property name="visible">True</property>
591 <property name="label" translatable="yes">Applet</property>
592 </object>
593 <packing>
594 <property name="position">1</property>
595 <property name="tab_fill">False</property>
596 </packing>
597 </child>
598 </object>
599 <packing>
600 <property name="position">1</property>
601 </packing>
602 </child>
603 <child internal-child="action_area">
604 <object class="GtkHButtonBox" id="dialog-action_area1">
605 <property name="visible">True</property>
606 <property name="layout_style">end</property>
607 <child>
608 <object class="GtkButton" id="button2">
609 <property name="label" translatable="yes">gtk-help</property>
610 <property name="can_focus">True</property>
611 <property name="receives_default">True</property>
612 <property name="use_stock">True</property>
613 </object>
614 <packing>
615 <property name="expand">False</property>
616 <property name="fill">False</property>
617 <property name="position">0</property>
618 </packing>
619 </child>
620 <child>
621 <object class="GtkButton" id="button1">
622 <property name="label" translatable="yes">gtk-close</property>
623 <property name="visible">True</property>
624 <property name="can_focus">True</property>
625 <property name="can_default">True</property>
626 <property name="has_default">True</property>
627 <property name="receives_default">True</property>
628 <property name="use_stock">True</property>
629 </object>
630 <packing>
631 <property name="expand">False</property>
632 <property name="fill">False</property>
633 <property name="position">1</property>
634 </packing>
635 </child>
636 </object>
637 <packing>
638 <property name="expand">False</property>
639 <property name="pack_type">end</property>
640 <property name="position">0</property>
641 </packing>
642 </child>
643 </object>
644 </child>
645 <action-widgets>
646 <action-widget response="-11">button2</action-widget>
647 <action-widget response="0">button1</action-widget>
648 </action-widgets>
649 </object>
650 <object class="GtkAdjustment" id="adjustment1">
651 <property name="upper">100</property>
652 <property name="step_increment">1</property>
653 <property name="page_increment">10</property>
654 <property name="page_size">10</property>
655 </object>
656 </interface>
4646 @LIBNOTIFY_LIBS@ \
4747 @DBUS_LIBS@ \
4848 @GCONF_LIBS@ \
49 @GLADE_LIBS@ \
5049 @GIO_LIBS@ \
5150 @GTK_LIBS@
5251
6362
6463 pkgdatadir = $(datadir)/krb5-auth-dialog
6564 pkgdata_DATA = \
66 krb5-auth-dialog.glade
65 krb5-auth-dialog.xml
6766
6867 EXTRA_DIST = \
6968 $(pkgdata_DATA) \
663663
664664 /* create the tray icon applet */
665665 KaApplet*
666 ka_applet_create(GladeXML* xml)
666 ka_applet_create(GtkBuilder *xml)
667667 {
668668 KaApplet* applet = ka_applet_new();
669669
2222
2323 #include <glib-object.h>
2424 #include <glib/gprintf.h>
25 #include <glade/glade.h>
2625 #include <krb5.h>
2726
2827 #include "config.h"
5655 KaPwDialog* ka_applet_get_pwdialog(const KaApplet* applet);
5756
5857 /* create the applet */
59 KaApplet* ka_applet_create(GladeXML* xml);
58 KaApplet* ka_applet_create(GtkBuilder* xml);
6059 /* update tooltip and icon */
6160 int ka_applet_update_status(KaApplet* applet, krb5_timestamp expiry);
6261
2929 #include <string.h>
3030 #include <gtk/gtk.h>
3131 #include <glib/gi18n.h>
32 #include <glade/glade.h>
3332 #include <gio/gio.h>
3433
3534 #include "gtksecentry.h"
934933 }
935934
936935
937 static GtkWidget*
938 ka_create_gtk_secure_entry (GladeXML *xml G_GNUC_UNUSED,
939 gchar *func_name G_GNUC_UNUSED,
940 gchar *name,
941 gchar *s1 G_GNUC_UNUSED,
942 gchar *s2 G_GNUC_UNUSED,
943 gint i1 G_GNUC_UNUSED,
944 gint i2 G_GNUC_UNUSED,
945 gpointer user_data G_GNUC_UNUSED)
946 {
947 GtkWidget* entry = NULL;
948
949 if (!strcmp(name, "krb5_entry")) {
950 entry = gtk_secure_entry_new ();
951 gtk_secure_entry_set_activates_default(GTK_SECURE_ENTRY(entry), TRUE);
952 gtk_widget_show (entry);
953 } else {
954 g_warning("Don't know anything about widget %s", name);
955 }
956 return entry;
957 }
958
959
960936 int
961937 main (int argc, char *argv[])
962938 {
963939 KaApplet *applet;
964940 GOptionContext *context;
965941 GError *error = NULL;
966 GladeXML *xml;
942 GtkBuilder *xml;
967943
968944 guint status = 0;
969945 gboolean run_auto = FALSE, run_always = FALSE;
1002978 if (using_krb5 () || always_run) {
1003979 g_set_application_name (_("Network Authentication"));
1004980
1005 glade_set_custom_handler (&ka_create_gtk_secure_entry, NULL);
1006 xml = glade_xml_new (KA_DATA_DIR G_DIR_SEPARATOR_S
1007 PACKAGE ".glade", NULL, NULL);
981 xml = gtk_builder_new();
982 g_assert(gtk_builder_add_from_file(xml, KA_DATA_DIR G_DIR_SEPARATOR_S
983 PACKAGE ".xml", NULL));
1008984 applet = ka_applet_create (xml);
1009985 if (!applet)
1010986 return 1;
+0
-138
src/krb5-auth-dialog.glade less more
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="krb5_dialog">
5 <property name="border_width">6</property>
6 <property name="title" translatable="yes">Network Authentication</property>
7 <property name="resizable">False</property>
8 <property name="window_position">GTK_WIN_POS_CENTER</property>
9 <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
10 <property name="has_separator">False</property>
11 <child internal-child="vbox">
12 <widget class="GtkVBox" id="dialog-vbox2">
13 <property name="visible">True</property>
14 <child>
15 <widget class="GtkHBox" id="hbox1">
16 <property name="visible">True</property>
17 <property name="border_width">6</property>
18 <property name="spacing">12</property>
19 <child>
20 <widget class="GtkImage" id="image1">
21 <property name="visible">True</property>
22 <property name="yalign">0</property>
23 <property name="stock">gtk-dialog-authentication</property>
24 <property name="icon_size">6</property>
25 </widget>
26 <packing>
27 <property name="expand">False</property>
28 </packing>
29 </child>
30 <child>
31 <widget class="GtkAlignment" id="alignment4">
32 <property name="visible">True</property>
33 <property name="bottom_padding">10</property>
34 <child>
35 <widget class="GtkVBox" id="vbox2">
36 <property name="visible">True</property>
37 <property name="spacing">12</property>
38 <child>
39 <widget class="GtkVBox" id="vbox1">
40 <property name="visible">True</property>
41 <child>
42 <widget class="GtkLabel" id="krb5_message_label">
43 <property name="visible">True</property>
44 <property name="xalign">0</property>
45 <property name="use_markup">True</property>
46 </widget>
47 <packing>
48 <property name="expand">False</property>
49 <property name="fill">False</property>
50 </packing>
51 </child>
52 </widget>
53 </child>
54 <child>
55 <widget class="GtkVBox" id="vbox3">
56 <property name="visible">True</property>
57 <property name="spacing">3</property>
58 <child>
59 <widget class="GtkHBox" id="hbox5">
60 <property name="visible">True</property>
61 <property name="spacing">3</property>
62 <child>
63 <widget class="Custom" id="krb5_entry">
64 <property name="visible">True</property>
65 <property name="can_focus">True</property>
66 </widget>
67 </child>
68 </widget>
69 </child>
70 <child>
71 <widget class="GtkLabel" id="krb5_status_label">
72 <property name="visible">True</property>
73 <property name="xalign">1</property>
74 <property name="label">&lt;span size="smaller"&gt; &lt;/span&gt;</property>
75 <property name="use_markup">True</property>
76 </widget>
77 <packing>
78 <property name="expand">False</property>
79 <property name="fill">False</property>
80 <property name="position">1</property>
81 </packing>
82 </child>
83 </widget>
84 <packing>
85 <property name="position">1</property>
86 </packing>
87 </child>
88 </widget>
89 </child>
90 </widget>
91 <packing>
92 <property name="position">1</property>
93 </packing>
94 </child>
95 </widget>
96 <packing>
97 <property name="position">1</property>
98 </packing>
99 </child>
100 <child internal-child="action_area">
101 <widget class="GtkHButtonBox" id="dialog-action_area2">
102 <property name="visible">True</property>
103 <property name="layout_style">GTK_BUTTONBOX_END</property>
104 <child>
105 <widget class="GtkButton" id="cancelbutton1">
106 <property name="visible">True</property>
107 <property name="can_focus">True</property>
108 <property name="can_default">True</property>
109 <property name="label">gtk-cancel</property>
110 <property name="use_stock">True</property>
111 <property name="response_id">-6</property>
112 </widget>
113 </child>
114 <child>
115 <widget class="GtkButton" id="krb5_renew_button">
116 <property name="visible">True</property>
117 <property name="can_focus">True</property>
118 <property name="can_default">True</property>
119 <property name="has_default">True</property>
120 <property name="label" translatable="yes">_Renew Ticket</property>
121 <property name="use_underline">True</property>
122 <property name="response_id">-5</property>
123 </widget>
124 <packing>
125 <property name="position">1</property>
126 </packing>
127 </child>
128 </widget>
129 <packing>
130 <property name="expand">False</property>
131 <property name="pack_type">GTK_PACK_END</property>
132 </packing>
133 </child>
134 </widget>
135 </child>
136 </widget>
137 </glade-interface>
0 <?xml version="1.0"?>
1 <interface>
2 <requires lib="gtk+" version="2.16"/>
3 <!-- interface-naming-policy toplevel-contextual -->
4 <object class="GtkDialog" id="krb5_dialog">
5 <property name="border_width">6</property>
6 <property name="title" translatable="yes">Network Authentication</property>
7 <property name="resizable">False</property>
8 <property name="window_position">center</property>
9 <property name="type_hint">normal</property>
10 <property name="has_separator">False</property>
11 <child internal-child="vbox">
12 <object class="GtkVBox" id="dialog-vbox2">
13 <property name="visible">True</property>
14 <child>
15 <object class="GtkHBox" id="hbox1">
16 <property name="visible">True</property>
17 <property name="border_width">6</property>
18 <property name="spacing">12</property>
19 <child>
20 <object class="GtkImage" id="image1">
21 <property name="visible">True</property>
22 <property name="yalign">0</property>
23 <property name="stock">gtk-dialog-authentication</property>
24 <property name="icon-size">6</property>
25 </object>
26 <packing>
27 <property name="expand">False</property>
28 <property name="position">0</property>
29 </packing>
30 </child>
31 <child>
32 <object class="GtkAlignment" id="alignment4">
33 <property name="visible">True</property>
34 <property name="bottom_padding">10</property>
35 <child>
36 <object class="GtkVBox" id="vbox2">
37 <property name="visible">True</property>
38 <property name="spacing">12</property>
39 <child>
40 <object class="GtkVBox" id="vbox1">
41 <property name="visible">True</property>
42 <child>
43 <object class="GtkLabel" id="krb5_message_label">
44 <property name="visible">True</property>
45 <property name="xalign">0</property>
46 <property name="use_markup">True</property>
47 </object>
48 <packing>
49 <property name="expand">False</property>
50 <property name="fill">False</property>
51 <property name="position">0</property>
52 </packing>
53 </child>
54 </object>
55 <packing>
56 <property name="position">0</property>
57 </packing>
58 </child>
59 <child>
60 <object class="GtkVBox" id="vbox3">
61 <property name="visible">True</property>
62 <property name="spacing">3</property>
63 <child>
64 <object class="GtkHBox" id="entry_hbox">
65 <property name="visible">True</property>
66 <property name="spacing">3</property>
67 <child>
68 <placeholder/>
69 </child>
70 </object>
71 <packing>
72 <property name="position">0</property>
73 </packing>
74 </child>
75 <child>
76 <object class="GtkLabel" id="krb5_status_label">
77 <property name="visible">True</property>
78 <property name="xalign">1</property>
79 <property name="label">&lt;span size="smaller"&gt; &lt;/span&gt;</property>
80 <property name="use_markup">True</property>
81 </object>
82 <packing>
83 <property name="expand">False</property>
84 <property name="fill">False</property>
85 <property name="position">1</property>
86 </packing>
87 </child>
88 </object>
89 <packing>
90 <property name="position">1</property>
91 </packing>
92 </child>
93 </object>
94 </child>
95 </object>
96 <packing>
97 <property name="position">1</property>
98 </packing>
99 </child>
100 </object>
101 <packing>
102 <property name="position">1</property>
103 </packing>
104 </child>
105 <child internal-child="action_area">
106 <object class="GtkHButtonBox" id="dialog-action_area2">
107 <property name="visible">True</property>
108 <property name="layout_style">end</property>
109 <child>
110 <object class="GtkButton" id="cancelbutton1">
111 <property name="label">gtk-cancel</property>
112 <property name="visible">True</property>
113 <property name="can_focus">True</property>
114 <property name="can_default">True</property>
115 <property name="receives_default">False</property>
116 <property name="use_stock">True</property>
117 </object>
118 <packing>
119 <property name="expand">False</property>
120 <property name="fill">False</property>
121 <property name="position">0</property>
122 </packing>
123 </child>
124 <child>
125 <object class="GtkButton" id="krb5_renew_button">
126 <property name="label" translatable="yes">_Renew Ticket</property>
127 <property name="visible">True</property>
128 <property name="can_focus">True</property>
129 <property name="can_default">True</property>
130 <property name="has_default">True</property>
131 <property name="receives_default">False</property>
132 <property name="use_underline">True</property>
133 </object>
134 <packing>
135 <property name="expand">False</property>
136 <property name="fill">False</property>
137 <property name="position">1</property>
138 </packing>
139 </child>
140 </object>
141 <packing>
142 <property name="expand">False</property>
143 <property name="pack_type">end</property>
144 <property name="position">0</property>
145 </packing>
146 </child>
147 </object>
148 </child>
149 <action-widgets>
150 <action-widget response="-6">cancelbutton1</action-widget>
151 <action-widget response="-5">krb5_renew_button</action-widget>
152 </action-widgets>
153 </object>
154 </interface>
236236 }
237237
238238 KaPwDialog*
239 ka_pwdialog_create(GladeXML* xml)
239 ka_pwdialog_create(GtkBuilder* xml)
240240 {
241241 KaPwDialog *pwdialog = ka_pwdialog_new();
242242 KaPwDialogPrivate *priv = pwdialog->priv;
243
244 priv->dialog = glade_xml_get_widget (xml, "krb5_dialog");
245 priv->status_label = glade_xml_get_widget (xml, "krb5_status_label");
246 priv->pw_entry = glade_xml_get_widget (xml, "krb5_entry");
247 priv->krb_label = glade_xml_get_widget (xml, "krb5_message_label");
243 GtkWidget *entry_hbox = NULL;
244
245 priv->dialog = GTK_WIDGET (gtk_builder_get_object (xml, "krb5_dialog"));
246 priv->status_label = GTK_WIDGET (gtk_builder_get_object (xml, "krb5_status_label"));
247 priv->krb_label = GTK_WIDGET (gtk_builder_get_object (xml, "krb5_message_label"));
248 priv->pw_entry = GTK_WIDGET (gtk_secure_entry_new ());
249
250 entry_hbox = GTK_WIDGET (gtk_builder_get_object (xml, "entry_hbox"));
251 gtk_container_add (GTK_CONTAINER (entry_hbox), priv->pw_entry);
252 gtk_secure_entry_set_activates_default (GTK_SECURE_ENTRY (priv->pw_entry), TRUE);
253 gtk_widget_show (priv->pw_entry);
248254
249255 return pwdialog;
250256 }
2222
2323 #include <glib.h>
2424 #include <glib-object.h>
25 #include <glade/glade.h>
2625
2726 #include "config.h"
2827 #include "gtksecentry.h"
4847 GType ka_pwdialog_get_type (void);
4948
5049 /* public functions */
51 KaPwDialog* ka_pwdialog_create(GladeXML *xml);
50 KaPwDialog* ka_pwdialog_create(GtkBuilder *xml);
5251 /* setup everything for the next prompting */
5352 void ka_pwdialog_setup (KaPwDialog* pwdialog, const gchar *krb5prompt,
5453 gboolean invalid_auth);