Mercurial > audlegacy
diff src/audacious/ui_main.c @ 2942:1a59a0ced6a8 trunk
make scrolling stop for second when it reaches end, replace remaining mainwin TextBox with UiSkinnedTextbox
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sat, 30 Jun 2007 18:44:20 +0200 |
parents | cd21a4556dd2 |
children | 13591e28d89e |
line wrap: on
line diff
--- a/src/audacious/ui_main.c Fri Jun 29 08:58:32 2007 -0500 +++ b/src/audacious/ui_main.c Sat Jun 30 18:44:20 2007 +0200 @@ -138,9 +138,9 @@ GtkWidget *mainwin_eq, *mainwin_pl; GtkWidget *mainwin_info; -TextBox *mainwin_stime_min, *mainwin_stime_sec; - -static TextBox *mainwin_rate_text, *mainwin_freq_text, +GtkWidget *mainwin_stime_min, *mainwin_stime_sec; + +static GtkWidget *mainwin_rate_text, *mainwin_freq_text, *mainwin_othertext; PlayStatus *mainwin_playstatus; @@ -180,7 +180,7 @@ static void set_timer_mode_menu_cb(TimerMode mode); static void set_timer_mode(TimerMode mode); - +static void change_timer_mode(void); static void mainwin_refresh_hints(void); void mainwin_position_motion_cb(gint pos); @@ -285,14 +285,14 @@ if (playback_get_playing()) { widget_show(WIDGET(mainwin_sposition)); - widget_show(WIDGET(mainwin_stime_min)); - widget_show(WIDGET(mainwin_stime_sec)); + gtk_widget_show(mainwin_stime_min); + gtk_widget_show(mainwin_stime_sec); } else { widget_hide(WIDGET(mainwin_sposition)); - widget_hide(WIDGET(mainwin_stime_min)); - widget_hide(WIDGET(mainwin_stime_sec)); + gtk_widget_hide(mainwin_stime_min); + gtk_widget_hide(mainwin_stime_sec); } } @@ -312,8 +312,8 @@ gtk_widget_hide(mainwin_sfwd); gtk_widget_hide(mainwin_seject); - widget_hide(WIDGET(mainwin_stime_min)); - widget_hide(WIDGET(mainwin_stime_sec)); + gtk_widget_hide(mainwin_stime_min); + gtk_widget_hide(mainwin_stime_sec); widget_hide(WIDGET(mainwin_sposition)); ui_skinned_textbox_set_scroll(mainwin_info, cfg.autoscroll); @@ -599,11 +599,11 @@ { if (mainwin_info_text_locked != TRUE) mainwin_tb_old_text = g_strdup(bmp_active_skin->properties.mainwin_othertext_is_status ? - mainwin_othertext->tb_text : UI_SKINNED_TEXTBOX(mainwin_info)->text); + UI_SKINNED_TEXTBOX(mainwin_othertext)->text : UI_SKINNED_TEXTBOX(mainwin_info)->text); mainwin_info_text_locked = TRUE; if (bmp_active_skin->properties.mainwin_othertext_is_status) - textbox_set_text(mainwin_othertext, text); + ui_skinned_textbox_set_text(mainwin_othertext, text); else ui_skinned_textbox_set_text(mainwin_info, text); } @@ -616,7 +616,7 @@ if (mainwin_tb_old_text != NULL) { if (bmp_active_skin->properties.mainwin_othertext_is_status) - textbox_set_text(mainwin_othertext, mainwin_tb_old_text); + ui_skinned_textbox_set_text(mainwin_othertext, mainwin_tb_old_text); else ui_skinned_textbox_set_text(mainwin_info, mainwin_tb_old_text); g_free(mainwin_tb_old_text); @@ -651,19 +651,19 @@ if (bmp_active_skin && bmp_active_skin->properties.mainwin_othertext == TRUE) { - widget_hide(WIDGET(mainwin_rate_text)); - widget_hide(WIDGET(mainwin_freq_text)); + gtk_widget_hide(mainwin_rate_text); + gtk_widget_hide(mainwin_freq_text); widget_hide(WIDGET(mainwin_monostereo)); if (bmp_active_skin->properties.mainwin_othertext_visible) - widget_show(WIDGET(mainwin_othertext)); + gtk_widget_show(mainwin_othertext); } else { - widget_show(WIDGET(mainwin_rate_text)); - widget_show(WIDGET(mainwin_freq_text)); + gtk_widget_show(mainwin_rate_text); + gtk_widget_show(mainwin_freq_text); widget_show(WIDGET(mainwin_monostereo)); - widget_hide(WIDGET(mainwin_othertext)); + gtk_widget_hide(mainwin_othertext); } /* positioning and size attributes */ @@ -684,7 +684,7 @@ UI_SKINNED_TEXTBOX(mainwin_info)->height*(1+cfg.doublesize)); if (bmp_active_skin->properties.mainwin_infobar_x && bmp_active_skin->properties.mainwin_infobar_y) - widget_move(WIDGET(mainwin_othertext), bmp_active_skin->properties.mainwin_infobar_x, + gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_othertext), bmp_active_skin->properties.mainwin_infobar_x, bmp_active_skin->properties.mainwin_infobar_y); if (bmp_active_skin->properties.mainwin_number_0_x && bmp_active_skin->properties.mainwin_number_0_y) @@ -791,9 +791,9 @@ gtk_widget_hide(mainwin_info); if (bmp_active_skin->properties.mainwin_othertext_visible) - widget_show(WIDGET(mainwin_othertext)); + gtk_widget_show(mainwin_othertext); else - widget_hide(WIDGET(mainwin_othertext)); + gtk_widget_hide(mainwin_othertext); if (bmp_active_skin->properties.mainwin_vis_visible) widget_show(WIDGET(mainwin_vis)); @@ -807,8 +807,8 @@ gtk_widget_hide(mainwin_sstop); gtk_widget_hide(mainwin_sfwd); gtk_widget_hide(mainwin_seject); - widget_hide(WIDGET(mainwin_stime_min)); - widget_hide(WIDGET(mainwin_stime_sec)); + gtk_widget_hide(mainwin_stime_min); + gtk_widget_hide(mainwin_stime_sec); } /* window size, mainwinWidth && mainwinHeight properties */ @@ -858,27 +858,27 @@ if (bitrate < 1000) { /* Show bitrate in 1000s */ g_snprintf(text, sizeof(text), "%3d", bitrate); - textbox_set_text(mainwin_rate_text, text); + ui_skinned_textbox_set_text(mainwin_rate_text, text); } else { /* Show bitrate in 100,000s */ g_snprintf(text, sizeof(text), "%2dH", bitrate / 100); - textbox_set_text(mainwin_rate_text, text); + ui_skinned_textbox_set_text(mainwin_rate_text, text); } } else - textbox_set_text(mainwin_rate_text, _("VBR")); + ui_skinned_textbox_set_text(mainwin_rate_text, _("VBR")); /* Show sampling frequency in kHz */ g_snprintf(text, sizeof(text), "%2d", frequency / 1000); - textbox_set_text(mainwin_freq_text, text); + ui_skinned_textbox_set_text(mainwin_freq_text, text); monostereo_set_num_channels(mainwin_monostereo, n_channels); if (cfg.player_shaded) { - widget_show(WIDGET(mainwin_stime_min)); - widget_show(WIDGET(mainwin_stime_sec)); + gtk_widget_show(mainwin_stime_min); + gtk_widget_show(mainwin_stime_sec); } widget_show(WIDGET(mainwin_minus_num)); @@ -914,21 +914,21 @@ (gfloat) frequency / 1000, (n_channels > 1) ? _("stereo") : _("mono")); - textbox_set_text(mainwin_othertext, text); - - widget_hide(WIDGET(mainwin_rate_text)); - widget_hide(WIDGET(mainwin_freq_text)); + ui_skinned_textbox_set_text(mainwin_othertext, text); + + gtk_widget_hide(mainwin_rate_text); + gtk_widget_hide(mainwin_freq_text); widget_hide(WIDGET(mainwin_monostereo)); if (bmp_active_skin->properties.mainwin_othertext_visible) - widget_show(WIDGET(mainwin_othertext)); + gtk_widget_show(mainwin_othertext); } else { - widget_show(WIDGET(mainwin_rate_text)); - widget_show(WIDGET(mainwin_freq_text)); + gtk_widget_show(mainwin_rate_text); + gtk_widget_show(mainwin_freq_text); widget_show(WIDGET(mainwin_monostereo)); - widget_hide(WIDGET(mainwin_othertext)); + gtk_widget_hide(mainwin_othertext); } title = playlist_get_info_text(playlist); @@ -955,8 +955,8 @@ mainwin_sposition->hs_pressed = FALSE; /* clear sampling parameter displays */ - textbox_set_text(mainwin_rate_text, " "); - textbox_set_text(mainwin_freq_text, " "); + ui_skinned_textbox_set_text(mainwin_rate_text, " "); + ui_skinned_textbox_set_text(mainwin_freq_text, " "); monostereo_set_num_channels(mainwin_monostereo, 0); if (mainwin_playstatus != NULL) @@ -969,13 +969,13 @@ widget_hide(WIDGET(mainwin_10sec_num)); widget_hide(WIDGET(mainwin_sec_num)); - widget_hide(WIDGET(mainwin_stime_min)); - widget_hide(WIDGET(mainwin_stime_sec)); + gtk_widget_hide(mainwin_stime_min); + gtk_widget_hide(mainwin_stime_sec); widget_hide(WIDGET(mainwin_position)); widget_hide(WIDGET(mainwin_sposition)); - widget_hide(WIDGET(mainwin_othertext)); + gtk_widget_hide(mainwin_othertext); playlistwin_hide_timer(); draw_main_window(TRUE); @@ -1180,14 +1180,11 @@ widget_contains(WIDGET(mainwin_10min_num), event->x, event->y) || widget_contains(WIDGET(mainwin_min_num), event->x, event->y) || widget_contains(WIDGET(mainwin_10sec_num), event->x, event->y) || - widget_contains(WIDGET(mainwin_sec_num), event->x, event->y) || - widget_contains(WIDGET(mainwin_stime_min), event->x, event->y) || - widget_contains(WIDGET(mainwin_stime_sec), event->x, event->y)) + widget_contains(WIDGET(mainwin_sec_num), event->x, event->y))// || + //widget_contains(WIDGET(mainwin_stime_min), event->x, event->y) || + //widget_contains(WIDGET(mainwin_stime_sec), event->x, event->y)) { - if (cfg.timer_mode == TIMER_ELAPSED) - set_timer_mode(TIMER_REMAINING); - else - set_timer_mode(TIMER_ELAPSED); + change_timer_mode(); } } @@ -1755,17 +1752,17 @@ if (cfg.timer_mode == TIMER_REMAINING) { time = (playlist_get_current_length(playlist) / 1000) - time; time_msg = g_strdup_printf("-%2.2d", time / 60); - textbox_set_text(mainwin_stime_min, time_msg); + ui_skinned_textbox_set_text(mainwin_stime_min, time_msg); g_free(time_msg); } else { time_msg = g_strdup_printf(" %2.2d", time / 60); - textbox_set_text(mainwin_stime_min, time_msg); + ui_skinned_textbox_set_text(mainwin_stime_min, time_msg); g_free(time_msg); } time_msg = g_strdup_printf("%2.2d", time % 60); - textbox_set_text(mainwin_stime_sec, time_msg); + ui_skinned_textbox_set_text(mainwin_stime_sec, time_msg); g_free(time_msg); } @@ -2529,6 +2526,13 @@ cfg.timer_mode = mode; } +void change_timer_mode(void) { + if (cfg.timer_mode == TIMER_ELAPSED) + set_timer_mode(TIMER_REMAINING); + else + set_timer_mode(TIMER_ELAPSED); +} + static void mainwin_playlist_prev(void) { @@ -2841,15 +2845,16 @@ g_signal_connect(mainwin_info, "double-clicked", mainwin_info_double_clicked_cb, NULL); g_signal_connect(mainwin_info, "right-clicked", mainwin_info_right_clicked_cb, NULL); - mainwin_othertext = - create_textbox(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 112, 43, - 153, 1, SKIN_TEXT); - - mainwin_rate_text = - create_textbox(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 111, 43, 15, + mainwin_othertext = ui_skinned_textbox_new(); + ui_skinned_textbox_setup(mainwin_othertext, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 112, 43, + 153, 1, SKIN_TEXT); + + mainwin_rate_text = ui_skinned_textbox_new(); + ui_skinned_textbox_setup(mainwin_rate_text, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 111, 43, 15, 0, SKIN_TEXT); - mainwin_freq_text = - create_textbox(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 156, 43, 10, + + mainwin_freq_text = ui_skinned_textbox_new(); + ui_skinned_textbox_setup(mainwin_freq_text, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 156, 43, 10, 0, SKIN_TEXT); mainwin_menurow = @@ -2926,12 +2931,15 @@ mainwin_spos_release_cb, SKIN_TITLEBAR); widget_hide(WIDGET(mainwin_sposition)); - mainwin_stime_min = - create_textbox(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 130, 4, 15, + mainwin_stime_min = ui_skinned_textbox_new(); + ui_skinned_textbox_setup(mainwin_stime_min, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 130, 4, 15, FALSE, SKIN_TEXT); - mainwin_stime_sec = - create_textbox(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 147, 4, 10, + g_signal_connect(mainwin_stime_min, "clicked", change_timer_mode, NULL); + + mainwin_stime_sec = ui_skinned_textbox_new(); + ui_skinned_textbox_setup(mainwin_stime_sec, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 147, 4, 10, FALSE, SKIN_TEXT); + g_signal_connect(mainwin_stime_sec, "clicked", change_timer_mode, NULL); err = gtk_message_dialog_new(GTK_WINDOW(mainwin), GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Error in Audacious.")); @@ -2944,8 +2952,6 @@ /* XXX: eventually update widgetcore API to not need this */ - ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_othertext)); - ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_rate_text)); ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_freq_text)); @@ -2968,9 +2974,6 @@ ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_position)); ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_sposition)); - - ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_stime_min)); - ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_stime_sec)); } static void @@ -3094,11 +3097,11 @@ gchar *time_str; time_str = g_strdup_printf("%c%2.2d", stime_prefix, t / 60); - textbox_set_text(mainwin_stime_min, time_str); + ui_skinned_textbox_set_text(mainwin_stime_min, time_str); g_free(time_str); time_str = g_strdup_printf("%2.2d", t % 60); - textbox_set_text(mainwin_stime_sec, time_str); + ui_skinned_textbox_set_text(mainwin_stime_sec, time_str); g_free(time_str); }