Mercurial > pidgin
changeset 4108:274cb26ba8dc
[gaim-migrate @ 4323]
(21:13:00) Robot101: little docklet description change, respacing messy file transfer entries in struct
aim_user, fixing retrieval of window position, and avoiding un-needed moves of the blist
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sat, 21 Dec 2002 02:14:02 +0000 |
parents | 06435b94c3d7 |
children | 4efc492cf16f |
files | plugins/docklet/docklet.c src/buddy.c src/prpl.h |
diffstat | 3 files changed, 26 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/docklet/docklet.c Sat Dec 21 01:31:41 2002 +0000 +++ b/plugins/docklet/docklet.c Sat Dec 21 02:14:02 2002 +0000 @@ -411,7 +411,7 @@ desc.api_version = PLUGIN_API_VERSION; desc.name = g_strdup(_("Tray Icon")); desc.version = g_strdup(VERSION); - desc.description = g_strdup(_("Interacts with a System Tray applet (in GNOME or KDE, for example) to display the current status of Gaim, allow fast access to commonly used functions, and to toggle display of the buddy list or login window.")); + desc.description = g_strdup(_("Interacts with a System Tray applet (in GNOME or KDE, for example) to display the current status of Gaim, allow fast access to commonly used functions, and to toggle display of the buddy list or login window. Also allows messages to be queued until the icon is clicked, similar to ICQ (although the icon doesn't flash yet =).")); desc.authors = g_strdup(_("Robert McQueen <robot101@debian.org>")); desc.url = g_strdup(WEBSITE); return &desc;
--- a/src/buddy.c Sat Dec 21 01:31:41 2002 +0000 +++ b/src/buddy.c Sat Dec 21 02:14:02 2002 +0000 @@ -2008,7 +2008,8 @@ /* mostly used by code in this file */ void unhide_buddy_list() { if (blist) { - if (blist_options & OPT_BLIST_SAVED_WINDOWS && blist_pos.width != 0) { + if (!GTK_WIDGET_VISIBLE(blist) && blist_options & OPT_BLIST_SAVED_WINDOWS && + blist_pos.width != 0) { /* don't move it off screen */ if (blist_pos.x >= gdk_screen_width()) { blist_pos.x = gdk_screen_width() - 100; @@ -2470,14 +2471,24 @@ } static void configure_blist_window(GtkWidget *w, GdkEventConfigure *event, void *data) { - if (event->x != blist_pos.x || - event->y != blist_pos.y || - event->width != blist_pos.width || - event->height != blist_pos.height) { - blist_pos.x = event->x > 0 ? event->x : 0; - blist_pos.y = event->y > 0 ? event->y : 0; - blist_pos.width = event->width; - blist_pos.height = event->height; + /* unfortunately GdkEventConfigure ignores the window gravity, but * + * the only way we have of setting the position doesn't. we have to * + * call get_position and get_size because they do pay attention to * + * the gravity. this is inefficient and I agree it sucks, but it's * + * more likely to work correctly. - Robot101 */ + gint x, y, width, height; + + gtk_window_get_position(GTK_WINDOW(blist), &x, &y); + gtk_window_get_size(GTK_WINDOW(blist), &width, &height); + + if (x != blist_pos.x || + y != blist_pos.y || + width != blist_pos.width || + height != blist_pos.height) { + blist_pos.x = x; + blist_pos.y = y; + blist_pos.width = width; + blist_pos.height = height; save_prefs(); } }
--- a/src/prpl.h Sat Dec 21 01:31:41 2002 +0000 +++ b/src/prpl.h Sat Dec 21 02:14:02 2002 +0000 @@ -179,12 +179,12 @@ char *(* normalize)(const char *); /* transfer files */ - void (* file_transfer_cancel) (struct gaim_connection *, struct file_transfer *); - void (* file_transfer_in) (struct gaim_connection *, struct file_transfer *, int); - void (* file_transfer_out) (struct gaim_connection *, struct file_transfer *, const char *, int, int); - void (* file_transfer_nextfile) (struct gaim_connection *, struct file_transfer *); + void (* file_transfer_cancel) (struct gaim_connection *, struct file_transfer *); + void (* file_transfer_in) (struct gaim_connection *, struct file_transfer *, int); + void (* file_transfer_out) (struct gaim_connection *, struct file_transfer *, const char *, int, int); + void (* file_transfer_nextfile) (struct gaim_connection *, struct file_transfer *); void (* file_transfer_data_chunk)(struct gaim_connection *, struct file_transfer *, const char *, int); - void (* file_transfer_done) (struct gaim_connection *, struct file_transfer *); + void (* file_transfer_done) (struct gaim_connection *, struct file_transfer *); }; extern GSList *protocols;