| 788 pidgin_new_item_from_stock(menu, _("_Quit"), GTK_STOCK_QUIT, G_CALLBACK(purple_core_quit), NULL, 0, 0, NULL); |
789 pidgin_new_item_from_stock(menu, _("_Quit"), GTK_STOCK_QUIT, G_CALLBACK(purple_core_quit), NULL, 0, 0, NULL); |
| 789 |
790 |
| 790 #ifdef _WIN32 |
791 #ifdef _WIN32 |
| 791 g_signal_connect(menu, "leave-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL); |
792 g_signal_connect(menu, "leave-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL); |
| 792 g_signal_connect(menu, "enter-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL); |
793 g_signal_connect(menu, "enter-notify-event", G_CALLBACK(docklet_menu_leave_enter), NULL); |
| |
794 pos_func = NULL; |
| 793 #endif |
795 #endif |
| 794 gtk_widget_show_all(menu); |
796 gtk_widget_show_all(menu); |
| 795 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, |
797 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, |
| 796 gtk_status_icon_position_menu, |
798 pos_func, |
| 797 docklet, 0, gtk_get_current_event_time()); |
799 docklet, 0, gtk_get_current_event_time()); |
| 798 } |
800 } |
| 799 |
801 |
| 800 static void |
802 static void |
| 801 pidgin_docklet_clicked(int button_type) |
803 pidgin_docklet_clicked(int button_type) |
| 1001 * time it was run. This should hopefully solve problems with the buddy |
1003 * time it was run. This should hopefully solve problems with the buddy |
| 1002 * list not properly starting hidden when Pidgin is started on login. |
1004 * list not properly starting hidden when Pidgin is started on login. |
| 1003 */ |
1005 */ |
| 1004 if (!recreate) { |
1006 if (!recreate) { |
| 1005 pidgin_docklet_embedded(); |
1007 pidgin_docklet_embedded(); |
| |
1008 #ifdef _WIN32 |
| 1006 #if GTK_CHECK_VERSION(2,12,0) |
1009 #if GTK_CHECK_VERSION(2,12,0) |
| 1007 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/gtk/embedded")) { |
1010 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/gtk/embedded")) { |
| 1008 embed_timeout = purple_timeout_add_seconds(LONG_EMBED_TIMEOUT, docklet_gtk_embed_timeout_cb, NULL); |
1011 embed_timeout = purple_timeout_add_seconds(LONG_EMBED_TIMEOUT, docklet_gtk_embed_timeout_cb, NULL); |
| 1009 } else { |
1012 } else { |
| 1010 embed_timeout = purple_timeout_add_seconds(SHORT_EMBED_TIMEOUT, docklet_gtk_embed_timeout_cb, NULL); |
1013 embed_timeout = purple_timeout_add_seconds(SHORT_EMBED_TIMEOUT, docklet_gtk_embed_timeout_cb, NULL); |
| 1011 } |
1014 } |
| 1012 #else |
1015 #else |
| 1013 embed_timeout = purple_timeout_add_seconds(SHORT_EMBED_TIMEOUT, docklet_gtk_embed_timeout_cb, NULL); |
1016 embed_timeout = purple_timeout_add_seconds(SHORT_EMBED_TIMEOUT, docklet_gtk_embed_timeout_cb, NULL); |
| |
1017 #endif |
| 1014 #endif |
1018 #endif |
| 1015 } |
1019 } |
| 1016 |
1020 |
| 1017 purple_debug_info("docklet", "GTK+ created\n"); |
1021 purple_debug_info("docklet", "GTK+ created\n"); |
| 1018 } |
1022 } |