comparison src/win32/systray.c @ 4106:a843ce9d77ea

[gaim-migrate @ 4321] code re-org committer: Tailor Script <tailor@pidgin.im>
author Herman Bloggs <hermanator12002@yahoo.com>
date Fri, 20 Dec 2002 18:10:17 +0000
parents 003e0a02d6b9
children f5e7949668a5
comparison
equal deleted inserted replaced
4105:e92d7712b8ba 4106:a843ce9d77ea
368 systray_update_icon(); 368 systray_update_icon();
369 } 369 }
370 } 370 }
371 371
372 /* 372 /*
373 * GAIM EVENT CALLBACKS
374 ***********************/
375
376 static void st_signon(struct gaim_connection *gc, void *data) {
377 systray_update_status();
378 }
379
380 static void st_signoff(struct gaim_connection *gc, void *data) {
381 systray_update_status();
382 }
383
384 static void st_away(struct gaim_connection *gc, void *data) {
385 systray_update_status();
386 }
387
388 static void st_back(struct gaim_connection *gc, void *data) {
389 systray_update_status();
390 }
391
392 static void st_im_recieve(struct gaim_connection *gc, void *data) {
393
394 }
395
396 /*
397 * PUBLIC CODE
398 */
399
400 /*
373 * GAIM WINDOW FILTERS 401 * GAIM WINDOW FILTERS
374 **********************/ 402 **********************/
375 403
376 static GdkFilterReturn st_buddywin_filter( GdkXEvent *xevent, GdkEvent *event, gpointer data) { 404 GdkFilterReturn st_buddywin_filter( GdkXEvent *xevent, GdkEvent *event, gpointer data) {
377 405
378 MSG *msg = (MSG*)xevent; 406 MSG *msg = (MSG*)xevent;
379 407
380 switch( msg->message ) { 408 switch( msg->message ) {
381 case WM_SYSCOMMAND: 409 case WM_SYSCOMMAND:
390 } 418 }
391 419
392 return GDK_FILTER_CONTINUE; 420 return GDK_FILTER_CONTINUE;
393 } 421 }
394 422
395 static GdkFilterReturn st_loginwin_filter( GdkXEvent *xevent, GdkEvent *event, gpointer data) { 423 GdkFilterReturn st_loginwin_filter( GdkXEvent *xevent, GdkEvent *event, gpointer data) {
396 MSG *msg = (MSG*)xevent; 424 MSG *msg = (MSG*)xevent;
397 425
398 switch( msg->message ) { 426 switch( msg->message ) {
399 case WM_CLOSE: 427 case WM_CLOSE:
400 wgaim_systray_minimize(mainwindow); 428 wgaim_systray_minimize(mainwindow);
403 } 431 }
404 432
405 return GDK_FILTER_CONTINUE; 433 return GDK_FILTER_CONTINUE;
406 } 434 }
407 435
408 static GdkFilterReturn st_backwin_filter( GdkXEvent *xevent, GdkEvent *event, gpointer data) { 436 GdkFilterReturn st_backwin_filter( GdkXEvent *xevent, GdkEvent *event, gpointer data) {
409 MSG *msg = (MSG*)xevent; 437 MSG *msg = (MSG*)xevent;
410 438
411 switch( msg->message ) { 439 switch( msg->message ) {
412 case WM_SYSCOMMAND: 440 case WM_SYSCOMMAND:
413 if( msg->wParam == SC_MINIMIZE ) { 441 if( msg->wParam == SC_MINIMIZE ) {
420 break; 448 break;
421 } 449 }
422 return GDK_FILTER_CONTINUE; 450 return GDK_FILTER_CONTINUE;
423 } 451 }
424 452
425 /*
426 * GAIM EVENT CALLBACKS
427 ***********************/
428
429 static void st_signon(struct gaim_connection *gc, void *data) {
430 systray_update_status();
431 }
432
433 static void st_signoff(struct gaim_connection *gc, void *data) {
434 systray_update_status();
435 }
436
437 static void st_away(struct gaim_connection *gc, void *data) {
438 systray_update_status();
439 }
440
441 static void st_back(struct gaim_connection *gc, void *data) {
442 systray_update_status();
443 }
444
445 static void st_im_recieve(struct gaim_connection *gc, void *data) {
446
447 }
448
449 /*
450 * PUBLIC CODE
451 */
452 453
453 /* Create a hidden window and associate it with the systray icon. 454 /* Create a hidden window and associate it with the systray icon.
454 We use this hidden window to proccess WM_TRAYMESSAGE msgs. */ 455 We use this hidden window to proccess WM_TRAYMESSAGE msgs. */
455 void wgaim_systray_init(void) { 456 void wgaim_systray_init(void) {
456 docklet_add(); 457 docklet_add();
482 systray_remove_nid(); 483 systray_remove_nid();
483 DestroyMenu(systray_menu); 484 DestroyMenu(systray_menu);
484 DestroyWindow(systray_hwnd); 485 DestroyWindow(systray_hwnd);
485 } 486 }
486 487
487 /* This function is called after the buddy list has been created */
488 void wgaim_created_blistwin( GtkWidget *blist ) {
489 gdk_window_add_filter (GTK_WIDGET(blist)->window,
490 st_buddywin_filter,
491 NULL);
492 }
493
494 /* This function is called after the login window has been created */
495 void wgaim_created_loginwin( GtkWidget *loginwin ) {
496 gdk_window_add_filter (GTK_WIDGET(loginwin)->window,
497 st_loginwin_filter,
498 NULL);
499 }
500
501 void wgaim_created_backwin( GtkWidget *backwin ) {
502 gdk_window_add_filter (GTK_WIDGET(backwin)->window,
503 st_backwin_filter,
504 NULL);
505 }
506
507 void wgaim_systray_minimize( GtkWidget *window ) { 488 void wgaim_systray_minimize( GtkWidget *window ) {
508 MinimizeWndToTray(GDK_WINDOW_HWND(window->window)); 489 MinimizeWndToTray(GDK_WINDOW_HWND(window->window));
509 } 490 }
510 491
511 void wgaim_systray_maximize( GtkWidget *window ) { 492 void wgaim_systray_maximize( GtkWidget *window ) {