Mercurial > audlegacy-plugins
comparison src/statusicon/si_ui.c @ 918:209bd85dc1b9 trunk
[svn] - statusicon: add an option to use mouse wheel to change playing song instead of volume
author | giacomo |
---|---|
date | Fri, 06 Apr 2007 11:47:07 -0700 |
parents | f2fde7b4dccd |
children | d16737cc85f6 |
comparison
equal
deleted
inserted
replaced
917:c64da1c724b9 | 918:209bd85dc1b9 |
---|---|
100 si_ui_statusicon_cb_btscroll ( GtkWidget * evbox , GdkEventScroll * event ) | 100 si_ui_statusicon_cb_btscroll ( GtkWidget * evbox , GdkEventScroll * event ) |
101 { | 101 { |
102 switch ( event->direction ) | 102 switch ( event->direction ) |
103 { | 103 { |
104 case GDK_SCROLL_UP: | 104 case GDK_SCROLL_UP: |
105 si_audacious_volume_change( 5 ); | 105 { |
106 break; | 106 switch ( si_cfg.scroll_action ) |
107 { | |
108 case SI_CFG_SCROLL_ACTION_VOLUME: | |
109 si_audacious_volume_change( 5 ); | |
110 break; | |
111 case SI_CFG_SCROLL_ACTION_SKIP: | |
112 si_audacious_playback_skip( 1 ); | |
113 break; | |
114 } | |
115 break; | |
116 } | |
117 | |
107 case GDK_SCROLL_DOWN: | 118 case GDK_SCROLL_DOWN: |
108 si_audacious_volume_change( -5 ); | 119 { |
109 break; | 120 switch ( si_cfg.scroll_action ) |
121 { | |
122 case SI_CFG_SCROLL_ACTION_VOLUME: | |
123 si_audacious_volume_change( -5 ); | |
124 break; | |
125 case SI_CFG_SCROLL_ACTION_SKIP: | |
126 si_audacious_playback_skip( -1 ); | |
127 break; | |
128 } | |
129 break; | |
130 } | |
110 } | 131 } |
111 | 132 |
112 return FALSE; | 133 return FALSE; |
113 } | 134 } |
114 | 135 |
536 | 557 |
537 | 558 |
538 void | 559 void |
539 si_ui_prefs_cb_commit ( gpointer prefs_win ) | 560 si_ui_prefs_cb_commit ( gpointer prefs_win ) |
540 { | 561 { |
541 GSList *rcm_grp = g_object_get_data( G_OBJECT(prefs_win) , "rcm_grp" ); | 562 GSList *list = g_object_get_data( G_OBJECT(prefs_win) , "rcm_grp" ); |
542 while ( rcm_grp != NULL ) | 563 while ( list != NULL ) |
543 { | 564 { |
544 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(rcm_grp->data) ) == TRUE ) | 565 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(list->data) ) == TRUE ) |
545 { | 566 { |
546 si_cfg.rclick_menu = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(rcm_grp->data),"val")); | 567 si_cfg.rclick_menu = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(list->data),"val")); |
547 break; | 568 break; |
548 } | 569 } |
549 rcm_grp = g_slist_next(rcm_grp); | 570 list = g_slist_next(list); |
550 } | 571 } |
572 | |
573 list = g_object_get_data( G_OBJECT(prefs_win) , "msa_grp" ); | |
574 while ( list != NULL ) | |
575 { | |
576 if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(list->data) ) == TRUE ) | |
577 { | |
578 si_cfg.scroll_action = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(list->data),"val")); | |
579 break; | |
580 } | |
581 list = g_slist_next(list); | |
582 } | |
583 | |
551 si_cfg_save(); | 584 si_cfg_save(); |
552 gtk_widget_destroy( GTK_WIDGET(prefs_win) ); | 585 gtk_widget_destroy( GTK_WIDGET(prefs_win) ); |
553 } | 586 } |
554 | 587 |
555 | 588 |
558 { | 591 { |
559 static GtkWidget *prefs_win = NULL; | 592 static GtkWidget *prefs_win = NULL; |
560 GtkWidget *prefs_vbox; | 593 GtkWidget *prefs_vbox; |
561 GtkWidget *prefs_rclick_frame, *prefs_rclick_vbox; | 594 GtkWidget *prefs_rclick_frame, *prefs_rclick_vbox; |
562 GtkWidget *prefs_rclick_audmenu_rbt, *prefs_rclick_smallmenu_rbt; | 595 GtkWidget *prefs_rclick_audmenu_rbt, *prefs_rclick_smallmenu_rbt; |
596 GtkWidget *prefs_scroll_frame, *prefs_scroll_vbox; | |
597 GtkWidget *prefs_scroll_vol_rbt, *prefs_scroll_skip_rbt; | |
563 GtkWidget *prefs_bbar_bbox; | 598 GtkWidget *prefs_bbar_bbox; |
564 GtkWidget *prefs_bbar_bt_ok, *prefs_bbar_bt_cancel; | 599 GtkWidget *prefs_bbar_bt_ok, *prefs_bbar_bt_cancel; |
565 GdkGeometry prefs_win_hints; | 600 GdkGeometry prefs_win_hints; |
566 | 601 |
567 if ( prefs_win != NULL ) | 602 if ( prefs_win != NULL ) |
604 else | 639 else |
605 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(prefs_rclick_smallmenu_rbt) , TRUE ); | 640 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(prefs_rclick_smallmenu_rbt) , TRUE ); |
606 gtk_box_pack_start( GTK_BOX(prefs_rclick_vbox) , prefs_rclick_audmenu_rbt , TRUE , TRUE , 0 ); | 641 gtk_box_pack_start( GTK_BOX(prefs_rclick_vbox) , prefs_rclick_audmenu_rbt , TRUE , TRUE , 0 ); |
607 gtk_box_pack_start( GTK_BOX(prefs_rclick_vbox) , prefs_rclick_smallmenu_rbt , TRUE , TRUE , 0 ); | 642 gtk_box_pack_start( GTK_BOX(prefs_rclick_vbox) , prefs_rclick_smallmenu_rbt , TRUE , TRUE , 0 ); |
608 gtk_box_pack_start( GTK_BOX(prefs_vbox) , prefs_rclick_frame , TRUE , TRUE , 0 ); | 643 gtk_box_pack_start( GTK_BOX(prefs_vbox) , prefs_rclick_frame , TRUE , TRUE , 0 ); |
644 | |
645 prefs_scroll_frame = gtk_frame_new( _("Mouse Scroll Action") ); | |
646 prefs_scroll_vbox = gtk_vbox_new( TRUE , 0 ); | |
647 gtk_container_set_border_width( GTK_CONTAINER(prefs_scroll_vbox) , 6 ); | |
648 gtk_container_add( GTK_CONTAINER(prefs_scroll_frame) , prefs_scroll_vbox ); | |
649 prefs_scroll_vol_rbt = gtk_radio_button_new_with_label( NULL , | |
650 _("Change volume") ); | |
651 g_object_set_data( G_OBJECT(prefs_scroll_vol_rbt) , "val" , | |
652 GINT_TO_POINTER(SI_CFG_SCROLL_ACTION_VOLUME) ); | |
653 prefs_scroll_skip_rbt = gtk_radio_button_new_with_label_from_widget( | |
654 GTK_RADIO_BUTTON(prefs_scroll_vol_rbt) , | |
655 _("Change playing song") ); | |
656 g_object_set_data( G_OBJECT(prefs_scroll_skip_rbt) , "val" , | |
657 GINT_TO_POINTER(SI_CFG_SCROLL_ACTION_SKIP) ); | |
658 g_object_set_data( G_OBJECT(prefs_win) , "msa_grp" , | |
659 gtk_radio_button_get_group(GTK_RADIO_BUTTON(prefs_scroll_skip_rbt)) ); | |
660 if ( si_cfg.scroll_action == SI_CFG_SCROLL_ACTION_VOLUME ) | |
661 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(prefs_scroll_vol_rbt) , TRUE ); | |
662 else | |
663 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(prefs_scroll_skip_rbt) , TRUE ); | |
664 gtk_box_pack_start( GTK_BOX(prefs_scroll_vbox) , prefs_scroll_vol_rbt , TRUE , TRUE , 0 ); | |
665 gtk_box_pack_start( GTK_BOX(prefs_scroll_vbox) , prefs_scroll_skip_rbt , TRUE , TRUE , 0 ); | |
666 gtk_box_pack_start( GTK_BOX(prefs_vbox) , prefs_scroll_frame , TRUE , TRUE , 0 ); | |
609 | 667 |
610 /* horizontal separator and buttons */ | 668 /* horizontal separator and buttons */ |
611 gtk_box_pack_start( GTK_BOX(prefs_vbox) , gtk_hseparator_new() , FALSE , FALSE , 4 ); | 669 gtk_box_pack_start( GTK_BOX(prefs_vbox) , gtk_hseparator_new() , FALSE , FALSE , 4 ); |
612 prefs_bbar_bbox = gtk_hbutton_box_new(); | 670 prefs_bbar_bbox = gtk_hbutton_box_new(); |
613 gtk_button_box_set_layout( GTK_BUTTON_BOX(prefs_bbar_bbox) , GTK_BUTTONBOX_END ); | 671 gtk_button_box_set_layout( GTK_BUTTON_BOX(prefs_bbar_bbox) , GTK_BUTTONBOX_END ); |