Mercurial > audlegacy
comparison src/audacious/ui_main.c @ 3001:6d4b7b739232 trunk
fully implement UiSkinnedNumber, number.c no longer needed
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sun, 08 Jul 2007 12:21:09 +0200 |
parents | bbca1e0e054a |
children | 6720b09fec47 |
comparison
equal
deleted
inserted
replaced
3000:bbca1e0e054a | 3001:6d4b7b739232 |
---|---|
80 #include "visualization.h" | 80 #include "visualization.h" |
81 | 81 |
82 #include "ui_skinned_window.h" | 82 #include "ui_skinned_window.h" |
83 #include "ui_skinned_button.h" | 83 #include "ui_skinned_button.h" |
84 #include "ui_skinned_textbox.h" | 84 #include "ui_skinned_textbox.h" |
85 #include "ui_skinned_number.h" | |
85 #include "ui_jumptotrack.h" | 86 #include "ui_jumptotrack.h" |
86 | 87 |
87 static GTimeVal cb_time; /* click delay for tristate is defined by TRISTATE_THRESHOLD */ | 88 static GTimeVal cb_time; /* click delay for tristate is defined by TRISTATE_THRESHOLD */ |
88 | 89 |
89 #define ITEM_SEPARATOR {"/-", NULL, NULL, 0, "<Separator>"} | 90 #define ITEM_SEPARATOR {"/-", NULL, NULL, 0, "<Separator>"} |
137 static GtkWidget *mainwin_rate_text, *mainwin_freq_text, | 138 static GtkWidget *mainwin_rate_text, *mainwin_freq_text, |
138 *mainwin_othertext; | 139 *mainwin_othertext; |
139 | 140 |
140 PlayStatus *mainwin_playstatus; | 141 PlayStatus *mainwin_playstatus; |
141 | 142 |
142 Number *mainwin_minus_num, *mainwin_10min_num, *mainwin_min_num; | 143 GtkWidget *mainwin_minus_num, *mainwin_10min_num, *mainwin_min_num; |
143 Number *mainwin_10sec_num, *mainwin_sec_num; | 144 GtkWidget *mainwin_10sec_num, *mainwin_sec_num; |
144 | 145 |
145 static gboolean setting_volume = FALSE; | 146 static gboolean setting_volume = FALSE; |
146 | 147 |
147 Vis *mainwin_vis; | 148 Vis *mainwin_vis; |
148 SVis *mainwin_svis; | 149 SVis *mainwin_svis; |
682 if (bmp_active_skin->properties.mainwin_infobar_x && bmp_active_skin->properties.mainwin_infobar_y) | 683 if (bmp_active_skin->properties.mainwin_infobar_x && bmp_active_skin->properties.mainwin_infobar_y) |
683 gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_othertext), bmp_active_skin->properties.mainwin_infobar_x, | 684 gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_othertext), bmp_active_skin->properties.mainwin_infobar_x, |
684 bmp_active_skin->properties.mainwin_infobar_y); | 685 bmp_active_skin->properties.mainwin_infobar_y); |
685 | 686 |
686 if (bmp_active_skin->properties.mainwin_number_0_x && bmp_active_skin->properties.mainwin_number_0_y) | 687 if (bmp_active_skin->properties.mainwin_number_0_x && bmp_active_skin->properties.mainwin_number_0_y) |
687 widget_move(WIDGET(mainwin_minus_num), bmp_active_skin->properties.mainwin_number_0_x, | 688 gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_minus_num), bmp_active_skin->properties.mainwin_number_0_x, |
688 bmp_active_skin->properties.mainwin_number_0_y); | 689 bmp_active_skin->properties.mainwin_number_0_y); |
689 | 690 |
690 if (bmp_active_skin->properties.mainwin_number_1_x && bmp_active_skin->properties.mainwin_number_1_y) | 691 if (bmp_active_skin->properties.mainwin_number_1_x && bmp_active_skin->properties.mainwin_number_1_y) |
691 widget_move(WIDGET(mainwin_10min_num), bmp_active_skin->properties.mainwin_number_1_x, | 692 gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_10min_num), bmp_active_skin->properties.mainwin_number_1_x, |
692 bmp_active_skin->properties.mainwin_number_1_y); | 693 bmp_active_skin->properties.mainwin_number_1_y); |
693 | 694 |
694 if (bmp_active_skin->properties.mainwin_number_2_x && bmp_active_skin->properties.mainwin_number_2_y) | 695 if (bmp_active_skin->properties.mainwin_number_2_x && bmp_active_skin->properties.mainwin_number_2_y) |
695 widget_move(WIDGET(mainwin_min_num), bmp_active_skin->properties.mainwin_number_2_x, | 696 gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_min_num), bmp_active_skin->properties.mainwin_number_2_x, |
696 bmp_active_skin->properties.mainwin_number_2_y); | 697 bmp_active_skin->properties.mainwin_number_2_y); |
697 | 698 |
698 if (bmp_active_skin->properties.mainwin_number_3_x && bmp_active_skin->properties.mainwin_number_3_y) | 699 if (bmp_active_skin->properties.mainwin_number_3_x && bmp_active_skin->properties.mainwin_number_3_y) |
699 widget_move(WIDGET(mainwin_10sec_num), bmp_active_skin->properties.mainwin_number_3_x, | 700 gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_10sec_num), bmp_active_skin->properties.mainwin_number_3_x, |
700 bmp_active_skin->properties.mainwin_number_3_y); | 701 bmp_active_skin->properties.mainwin_number_3_y); |
701 | 702 |
702 if (bmp_active_skin->properties.mainwin_number_4_x && bmp_active_skin->properties.mainwin_number_4_y) | 703 if (bmp_active_skin->properties.mainwin_number_4_x && bmp_active_skin->properties.mainwin_number_4_y) |
703 widget_move(WIDGET(mainwin_sec_num), bmp_active_skin->properties.mainwin_number_4_x, | 704 gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_sec_num), bmp_active_skin->properties.mainwin_number_4_x, |
704 bmp_active_skin->properties.mainwin_number_4_y); | 705 bmp_active_skin->properties.mainwin_number_4_y); |
705 | 706 |
706 if (bmp_active_skin->properties.mainwin_playstatus_x && bmp_active_skin->properties.mainwin_playstatus_y) | 707 if (bmp_active_skin->properties.mainwin_playstatus_x && bmp_active_skin->properties.mainwin_playstatus_y) |
707 widget_move(WIDGET(mainwin_playstatus), bmp_active_skin->properties.mainwin_playstatus_x, | 708 widget_move(WIDGET(mainwin_playstatus), bmp_active_skin->properties.mainwin_playstatus_x, |
708 bmp_active_skin->properties.mainwin_playstatus_y); | 709 bmp_active_skin->properties.mainwin_playstatus_y); |
863 /* Show sampling frequency in kHz */ | 864 /* Show sampling frequency in kHz */ |
864 text = g_strdup_printf("%2d", frequency / 1000); | 865 text = g_strdup_printf("%2d", frequency / 1000); |
865 ui_skinned_textbox_set_text(mainwin_freq_text, text); | 866 ui_skinned_textbox_set_text(mainwin_freq_text, text); |
866 | 867 |
867 monostereo_set_num_channels(mainwin_monostereo, n_channels); | 868 monostereo_set_num_channels(mainwin_monostereo, n_channels); |
868 | |
869 widget_show(WIDGET(mainwin_minus_num)); | |
870 widget_show(WIDGET(mainwin_10min_num)); | |
871 widget_show(WIDGET(mainwin_min_num)); | |
872 widget_show(WIDGET(mainwin_10sec_num)); | |
873 widget_show(WIDGET(mainwin_sec_num)); | |
874 | 869 |
875 if (!playback_get_paused() && mainwin_playstatus != NULL) | 870 if (!playback_get_paused() && mainwin_playstatus != NULL) |
876 playstatus_set_status(mainwin_playstatus, STATUS_PLAY); | 871 playstatus_set_status(mainwin_playstatus, STATUS_PLAY); |
877 | 872 |
878 if (playlist_get_current_length(playlist) != -1) { | 873 if (playlist_get_current_length(playlist) != -1) { |
939 | 934 |
940 if (mainwin_playstatus != NULL) | 935 if (mainwin_playstatus != NULL) |
941 playstatus_set_status(mainwin_playstatus, STATUS_STOP); | 936 playstatus_set_status(mainwin_playstatus, STATUS_STOP); |
942 | 937 |
943 /* hide playback time */ | 938 /* hide playback time */ |
944 widget_hide(WIDGET(mainwin_minus_num)); | 939 gtk_widget_hide(mainwin_minus_num); |
945 widget_hide(WIDGET(mainwin_10min_num)); | 940 gtk_widget_hide(mainwin_10min_num); |
946 widget_hide(WIDGET(mainwin_min_num)); | 941 gtk_widget_hide(mainwin_min_num); |
947 widget_hide(WIDGET(mainwin_10sec_num)); | 942 gtk_widget_hide(mainwin_10sec_num); |
948 widget_hide(WIDGET(mainwin_sec_num)); | 943 gtk_widget_hide(mainwin_sec_num); |
949 | 944 |
950 gtk_widget_hide(mainwin_stime_min); | 945 gtk_widget_hide(mainwin_stime_min); |
951 gtk_widget_hide(mainwin_stime_sec); | 946 gtk_widget_hide(mainwin_stime_sec); |
952 | 947 |
953 widget_hide(WIDGET(mainwin_position)); | 948 widget_hide(WIDGET(mainwin_position)); |
1147 */ | 1142 */ |
1148 ui_manager_popup_menu_show(GTK_MENU(mainwin_general_menu), | 1143 ui_manager_popup_menu_show(GTK_MENU(mainwin_general_menu), |
1149 event->x_root, | 1144 event->x_root, |
1150 event->y_root, 3, event->time); | 1145 event->y_root, 3, event->time); |
1151 grab = FALSE; | 1146 grab = FALSE; |
1152 } | |
1153 } | |
1154 | |
1155 if (event->button == 1) | |
1156 { | |
1157 if (widget_contains(WIDGET(mainwin_minus_num), event->x, event->y) || | |
1158 widget_contains(WIDGET(mainwin_10min_num), event->x, event->y) || | |
1159 widget_contains(WIDGET(mainwin_min_num), event->x, event->y) || | |
1160 widget_contains(WIDGET(mainwin_10sec_num), event->x, event->y) || | |
1161 widget_contains(WIDGET(mainwin_sec_num), event->x, event->y)) { | |
1162 change_timer_mode(); | |
1163 } | 1147 } |
1164 } | 1148 } |
1165 | 1149 |
1166 if (grab) | 1150 if (grab) |
1167 gdk_pointer_grab(mainwin->window, FALSE, | 1151 gdk_pointer_grab(mainwin->window, FALSE, |
1947 | 1931 |
1948 gtk_widget_show(mainwin); | 1932 gtk_widget_show(mainwin); |
1949 return; | 1933 return; |
1950 } | 1934 } |
1951 | 1935 |
1952 gtk_widget_show_all(mainwin); | |
1953 | |
1954 if (nullmask) | 1936 if (nullmask) |
1955 { | 1937 { |
1956 g_object_unref(nullmask); | 1938 g_object_unref(nullmask); |
1957 nullmask = NULL; | 1939 nullmask = NULL; |
1958 } | 1940 } |
2852 SKIN_MONOSTEREO); | 2834 SKIN_MONOSTEREO); |
2853 | 2835 |
2854 mainwin_playstatus = | 2836 mainwin_playstatus = |
2855 create_playstatus(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 24, 28); | 2837 create_playstatus(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 24, 28); |
2856 | 2838 |
2857 mainwin_minus_num = | 2839 mainwin_minus_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 36, 26, |
2858 create_number(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 36, 26, | |
2859 SKIN_NUMBERS); | 2840 SKIN_NUMBERS); |
2860 widget_hide(WIDGET(mainwin_minus_num)); | 2841 g_signal_connect(mainwin_minus_num, "clicked", change_timer_mode, NULL); |
2861 mainwin_10min_num = | 2842 |
2862 create_number(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 48, 26, | 2843 mainwin_10min_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 48, 26, |
2863 SKIN_NUMBERS); | 2844 SKIN_NUMBERS); |
2864 widget_hide(WIDGET(mainwin_10min_num)); | 2845 g_signal_connect(mainwin_10min_num, "clicked", change_timer_mode, NULL); |
2865 | 2846 |
2866 mainwin_min_num = | 2847 mainwin_min_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 60, 26, |
2867 create_number(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 60, 26, | |
2868 SKIN_NUMBERS); | 2848 SKIN_NUMBERS); |
2869 widget_hide(WIDGET(mainwin_min_num)); | 2849 g_signal_connect(mainwin_min_num, "clicked", change_timer_mode, NULL); |
2870 | 2850 |
2871 mainwin_10sec_num = | 2851 mainwin_10sec_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 78, 26, |
2872 create_number(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 78, 26, | |
2873 SKIN_NUMBERS); | 2852 SKIN_NUMBERS); |
2874 widget_hide(WIDGET(mainwin_10sec_num)); | 2853 g_signal_connect(mainwin_10sec_num, "clicked", change_timer_mode, NULL); |
2875 | 2854 |
2876 mainwin_sec_num = | 2855 mainwin_sec_num = ui_skinned_number_new(SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 90, 26, |
2877 create_number(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 90, 26, | |
2878 SKIN_NUMBERS); | 2856 SKIN_NUMBERS); |
2879 widget_hide(WIDGET(mainwin_sec_num)); | 2857 g_signal_connect(mainwin_sec_num, "clicked", change_timer_mode, NULL); |
2880 | 2858 |
2881 mainwin_about = ui_skinned_button_new(); | 2859 mainwin_about = ui_skinned_button_new(); |
2882 ui_skinned_small_button_setup(mainwin_about, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, | 2860 ui_skinned_small_button_setup(mainwin_about, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, |
2883 SKINNED_WINDOW(mainwin)->gc, 247, 83, 20, 25); | 2861 SKINNED_WINDOW(mainwin)->gc, 247, 83, 20, 25); |
2884 g_signal_connect(mainwin_about, "clicked", show_about_window, NULL); | 2862 g_signal_connect(mainwin_about, "clicked", show_about_window, NULL); |
2927 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_volume)); | 2905 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_volume)); |
2928 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_balance)); | 2906 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_balance)); |
2929 | 2907 |
2930 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_monostereo)); | 2908 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_monostereo)); |
2931 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_playstatus)); | 2909 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_playstatus)); |
2932 | |
2933 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_minus_num)); | |
2934 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_10min_num)); | |
2935 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_min_num)); | |
2936 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_10sec_num)); | |
2937 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_sec_num)); | |
2938 | 2910 |
2939 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_vis)); | 2911 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_vis)); |
2940 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_svis)); | 2912 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_svis)); |
2941 | 2913 |
2942 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_position)); | 2914 ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_position)); |
3003 mainwin_bg_x2 = gdk_pixmap_new(mainwin->window, | 2975 mainwin_bg_x2 = gdk_pixmap_new(mainwin->window, |
3004 bmp_active_skin->properties.mainwin_width * 2, | 2976 bmp_active_skin->properties.mainwin_width * 2, |
3005 bmp_active_skin->properties.mainwin_height * 2, -1); | 2977 bmp_active_skin->properties.mainwin_height * 2, -1); |
3006 mainwin_set_back_pixmap(); | 2978 mainwin_set_back_pixmap(); |
3007 mainwin_create_widgets(); | 2979 mainwin_create_widgets(); |
2980 gtk_widget_show_all(mainwin); | |
2981 | |
2982 if (cfg.player_shaded) { | |
2983 gtk_widget_show(mainwin_stime_min); | |
2984 gtk_widget_show(mainwin_stime_sec); | |
2985 } | |
2986 gtk_widget_hide(mainwin_minus_num); | |
2987 gtk_widget_hide(mainwin_10min_num); | |
2988 gtk_widget_hide(mainwin_min_num); | |
2989 gtk_widget_hide(mainwin_10sec_num); | |
2990 gtk_widget_hide(mainwin_sec_num); | |
2991 gtk_widget_hide(mainwin_othertext); | |
3008 | 2992 |
3009 vis_set_window(mainwin_vis, mainwin->window); | 2993 vis_set_window(mainwin_vis, mainwin->window); |
3010 } | 2994 } |
3011 | 2995 |
3012 void | 2996 void |
3032 playlistwin_hide_timer(); | 3016 playlistwin_hide_timer(); |
3033 input_update_vis(time); | 3017 input_update_vis(time); |
3034 | 3018 |
3035 if (cfg.timer_mode == TIMER_REMAINING) { | 3019 if (cfg.timer_mode == TIMER_REMAINING) { |
3036 if (length != -1) { | 3020 if (length != -1) { |
3037 number_set_number(mainwin_minus_num, 11); | 3021 ui_skinned_number_set_number(mainwin_minus_num, 11); |
3038 t = length - time; | 3022 t = length - time; |
3039 stime_prefix = '-'; | 3023 stime_prefix = '-'; |
3040 } | 3024 } |
3041 else { | 3025 else { |
3042 number_set_number(mainwin_minus_num, 10); | 3026 ui_skinned_number_set_number(mainwin_minus_num, 10); |
3043 t = time; | 3027 t = time; |
3044 stime_prefix = ' '; | 3028 stime_prefix = ' '; |
3045 } | 3029 } |
3046 } | 3030 } |
3047 else { | 3031 else { |
3048 number_set_number(mainwin_minus_num, 10); | 3032 ui_skinned_number_set_number(mainwin_minus_num, 10); |
3049 t = time; | 3033 t = time; |
3050 stime_prefix = ' '; | 3034 stime_prefix = ' '; |
3051 } | 3035 } |
3052 t /= 1000; | 3036 t /= 1000; |
3053 | 3037 |
3054 /* Show the time in the format HH:MM when we have more than 100 | 3038 /* Show the time in the format HH:MM when we have more than 100 |
3055 * minutes. */ | 3039 * minutes. */ |
3056 if (t >= 100 * 60) | 3040 if (t >= 100 * 60) |
3057 t /= 60; | 3041 t /= 60; |
3058 number_set_number(mainwin_10min_num, t / 600); | 3042 ui_skinned_number_set_number(mainwin_10min_num, t / 600); |
3059 number_set_number(mainwin_min_num, (t / 60) % 10); | 3043 ui_skinned_number_set_number(mainwin_min_num, (t / 60) % 10); |
3060 number_set_number(mainwin_10sec_num, (t / 10) % 6); | 3044 ui_skinned_number_set_number(mainwin_10sec_num, (t / 10) % 6); |
3061 number_set_number(mainwin_sec_num, t % 10); | 3045 ui_skinned_number_set_number(mainwin_sec_num, t % 10); |
3062 | 3046 |
3063 if (!mainwin_sposition->hs_pressed) { | 3047 if (!mainwin_sposition->hs_pressed) { |
3064 gchar *time_str; | 3048 gchar *time_str; |
3065 | 3049 |
3066 time_str = g_strdup_printf("%c%2.2d", stime_prefix, t / 60); | 3050 time_str = g_strdup_printf("%c%2.2d", stime_prefix, t / 60); |