1 diff -ur gg-0.2.2pre6/src/callbacks.c gg/src/callbacks.c
2 --- gg-0.2.2pre6/src/callbacks.c Wed Mar 27 11:35:56 2002
3 +++ gg/src/callbacks.c Fri Mar 29 00:40:37 2002
9 * (C) Copyright 2001-2002 Igor Popik. Released under GPL license.
10 @@ -1559,3 +1559,11 @@
16 +void on_katalog_publiczny_activate(GtkMenuItem * menuitem, gpointer user_data)
19 + widget = create_pubdir_info();
20 + gtk_widget_show(widget);
22 diff -ur gg-0.2.2pre6/src/callbacks.h gg/src/callbacks.h
23 --- gg-0.2.2pre6/src/callbacks.h Mon Feb 18 12:46:14 2002
24 +++ gg/src/callbacks.h Fri Mar 29 00:40:37 2002
30 * (C) Copyright 2001-2002 Igor Popik. Released under GPL license.
32 void on_import_activate(GtkMenuItem * menuitem, gpointer user_data);
33 void on_export_activate(GtkMenuItem * menuitem, gpointer user_data);
34 void on_delete_activate(GtkMenuItem * menuitem, gpointer user_data);
36 +void on_katalog_publiczny_activate(GtkMenuItem * menuitem, gpointer user_data);
37 diff -ur gg-0.2.2pre6/src/dock.c gg/src/dock.c
38 --- gg-0.2.2pre6/src/dock.c Mon Mar 25 09:24:15 2002
39 +++ gg/src/dock.c Thu Apr 4 09:04:03 2002
45 * (C) Copyright 2001-2002 Igor Popik. Released under terms of GPL license.
48 #if USE_APPLET || USE_DOCKLET
50 +#include "callbacks.h"
52 extern GtkWidget *window;
61 gboolean show_hide_main(GtkWidget * widget, gpointer data)
63 if (!GTK_WIDGET_VISIBLE(window)) {
68 -void applet_clicked_cb(GtkWidget * widget, GdkEventButton * ev,
70 +void applet_menu_change_status(GtkWidget * widget, gint * index)
72 + GtkWidget *optionmenu;
73 + GtkWidget *status_menu;
77 - if (ev->button != 1 || ev->type != GDK_BUTTON_PRESS)
79 - show_hide_main(widget, NULL);
81 + case MENU_ONLINE_IDX:
82 + on_available_activate(NULL, NULL);
85 + on_away_activate(NULL, NULL);
87 + case MENU_INVISIBLE_IDX:
88 + on_invisible_activate(NULL, NULL);
90 + case MENU_OFFLINE_IDX:
91 + on_not_available_activate(NULL, NULL);
95 + optionmenu = lookup_widget(window, "optionmenu");
97 + gtk_option_menu_get_menu(GTK_OPTION_MENU(optionmenu));
99 + gtk_widget_ref(status_menu);
100 + gtk_option_menu_remove_menu(GTK_OPTION_MENU(optionmenu));
101 + gtk_menu_set_active(GTK_MENU(status_menu), *index);
102 + gtk_option_menu_set_menu(GTK_OPTION_MENU(optionmenu), status_menu);
111 #include "interface.h"
112 -#include "callbacks.h"
117 - MENU_INVISIBLE_IDX,
121 extern GGConfig config;
122 extern GtkWidget *applet;
125 +void applet_clicked_cb(GtkWidget * widget, GdkEventButton * ev,
131 + if (ev->button != 1 || ev->type != GDK_BUTTON_PRESS)
133 + show_hide_main(widget, NULL);
137 gint applet_save_session(GtkWidget * widget,
138 const gchar * privcfgpath,
139 const gchar * globcfgpath)
145 -void applet_menu_change_status(GtkWidget * widget, gint * index)
147 - GtkWidget *optionmenu;
148 - GtkWidget *status_menu;
151 - case MENU_ONLINE_IDX:
152 - on_available_activate(NULL, NULL);
154 - case MENU_AWAY_IDX:
155 - on_away_activate(NULL, NULL);
157 - case MENU_INVISIBLE_IDX:
158 - on_invisible_activate(NULL, NULL);
160 - case MENU_OFFLINE_IDX:
161 - on_not_available_activate(NULL, NULL);
165 - optionmenu = lookup_widget(window, "optionmenu");
167 - gtk_option_menu_get_menu(GTK_OPTION_MENU(optionmenu));
169 - gtk_widget_ref(status_menu);
170 - gtk_option_menu_remove_menu(GTK_OPTION_MENU(optionmenu));
171 - gtk_menu_set_active(GTK_MENU(status_menu), *index);
172 - gtk_option_menu_set_menu(GTK_OPTION_MENU(optionmenu), status_menu);
175 void applet_change_status_pixmap(gchar *filename)
177 @@ -581,6 +583,109 @@
181 +GtkWidget *create_docklet_menu()
184 + GtkWidget *submenu;
185 + GtkWidget *menuitem;
186 + static gint menus[] = { 0, 1, 2, 3 };
188 + menu = gtk_menu_new();
190 + submenu = gtk_menu_new();
191 + gtk_widget_show(submenu);
193 + menuitem = gtk_menu_item_new_with_label(_("Dostêpny"));
194 + gtk_widget_show(menuitem);
195 + gtk_menu_append(GTK_MENU(submenu), menuitem);
197 + gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
198 + GTK_SIGNAL_FUNC(applet_menu_change_status),
199 + &menus[MENU_ONLINE_IDX]);
202 + menuitem = gtk_menu_item_new_with_label(_("Zaraz wracam"));
203 + gtk_widget_show(menuitem);
204 + gtk_menu_append(GTK_MENU(submenu), menuitem);
206 + gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
207 + GTK_SIGNAL_FUNC(applet_menu_change_status),
208 + &menus[MENU_AWAY_IDX]);
210 + menuitem = gtk_menu_item_new_with_label(_("Niewidzialny"));
211 + gtk_widget_show(menuitem);
212 + gtk_menu_append(GTK_MENU(submenu), menuitem);
214 + gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
215 + GTK_SIGNAL_FUNC(applet_menu_change_status),
216 + &menus[MENU_INVISIBLE_IDX]);
219 + menuitem = gtk_menu_item_new_with_label(_("Niedostêpny"));
220 + gtk_widget_show(menuitem);
221 + gtk_menu_append(GTK_MENU(submenu), menuitem);
223 + gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
224 + GTK_SIGNAL_FUNC(applet_menu_change_status),
225 + &menus[MENU_OFFLINE_IDX]);
227 + menuitem = gtk_menu_item_new_with_label(_("Zmieñ status"));
228 + gtk_widget_show(menuitem);
229 + gtk_menu_append(GTK_MENU(menu), menuitem);
230 + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
232 + menuitem = gtk_menu_item_new();
233 + gtk_widget_show(menuitem);
234 + gtk_menu_append(GTK_MENU(menu), menuitem);
236 + menuitem = gtk_menu_item_new_with_label(_("Preferencje"));
237 + gtk_widget_show(menuitem);
238 + gtk_menu_append(GTK_MENU(menu), menuitem);
240 + gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
241 + GTK_SIGNAL_FUNC(on_konfiguracja_activate), NULL);
243 + menuitem = gtk_menu_item_new_with_label(_("Zakoñcz"));
244 + gtk_widget_show(menuitem);
245 + gtk_menu_append(GTK_MENU(menu), menuitem);
247 + gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
248 + GTK_SIGNAL_FUNC(on_wyjscie_activate), NULL);
251 + menuitem = gtk_menu_item_new_with_label(_("Informacje o..."));
252 + gtk_widget_show(menuitem);
253 + gtk_menu_append(GTK_MENU(menu), menuitem);
255 + gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
256 + GTK_SIGNAL_FUNC(on_informacje_o_activate), NULL);
264 +void docklet_clicked_cb(GtkWidget * widget, GdkEventButton * ev,
272 + if (ev->type == GDK_BUTTON_PRESS) {
273 + switch (ev->button) {
275 + show_hide_main(widget, NULL);
278 + menu = create_docklet_menu();
279 + gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
280 + ev->button, ev->time);
285 GtkWidget *create_docklet()
288 gtk_widget_show(pixmap);
290 gtk_signal_connect(GTK_OBJECT(docklet), "button_press_event",
291 - GTK_SIGNAL_FUNC(applet_clicked_cb), NULL);
292 + GTK_SIGNAL_FUNC(docklet_clicked_cb), NULL);
293 kwm_dockwindow_atom = gdk_atom_intern("KWM_DOCKWINDOW", FALSE);
294 kde_net_system_tray_window_for_atom = gdk_atom_intern("_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR", FALSE);
296 diff -ur gg-0.2.2pre6/src/gg.c gg/src/gg.c
297 --- gg-0.2.2pre6/src/gg.c Wed Mar 27 11:35:57 2002
298 +++ gg/src/gg.c Wed Apr 3 22:55:39 2002
304 * (C) Copyright 2001-2002 Igor Popik. Released under terms of GPL license.
309 - g_print("TIMEOUT\n");
310 + g_print("TIMEOUT %d\n", (int) tmplist);
312 - g_print("timeout = %d\n", r->timeout);
314 r = ((GGWatch *) (tmplist->data));
319 tmplist = tmplist->next;
325 diff -ur gg-0.2.2pre6/src/interface.c gg/src/interface.c
326 --- gg-0.2.2pre6/src/interface.c Wed Mar 27 11:44:59 2002
327 +++ gg/src/interface.c Sun Mar 31 11:09:27 2002
333 * (C) Copyright 2001 Igor Popik. Released under terms of GPL license.
335 (gpointer) on_przypomnij_haslo_activate, NULL, NULL,
336 GNOME_APP_PIXMAP_NONE, NULL,
337 0, (GdkModifierType) 0, NULL},
339 + GNOME_APP_UI_ITEM, N_("Katalog publiczny"),
341 + (gpointer) on_katalog_publiczny_activate, NULL, NULL,
342 + GNOME_APP_PIXMAP_NONE, NULL,
343 + 0, (GdkModifierType) 0, NULL},
345 GNOMEUIINFO_MENU_PREFERENCES_ITEM(on_konfiguracja_activate, NULL),
347 @@ -2409,3 +2415,167 @@
349 return register_dialog;
353 +GtkWidget *create_pubdir_info()
356 + GtkWidget *main_vbox;
363 + GtkWidget *hbuttonbox;
366 + pubdir = gtk_window_new(GTK_WINDOW_DIALOG);
367 + gtk_object_set_data(GTK_OBJECT(pubdir), "pubdir", pubdir);
368 + gtk_widget_set_usize(pubdir, 430, 250);
369 + gtk_window_set_title(GTK_WINDOW(pubdir),
370 + _("Edycja danych w katalogu publicznym"));
371 + gtk_window_set_position(GTK_WINDOW(pubdir), GTK_WIN_POS_CENTER);
373 + main_vbox = gtk_vbox_new(FALSE, 0);
374 + gtk_widget_show(main_vbox);
375 + gtk_container_add(GTK_CONTAINER(pubdir), main_vbox);
377 + frame = gtk_frame_new(_("Osoba"));
378 + gtk_widget_show(frame);
379 + gtk_box_pack_start(GTK_BOX(main_vbox), frame, TRUE, TRUE,
381 + gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
383 + vbox = gtk_vbox_new(FALSE, 0);
384 + gtk_widget_show(vbox);
385 + gtk_container_add(GTK_CONTAINER(frame), vbox);
387 + hbox = gtk_hbox_new(FALSE, 0);
388 + gtk_widget_show(hbox);
389 + gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
391 + pixmap = create_pixmap(pubdir, "pubdir_info.xpm");
392 + gtk_widget_show(pixmap);
393 + gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, FALSE,
396 + vbox = gtk_vbox_new(FALSE, 0);
397 + gtk_widget_show(vbox);
398 + gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE,
401 + hbox = gtk_hbox_new(FALSE, 0);
402 + gtk_widget_show(hbox);
403 + gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE,
406 + label = gtk_label_new(_("Imiê: "));
407 + gtk_widget_show(label);
408 + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE,
410 + gtk_widget_set_usize(label, 45, -2);
412 + entry = gtk_entry_new();
413 + gtk_widget_ref(entry);
414 + gtk_object_set_data_full(GTK_OBJECT(pubdir), "first_name",
416 + (GtkDestroyNotify) gtk_widget_unref);
417 + gtk_widget_show(entry);
418 + gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE,
420 + gtk_widget_set_usize(entry, 110, -2);
422 + label = gtk_label_new(_("Nazwisko: "));
423 + gtk_widget_show(label);
424 + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE,
427 + entry = gtk_entry_new();
428 + gtk_widget_ref(entry);
429 + gtk_object_set_data_full(GTK_OBJECT(pubdir), "last_name",
431 + (GtkDestroyNotify) gtk_widget_unref);
432 + gtk_widget_show(entry);
433 + gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE,
435 + gtk_widget_set_usize(entry, 110, -2);
437 + hbox = gtk_hbox_new(FALSE, 0);
438 + gtk_widget_show(hbox);
439 + gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE,
442 + label = gtk_label_new(_("Pseudo:"));
443 + gtk_widget_show(label);
444 + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE,
446 + gtk_widget_set_usize(label, 45, -2);
448 + entry = gtk_entry_new();
449 + gtk_widget_ref(entry);
450 + gtk_object_set_data_full(GTK_OBJECT(pubdir), "nick", entry,
451 + (GtkDestroyNotify) gtk_widget_unref);
452 + gtk_widget_show(entry);
453 + gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE, 0);
454 + gtk_widget_set_usize(entry, 110, -2);
456 + frame = gtk_frame_new(_("Miejscowo¶æ"));
457 + gtk_widget_show(frame);
458 + gtk_box_pack_start(GTK_BOX(main_vbox), frame, TRUE, TRUE,
460 + gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
462 + hbox = gtk_hbox_new(FALSE, 0);
463 + gtk_widget_show(hbox);
464 + gtk_container_add(GTK_CONTAINER(frame), hbox);
466 + entry = gtk_entry_new();
467 + gtk_widget_ref(entry);
468 + gtk_object_set_data_full(GTK_OBJECT(pubdir), "city", entry,
469 + (GtkDestroyNotify) gtk_widget_unref);
470 + gtk_widget_show(entry);
471 + gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE, 5);
472 + gtk_widget_set_usize(entry, 100, -2);
474 + frame = gtk_frame_new(_("Tel. komórkowy"));
475 + gtk_widget_show(frame);
476 + gtk_box_pack_start(GTK_BOX(main_vbox), frame, TRUE, TRUE,
478 + gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
480 + hbox = gtk_hbox_new(FALSE, 0);
481 + gtk_widget_show(hbox);
482 + gtk_container_add(GTK_CONTAINER(frame), hbox);
484 + entry = gtk_entry_new();
485 + gtk_widget_ref(entry);
486 + gtk_object_set_data_full(GTK_OBJECT(pubdir), "mobile", entry,
487 + (GtkDestroyNotify) gtk_widget_unref);
488 + gtk_widget_show(entry);
489 + gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 5);
490 + gtk_widget_set_usize(entry, 100, -2);
492 + hbuttonbox = gtk_hbutton_box_new();
493 + gtk_widget_show(hbuttonbox);
494 + gtk_box_pack_start(GTK_BOX(main_vbox), hbuttonbox, FALSE, TRUE,
497 + button = gtk_button_new_with_label(_("Ok"));
498 + gtk_widget_show(button);
499 + gtk_container_add(GTK_CONTAINER(hbuttonbox), button);
500 + GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
501 + gtk_signal_connect(GTK_OBJECT(button), "clicked",
502 + GTK_SIGNAL_FUNC(on_zamknij_anuluj_clicked), pubdir);
504 + button = gtk_button_new_with_label(_("Anuluj"));
505 + gtk_widget_show(button);
506 + gtk_container_add(GTK_CONTAINER(hbuttonbox), button);
507 + GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
509 + gtk_signal_connect(GTK_OBJECT(button), "clicked",
510 + GTK_SIGNAL_FUNC(on_zamknij_anuluj_clicked),