Mercurial > audlegacy
diff src/audacious/ui_main.c @ 2911:cd21a4556dd2 trunk
include UiSkinnedTextbox
| author | Tomasz Mon <desowin@gmail.com> |
|---|---|
| date | Thu, 28 Jun 2007 18:52:40 +0200 |
| parents | 21b27e97bfb9 |
| children | 1a59a0ced6a8 |
line wrap: on
line diff
--- a/src/audacious/ui_main.c Thu Jun 28 17:05:29 2007 +0200 +++ b/src/audacious/ui_main.c Thu Jun 28 18:52:40 2007 +0200 @@ -82,6 +82,7 @@ #include "ui_skinned_window.h" #include "ui_skinned_button.h" +#include "ui_skinned_textbox.h" #include "ui_jumptotrack.h" static GTimeVal cb_time; /* click delay for tristate is defined by TRISTATE_THRESHOLD */ @@ -136,7 +137,7 @@ static GtkWidget *mainwin_shuffle, *mainwin_repeat; GtkWidget *mainwin_eq, *mainwin_pl; -TextBox *mainwin_info; +GtkWidget *mainwin_info; TextBox *mainwin_stime_min, *mainwin_stime_sec; static TextBox *mainwin_rate_text, *mainwin_freq_text, @@ -225,7 +226,7 @@ mainwin_set_title_scroll(gboolean scroll) { cfg.autoscroll = scroll; - textbox_set_scroll(mainwin_info, cfg.autoscroll); + ui_skinned_textbox_set_scroll(mainwin_info, cfg.autoscroll); } @@ -280,7 +281,7 @@ gtk_widget_show(mainwin_sfwd); gtk_widget_show(mainwin_seject); - textbox_set_scroll(mainwin_info, FALSE); + ui_skinned_textbox_set_scroll(mainwin_info, FALSE); if (playback_get_playing()) { widget_show(WIDGET(mainwin_sposition)); @@ -315,7 +316,7 @@ widget_hide(WIDGET(mainwin_stime_sec)); widget_hide(WIDGET(mainwin_sposition)); - textbox_set_scroll(mainwin_info, cfg.autoscroll); + ui_skinned_textbox_set_scroll(mainwin_info, cfg.autoscroll); } draw_main_window(TRUE); @@ -582,11 +583,11 @@ return; if ((text = input_get_info_text()) != NULL) { - textbox_set_text(mainwin_info, text); + ui_skinned_textbox_set_text(mainwin_info, text); g_free(text); } else if ((text = playlist_get_info_text(playlist_get_active())) != NULL) { - textbox_set_text(mainwin_info, text); + ui_skinned_textbox_set_text(mainwin_info, text); g_free(text); } } @@ -598,11 +599,13 @@ { if (mainwin_info_text_locked != TRUE) mainwin_tb_old_text = g_strdup(bmp_active_skin->properties.mainwin_othertext_is_status ? - mainwin_othertext->tb_text : mainwin_info->tb_text); + mainwin_othertext->tb_text : UI_SKINNED_TEXTBOX(mainwin_info)->text); mainwin_info_text_locked = TRUE; - textbox_set_text(bmp_active_skin->properties.mainwin_othertext_is_status ? - mainwin_othertext : mainwin_info, text); + if (bmp_active_skin->properties.mainwin_othertext_is_status) + textbox_set_text(mainwin_othertext, text); + else + ui_skinned_textbox_set_text(mainwin_info, text); } void @@ -612,8 +615,10 @@ if (mainwin_tb_old_text != NULL) { - textbox_set_text(bmp_active_skin->properties.mainwin_othertext_is_status ? - mainwin_othertext : mainwin_info, mainwin_tb_old_text); + if (bmp_active_skin->properties.mainwin_othertext_is_status) + 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); mainwin_tb_old_text = NULL; } @@ -671,12 +676,12 @@ mainwin_vis->vs_widget.height); if (bmp_active_skin->properties.mainwin_text_x && bmp_active_skin->properties.mainwin_text_y) - widget_move(WIDGET(mainwin_info), bmp_active_skin->properties.mainwin_text_x, + gtk_fixed_move(GTK_FIXED(SKINNED_WINDOW(mainwin)->fixed), GTK_WIDGET(mainwin_info), bmp_active_skin->properties.mainwin_text_x, bmp_active_skin->properties.mainwin_text_y); if (bmp_active_skin->properties.mainwin_text_width) - widget_resize(WIDGET(mainwin_info), bmp_active_skin->properties.mainwin_text_width, - mainwin_info->tb_widget.height); + gtk_widget_set_size_request(mainwin_info, bmp_active_skin->properties.mainwin_text_width*(1+cfg.doublesize), + 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, @@ -781,9 +786,9 @@ widget_hide(WIDGET(mainwin_menurow)); if (bmp_active_skin->properties.mainwin_text_visible) - widget_show(WIDGET(mainwin_info)); + gtk_widget_show(mainwin_info); else - widget_hide(WIDGET(mainwin_info)); + gtk_widget_hide(mainwin_info); if (bmp_active_skin->properties.mainwin_othertext_visible) widget_show(WIDGET(mainwin_othertext)); @@ -1121,10 +1126,6 @@ if (dock_is_moving(GTK_WINDOW(mainwin))) dock_move_release(GTK_WINDOW(mainwin)); } - else if (event->button == 1 && event->type == GDK_2BUTTON_PRESS && - widget_contains(WIDGET(mainwin_info), event->x, event->y)) { - playlist_fileinfo_current(playlist_get_active()); - } else { handle_press_cb(mainwin_wlist, widget, event); draw_main_window(FALSE); @@ -1143,13 +1144,7 @@ } if (event->button == 3) { - if (widget_contains(WIDGET(mainwin_info), event->x, event->y)) { - ui_manager_popup_menu_show(GTK_MENU(mainwin_songname_menu), - event->x_root, event->y_root, - 3, event->time); - grab = FALSE; - } - else if (widget_contains(WIDGET(mainwin_vis), event->x, event->y) || + if (widget_contains(WIDGET(mainwin_vis), event->x, event->y) || widget_contains(WIDGET(mainwin_svis), event->x, event->y)) { ui_manager_popup_menu_show(GTK_MENU(mainwin_visualization_menu), event->x_root, event->y_root, 3, event->time); @@ -2716,6 +2711,16 @@ } +static void mainwin_info_double_clicked_cb(void) { + playlist_fileinfo_current(playlist_get_active()); +} + +static void mainwin_info_right_clicked_cb(void) { + gint x, y; + gdk_window_get_pointer(NULL, &x, &y, NULL); + ui_manager_popup_menu_show(GTK_MENU(mainwin_songname_menu), x, y, 3, GDK_CURRENT_TIME); +} + static void mainwin_create_widgets(void) { @@ -2828,11 +2833,13 @@ g_signal_connect(mainwin_pl, "clicked", mainwin_playlist_pushed_cb, NULL); UI_SKINNED_BUTTON(mainwin_pl)->inside = cfg.playlist_visible; - mainwin_info = - create_textbox(&mainwin_wlist, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 112, 27, - 153, 1, SKIN_TEXT); - textbox_set_scroll(mainwin_info, cfg.autoscroll); - textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); + mainwin_info = ui_skinned_textbox_new(); + ui_skinned_textbox_setup(mainwin_info, SKINNED_WINDOW(mainwin)->fixed, mainwin_bg, SKINNED_WINDOW(mainwin)->gc, 112, 27, + 153, 1, SKIN_TEXT); + ui_skinned_textbox_set_scroll(mainwin_info, cfg.autoscroll); + ui_skinned_textbox_set_xfont(mainwin_info, cfg.mainwin_use_xfont, cfg.mainwin_font); + 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, @@ -2937,7 +2944,6 @@ /* XXX: eventually update widgetcore API to not need this */ - ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_info)); ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_othertext)); ui_skinned_window_widgetlist_associate(mainwin, WIDGET(mainwin_rate_text));
