Mercurial > pidgin
diff src/gtkconv.c @ 12232:375f1f3817a8
[gaim-migrate @ 14534]
Displaying large logs is slow. Let's show the busy cursor whenever possible. This currently doesn't show the busy cursor over the IMHTMLs in a conversation window even though I set a busy cursor for the conversation window. I looked into fixing that, but I'm not sure exactly what the best way to deal with it is.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 27 Nov 2005 03:20:35 +0000 |
parents | 4d3119205a33 |
children | 36d3b1eaf20e |
line wrap: on
line diff
--- a/src/gtkconv.c Sun Nov 27 03:17:05 2005 +0000 +++ b/src/gtkconv.c Sun Nov 27 03:20:35 2005 +0000 @@ -949,9 +949,12 @@ GaimGtkWindow *win = data; GaimConversation *conv; GaimLogType type; + GaimGtkBuddyList *gtkblist; + GdkCursor *cursor; const char *name; GaimAccount *account; - GSList *buddies, *cur; + GSList *buddies; + GSList *cur; conv = gaim_gtk_conv_window_get_active_conversation(win); @@ -962,6 +965,15 @@ else return; + gtkblist = gaim_gtk_blist_get_default_gtk_blist(); + cursor = gdk_cursor_new(GDK_WATCH); + + gdk_window_set_cursor(gtkblist->window->window, cursor); + gdk_window_set_cursor(win->window->window, cursor); + gdk_cursor_unref(cursor); + while (gtk_events_pending()) + gtk_main_iteration(); + name = gaim_conversation_get_name(conv); account = gaim_conversation_get_account(conv); @@ -973,12 +985,17 @@ { gaim_gtk_log_show_contact((GaimContact *)node->parent); g_slist_free(buddies); + gdk_window_set_cursor(gtkblist->window->window, NULL); + gdk_window_set_cursor(win->window->window, NULL); return; } } g_slist_free(buddies); gaim_gtk_log_show(type, name, account); + + gdk_window_set_cursor(gtkblist->window->window, NULL); + gdk_window_set_cursor(win->window->window, NULL); } static void @@ -1842,7 +1859,7 @@ { if (event->keyval > '0' && event->keyval <= '9') { - int switchto = event->keyval - '1'; + guint switchto = event->keyval - '1'; if (switchto < gaim_gtk_conv_window_get_gtkconv_count(win)) gtk_notebook_set_current_page(GTK_NOTEBOOK(win->notebook), switchto);