Project

General

Profile

v2-0001-gtkui-Add-a-custom-rewinding-forwarding-step.patch

Maksim Kozlov, February 09, 2014 16:09

View differences:

src/gtkui/gtkui.h
46 46
void popup_menu_rclick (unsigned button, uint32_t time);
47 47
void popup_menu_tab (unsigned button, uint32_t time, int playlist);
48 48
void activate_search_tool (void);
49
void update_slider_properties (void);
49 50

  
50 51
#endif
src/gtkui/settings.c
49 49
     .callback = redisplay_playlists},
50 50
    {WIDGET_LABEL, N_("<b>Miscellaneous</b>")},
51 51
    {WIDGET_CHK_BTN, N_("Scroll on song change"),
52
     .cfg_type = VALUE_BOOLEAN, .csect = "gtkui", .cname = "autoscroll"}
52
     .cfg_type = VALUE_BOOLEAN, .csect = "gtkui", .cname = "autoscroll"},
53
    {WIDGET_SPIN_BTN, N_("Rewinding and forwarding step:"),
54
     .cfg_type = VALUE_INT, .csect = "gtkui", .cname = "rewind_step",
55
     .callback= update_slider_properties, .data.spin_btn = {100, 10000, 100, N_("ms")}}
53 56
};
54 57

  
55 58
const PluginPreferences gtkui_prefs = {
src/gtkui/ui_gtk.c
54 54
 "playlist_columns", "title artist album queued length",
55 55
 "playlist_headers", "TRUE",
56 56
 "show_remaining_time", "FALSE",
57
 "rewind_step", "5000",
57 58

  
58 59
 "player_x", "-1000",
59 60
 "player_y", "-1000",
......
396 397
        gtk_widget_hide (slider);
397 398
}
398 399

  
400
static void set_slider_increments (void)
401
{
402
	int slider_step = aud_get_int("gtkui", "rewind_step");
403
	gtk_range_set_increments ((GtkRange *) slider, slider_step, slider_step);
404
}
405

  
399 406
static void pause_cb (void)
400 407
{
401 408
    gtk_tool_button_set_icon_name ((GtkToolButton *) button_play,
......
523 530
            return TRUE;
524 531
        case GDK_KEY_Left:
525 532
            if (aud_drct_get_playing ())
526
                do_seek (aud_drct_get_time () - 5000);
533
                do_seek (aud_drct_get_time () - aud_get_int ("gtkui", "rewind_step"));
527 534
            return TRUE;
528 535
        case GDK_KEY_Right:
529 536
            if (aud_drct_get_playing ())
530
                do_seek (aud_drct_get_time () + 5000);
537
                do_seek (aud_drct_get_time () + aud_get_int ("gtkui", "rewind_step"));
531 538
            return TRUE;
532 539
        }
533 540

  
......
563 570
        {
564 571
          case GDK_KEY_Left:
565 572
            if (aud_drct_get_playing ())
566
                do_seek (aud_drct_get_time () - 5000);
573
                do_seek (aud_drct_get_time () - aud_get_int ("gtkui", "rewind_step"));
567 574
            break;
568 575
          case GDK_KEY_Right:
569 576
            if (aud_drct_get_playing ())
570
                do_seek (aud_drct_get_time () + 5000);
577
                do_seek (aud_drct_get_time () + aud_get_int ("gtkui", "rewind_step"));
571 578
            break;
572 579
          default:
573 580
            return FALSE;
......
749 756
    gtk_container_add ((GtkContainer *) boxitem1, box1);
750 757

  
751 758
    slider = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, NULL);
752
    gtk_range_set_increments ((GtkRange *) slider, 5000, 5000);
759
    set_slider_increments();
753 760
    gtk_scale_set_draw_value(GTK_SCALE(slider), FALSE);
754 761
    gtk_widget_set_size_request(slider, 120, -1);
755 762
    gtk_widget_set_valign (slider, GTK_ALIGN_CENTER);
......
1019 1026

  
1020 1027
    aud_plugin_send_message (search_tool, "grab focus", NULL, 0);
1021 1028
}
1029

  
1030
void update_slider_properties (void)
1031
{
1032
	set_slider_increments();
1033
}
1022
-