Yattm - unified GTK instant-messaging client | |
[Generated for version 0.2-17 - Mon Jan 6 19:01:23 GMT+1 2003] |
#include "intl.h"
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <X11/Xlib.h>
#include "globals.h"
#include "status.h"
#include "chat_window.h"
#include "about.h"
#include "help_menu.h"
#include "util.h"
#include "add_contact_window.h"
#include "dialog.h"
#include "away_window.h"
#include "message_parse.h"
#include "contact_actions.h"
#include "sound.h"
#include "plugin.h"
#include "prefs.h"
#include "pixmaps/login_icon.xpm"
#include "pixmaps/blank_icon.xpm"
#include "pixmaps/logoff_icon.xpm"
Include dependency graph for status.c:
Go to the source code of this file.
Data Structures | |
struct | acctStatus |
Enumerations | |
enum | { TARGET_STRING, TARGET_ROOTWIN, TARGET_URL } |
Functions | |
void | focus_statuswindow (void) |
void | delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) |
void | send_file_callback (GtkWidget *w, eb_account *ea) |
void | send_file_with_contact_callback (GtkWidget *w, struct contact *conn) |
void | view_log_callback (GtkWidget *w, struct contact *conn) |
void | edit_trigger_callback (GtkWidget *w, struct contact *conn) |
void | edit_group_callback (GtkWidget *w, grouplist *g) |
void | add_to_group_callback (GtkWidget *widget, grouplist *g) |
void | edit_contact_callback (GtkWidget *w, struct contact *conn) |
void | add_account_to_contact_callback (GtkWidget *w, struct contact *conn) |
void | edit_account_callback (GtkWidget *w, gpointer a) |
void | remove_group_callback (GtkWidget *w, gpointer d) |
void | offer_remove_group_callback (GtkWidget *w, gpointer d) |
void | remove_contact_callback (GtkWidget *w, gpointer d) |
void | offer_remove_contact_callback (GtkWidget *w, gpointer d) |
void | remove_account_callback (GtkWidget *w, gpointer d) |
void | offer_remove_account_callback (GtkWidget *w, gpointer d) |
void | eb_save_size (GtkWidget *widget, gpointer data) |
void | get_info (GtkWidget *w, eb_account *ea) |
void | update_status_message (gchar *message) |
void | collapse_contact (GtkTreeItem *treeItem, gpointer data) |
void | expand_contact (GtkTreeItem *treeItem, gpointer data) |
void | status_show_callback (GtkWidget *w, gpointer data) |
GtkWidget * | make_info_menu (struct contact *c) |
void | group_menu (GdkEventButton *event, gpointer d) |
void | contact_menu (GdkEventButton *event, gpointer d) |
void | account_menu (GdkEventButton *event, gpointer d) |
void | group_click (GtkWidget *widget, GdkEventButton *event, gpointer d) |
void | contact_click (GtkWidget *widget, GdkEventButton *event, gpointer d) |
void | account_click (GtkWidget *widget, GdkEventButton *event, gpointer d) |
void | add_callback (GtkWidget *widget, GtkTree *tree) |
void | add_group_callback (GtkWidget *widget, GtkTree *tree) |
void | eb_edit_accounts (GtkWidget *widget, gpointer stats) |
void | build_prefs_callback (GtkWidget *widget, gpointer stats) |
void | launch_group_chat (GtkWidget *widget, gpointer userdata) |
void | eb_status_remove (GtkContainer *container, GtkWidget *widget, gpointer stats) |
void | eb_status (GtkCheckMenuItem *widget, gpointer stats) |
void | eb_sign_on_all (GtkWidget *widget, gpointer foo) |
void | eb_sign_off_all (GtkWidget *widget, gpointer foo) |
gint | get_contact_position (struct contact *ec) |
gint | get_account_position (eb_account *ea) |
void | update_contact_list () |
void | add_contact_and_accounts (struct contact *c) |
gboolean | drag_motion_cb (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time, gpointer data) |
void | start_drag (GtkWidget *widget, GdkDragContext *dc, gpointer data) |
void | drag_data_get (GtkWidget *widget, GdkDragContext *drag_context, GtkSelectionData *selection_data, guint info, guint time, gpointer data) |
void | add_group_line (grouplist *eg) |
void | add_account_line (eb_account *ea) |
void | add_contact_line (struct contact *ec) |
void | remove_group_line (grouplist *eg) |
void | remove_contact_line (struct contact *ec) |
void | remove_account_line (eb_account *ea) |
gint | hide_contact (struct contact *ec) |
gint | hide_account (eb_account *ea) |
void | contact_update_status (struct contact *ec) |
void | buddy_update_status_and_log (eb_account *ea) |
void | buddy_update_status (eb_account *ea) |
gint | set_contact_icon (struct contact *ec) |
gint | set_account_icon (eb_account *ea) |
void | contact_login (struct contact *ec) |
void | contact_logoff (struct contact *ec) |
gint | refresh_buddy_status (eb_account *ea) |
void | buddy_login (eb_account *ea) |
void | buddy_logoff (eb_account *ea) |
void | update_contact_window_length () |
GtkWidget * | MakeContactList () |
GtkWidget * | MakeStatusMenu (eb_local_account *ela) |
void | eb_import_function (GtkWidget *widget, gpointer callback) |
void | eb_profile_function (GtkWidget *widget, gpointer data) |
void | eb_profile_window (GtkWidget *profile_submenuitem) |
void | eb_import_window (GtkWidget *import_submenuitem) |
void | eb_set_status_window (GtkWidget *set_status_submenuitem) |
gchar * | menu_translate (const gchar *path, gpointer data) |
void | get_main_menu (GtkWidget *window, GtkWidget **menubar) |
void | eb_status_window () |
Variables | |
GtkWidget * | statuswindow = NULL |
GtkWidget * | away_menu |
GtkTooltips * | status_tips = NULL |
GtkWidget * | contact_list |
GtkWidget * | contact_window |
GtkWidget * | status_bar = 0 |
GtkWidget * | status_message |
int | status_show = 2 |
time_t | last_sound_played = 0 |
GdkPixmap * | iconlogin_pm = NULL |
GdkBitmap * | iconlogin_bm = NULL |
GdkPixmap * | iconblank_pm = NULL |
GdkBitmap * | iconblank_bm = NULL |
GdkPixmap * | iconlogoff_pm = NULL |
GdkBitmap * | iconlogoff_bm = NULL |
GtkTargetEntry | drag_types [1] |
gpointer | dndtarget = NULL |
GtkItemFactoryEntry | menu_items [] |
GtkItemFactory * | main_menu_factory = NULL |
|
Definition at line 61 of file status.c.
00061 { 00062 TARGET_STRING, 00063 TARGET_ROOTWIN, 00064 TARGET_URL 00065 }; |
|
Definition at line 474 of file status.c. References account_menu(), and eb_chat_window_display_account(). Referenced by add_account_line().
00476 { 00477 if (event->type == GDK_2BUTTON_PRESS && event->button == 1) 00478 { 00479 eb_chat_window_display_account((eb_account *)d); 00480 } 00481 else if (event->type == GDK_BUTTON_PRESS && event->button == 3) 00482 { 00483 gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), 00484 "button_press_event"); 00485 account_menu (event, d); 00486 } 00487 } |
|
Definition at line 414 of file status.c. References _, eb_menu_button(), edit_account_callback(), get_info(), offer_remove_account_callback(), and send_file_callback(). Referenced by account_click(), and eb_set_status_window().
00415 { 00416 GtkWidget * menu; 00417 00418 menu = gtk_menu_new(); 00419 00420 eb_menu_button (GTK_MENU(menu), _("Edit Account"), 00421 GTK_SIGNAL_FUNC(edit_account_callback), d); 00422 00423 eb_menu_button (GTK_MENU(menu), _("Delete Account"), 00424 GTK_SIGNAL_FUNC(offer_remove_account_callback), d); 00425 00426 00427 eb_menu_button (GTK_MENU(menu), _("Send File"), 00428 GTK_SIGNAL_FUNC(send_file_callback), d); 00429 00430 eb_menu_button (GTK_MENU(menu), _("Info"), 00431 GTK_SIGNAL_FUNC(get_info),d); 00432 00433 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 00434 event->button, event->time ); 00435 00436 } |
|
Definition at line 826 of file status.c. References _, account_click(), account::account_contact, add_contact_line(), get_account_position(), account::handle, account::icon_handler, iconblank_bm, iconblank_pm, account::list_item, account::pix, RUN_SERVICE, account::status, status_tips, and contact::tree. Referenced by add_contact_and_accounts(), buddy_login(), and update_contact_list().
00827 { 00828 GtkWidget * box, * label; 00829 00830 if (ea->list_item) 00831 return; 00832 00833 add_contact_line(ea->account_contact); 00834 00835 ea->list_item = gtk_tree_item_new(); 00836 00837 box = gtk_hbox_new(FALSE, 1); 00838 ea->pix = gtk_pixmap_new(iconblank_pm, iconblank_bm); 00839 label = gtk_label_new(ea->handle); 00840 { 00841 char * c = g_strndup(RUN_SERVICE(ea)->get_status_string(ea), 20); 00842 if(strlen(c) == 20) 00843 { 00844 c[19] = c[18] = c[17] = '.'; 00845 if(!status_tips) 00846 { 00847 status_tips = gtk_tooltips_new(); 00848 } 00849 /* 00850 * that 3rd parameter is not a bug, it really is a useless 00851 * parameter 00852 */ 00853 00854 gtk_tooltips_set_tip(GTK_TOOLTIPS(status_tips), ea->list_item, 00855 RUN_SERVICE(ea)->get_status_string(ea), 00856 _("status info here")); 00857 } 00858 ea->status = gtk_label_new(c); 00859 g_free(c); 00860 } 00861 00862 gtk_box_pack_start(GTK_BOX(box), ea->pix, FALSE, FALSE, 1); 00863 gtk_widget_show(ea->pix); 00864 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); 00865 gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 1); 00866 gtk_widget_show(label); 00867 gtk_box_pack_start(GTK_BOX(box), ea->status, FALSE, FALSE, 1); 00868 gtk_widget_show(ea->status); 00869 00870 gtk_container_add(GTK_CONTAINER(ea->list_item), box); 00871 gtk_widget_show(box); 00872 00873 ea->icon_handler = -1; 00874 00875 gtk_object_set_user_data(GTK_OBJECT(ea->list_item), ea); 00876 gtk_tree_insert(GTK_TREE(ea->account_contact->tree), ea->list_item, 00877 get_account_position(ea)); 00878 00879 gtk_signal_connect(GTK_OBJECT(ea->list_item), "button_press_event", 00880 GTK_SIGNAL_FUNC(account_click), 00881 (eb_account *)ea ); 00882 00883 gtk_widget_show(ea->list_item); 00884 00885 } |
|
Definition at line 163 of file status.c. References show_add_account_to_contact_window(). Referenced by contact_menu().
00164 { 00165 show_add_account_to_contact_window(conn); 00166 } |
|
Definition at line 494 of file status.c. References show_add_contact_window(). Referenced by ok_callback().
00495 { 00496 show_add_contact_window(); 00497 } |
|
Definition at line 716 of file status.c. References contact::accounts, add_account_line(), buddy_update_status(), account::online, and status_show. Referenced by move_account(), and move_contact().
00717 { 00718 GList *l; 00719 for (l = c->accounts; l; l = l->next) 00720 { 00721 eb_account * ea = l->data; 00722 if ((status_show == 0) || (status_show == 1) || ea->online) 00723 { 00724 add_account_line(ea); 00725 buddy_update_status(ea); 00726 } 00727 } 00728 } |
|
Definition at line 888 of file status.c. References _, _grouplist::contacts_shown, contact::group, contact::icon_handler, iconblank_bm, iconblank_pm, contact::label, contact::list_item, _grouplist::list_item, _grouplist::name, contact::nick, contact::pix, contact::status, contact::tree, and _grouplist::tree. Referenced by add_account_line(), and update_contact_list().
00889 { 00890 GtkWidget * box; 00891 00892 if (ec->list_item) 00893 return; 00894 00895 ec->list_item = gtk_tree_item_new(); 00896 ec->tree = gtk_tree_new(); 00897 00898 box = gtk_hbox_new(FALSE, 1); 00899 ec->pix = gtk_pixmap_new(iconblank_pm, iconblank_bm); 00900 ec->label = gtk_label_new(ec->nick); 00901 ec->status = gtk_label_new(""); 00902 00903 gtk_box_pack_start(GTK_BOX(box), ec->pix, FALSE, FALSE, 1); 00904 gtk_widget_show(ec->pix); 00905 gtk_misc_set_alignment(GTK_MISC(ec->label), 0.0, 0.5); 00906 gtk_box_pack_start(GTK_BOX(box), ec->label, TRUE, TRUE, 1); 00907 gtk_widget_show(ec->label); 00908 gtk_box_pack_start(GTK_BOX(box), ec->status, FALSE, FALSE, 1); 00909 gtk_widget_show(ec->status); 00910 00911 gtk_container_add(GTK_CONTAINER(ec->list_item), box); 00912 gtk_widget_show(box); 00913 00914 ec->icon_handler = -1; 00915 00916 gtk_object_set_user_data(GTK_OBJECT(ec->list_item), ec); 00917 00918 if (!ec->group->contacts_shown) { 00919 ec->group->tree = gtk_tree_new(); 00920 gtk_tree_item_set_subtree(GTK_TREE_ITEM(ec->group->list_item), 00921 ec->group->tree); 00922 if(strcmp(_("Unknown"),ec->group->name) !=0 && 00923 strcmp(_("Ignore"),ec->group->name) !=0) 00924 gtk_tree_item_expand(GTK_TREE_ITEM(ec->group->list_item)); 00925 } 00926 gtk_drag_source_set(ec->list_item, 00927 GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, 00928 drag_types, 1, 00929 GDK_ACTION_MOVE|GDK_ACTION_DEFAULT); 00930 gtk_signal_connect(GTK_OBJECT(ec->list_item), "drag_begin", 00931 GTK_SIGNAL_FUNC(start_drag), ec); 00932 gtk_signal_connect(GTK_OBJECT(ec->list_item), "drag_data_get", 00933 GTK_SIGNAL_FUNC(drag_data_get), 00934 ec); 00935 00936 ec->group->contacts_shown++; 00937 gtk_tree_insert(GTK_TREE(ec->group->tree), ec->list_item, 00938 get_contact_position(ec)); 00939 00940 gtk_tree_item_set_subtree(GTK_TREE_ITEM(ec->list_item), ec->tree); 00941 if(ec->expanded) 00942 gtk_tree_item_expand(GTK_TREE_ITEM(ec->list_item)); 00943 else 00944 gtk_tree_item_collapse(GTK_TREE_ITEM(ec->list_item)); 00945 00946 gtk_signal_connect(GTK_OBJECT(ec->list_item), "button_press_event", 00947 GTK_SIGNAL_FUNC(contact_click), 00948 (struct contact*)ec ); 00949 gtk_signal_connect(GTK_OBJECT(ec->list_item), "expand", 00950 GTK_SIGNAL_FUNC(expand_contact), (struct contact*)ec); 00951 gtk_signal_connect(GTK_OBJECT(ec->list_item), "collapse", 00952 GTK_SIGNAL_FUNC(collapse_contact), (struct contact*)ec ); 00953 00954 gtk_widget_show(ec->list_item); 00955 } |
|
Definition at line 499 of file status.c. References show_add_group_window().
00500 { 00501 show_add_group_window(); 00502 } |
|
Definition at line 783 of file status.c. References contact_list, _grouplist::contacts_online, _grouplist::contacts_shown, drag_motion_cb(), drag_types, group_click(), _grouplist::label, _grouplist::list_item, _grouplist::name, and _grouplist::tree. Referenced by add_group(), MakeContactList(), and move_contact().
00784 { 00785 GtkWidget * box; 00786 00787 /* Might call add_group() - which calls add_group_line() 00788 before contact_list exists - this is OK so just return */ 00789 if (eg->list_item || !contact_list) 00790 return; 00791 00792 eg->list_item = gtk_tree_item_new(); 00793 00794 box = gtk_hbox_new(FALSE, 1); 00795 00796 eg->label = gtk_label_new(eg->name); 00797 gtk_label_set_justify(GTK_LABEL(eg->label), GTK_JUSTIFY_LEFT); 00798 00799 gtk_box_pack_start(GTK_BOX(box), eg->label, FALSE, FALSE, 1); 00800 gtk_widget_show(eg->label); 00801 00802 gtk_container_add(GTK_CONTAINER(eg->list_item), box); 00803 gtk_widget_show(box); 00804 00805 gtk_object_set_user_data(GTK_OBJECT(eg->list_item), (gpointer)eg); 00806 eg->contacts_online = 0; 00807 eg->contacts_shown = 0; 00808 eg->tree = NULL; 00809 gtk_tree_append(GTK_TREE(contact_list), eg->list_item); 00810 00811 gtk_signal_connect(GTK_OBJECT(eg->list_item), "button_press_event", 00812 GTK_SIGNAL_FUNC(group_click), 00813 (grouplist *)eg ); 00814 gtk_drag_dest_set(eg->list_item, GTK_DEST_DEFAULT_ALL & 00815 ~GTK_DEST_DEFAULT_HIGHLIGHT, 00816 drag_types, 1, 00817 GDK_ACTION_MOVE|GDK_ACTION_DEFAULT); 00818 gtk_signal_connect(GTK_OBJECT(eg->list_item), "drag_motion", 00819 GTK_SIGNAL_FUNC(drag_motion_cb), eg); 00820 00821 gtk_widget_show(eg->list_item); 00822 } |
|
Definition at line 153 of file status.c. References show_add_contact_to_group_window(). Referenced by group_menu().
00154 { 00155 show_add_contact_to_group_window(g); 00156 } |
|
Definition at line 1334 of file status.c. References _, account::account_contact, add_account_line(), buddy_update_status(), contact_login(), contact::group, account::icon_handler, iconlogin_bm, iconlogin_pm, _grouplist::name, account::online, contact::online, account::pix, refresh_buddy_status(), set_account_icon(), and account::status_handler.
01335 { 01336 01337 /* don't do anything if this has already been done */ 01338 if (ea->online) 01339 return; 01340 01341 ea->account_contact->online++; 01342 ea->online = TRUE; 01343 01344 if (do_ignore_unknown && !strcmp(_("Unknown"), ea->account_contact->group->name)) 01345 return; 01346 01347 add_account_line(ea); 01348 01349 /* sets the "open door" icon */ 01350 gtk_pixmap_set(GTK_PIXMAP(ea->pix), iconlogin_pm, iconlogin_bm); 01351 01352 /* set the timeout to remove the "open door" icon */ 01353 if (ea->icon_handler != -1) 01354 gtk_timeout_remove(ea->icon_handler); 01355 ea->icon_handler = gtk_timeout_add(10000, (GtkFunction)set_account_icon, 01356 (gpointer) ea); 01357 01358 /* if there is only one account (this one) logged in under the 01359 parent contact, we must login the contact also */ 01360 if (ea->account_contact->online == 1) 01361 contact_login(ea->account_contact); 01362 01363 buddy_update_status(ea); 01364 01365 /* make sure the status gets updated often */ 01366 ea->status_handler = gtk_timeout_add(30000, 01367 (GtkFunction)refresh_buddy_status, (gpointer) ea); 01368 } |
|
Definition at line 1372 of file status.c. References _, account::account_contact, contact_logoff(), contact::group, hide_account(), account::icon_handler, iconlogoff_bm, iconlogoff_pm, _grouplist::name, account::online, contact::online, account::pix, and account::status_handler. Referenced by remove_account().
01373 { 01374 01375 /* don't do anything if this has already been done */ 01376 if (!ea || !ea->online) 01377 return; 01378 01379 ea->account_contact->online--; 01380 ea->online = FALSE; 01381 01382 if (do_ignore_unknown && !strcmp(_("Unknown"), ea->account_contact->group->name)) 01383 return; 01384 01385 /* sets the "closed door" icon */ 01386 gtk_pixmap_set(GTK_PIXMAP(ea->pix), iconlogoff_pm, iconlogoff_bm); 01387 01388 /* removes any previously set timeouts for the account */ 01389 if (ea->icon_handler != -1) 01390 gtk_timeout_remove(ea->icon_handler); 01391 ea->icon_handler = -1; 01392 if (ea->status_handler != -1) 01393 gtk_timeout_remove(ea->status_handler); 01394 ea->status_handler = -1; 01395 01396 /* if this is the last account of the parent contact to log off, 01397 we must log off the contact also */ 01398 if (ea->account_contact->online == 0) 01399 contact_logoff(ea->account_contact); 01400 01401 /* timeout to remove the "close door" icon */ 01402 ea->icon_handler = gtk_timeout_add(10000, (GtkFunction)hide_account, 01403 (gpointer) ea); 01404 01405 } |
|
Definition at line 1173 of file status.c. References _, account::account_contact, contact_update_status(), eb_update_status(), account::icon_handler, account::list_item, account::pix, RUN_SERVICE, account::status, and status_tips. Referenced by add_contact_and_accounts(), buddy_login(), buddy_update_status_and_log(), hide_account(), hide_contact(), refresh_buddy_status(), set_account_icon(), and update_contact_list().
01174 { 01175 GdkPixmap * pm; 01176 GdkBitmap * bm; 01177 if (!ea || !ea->list_item) 01178 return; 01179 01180 { 01181 char * c = g_strndup(RUN_SERVICE(ea)->get_status_string(ea), 20); 01182 if(strlen(c) == 20) 01183 { 01184 c[19] = c[18] = c[17] = '.'; 01185 if(!status_tips) 01186 { 01187 status_tips = gtk_tooltips_new(); 01188 } 01189 /* 01190 * that 3rd parameter is not a bug, it really is a useless 01191 * parameter 01192 */ 01193 01194 gtk_tooltips_set_tip(GTK_TOOLTIPS(status_tips), ea->list_item, 01195 RUN_SERVICE(ea)->get_status_string(ea), 01196 _("status info here")); 01197 } 01198 eb_update_status(ea, c); 01199 gtk_label_set_text(GTK_LABEL(ea->status), c); 01200 01201 g_free(c); 01202 } 01203 01204 /* update the icon if another timeout isn't about to change it */ 01205 if (ea->icon_handler == -1) { 01206 RUN_SERVICE(ea)->get_status_pixmap(ea, &pm, &bm); 01207 gtk_pixmap_set(GTK_PIXMAP(ea->pix), pm, bm); 01208 } 01209 01210 /* since the contact's status info might be a copy of this 01211 account's status info, we should refresh that also */ 01212 contact_update_status(ea->account_contact); 01213 } |
|
Definition at line 1165 of file status.c. References buddy_update_status(), eb_log_status_changed(), and RUN_SERVICE.
01166 { 01167 eb_log_status_changed(ea, RUN_SERVICE(ea)->get_status_string(ea)); 01168 01169 buddy_update_status(ea); 01170 } |
|
Definition at line 509 of file status.c. References build_prefs().
00510 { 00511 build_prefs(); 00512 } |
|
Definition at line 291 of file status.c. References contact::expanded.
|
|
Definition at line 458 of file status.c. References contact_menu(), and eb_chat_window_display_contact().
00460 { 00461 if (event->type == GDK_2BUTTON_PRESS && event->button == 1) 00462 { 00463 eb_chat_window_display_contact((struct contact *)d); 00464 } 00465 else if (event->type == GDK_BUTTON_PRESS && event->button == 3) 00466 { 00467 gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), 00468 "button_press_event"); 00469 contact_menu (event, d); 00470 } 00471 } |
|
Definition at line 1246 of file status.c. References _, BUDDY_ARRIVE, _grouplist::contacts_online, eb_chat_window_do_timestamp(), contact::group, contact::icon_handler, iconlogin_bm, iconlogin_pm, last_sound_played, _grouplist::name, contact::nick, contact::pix, play_sound(), set_contact_icon(), and update_status_message(). Referenced by buddy_login().
01247 { 01248 char buff[1024]; 01249 ec->group->contacts_online++; 01250 01251 /* display the "open door" icon */ 01252 gtk_pixmap_set(GTK_PIXMAP(ec->pix), iconlogin_pm, iconlogin_bm); 01253 01254 /* remove any other timeouts (if a user just logged out immediately before) */ 01255 if (ec->icon_handler != -1) 01256 gtk_timeout_remove(ec->icon_handler); 01257 01258 /* timeout to set the contact icon in 10 seconds */ 01259 ec->icon_handler = gtk_timeout_add(10000, (GtkFunction)set_contact_icon, 01260 (gpointer) ec); 01261 01262 if((time(NULL) - last_sound_played > 0) && do_online_sound) 01263 { 01264 /* If we have the do_no_sound_for_ignore flag set, 01265 only play the sound if the contact is not ignored. */ 01266 if (!do_no_sound_for_ignore || 01267 (strcasecmp(ec->group->name, _("Ignore")) != 0)) 01268 { 01269 play_sound(BUDDY_ARRIVE); 01270 last_sound_played = time(NULL); 01271 } 01272 } 01273 01274 eb_chat_window_do_timestamp(ec, 1); 01275 g_snprintf(buff, 1024, _("%s is now online"), ec->nick); 01276 update_status_message(buff); 01277 } |
|
Definition at line 1280 of file status.c. References _, BUDDY_LEAVE, _grouplist::contacts_online, do_trigger_offline(), eb_chat_window_do_timestamp(), contact::group, hide_contact(), contact::icon_handler, iconlogoff_bm, iconlogoff_pm, last_sound_played, _grouplist::name, contact::nick, contact::pix, play_sound(), and update_status_message(). Referenced by buddy_logoff().
01281 { 01282 char buff[1024]; 01283 /* display the "closed door" icon */ 01284 gtk_pixmap_set(GTK_PIXMAP(ec->pix), iconlogoff_pm, iconlogoff_bm); 01285 ec->group->contacts_online--; 01286 01287 /* remove any other timeouts (if the user just logged in) */ 01288 if (ec->icon_handler != -1) 01289 gtk_timeout_remove(ec->icon_handler); 01290 01291 /* timeout to remove the contact from the list */ 01292 ec->icon_handler = gtk_timeout_add(10000, (GtkFunction)hide_contact, 01293 (gpointer) ec); 01294 01295 if((time(NULL) - last_sound_played > 0) && do_online_sound) 01296 { 01297 /* If we have the do_no_sound_for_ignore flag set, 01298 only play the sound if the contact is not ignored. */ 01299 if (!do_no_sound_for_ignore || 01300 (strcasecmp(ec->group->name, _("Ignore")) != 0)) 01301 { 01302 play_sound(BUDDY_LEAVE); 01303 last_sound_played = time(NULL); 01304 } 01305 } 01306 01307 do_trigger_offline(ec); 01308 01309 eb_chat_window_do_timestamp(ec, 0); 01310 g_snprintf(buff, 1024, _("%s is now offline"), ec->nick); 01311 update_status_message(buff); 01312 } |
|
Definition at line 356 of file status.c. References _, add_account_to_contact_callback(), ebmContactData::contact, menu_item_data::data, DBG_CORE, EB_CONTACT_MENU, eb_debug, eb_menu_button(), eb_menu_submenu(), ebmContactData_new(), edit_contact_callback(), edit_trigger_callback(), GetPref(), menu_item_data::label, make_info_menu(), menu_data::menu_items, contact::nick, offer_remove_contact_callback(), send_file_with_contact_callback(), and view_log_callback(). Referenced by contact_click().
00357 { 00358 struct contact *conn=d; 00359 GtkWidget *menu, *submenu, *button; 00360 menu_data *md=NULL; 00361 menu_item_data *mid=NULL; 00362 ebmContactData *ecd=NULL; 00363 GList *list=NULL; 00364 00365 menu = gtk_menu_new(); 00366 00367 eb_menu_button (GTK_MENU(menu), _("Add Account to Contact"), 00368 GTK_SIGNAL_FUNC(add_account_to_contact_callback), d); 00369 00370 eb_menu_button (GTK_MENU(menu), _("Edit Contact"), 00371 GTK_SIGNAL_FUNC(edit_contact_callback), d); 00372 00373 eb_menu_button (GTK_MENU(menu), _("Delete Contact"), 00374 GTK_SIGNAL_FUNC(offer_remove_contact_callback), d); 00375 00376 eb_menu_button (GTK_MENU(menu), _("Send File"), 00377 GTK_SIGNAL_FUNC(send_file_with_contact_callback), d); 00378 00379 submenu = make_info_menu((struct contact *)d); 00380 eb_menu_submenu (GTK_MENU(menu), _("Info"), submenu); 00381 00382 eb_menu_button (GTK_MENU(menu), _("Edit Trigger"), 00383 GTK_SIGNAL_FUNC(edit_trigger_callback), d); 00384 00385 /*** MIZHI 00386 * code for viewing the logs 00387 */ 00388 eb_menu_button (GTK_MENU(menu), _("View Log"), 00389 GTK_SIGNAL_FUNC(view_log_callback), d); 00390 00391 md = GetPref(EB_CONTACT_MENU); 00392 if(md) 00393 { 00394 for(list = md->menu_items; list; list = g_list_next(list) ) 00395 { 00396 ecd=ebmContactData_new(); 00397 ecd->contact=conn->nick; 00398 mid=(menu_item_data *)list->data; 00399 mid->data=(ebmCallbackData *)ecd; 00400 eb_debug(DBG_CORE, "adding chat window item: %s\n", mid->label); 00401 button = gtk_menu_item_new_with_label(mid->label); 00402 gtk_menu_append(GTK_MENU(menu), button); 00403 gtk_signal_connect(GTK_OBJECT(button), "activate", 00404 eb_generic_menu_function, mid); 00405 gtk_widget_show(button); 00406 } 00407 } 00408 00409 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 00410 event->button, event->time ); 00411 } |
|
Definition at line 1077 of file status.c. References _, contact::accounts, contact_list, contact_window, contact::default_chatb, contact::icon_handler, contact::label, contact::list_item, contact::nick, account::online, contact::pix, RUN_SERVICE, account::service_id, contact::status, and status_tips. Referenced by buddy_update_status(), set_contact_icon(), and update_contact_list().
01078 { 01079 GdkPixmap * pm; 01080 GdkBitmap * bm; 01081 eb_account * ea = NULL; 01082 GList * l; 01083 int width, height; 01084 int width2, height2; 01085 int width3, height3; 01086 01087 /* find the account who's status information should be reflected in 01088 the contact line (preferably the default protocol account, but 01089 if that one is not logged on, use another) */ 01090 for (l = ec->accounts; l; l = l->next) 01091 { 01092 eb_account * account = l->data; 01093 if (!ea) 01094 ea = account; 01095 if (!ea->online && account->online) 01096 ea = account; 01097 if (ec->default_chatb != ea->service_id && account->online && 01098 ec->default_chatb == account->service_id) 01099 ea = account; 01100 } 01101 01102 if (!ea) 01103 return; 01104 01105 { 01106 char * c = g_strndup(RUN_SERVICE(ea)->get_status_string(ea), 20); 01107 if(strlen(c) == 20) 01108 { 01109 c[19] = c[18] = c[17] = '.'; 01110 if(!status_tips) 01111 { 01112 status_tips = gtk_tooltips_new(); 01113 } 01114 /* 01115 * that 3rd parameter is not a bug, it really is a useless 01116 * parameter 01117 */ 01118 01119 gtk_tooltips_set_tip(GTK_TOOLTIPS(status_tips), ec->list_item, 01120 RUN_SERVICE(ea)->get_status_string(ea), 01121 _("status info here")); 01122 } 01123 gtk_label_set_text(GTK_LABEL(ec->status), c); 01124 g_free(c); 01125 } 01126 gtk_label_set_text(GTK_LABEL(ec->label), ec->nick); 01127 01128 /* set the icon if there isn't another timeout about to alter the icon */ 01129 if (ec->icon_handler == -1) 01130 { 01131 RUN_SERVICE(ea)->get_status_pixmap(ea, &pm, &bm); 01132 gtk_pixmap_set(GTK_PIXMAP(ec->pix), pm, bm); 01133 } 01134 01135 width = contact_list->allocation.width; 01136 height = contact_list->allocation.height; 01137 01138 if(GTK_WIDGET_VISIBLE(GTK_SCROLLED_WINDOW(contact_window)->vscrollbar)) 01139 { 01140 width3 = GTK_SCROLLED_WINDOW(contact_window)->vscrollbar->allocation.width; 01141 height3 = GTK_SCROLLED_WINDOW(contact_window)->vscrollbar->allocation.height; 01142 } 01143 else 01144 { 01145 width3 = 0, height3 = 0; 01146 } 01147 01148 if (do_noautoresize == 0) 01149 { 01150 width2 = contact_window->allocation.width; 01151 height2 = contact_window->allocation.height; 01152 01153 if(width+width3> width2) 01154 { 01155 gtk_widget_set_usize(contact_window,width+width3+2,height2); 01156 } 01157 } 01158 01159 } |
|
Definition at line 101 of file status.c. References RUN_SERVICE. Referenced by eb_status_window().
00104 { 00105 GList * node = accounts; 00106 gchar *userrc = NULL; 00107 while(node) 00108 { 00109 if(node->data && ((eb_local_account*)(node->data))->connected) 00110 RUN_SERVICE(((eb_local_account*)(node->data)))->logout(node->data); 00111 node = node->next; 00112 } 00113 00114 userrc = g_strconcat(config_dir, G_DIR_SEPARATOR_S, "menurc", NULL); 00115 gtk_item_factory_dump_rc(userrc, NULL, TRUE); 00116 g_free(userrc); 00117 00118 gtk_main_quit(); 00119 } |
|
Definition at line 759 of file status.c. References dndtarget, move_contact(), _grouplist::name, update_contact_list(), and write_contact_list().
00765 { 00766 grouplist *gl=(grouplist *)dndtarget; 00767 struct contact *ec = data; 00768 if(gl == NULL || ec == NULL) { 00769 gtk_drag_finish(drag_context, FALSE, FALSE, time); 00770 return; 00771 } 00772 move_contact(gl->name, ec); 00773 update_contact_list (); 00774 write_contact_list(); 00775 gtk_drag_finish(drag_context, TRUE, TRUE, time); 00776 } |
|
Definition at line 743 of file status.c. References dndtarget. Referenced by add_group_line().
00749 { 00750 dndtarget = data; 00751 return 1; 00752 } |
|
Definition at line 504 of file status.c. References eb_new_user().
00505 { 00506 eb_new_user(); 00507 } |
|
Definition at line 1529 of file status.c. References _, update_contact_list(), and write_contact_list(). Referenced by eb_import_window().
01529 { 01530 void (*callback_function)(); 01531 01532 assert(callback); 01533 callback_function = callback; 01534 fprintf(stderr, _("eb_import_function: calling callback\n")); 01535 callback_function(); 01536 update_contact_list (); 01537 write_contact_list(); 01538 } |
|
Definition at line 1588 of file status.c. References menu_item_data::callback, menu_item_data::data, DBG_CORE, eb_debug, eb_import_function(), EB_IMPORT_MENU, GetPref(), menu_item_data::label, and menu_data::menu_items. Referenced by eb_status_window(), and rebuild_import_menu().
01589 { 01590 GtkWidget *label; 01591 // import_items is a list of struct callback_items 01592 GList *list=NULL; 01593 GtkWidget * import_menu = gtk_menu_new(); 01594 menu_data *md=NULL; 01595 menu_item_data *mid=NULL; 01596 01597 label = gtk_tearoff_menu_item_new(); 01598 gtk_menu_append(GTK_MENU(import_menu), label); 01599 gtk_widget_show(label); 01600 01601 eb_debug(DBG_CORE, ">\n"); 01602 /* import_items is a list that is maintained as a pref, modified by calls to eb_add_menu_item */ 01603 md = GetPref(EB_IMPORT_MENU); 01604 if(md) { 01605 for(list = md->menu_items; list; list = g_list_next(list) ) { 01606 mid=(menu_item_data *)list->data; 01607 eb_debug(DBG_CORE, "adding import item: %s\n", mid->label); 01608 label = gtk_menu_item_new_with_label(mid->label); 01609 gtk_menu_append(GTK_MENU(import_menu), label); 01610 gtk_signal_connect(GTK_OBJECT(label), "activate", 01611 eb_import_function, mid->callback); 01612 gtk_widget_show(label); 01613 } 01614 } 01615 gtk_menu_item_set_submenu(GTK_MENU_ITEM(import_submenuitem), import_menu); 01616 gtk_widget_show(import_menu); 01617 gtk_widget_show(import_submenuitem); 01618 eb_debug(DBG_CORE, "<\n"); 01619 } |
|
Definition at line 1540 of file status.c. References _, menu_item_data::callback, update_contact_list(), menu_item_data::user_data, and write_contact_list(). Referenced by eb_profile_window().
01540 { 01541 menu_item_data *mid=data; 01542 01543 assert(data); 01544 fprintf(stderr, _("eb_profile_function: calling callback\n")); 01545 mid->callback(mid->user_data); 01546 update_contact_list (); 01547 write_contact_list(); 01548 } |
|
Definition at line 1551 of file status.c. References menu_item_data::data, DBG_CORE, eb_debug, eb_profile_function(), EB_PROFILE_MENU, GetPref(), menu_item_data::label, and menu_data::menu_items. Referenced by eb_status_window(), and rebuild_profile_menu().
01552 { 01553 GtkWidget *label; 01554 // import_items is a list of struct callback_items 01555 GList *list=NULL; 01556 GtkWidget * profile_menu = gtk_menu_new(); 01557 menu_data *md=NULL; 01558 menu_item_data *mid=NULL; 01559 gboolean added = FALSE; 01560 01561 label = gtk_tearoff_menu_item_new(); 01562 gtk_menu_append(GTK_MENU(profile_menu), label); 01563 gtk_widget_show(label); 01564 01565 eb_debug(DBG_CORE, ">\n"); 01566 /* import_items is a list that is maintained as a pref, modified by calls to eb_add_menu_item */ 01567 md = GetPref(EB_PROFILE_MENU); 01568 if(md) { 01569 for(list = md->menu_items; list; list = g_list_next(list) ) { 01570 mid=(menu_item_data *)list->data; 01571 eb_debug(DBG_CORE, "adding profile item: %s\n", mid->label); 01572 label = gtk_menu_item_new_with_label(mid->label); 01573 gtk_menu_append(GTK_MENU(profile_menu), label); 01574 gtk_signal_connect(GTK_OBJECT(label), "activate", 01575 eb_profile_function, mid); 01576 gtk_widget_show(label); 01577 added = TRUE; 01578 } 01579 } 01580 gtk_widget_set_sensitive(profile_submenuitem, added); 01581 01582 gtk_menu_item_set_submenu(GTK_MENU_ITEM(profile_submenuitem), profile_menu); 01583 gtk_widget_show(profile_menu); 01584 gtk_widget_show(profile_submenuitem); 01585 eb_debug(DBG_CORE, "<\n"); 01586 } |
|
Definition at line 254 of file status.c. References iSetLocalPref(), and write_prefs(). Referenced by eb_status_window().
00254 { 00255 int h = widget->allocation.height; 00256 int w = widget->allocation.width; 00257 if (h<10 || w < 10) return; 00258 iSetLocalPref("length_contact_window",h); 00259 iSetLocalPref("width_contact_window",w); 00260 write_prefs(); 00261 } |
|
Definition at line 1621 of file status.c. References account_menu(), and MakeStatusMenu(). Referenced by eb_status_window(), and rebuild_set_status_menu().
01622 { 01623 GtkWidget *label; 01624 GtkWidget * account_menu = gtk_menu_new(); 01625 GList *list=NULL; 01626 01627 label = gtk_tearoff_menu_item_new(); 01628 gtk_menu_append(GTK_MENU(account_menu), label); 01629 gtk_widget_show(label); 01630 for(list = accounts; list; list = g_list_next(list) ) 01631 { 01632 label = MakeStatusMenu(list->data); 01633 ((eb_local_account*)(list->data))->status_button = label; 01634 gtk_menu_append(GTK_MENU(account_menu), label); 01635 gtk_widget_show(label); 01636 } 01637 gtk_menu_item_set_submenu(GTK_MENU_ITEM(set_status_submenuitem), account_menu); 01638 gtk_widget_show(account_menu); 01639 gtk_widget_show(set_status_submenuitem); 01640 } |
|
Definition at line 564 of file status.c. References local_account::connected, and RUN_SERVICE.
00564 { 00565 00566 GList *node = accounts ; 00567 while(node) { 00568 eb_local_account *ac = (eb_local_account*)(node->data); 00569 if (ac->connected) { 00570 RUN_SERVICE(ac)->logout(ac) ; 00571 } 00572 node = node->next ; 00573 } 00574 00575 } |
|
Definition at line 553 of file status.c. References local_account::connected, and RUN_SERVICE. Referenced by start_login().
00553 { 00554 GList *node = accounts ; 00555 while(node) { 00556 eb_local_account *ac = (eb_local_account*)(node->data); 00557 if (!ac->connected) { 00558 RUN_SERVICE(ac)->login(ac) ; 00559 } 00560 node = node->next ; 00561 } 00562 } |
|
Definition at line 525 of file status.c. References DBG_CORE, eb_debug, eb_set_active_menu_status(), acctStatus::ela, local_account::service_id, acctStatus::status, and local_account::status_menu. Referenced by MakeStatusMenu().
00526 { 00527 struct acctStatus *s; 00528 int current_state=0, new_state=0;; 00529 00530 s = (struct acctStatus *)stats; 00531 eb_debug(DBG_CORE, "Status of radio button for state[%i]: %i\n", s->status, widget->active); 00532 current_state = eb_services[s->ela->service_id].sc->get_current_state(s->ela); 00533 /* We were called for the deactivating state, ignore it */ 00534 if(!widget->active) { 00535 eb_debug(DBG_CORE, "Current state is %i\n", current_state); 00536 return; 00537 } 00538 eb_debug(DBG_CORE, "Setting %s to state %d\n", eb_services[s->ela->service_id].name, s->status); 00539 eb_debug(DBG_CORE, "Current state is %i\n", current_state); 00540 if ( current_state != s->status) { 00541 eb_debug(DBG_CORE, "Calling set_current_state: %i\n", s->status); 00542 eb_services[s->ela->service_id].sc->set_current_state(s->ela, s->status); 00543 new_state = eb_services[s->ela->service_id].sc->get_current_state(s->ela); 00544 /* Did the state change work? */ 00545 if(new_state != s->status) 00546 /* No, set the radio button to the correct value */ 00547 eb_set_active_menu_status(s->ela->status_menu, new_state); 00548 } 00549 eb_debug(DBG_CORE, "%s set to state %d.\n", eb_services[s->ela->service_id].name, s->status ); 00550 00551 } |
|
Definition at line 520 of file status.c. Referenced by MakeStatusMenu().
00521 { 00522 g_free(stats); 00523 } |
|
Definition at line 1702 of file status.c. References _, away_menu, build_away_menu(), contact_window, DBG_CORE, delete_event(), eb_debug, eb_icon(), eb_import_window(), eb_profile_window(), eb_save_size(), eb_set_status_window(), geometry, get_main_menu(), iconblank_bm, iconblank_pm, iconlogin_bm, iconlogin_pm, iconlogoff_bm, iconlogoff_pm, load_away_messages(), main_menu_factory, MakeContactList(), SetPref(), status_bar, status_message, status_show_callback(), statuswindow, and update_contact_list(). Referenced by ok_callback(), and start_login().
01703 { 01704 GtkWidget *statusbox; 01705 GtkWidget *vbox; 01706 GtkWidget *label; 01707 GtkWidget *menubox; 01708 GtkWidget *menu; 01709 GtkWidget *submenuitem; 01710 GtkWidget *hbox; 01711 GtkAccelGroup *accel = NULL; 01712 char * userrc = NULL; 01713 int win_x, win_y, win_w, win_h; 01714 int flags; 01715 01716 statuswindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); 01717 accel = gtk_accel_group_new(); 01718 gtk_window_add_accel_group( GTK_WINDOW(statuswindow),accel ); 01719 /* The next line allows you to make the window smaller than the orig. size */ 01720 gtk_window_set_policy(GTK_WINDOW(statuswindow), TRUE, TRUE, TRUE); 01721 gtk_widget_realize(statuswindow); 01722 01723 iconlogin_pm = gdk_pixmap_create_from_xpm_d(statuswindow->window, &iconlogin_bm, 01724 NULL, (gchar **) login_icon_xpm); 01725 iconblank_pm = gdk_pixmap_create_from_xpm_d(statuswindow->window, &iconblank_bm, 01726 NULL, (gchar **) blank_icon_xpm); 01727 iconlogoff_pm = gdk_pixmap_create_from_xpm_d(statuswindow->window, &iconlogoff_bm, 01728 NULL, (gchar **) logoff_icon_xpm); 01729 01730 /* handle geometry - ivey */ 01731 01732 #ifndef __MINGW32__ 01733 if (geometry[0] != 0) { 01734 flags = XParseGeometry(geometry, &win_x, &win_y, &win_w, &win_h); 01735 /* proper negative handling comes later... 01736 if ((flags & XValue) && (flags & XNegative)) 01737 *win_x = DisplayWidth(display, screenNum) - *win_x; 01738 if ((flags & YValue) && (flags & YNegative)) 01739 *win_y = DisplayHeight(display, screenNum) - *win_y; 01740 */ 01741 gtk_window_set_position(GTK_WINDOW(statuswindow), GTK_WIN_POS_NONE); 01742 gtk_widget_set_uposition(statuswindow, win_x, win_y); 01743 gtk_widget_set_usize(statuswindow, win_w, win_h); 01744 } 01745 #endif 01746 statusbox = gtk_vbox_new(FALSE, 0); 01747 01748 menubox = gtk_handle_box_new(); 01749 gtk_handle_box_set_handle_position(GTK_HANDLE_BOX(menubox), GTK_POS_LEFT); 01750 gtk_handle_box_set_snap_edge(GTK_HANDLE_BOX(menubox), GTK_POS_LEFT); 01751 gtk_handle_box_set_shadow_type(GTK_HANDLE_BOX(menubox), GTK_SHADOW_NONE); 01752 01753 userrc = g_strconcat(config_dir, G_DIR_SEPARATOR_S, "menurc", NULL); 01754 gtk_item_factory_parse_rc(userrc); 01755 g_free(userrc); 01756 01757 get_main_menu(statuswindow, &menu); 01758 01759 /* fill in branches */ 01760 01761 submenuitem = gtk_item_factory_get_widget(main_menu_factory, "/File/Import"); 01762 eb_import_window(submenuitem); 01763 SetPref("widget::import_submenuitem", submenuitem); 01764 01765 submenuitem = gtk_item_factory_get_widget(main_menu_factory, "/File/Set profile"); 01766 eb_profile_window(submenuitem); 01767 SetPref("widget::profile_submenuitem", submenuitem); 01768 01769 submenuitem = gtk_item_factory_get_widget(main_menu_factory, "/File/Set status"); 01770 eb_set_status_window(submenuitem); 01771 SetPref("widget::set_status_submenuitem", submenuitem); 01772 01773 away_menu = gtk_menu_new(); 01774 load_away_messages(); 01775 build_away_menu(); 01776 01777 submenuitem = gtk_item_factory_get_widget(main_menu_factory, "/Tools/Set as away"); 01778 gtk_menu_item_set_submenu(GTK_MENU_ITEM(submenuitem), away_menu); 01779 gtk_widget_show(away_menu); 01780 01781 gtk_container_add(GTK_CONTAINER(menubox), menu ); 01782 gtk_widget_show(menu); 01783 gtk_box_pack_start(GTK_BOX(statusbox), menubox, FALSE, FALSE, 0 ); 01784 gtk_widget_show(menubox); 01785 01786 /* 01787 * Do the main status window 01788 */ 01789 01790 vbox = gtk_vbox_new(FALSE, 0); 01791 hbox = gtk_hbox_new(FALSE, 0); 01792 01793 label = gtk_radio_button_new_with_label 01794 (NULL, _("Online")); 01795 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 1); 01796 gtk_signal_connect(GTK_OBJECT(label), "clicked", 01797 GTK_SIGNAL_FUNC(status_show_callback), 01798 (gpointer) 2); 01799 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(label),TRUE); 01800 gtk_widget_show(label); 01801 01802 01803 label = gtk_radio_button_new_with_label 01804 (gtk_radio_button_group(GTK_RADIO_BUTTON(label)), 01805 _("Contacts")); 01806 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 1); 01807 gtk_signal_connect(GTK_OBJECT(label), "clicked", 01808 GTK_SIGNAL_FUNC(status_show_callback), 01809 (gpointer) 1); 01810 gtk_widget_show(label); 01811 01812 01813 label = gtk_radio_button_new_with_label 01814 (gtk_radio_button_group(GTK_RADIO_BUTTON(label)), 01815 _("Accounts")); 01816 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 1); 01817 gtk_signal_connect(GTK_OBJECT(label), "clicked", 01818 GTK_SIGNAL_FUNC(status_show_callback), 01819 (gpointer) 0); 01820 gtk_widget_show(label); 01821 01822 gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0); 01823 gtk_widget_show(hbox); 01824 01825 eb_debug(DBG_CORE, "%d\n", g_list_length(accounts)); 01826 MakeContactList(); 01827 gtk_widget_show(contact_window); 01828 gtk_box_pack_start(GTK_BOX(vbox),contact_window,TRUE,TRUE,0); 01829 01830 gtk_widget_show(vbox); 01831 01832 gtk_box_pack_start(GTK_BOX(statusbox), vbox, TRUE, TRUE,0); 01833 01834 /* 01835 * Status Bar 01836 */ 01837 01838 hbox = gtk_handle_box_new(); 01839 gtk_handle_box_set_handle_position(GTK_HANDLE_BOX(hbox), GTK_POS_LEFT); 01840 gtk_handle_box_set_snap_edge(GTK_HANDLE_BOX(hbox), GTK_POS_LEFT); 01841 status_message = gtk_label_new(_("Welcome To Yattm")); 01842 status_bar = gtk_frame_new(NULL); 01843 gtk_frame_set_shadow_type(GTK_FRAME(status_bar), GTK_SHADOW_IN ); 01844 gtk_widget_show(status_message); 01845 gtk_container_add(GTK_CONTAINER(status_bar), status_message); 01846 gtk_widget_show(status_bar); 01847 gtk_container_add(GTK_CONTAINER(hbox), status_bar); 01848 gtk_widget_show(hbox); 01849 01850 gtk_box_pack_start(GTK_BOX(statusbox), hbox ,FALSE, FALSE,0); 01851 gtk_window_set_title(GTK_WINDOW(statuswindow), _("Yattm "VERSION)); 01852 eb_icon(statuswindow->window); 01853 gtk_widget_show(statusbox); 01854 01855 gtk_container_add(GTK_CONTAINER(statuswindow), statusbox ); 01856 01857 gtk_signal_connect (GTK_OBJECT (statuswindow), "delete_event", 01858 GTK_SIGNAL_FUNC (delete_event), NULL); 01859 01860 gtk_widget_show( statuswindow); 01861 01862 gtk_signal_connect(GTK_OBJECT(contact_window), "size_allocate", 01863 eb_save_size,NULL); 01864 update_contact_list (); 01865 } |
|
Definition at line 168 of file status.c. References edit_account_window_new(). Referenced by account_menu().
00169 { 00170 edit_account_window_new(a); 00171 } |
|
Definition at line 158 of file status.c. References edit_contact_window_new(). Referenced by contact_menu().
00159 { 00160 edit_contact_window_new(conn); 00161 } |
|
Definition at line 148 of file status.c. References edit_group_window_new(). Referenced by group_menu().
00149 { 00150 edit_group_window_new(g); 00151 } |
|
Definition at line 142 of file status.c. References show_trigger_window(). Referenced by contact_menu().
00143 { 00144 show_trigger_window(conn); 00145 } |
|
Definition at line 297 of file status.c. References contact::expanded.
|
|
Definition at line 96 of file status.c. References statuswindow. Referenced by console_session_get_command().
00097 { 00098 gdk_window_raise(statuswindow->window); 00099 } |
|
Definition at line 591 of file status.c. References account::account_contact, contact::accounts, and account::list_item. Referenced by add_account_line().
00592 { 00593 gint i=0; 00594 GList *l; 00595 00596 for (l = ea->account_contact->accounts; l && (l->data != ea); l=l->next) { 00597 eb_account * account = l->data; 00598 if (account->list_item) 00599 i++; 00600 } 00601 return i; 00602 } |
|
Definition at line 577 of file status.c. References contact::group, contact::list_item, and _grouplist::members.
|
|
Definition at line 263 of file status.c. References DBG_CORE, eb_debug, find_suitable_local_account(), RUN_SERVICE, and account::service_id. Referenced by account_menu(), and make_info_menu().
00264 { 00265 00266 eb_local_account * el; 00267 //eb_account * ea = find_suitable_remote_account( NULL, conn ); 00268 00269 if(ea) { 00270 el = find_suitable_local_account(NULL, ea->service_id); 00271 RUN_SERVICE(ea)->get_info(el ,ea); 00272 } else { 00273 eb_debug(DBG_CORE, "Couldn't find suitable local account for info request"); 00274 return; 00275 } 00276 00277 } |
|
Definition at line 1678 of file status.c. References main_menu_factory, menu_items, and menu_translate(). Referenced by eb_status_window().
01680 { 01681 GtkItemFactory *item_factory; 01682 GtkAccelGroup *accel_group; 01683 gint nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]); 01684 01685 accel_group = gtk_accel_group_new (); 01686 01687 item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>", 01688 accel_group); 01689 main_menu_factory = item_factory; 01690 gtk_item_factory_set_translate_func(item_factory, menu_translate, 01691 NULL, NULL); 01692 01693 gtk_item_factory_create_items (item_factory, nmenu_items, menu_items, NULL); 01694 01695 gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); 01696 01697 if (menubar) 01698 /* Finally, return the actual menu bar created by the item factory. */ 01699 *menubar = gtk_item_factory_get_widget (item_factory, "<main>"); 01700 } |
|
Definition at line 447 of file status.c. References group_menu(). Referenced by add_group_line().
00449 { 00450 if (event->type == GDK_BUTTON_PRESS && event->button == 3) 00451 { 00452 gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), 00453 "button_press_event"); 00454 group_menu (event, d); 00455 } 00456 } |
|
Definition at line 335 of file status.c. References _, add_to_group_callback(), eb_menu_button(), edit_group_callback(), and offer_remove_group_callback(). Referenced by group_click().
00336 { 00337 GtkWidget *menu; 00338 00339 menu = gtk_menu_new(); 00340 00341 eb_menu_button (GTK_MENU(menu), _("Add contact to group"), 00342 GTK_SIGNAL_FUNC(add_to_group_callback), d); 00343 00344 eb_menu_button (GTK_MENU(menu), NULL, NULL, NULL); 00345 00346 eb_menu_button (GTK_MENU(menu), _("Edit Group"), 00347 GTK_SIGNAL_FUNC(edit_group_callback), d); 00348 00349 eb_menu_button (GTK_MENU(menu), _("Delete Group"), 00350 GTK_SIGNAL_FUNC(offer_remove_group_callback), d); 00351 00352 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 00353 event->button, event->time ); 00354 } |
|
Definition at line 1051 of file status.c. References buddy_update_status(), account::icon_handler, account::list_item, remove_account_line(), and status_show. Referenced by buddy_logoff().
01052 { 01053 if (ea->icon_handler == -1) 01054 return FALSE; 01055 ea->icon_handler = -1; 01056 01057 if (!ea->list_item) 01058 return FALSE; 01059 01060 /* 01061 * if status_show == 1 then we are in the Contacts Tab 01062 * If all account lines are removed from here, leaving 01063 * an empty contact, then the user cannot expand the 01064 * contact to see the list of accounts. While this isn't 01065 * such a big deal, it causes yattm to segfault when 01066 * you switch back to the Online view. 01067 * - Philip 01068 */ 01069 if ((status_show == 2) /*|| (status_show == 1)*/) 01070 remove_account_line(ea); 01071 else 01072 buddy_update_status(ea); 01073 return FALSE; 01074 } |
|
Definition at line 1028 of file status.c. References contact::accounts, buddy_update_status(), contact::icon_handler, remove_contact_line(), and status_show. Referenced by contact_logoff().
01029 { 01030 GList * l; 01031 01032 if (ec->icon_handler == -1) 01033 return FALSE; 01034 ec->icon_handler = -1; 01035 01036 if (status_show == 2) 01037 remove_contact_line(ec); 01038 else 01039 for (l = ec->accounts; l; l = l->next) { 01040 eb_account * account = l->data; 01041 buddy_update_status(account); 01042 } 01043 01044 return FALSE; 01045 } |
|
Definition at line 514 of file status.c. References open_join_chat_window().
00515 { 00516 open_join_chat_window(); 00517 } |
|
Definition at line 310 of file status.c. References contact::accounts, get_info(), account::handle, account::online, and account::service_id. Referenced by contact_menu().
00311 { 00312 GList *iterator; 00313 GtkWidget *InfoMenu = gtk_menu_new(); 00314 GtkWidget *button; 00315 char *buff = NULL; 00316 for(iterator=c->accounts; iterator; iterator=iterator->next) 00317 { 00318 eb_account * account = (eb_account*)iterator->data; 00319 if(account->online){ 00320 buff = g_strdup_printf("%s [%s]", account->handle, get_service_name(account->service_id)); 00321 button = gtk_menu_item_new_with_label(buff); 00322 free(buff); 00323 gtk_signal_connect(GTK_OBJECT(button), "activate", GTK_SIGNAL_FUNC(get_info),account); 00324 gtk_menu_append(GTK_MENU(InfoMenu), button); 00325 gtk_widget_show(button); 00326 } 00327 } 00328 return InfoMenu; 00329 } |
|
Definition at line 1421 of file status.c. References add_group_line(), contact_list, contact_window, and update_contact_window_length(). Referenced by eb_status_window().
01422 { 01423 GList * l1; 01424 01425 contact_window = gtk_scrolled_window_new(NULL, NULL); 01426 contact_list = gtk_tree_new(); 01427 01428 for( l1 = groups; l1; l1=l1->next ) 01429 { 01430 grouplist * grp = l1->data; 01431 add_group_line(grp); 01432 } 01433 01434 gtk_widget_show(contact_list); 01435 gtk_scrolled_window_add_with_viewport 01436 (GTK_SCROLLED_WINDOW(contact_window), 01437 contact_list); 01438 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(contact_window), 01439 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); 01440 update_contact_window_length (); 01441 return (contact_window); 01442 } |
|
Definition at line 1446 of file status.c. References eb_status(), eb_status_remove(), acctStatus::ela, local_account::handle, local_account::service_id, acctStatus::status, local_account::status_button, and local_account::status_menu. Referenced by eb_set_status_window().
01447 { 01448 GtkWidget* status_menu_item; 01449 GtkWidget* status_menu; 01450 GList * status_label; 01451 GList * temp_list; 01452 GtkWidget* hbox, *label; 01453 GtkStyle* style; 01454 GSList * group = NULL; 01455 GSList * widgets = NULL; 01456 int x; 01457 gchar string[255]; 01458 status_menu = gtk_menu_new(); 01459 style = gtk_widget_get_style(status_menu); 01460 01461 assert(ela); 01462 gtk_widget_realize(status_menu); 01463 status_label = eb_services[ela->service_id].sc->get_states(); 01464 01465 status_menu_item = gtk_tearoff_menu_item_new(); 01466 gtk_menu_append(GTK_MENU(status_menu), status_menu_item); 01467 gtk_widget_show(status_menu_item); 01468 01469 for(temp_list = status_label, x = 0; temp_list; x++, temp_list=temp_list->next) 01470 { 01471 struct acctStatus * stats = g_new0(struct acctStatus, 1); 01472 stats->ela = ela; 01473 stats->status= x; 01474 status_menu_item = gtk_radio_menu_item_new(group); 01475 group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(status_menu_item)); 01476 widgets = g_slist_append(widgets, status_menu_item); 01477 hbox = gtk_hbox_new(FALSE, 3); 01478 label = gtk_label_new((gchar*)temp_list->data); 01479 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 01480 gtk_widget_show(label); 01481 gtk_widget_show(hbox); 01482 gtk_widget_show(status_menu_item); 01483 gtk_container_add(GTK_CONTAINER(status_menu_item), hbox); 01484 gtk_menu_append(GTK_MENU(status_menu), status_menu_item); 01485 gtk_signal_connect(GTK_OBJECT(status_menu_item), "activate", 01486 eb_status, (gpointer) stats ); 01487 gtk_signal_connect(GTK_OBJECT(status_menu_item), "remove", 01488 eb_status_remove, (gpointer) stats ); 01489 01490 } 01491 01492 ela->status_menu = widgets; 01493 01494 g_snprintf(string, 255, "%s [%s]", ela->handle, get_service_name(ela->service_id)); 01495 01496 ela->status_button = gtk_menu_item_new_with_label(string); 01497 01498 /* The following doesn't work! Why? */ 01499 /* 01500 gtk_menu_set_active(GTK_MENU(status_menu), 01501 eb_services[ela->service_id].sc->get_current_state(ela) ); 01502 */ 01503 01504 /* So why not use "gtk_check_menu_item_set_active"? Well, that method 01505 emits a signal. What was happening was that it would send a signal 01506 from the zeroth status item (usually "online") for some reason 01507 _and_ from the one we want. It's as if the signal from the zeroth item 01508 was already in some queue. Anyway, this would cause a status change to 01509 online and then back again for each protocol. This causes unpredictable 01510 behavior when the user is offline. */ 01511 01512 /* First deactivate zeroth status radio item */ 01513 GTK_CHECK_MENU_ITEM(g_slist_nth(widgets, 0)->data)->active = 0 ; 01514 /* Now, activate the desired status radio item */ 01515 GTK_CHECK_MENU_ITEM( 01516 g_slist_nth( 01517 widgets, 01518 eb_services[ela->service_id].sc->get_current_state(ela) 01519 )->data 01520 )->active = 1 ; 01521 01522 gtk_menu_item_set_submenu(GTK_MENU_ITEM(ela->status_button), status_menu); 01523 01524 g_list_free(status_label); 01525 01526 return ela->status_button; 01527 } |
|
Definition at line 1669 of file status.c. References gettext. Referenced by get_main_menu().
01670 { 01671 gchar *retval; 01672 01673 retval = (gchar *)gettext(path); 01674 01675 return retval; 01676 } |
|
Definition at line 240 of file status.c. References _, do_dialog(), account::handle, and remove_account_callback(). Referenced by account_menu().
|
|
Definition at line 215 of file status.c. References _, do_dialog(), contact::nick, and remove_contact_callback(). Referenced by contact_menu().
|
|
Definition at line 188 of file status.c. References _, do_dialog(), _grouplist::name, and remove_group_callback(). Referenced by group_menu().
|
|
Definition at line 1316 of file status.c. References buddy_update_status(), account::icon_handler, account::list_item, and account::status_handler. Referenced by buddy_login().
01317 { 01318 /* remove the timeout if the account is no longer displayed */ 01319 if (!ea->list_item || ea->status_handler == -1) { 01320 ea->status_handler = -1; 01321 return FALSE; 01322 } 01323 01324 /* don't refresh if a "door" icon is being displayed */ 01325 if (ea->icon_handler != -1) 01326 return TRUE; 01327 01328 buddy_update_status(ea); 01329 return TRUE; 01330 } |
|
Definition at line 228 of file status.c. References DBG_CORE, eb_debug, remove_account(), update_contact_list(), and write_contact_list(). Referenced by offer_remove_account_callback().
00229 { 00230 if (gtk_object_get_user_data (GTK_OBJECT(w)) != 0) 00231 { 00232 eb_debug(DBG_CORE, "Delete Account"); 00233 remove_account(d); 00234 00235 update_contact_list (); 00236 write_contact_list(); 00237 } 00238 } |
|
Definition at line 1008 of file status.c. References account::account_contact, DBG_CORE, eb_debug, account::icon_handler, account::list_item, account::pix, account::status, and contact::tree. Referenced by hide_account(), move_account(), remove_account(), remove_contact_line(), and update_contact_list().
01009 { 01010 01011 if (!ea || !ea->account_contact || !ea->list_item) { 01012 if(!ea->account_contact) 01013 eb_debug(DBG_CORE, "Not removing account_line, ea->account_contact is NULL !\n"); 01014 return; 01015 } 01016 01017 gtk_container_remove(GTK_CONTAINER(ea->account_contact->tree), ea->list_item); 01018 ea->list_item = NULL; 01019 ea->pix = NULL; 01020 ea->status = NULL; 01021 if (ea->icon_handler != -1) 01022 gtk_timeout_remove(ea->icon_handler); 01023 ea->icon_handler = -1; 01024 } |
|
Definition at line 201 of file status.c. References DBG_CORE, eb_debug, remove_contact(), update_contact_list(), and write_contact_list(). Referenced by offer_remove_contact_callback().
00202 { 00203 if (gtk_object_get_user_data (GTK_OBJECT(w)) != 0) 00204 { 00205 struct contact * conn = (struct contact *) d; 00206 00207 eb_debug(DBG_CORE, "Delete Account"); 00208 remove_contact (conn); 00209 00210 update_contact_list (); 00211 write_contact_list(); 00212 } 00213 } |
|
Definition at line 981 of file status.c. References contact::accounts, _grouplist::contacts_shown, contact::group, contact::icon_handler, contact::label, contact::list_item, account::list_item, contact::pix, remove_account_line(), contact::status, _grouplist::tree, and contact::tree. Referenced by hide_contact(), move_account(), move_contact(), remove_contact(), remove_group_line(), and update_contact_list().
00982 { 00983 GList * accounts; 00984 00985 if (!ec->list_item) 00986 return; 00987 00988 for (accounts = ec->accounts; accounts; accounts = accounts->next) { 00989 eb_account * ea = accounts->data; 00990 if (ea->list_item) 00991 remove_account_line(ea); 00992 } 00993 00994 ec->group->contacts_shown--; 00995 gtk_container_remove(GTK_CONTAINER(ec->group->tree), ec->list_item); 00996 ec->list_item = NULL; 00997 ec->tree = NULL; 00998 ec->pix = NULL; 00999 ec->status = NULL; 01000 ec->label = NULL; 01001 if (ec->icon_handler != -1) 01002 gtk_timeout_remove(ec->icon_handler); 01003 ec->icon_handler = -1; 01004 } |
|
Definition at line 174 of file status.c. References DBG_CORE, eb_debug, remove_group(), update_contact_list(), and write_contact_list(). Referenced by offer_remove_group_callback().
00175 { 00176 if (gtk_object_get_user_data (GTK_OBJECT(w)) != 0) 00177 { 00178 grouplist * g = (grouplist *) d; 00179 00180 eb_debug(DBG_CORE, "Delete Group"); 00181 remove_group(g); 00182 00183 update_contact_list (); 00184 write_contact_list(); 00185 } 00186 } |
|
Definition at line 958 of file status.c. References contact_list, _grouplist::label, _grouplist::list_item, contact::list_item, _grouplist::members, remove_contact_line(), and _grouplist::tree. Referenced by remove_group().
00959 { 00960 GList * contacts; 00961 00962 if (!eg->list_item) 00963 return; 00964 00965 for (contacts = eg->members; contacts; contacts = contacts->next) { 00966 struct contact * ec = contacts->data; 00967 if (ec->list_item) 00968 remove_contact_line(ec); 00969 } 00970 00971 gtk_container_remove(GTK_CONTAINER(contact_list), eg->list_item); 00972 eg->list_item = NULL; 00973 eg->tree = NULL; 00974 eg->label = NULL; 00975 } |
|
Definition at line 122 of file status.c. References eb_do_send_file(). Referenced by account_menu().
00123 { 00124 eb_do_send_file(ea); 00125 } |
|
Definition at line 127 of file status.c. References eb_do_send_file(), and find_suitable_remote_account(). Referenced by contact_menu().
00128 { 00129 eb_account * ea = find_suitable_remote_account( NULL, conn ); 00130 00131 eb_do_send_file(ea); 00132 } |
|
Definition at line 1230 of file status.c. References account::account_contact, buddy_update_status(), do_trigger_online(), account::icon_handler, and contact::online. Referenced by buddy_login().
01231 { 01232 /* abort if another timeout already took care of it */ 01233 if (ea->icon_handler == -1) 01234 return FALSE; 01235 ea->icon_handler = -1; 01236 01237 /* do it here for pounce (else it's too soon) */ 01238 if (ea->account_contact->online == 1) 01239 do_trigger_online(ea->account_contact); 01240 01241 buddy_update_status(ea); 01242 return FALSE; 01243 } |
|
Definition at line 1217 of file status.c. References contact_update_status(), and contact::icon_handler. Referenced by contact_login().
01218 { 01219 /* abort if another timeout already took care of it */ 01220 if (ec->icon_handler == -1) 01221 return FALSE; 01222 ec->icon_handler = -1; 01223 01224 contact_update_status(ec); 01225 return FALSE; 01226 } |
|
Definition at line 754 of file status.c. References dndtarget.
00755 { 00756 dndtarget=NULL; 00757 } |
|
Definition at line 303 of file status.c. References status_show, and update_contact_list(). Referenced by eb_status_window().
00304 { 00305 status_show = (int)data; 00306 update_contact_list (); 00307 00308 } |
|
Definition at line 605 of file status.c. References _, contact::accounts, add_account_line(), add_contact_line(), buddy_update_status(), contact_update_status(), contact::list_item, _grouplist::members, contact::online, remove_account_line(), remove_contact_line(), and status_show. Referenced by add_button_callback(), drag_data_get(), eb_import_function(), eb_profile_function(), eb_status_window(), ignore_dialog_callback(), ok_callback(), remove_account_callback(), remove_contact_callback(), remove_group_callback(), and status_show_callback().
00606 { 00607 GList * grps; 00608 GList * contacts; 00609 GList * accounts; 00610 00611 grouplist * grp; 00612 struct contact * con; 00613 eb_account * ea; 00614 00615 /* Error Check */ 00616 if ( (status_show < 0) || (status_show > 2) ) { status_show = 2; } 00617 00618 for (grps = groups; grps; grps = grps->next) 00619 { 00620 grp = grps->data; 00621 00622 /* Currently, groups are always visible so we never touch them :) */ 00623 00624 for (contacts = grp->members; contacts; contacts = contacts->next) 00625 { 00626 con = contacts->data; 00627 00628 /* Visibility of contact */ 00629 00630 /* show_all_accounts presumes show_all_contacts */ 00631 if ((status_show == 1) || (status_show == 0)) 00632 { 00633 /* MUST show the contact */ 00634 add_contact_line (con); 00635 contact_update_status (con); 00636 } 00637 else 00638 { 00639 /* defer to whether it's online or not */ 00640 00641 if (! con->online) 00642 { 00643 remove_contact_line (con); 00644 } 00645 else 00646 { 00647 contact_update_status (con); 00648 } 00649 } 00650 00651 for (accounts = con->accounts; accounts; accounts = accounts->next) 00652 { 00653 ea = accounts->data; 00654 00655 if ( (status_show == 0) || (status_show == 1) ) 00656 { 00657 /* definitely visible */ 00658 00659 add_account_line(ea); 00660 buddy_update_status(ea); 00661 00662 if (con->list_item == NULL) 00663 { 00664 /* Do nothing */ 00665 fprintf (stderr, 00666 _("Account vanished after add_account_line.\n")); 00667 } 00668 else if (status_show == 0) 00669 { 00670 /* MAKE IT VISIBLE NOW */ 00671 00672 gtk_tree_item_expand (GTK_TREE_ITEM(con->list_item)); 00673 } 00674 else 00675 { 00676 gtk_tree_item_collapse (GTK_TREE_ITEM(con->list_item)); 00677 } 00678 } 00679 else 00680 { 00681 /* Close it up */ 00682 00683 if (ea->online) 00684 { 00685 buddy_update_status(ea); 00686 00687 if (con->list_item != NULL) 00688 { 00689 gtk_tree_item_collapse 00690 (GTK_TREE_ITEM(con->list_item)); 00691 } 00692 else 00693 { 00694 fprintf (stderr, _("Account missing while online?\n")); 00695 } 00696 } 00697 else 00698 { 00699 remove_account_line(ea); 00700 } 00701 } 00702 } /* End for loop for accounts */ 00703 00704 } /* End for loop for contacts */ 00705 00706 } /* End for loop for groups */ 00707 00708 } /* end update_contact_list */ |
|
Definition at line 1407 of file status.c. References contact_window, DBG_CORE, eb_debug, and iGetLocalPref().
01408 { 01409 int h,w; 01410 h = iGetLocalPref("length_contact_window"); 01411 w = iGetLocalPref("width_contact_window"); 01412 if (h == 0) 01413 h = 256; 01414 if (w == 0) 01415 w = 150; 01416 eb_debug(DBG_CORE, "statuswindow size: %dx%d\n",h,w); 01417 gtk_widget_set_usize(contact_window, w, h); 01418 } |
|
Definition at line 279 of file status.c. References status_bar, and status_message. Referenced by contact_login(), and contact_logoff().
00280 { 00281 if(status_bar) 00282 { 00283 gtk_widget_destroy(status_message); 00284 status_message = gtk_label_new(message); 00285 gtk_container_add(GTK_CONTAINER(status_bar), status_message); 00286 gtk_widget_show(status_message); 00287 } 00288 } |
|
Definition at line 137 of file status.c. References eb_view_log(). Referenced by contact_menu().
00138 { 00139 eb_view_log(conn); 00140 } |
|
Definition at line 76 of file status.c. Referenced by eb_status_window(). |
|
Definition at line 81 of file status.c. Referenced by add_group_line(), contact_update_status(), MakeContactList(), and remove_group_line(). |
|
Definition at line 82 of file status.c. Referenced by contact_update_status(), eb_status_window(), MakeContactList(), and update_contact_window_length(). |
|
Definition at line 742 of file status.c. Referenced by drag_data_get(), drag_motion_cb(), and start_drag(). |
|
Initial value:
{
{"text/plain", GTK_TARGET_SAME_APP, 0}
} Definition at line 737 of file status.c. Referenced by add_group_line(). |
|
Definition at line 733 of file status.c. Referenced by add_account_line(), add_contact_line(), and eb_status_window(). |
|
Definition at line 732 of file status.c. Referenced by add_account_line(), add_contact_line(), and eb_status_window(). |
|
Definition at line 731 of file status.c. Referenced by buddy_login(), contact_login(), and eb_status_window(). |
|
Definition at line 730 of file status.c. Referenced by buddy_login(), contact_login(), and eb_status_window(). |
|
Definition at line 735 of file status.c. Referenced by buddy_logoff(), contact_logoff(), and eb_status_window(). |
|
Definition at line 734 of file status.c. Referenced by buddy_logoff(), contact_logoff(), and eb_status_window(). |
|
Definition at line 93 of file status.c. Referenced by contact_login(), and contact_logoff(). |
|
Definition at line 1667 of file status.c. Referenced by eb_status_window(), and get_main_menu(). |
|
Initial value: { { N_("/_File"), NULL, NULL, 0, "<Branch>" }, { N_("/File/_Import"), NULL, NULL, 0, NULL }, { N_("/File/_Set profile"), NULL, NULL, 0, NULL }, { N_("/File/_Set status"), NULL, NULL, 0, NULL }, { N_("/File/---"), NULL, NULL, 0, "<Separator>" }, { N_("/File/Sign o_n all"), "<control>A", eb_sign_on_all, 0, NULL }, { N_("/File/Sign o_ff all"), "<control>F", eb_sign_off_all, 0, NULL }, { N_("/File/---"), NULL, NULL, 0, "<Separator>" }, { N_("/File/_Quit"), "<control>Q", delete_event, 0, NULL }, { N_("/_Tools"), "NULL", NULL, 0, "<Branch>" }, { N_("/Tools/_New group chat..."),NULL, launch_group_chat, 0, NULL }, { N_("/Tools/_Set as away"), NULL, NULL, 0, NULL }, { N_("/Tools/---"), NULL, NULL, 0, "<Separator>" }, { N_("/Tools/_Add a contact account..."), NULL, add_callback, 0, NULL }, { N_("/Tools/Add a _group..."), NULL, add_group_callback, 0, NULL }, { N_("/Tools/---"), NULL, NULL, 0, "<Separator>" }, { N_("/Tools/_Preferences..."), NULL, build_prefs_callback, 0, NULL }, { N_("/Tools/_Edit accounts"), NULL, eb_edit_accounts, 0, NULL }, { N_("/_Help"), NULL, NULL, 0, "<Branch>" }, { N_("/_Help/_About"), NULL, show_about, 0, NULL } } Definition at line 1642 of file status.c. Referenced by get_main_menu(). |
|
Definition at line 83 of file status.c. Referenced by eb_status_window(), and update_status_message(). |
|
Definition at line 84 of file status.c. Referenced by eb_status_window(), and update_status_message(). |
|
Definition at line 91 of file status.c. Referenced by add_contact_and_accounts(), hide_account(), hide_contact(), status_show_callback(), and update_contact_list(). |
|
Definition at line 79 of file status.c. Referenced by add_account_line(), buddy_update_status(), and contact_update_status(). |
|
Definition at line 75 of file status.c. Referenced by eb_status_window(), and focus_statuswindow(). |