+++ /dev/null
-diff -ur gg-0.2.2pre6/src/callbacks.c gg/src/callbacks.c
---- gg-0.2.2pre6/src/callbacks.c Wed Mar 27 11:35:56 2002
-+++ gg/src/callbacks.c Fri Mar 29 00:40:37 2002
-@@ -1,4 +1,4 @@
--/* $Id$ */
-+/* $Id$ */
-
- /*
- * (C) Copyright 2001-2002 Igor Popik. Released under GPL license.
-@@ -1559,3 +1559,11 @@
- {
- gg_delete_userlist();
- }
-+
-+
-+void on_katalog_publiczny_activate(GtkMenuItem * menuitem, gpointer user_data)
-+{
-+ GtkWidget *widget;
-+ widget = create_pubdir_info();
-+ gtk_widget_show(widget);
-+}
-diff -ur gg-0.2.2pre6/src/callbacks.h gg/src/callbacks.h
---- gg-0.2.2pre6/src/callbacks.h Mon Feb 18 12:46:14 2002
-+++ gg/src/callbacks.h Fri Mar 29 00:40:37 2002
-@@ -1,4 +1,4 @@
--/* $Id$ */
-+/* $Id$ */
-
- /*
- * (C) Copyright 2001-2002 Igor Popik. Released under GPL license.
-@@ -89,3 +89,5 @@
- void on_import_activate(GtkMenuItem * menuitem, gpointer user_data);
- void on_export_activate(GtkMenuItem * menuitem, gpointer user_data);
- void on_delete_activate(GtkMenuItem * menuitem, gpointer user_data);
-+
-+void on_katalog_publiczny_activate(GtkMenuItem * menuitem, gpointer user_data);
-diff -ur gg-0.2.2pre6/src/dock.c gg/src/dock.c
---- gg-0.2.2pre6/src/dock.c Mon Mar 25 09:24:15 2002
-+++ gg/src/dock.c Thu Apr 4 09:04:03 2002
-@@ -1,4 +1,4 @@
--/* $Id$ */
-+/* $Id$ */
-
- /*
- * (C) Copyright 2001-2002 Igor Popik. Released under terms of GPL license.
-@@ -29,8 +29,17 @@
-
- #if USE_APPLET || USE_DOCKLET
-
-+#include "callbacks.h"
-+
- extern GtkWidget *window;
-
-+enum {
-+ MENU_ONLINE_IDX,
-+ MENU_AWAY_IDX,
-+ MENU_INVISIBLE_IDX,
-+ MENU_OFFLINE_IDX
-+};
-+
- gboolean show_hide_main(GtkWidget * widget, gpointer data)
- {
- if (!GTK_WIDGET_VISIBLE(window)) {
-@@ -42,17 +51,36 @@
- }
-
- static
--void applet_clicked_cb(GtkWidget * widget, GdkEventButton * ev,
-- gpointer data)
-+void applet_menu_change_status(GtkWidget * widget, gint * index)
- {
-+ GtkWidget *optionmenu;
-+ GtkWidget *status_menu;
-
-- if (ev == NULL)
-- return;
-- if (ev->button != 1 || ev->type != GDK_BUTTON_PRESS)
-- return;
-- show_hide_main(widget, NULL);
-+ switch (*index) {
-+ case MENU_ONLINE_IDX:
-+ on_available_activate(NULL, NULL);
-+ break;
-+ case MENU_AWAY_IDX:
-+ on_away_activate(NULL, NULL);
-+ break;
-+ case MENU_INVISIBLE_IDX:
-+ on_invisible_activate(NULL, NULL);
-+ break;
-+ case MENU_OFFLINE_IDX:
-+ on_not_available_activate(NULL, NULL);
-+ break;
-+ }
-+
-+ optionmenu = lookup_widget(window, "optionmenu");
-+ status_menu =
-+ gtk_option_menu_get_menu(GTK_OPTION_MENU(optionmenu));
-
-+ gtk_widget_ref(status_menu);
-+ gtk_option_menu_remove_menu(GTK_OPTION_MENU(optionmenu));
-+ gtk_menu_set_active(GTK_MENU(status_menu), *index);
-+ gtk_option_menu_set_menu(GTK_OPTION_MENU(optionmenu), status_menu);
- }
-+
- #endif
-
- #ifdef USE_APPLET
-@@ -63,19 +91,23 @@
- #include <gdk/gdk.h>
-
- #include "interface.h"
--#include "callbacks.h"
--
--enum {
-- MENU_ONLINE_IDX,
-- MENU_AWAY_IDX,
-- MENU_INVISIBLE_IDX,
-- MENU_OFFLINE_IDX
--};
-
- extern GGConfig config;
- extern GtkWidget *applet;
-
- static
-+void applet_clicked_cb(GtkWidget * widget, GdkEventButton * ev,
-+ gpointer data)
-+{
-+
-+ if (ev == NULL)
-+ return;
-+ if (ev->button != 1 || ev->type != GDK_BUTTON_PRESS)
-+ return;
-+ show_hide_main(widget, NULL);
-+
-+}
-+static
- gint applet_save_session(GtkWidget * widget,
- const gchar * privcfgpath,
- const gchar * globcfgpath)
-@@ -120,36 +152,6 @@
- }
- #endif
-
--static
--void applet_menu_change_status(GtkWidget * widget, gint * index)
--{
-- GtkWidget *optionmenu;
-- GtkWidget *status_menu;
--
-- switch (*index) {
-- case MENU_ONLINE_IDX:
-- on_available_activate(NULL, NULL);
-- break;
-- case MENU_AWAY_IDX:
-- on_away_activate(NULL, NULL);
-- break;
-- case MENU_INVISIBLE_IDX:
-- on_invisible_activate(NULL, NULL);
-- break;
-- case MENU_OFFLINE_IDX:
-- on_not_available_activate(NULL, NULL);
-- break;
-- }
--
-- optionmenu = lookup_widget(window, "optionmenu");
-- status_menu =
-- gtk_option_menu_get_menu(GTK_OPTION_MENU(optionmenu));
--
-- gtk_widget_ref(status_menu);
-- gtk_option_menu_remove_menu(GTK_OPTION_MENU(optionmenu));
-- gtk_menu_set_active(GTK_MENU(status_menu), *index);
-- gtk_option_menu_set_menu(GTK_OPTION_MENU(optionmenu), status_menu);
--}
-
- void applet_change_status_pixmap(gchar *filename)
- {
-@@ -581,6 +583,109 @@
-
- }
-
-+GtkWidget *create_docklet_menu()
-+{
-+ GtkWidget *menu;
-+ GtkWidget *submenu;
-+ GtkWidget *menuitem;
-+ static gint menus[] = { 0, 1, 2, 3 };
-+
-+ menu = gtk_menu_new();
-+
-+ submenu = gtk_menu_new();
-+ gtk_widget_show(submenu);
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Dostêpny"));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(submenu), menuitem);
-+
-+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
-+ GTK_SIGNAL_FUNC(applet_menu_change_status),
-+ &menus[MENU_ONLINE_IDX]);
-+
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Zaraz wracam"));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(submenu), menuitem);
-+
-+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
-+ GTK_SIGNAL_FUNC(applet_menu_change_status),
-+ &menus[MENU_AWAY_IDX]);
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Niewidzialny"));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(submenu), menuitem);
-+
-+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
-+ GTK_SIGNAL_FUNC(applet_menu_change_status),
-+ &menus[MENU_INVISIBLE_IDX]);
-+
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Niedostêpny"));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(submenu), menuitem);
-+
-+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
-+ GTK_SIGNAL_FUNC(applet_menu_change_status),
-+ &menus[MENU_OFFLINE_IDX]);
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Zmieñ status"));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(menu), menuitem);
-+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
-+
-+ menuitem = gtk_menu_item_new();
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(menu), menuitem);
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Preferencje"));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(menu), menuitem);
-+
-+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
-+ GTK_SIGNAL_FUNC(on_konfiguracja_activate), NULL);
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Zakoñcz"));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(menu), menuitem);
-+
-+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
-+ GTK_SIGNAL_FUNC(on_wyjscie_activate), NULL);
-+
-+
-+ menuitem = gtk_menu_item_new_with_label(_("Informacje o..."));
-+ gtk_widget_show(menuitem);
-+ gtk_menu_append(GTK_MENU(menu), menuitem);
-+
-+ gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
-+ GTK_SIGNAL_FUNC(on_informacje_o_activate), NULL);
-+
-+
-+
-+ return menu;
-+}
-+
-+static
-+void docklet_clicked_cb(GtkWidget * widget, GdkEventButton * ev,
-+ gpointer data)
-+{
-+
-+ GtkWidget *menu;
-+
-+ if (ev == NULL)
-+ return;
-+ if (ev->type == GDK_BUTTON_PRESS) {
-+ switch (ev->button) {
-+ case 1:
-+ show_hide_main(widget, NULL);
-+ break;
-+ default:
-+ menu = create_docklet_menu();
-+ gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
-+ ev->button, ev->time);
-+ }
-+ }
-+}
-
- GtkWidget *create_docklet()
- {
-@@ -614,7 +719,7 @@
- gtk_widget_show(pixmap);
-
- gtk_signal_connect(GTK_OBJECT(docklet), "button_press_event",
-- GTK_SIGNAL_FUNC(applet_clicked_cb), NULL);
-+ GTK_SIGNAL_FUNC(docklet_clicked_cb), NULL);
- kwm_dockwindow_atom = gdk_atom_intern("KWM_DOCKWINDOW", FALSE);
- kde_net_system_tray_window_for_atom = gdk_atom_intern("_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR", FALSE);
- data[0] = TRUE;
-diff -ur gg-0.2.2pre6/src/gg.c gg/src/gg.c
---- gg-0.2.2pre6/src/gg.c Wed Mar 27 11:35:57 2002
-+++ gg/src/gg.c Wed Apr 3 22:55:39 2002
-@@ -1,4 +1,4 @@
--/* $Id$ */
-+/* $Id$ */
-
- /*
- * (C) Copyright 2001-2002 Igor Popik. Released under terms of GPL license.
-@@ -131,10 +131,8 @@
- gint cnt = 0;
-
- tmplist = watches;
-- g_print("TIMEOUT\n");
-+ g_print("TIMEOUT %d\n", (int) tmplist);
- while (tmplist) {
-- g_print("timeout = %d\n", r->timeout);
--
- r = ((GGWatch *) (tmplist->data));
-
- if (r != NULL) {
-@@ -150,6 +148,7 @@
- cnt++;
- tmplist = tmplist->next;
- }
-+ g_print("OUT\n");
- if (cnt)
- return TRUE;
- else {
-diff -ur gg-0.2.2pre6/src/interface.c gg/src/interface.c
---- gg-0.2.2pre6/src/interface.c Wed Mar 27 11:44:59 2002
-+++ gg/src/interface.c Sun Mar 31 11:09:27 2002
-@@ -1,4 +1,4 @@
--/* $Id$ */
-+/* $Id$ */
-
- /*
- * (C) Copyright 2001 Igor Popik. Released under terms of GPL license.
-@@ -82,6 +82,12 @@
- (gpointer) on_przypomnij_haslo_activate, NULL, NULL,
- GNOME_APP_PIXMAP_NONE, NULL,
- 0, (GdkModifierType) 0, NULL},
-+ {
-+ GNOME_APP_UI_ITEM, N_("Katalog publiczny"),
-+ NULL,
-+ (gpointer) on_katalog_publiczny_activate, NULL, NULL,
-+ GNOME_APP_PIXMAP_NONE, NULL,
-+ 0, (GdkModifierType) 0, NULL},
-
- GNOMEUIINFO_MENU_PREFERENCES_ITEM(on_konfiguracja_activate, NULL),
- {
-@@ -2409,3 +2415,167 @@
-
- return register_dialog;
- }
-+
-+
-+GtkWidget *create_pubdir_info()
-+{
-+ GtkWidget *pubdir;
-+ GtkWidget *main_vbox;
-+ GtkWidget *vbox;
-+ GtkWidget *frame;
-+ GtkWidget *hbox;
-+ GtkWidget *pixmap;
-+ GtkWidget *label;
-+ GtkWidget *entry;
-+ GtkWidget *hbuttonbox;
-+ GtkWidget *button;
-+
-+ pubdir = gtk_window_new(GTK_WINDOW_DIALOG);
-+ gtk_object_set_data(GTK_OBJECT(pubdir), "pubdir", pubdir);
-+ gtk_widget_set_usize(pubdir, 430, 250);
-+ gtk_window_set_title(GTK_WINDOW(pubdir),
-+ _("Edycja danych w katalogu publicznym"));
-+ gtk_window_set_position(GTK_WINDOW(pubdir), GTK_WIN_POS_CENTER);
-+
-+ main_vbox = gtk_vbox_new(FALSE, 0);
-+ gtk_widget_show(main_vbox);
-+ gtk_container_add(GTK_CONTAINER(pubdir), main_vbox);
-+
-+ frame = gtk_frame_new(_("Osoba"));
-+ gtk_widget_show(frame);
-+ gtk_box_pack_start(GTK_BOX(main_vbox), frame, TRUE, TRUE,
-+ 3);
-+ gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
-+
-+ vbox = gtk_vbox_new(FALSE, 0);
-+ gtk_widget_show(vbox);
-+ gtk_container_add(GTK_CONTAINER(frame), vbox);
-+
-+ hbox = gtk_hbox_new(FALSE, 0);
-+ gtk_widget_show(hbox);
-+ gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
-+
-+ pixmap = create_pixmap(pubdir, "pubdir_info.xpm");
-+ gtk_widget_show(pixmap);
-+ gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, FALSE,
-+ 0);
-+
-+ vbox = gtk_vbox_new(FALSE, 0);
-+ gtk_widget_show(vbox);
-+ gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE,
-+ 0);
-+
-+ hbox = gtk_hbox_new(FALSE, 0);
-+ gtk_widget_show(hbox);
-+ gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE,
-+ 0);
-+
-+ label = gtk_label_new(_("Imiê: "));
-+ gtk_widget_show(label);
-+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE,
-+ FALSE, 5);
-+ gtk_widget_set_usize(label, 45, -2);
-+
-+ entry = gtk_entry_new();
-+ gtk_widget_ref(entry);
-+ gtk_object_set_data_full(GTK_OBJECT(pubdir), "first_name",
-+ entry,
-+ (GtkDestroyNotify) gtk_widget_unref);
-+ gtk_widget_show(entry);
-+ gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE,
-+ 0);
-+ gtk_widget_set_usize(entry, 110, -2);
-+
-+ label = gtk_label_new(_("Nazwisko: "));
-+ gtk_widget_show(label);
-+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE,
-+ FALSE, 10);
-+
-+ entry = gtk_entry_new();
-+ gtk_widget_ref(entry);
-+ gtk_object_set_data_full(GTK_OBJECT(pubdir), "last_name",
-+ entry,
-+ (GtkDestroyNotify) gtk_widget_unref);
-+ gtk_widget_show(entry);
-+ gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE,
-+ 0);
-+ gtk_widget_set_usize(entry, 110, -2);
-+
-+ hbox = gtk_hbox_new(FALSE, 0);
-+ gtk_widget_show(hbox);
-+ gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE,
-+ 0);
-+
-+ label = gtk_label_new(_("Pseudo:"));
-+ gtk_widget_show(label);
-+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE,
-+ FALSE, 5);
-+ gtk_widget_set_usize(label, 45, -2);
-+
-+ entry = gtk_entry_new();
-+ gtk_widget_ref(entry);
-+ gtk_object_set_data_full(GTK_OBJECT(pubdir), "nick", entry,
-+ (GtkDestroyNotify) gtk_widget_unref);
-+ gtk_widget_show(entry);
-+ gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE, 0);
-+ gtk_widget_set_usize(entry, 110, -2);
-+
-+ frame = gtk_frame_new(_("Miejscowo¶æ"));
-+ gtk_widget_show(frame);
-+ gtk_box_pack_start(GTK_BOX(main_vbox), frame, TRUE, TRUE,
-+ 3);
-+ gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
-+
-+ hbox = gtk_hbox_new(FALSE, 0);
-+ gtk_widget_show(hbox);
-+ gtk_container_add(GTK_CONTAINER(frame), hbox);
-+
-+ entry = gtk_entry_new();
-+ gtk_widget_ref(entry);
-+ gtk_object_set_data_full(GTK_OBJECT(pubdir), "city", entry,
-+ (GtkDestroyNotify) gtk_widget_unref);
-+ gtk_widget_show(entry);
-+ gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, TRUE, 5);
-+ gtk_widget_set_usize(entry, 100, -2);
-+
-+ frame = gtk_frame_new(_("Tel. komórkowy"));
-+ gtk_widget_show(frame);
-+ gtk_box_pack_start(GTK_BOX(main_vbox), frame, TRUE, TRUE,
-+ 3);
-+ gtk_container_set_border_width(GTK_CONTAINER(frame), 3);
-+
-+ hbox = gtk_hbox_new(FALSE, 0);
-+ gtk_widget_show(hbox);
-+ gtk_container_add(GTK_CONTAINER(frame), hbox);
-+
-+ entry = gtk_entry_new();
-+ gtk_widget_ref(entry);
-+ gtk_object_set_data_full(GTK_OBJECT(pubdir), "mobile", entry,
-+ (GtkDestroyNotify) gtk_widget_unref);
-+ gtk_widget_show(entry);
-+ gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 5);
-+ gtk_widget_set_usize(entry, 100, -2);
-+
-+ hbuttonbox = gtk_hbutton_box_new();
-+ gtk_widget_show(hbuttonbox);
-+ gtk_box_pack_start(GTK_BOX(main_vbox), hbuttonbox, FALSE, TRUE,
-+ 0);
-+
-+ button = gtk_button_new_with_label(_("Ok"));
-+ gtk_widget_show(button);
-+ gtk_container_add(GTK_CONTAINER(hbuttonbox), button);
-+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
-+ gtk_signal_connect(GTK_OBJECT(button), "clicked",
-+ GTK_SIGNAL_FUNC(on_zamknij_anuluj_clicked), pubdir);
-+
-+ button = gtk_button_new_with_label(_("Anuluj"));
-+ gtk_widget_show(button);
-+ gtk_container_add(GTK_CONTAINER(hbuttonbox), button);
-+ GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
-+
-+ gtk_signal_connect(GTK_OBJECT(button), "clicked",
-+ GTK_SIGNAL_FUNC(on_zamknij_anuluj_clicked),
-+ pubdir);
-+
-+ return pubdir;
-+}