diff options
author | Benjamin Drung <bdrung@ubuntu.com> | 2010-08-19 17:54:59 +0200 |
---|---|---|
committer | Benjamin Drung <bdrung@ubuntu.com> | 2010-08-19 17:54:59 +0200 |
commit | 4d82ce30fdda4dd8376819a65893daf4781af4ad (patch) | |
tree | 1b42e7893776416cfaf0ff6db8b7849d74a6966a /src | |
parent | 141a546249025a74bf53d061fe5b0ea5e46e7be7 (diff) |
Imported Upstream version 2.4~rc2
Diffstat (limited to 'src')
-rw-r--r-- | src/audacious/compatibility.h | 16 | ||||
-rw-r--r-- | src/audacious/output.c | 3 | ||||
-rw-r--r-- | src/audacious/playlist-utils.c | 14 | ||||
-rw-r--r-- | src/audacious/ui_preferences.c | 45 | ||||
-rw-r--r-- | src/libaudgui/Makefile | 2 | ||||
-rw-r--r-- | src/libaudgui/infowin.c | 1 | ||||
-rw-r--r-- | src/libaudgui/ui_about.c | 9 | ||||
-rw-r--r-- | src/libaudgui/ui_credits.c | 5 | ||||
-rw-r--r-- | src/libaudgui/ui_jumptotrack.c | 20 |
9 files changed, 64 insertions, 51 deletions
diff --git a/src/audacious/compatibility.h b/src/audacious/compatibility.h index abd5014..c20016c 100644 --- a/src/audacious/compatibility.h +++ b/src/audacious/compatibility.h @@ -3,11 +3,19 @@ (1000 * (seconds), func, data) #endif -#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 10 - #define GDK_WINDOW_TYPE_HINT_TOOLTIP GDK_WINDOW_TYPE_HINT_MENU +#if ! GTK_CHECK_VERSION (2, 10, 0) +#define GDK_WINDOW_TYPE_HINT_TOOLTIP GDK_WINDOW_TYPE_HINT_MENU #endif -#if GTK_MAJOR_VERSION == 2 && GTK_MINOR_VERSION < 12 - #define gtk_widget_set_tooltip_text(...) +#if ! GTK_CHECK_VERSION (2, 12, 0) +#define gtk_widget_set_tooltip_text(...) #endif +#if ! GTK_CHECK_VERSION (2, 14, 0) +#define gtk_widget_get_window(w) ((w)->window) +#endif + +#if ! GTK_CHECK_VERSION (2, 18, 0) +#define gtk_widget_set_can_default(w, t) do {if (t) GTK_WIDGET_SET_FLAGS ((w), GTK_CAN_DEFAULT); else GTK_WIDGET_UNSET_FLAGS ((w), GTK_CAN_DEFAULT);} while (0) +#define gtk_widget_set_can_focus(w, t) do {if (t) GTK_WIDGET_SET_FLAGS ((w), GTK_CAN_FOCUS); else GTK_WIDGET_UNSET_FLAGS ((w), GTK_CAN_FOCUS);} while (0) +#endif diff --git a/src/audacious/output.c b/src/audacious/output.c index b8406ea..ef2bbff 100644 --- a/src/audacious/output.c +++ b/src/audacious/output.c @@ -442,10 +442,9 @@ static void write_buffers (void) static void abort_write (void) { - COP->flush (0); /* signal wait to return immediately */ - LOCK; output_aborted = TRUE; + COP->flush (COP->output_time ()); /* signal wait to return immediately */ UNLOCK; } diff --git a/src/audacious/playlist-utils.c b/src/audacious/playlist-utils.c index f39f615..fc3d40c 100644 --- a/src/audacious/playlist-utils.c +++ b/src/audacious/playlist-utils.c @@ -63,11 +63,8 @@ static gint tuple_compare_string (const Tuple * a, const Tuple * b, gint field) const gchar * string_a = tuple_get_string (a, field, NULL); const gchar * string_b = tuple_get_string (b, field, NULL); - /* This is technically inconsistent if both string_a == NULL and string_b == - * NULL, but for the sake of removing duplicates we do not want blank fields - * to compare as equal. */ if (string_a == NULL) - return -1; + return (string_b == NULL) ? 0 : -1; if (string_b == NULL) return 1; @@ -76,10 +73,10 @@ static gint tuple_compare_string (const Tuple * a, const Tuple * b, gint field) static gint tuple_compare_int (const Tuple * a, const Tuple * b, gint field) { - /* technically inconsistent again */ - if (tuple_get_value_type (a, field, NULL) != TUPLE_INT && - tuple_get_value_type (b, field, NULL) != TUPLE_INT) - return -1; + if (tuple_get_value_type (a, field, NULL) != TUPLE_INT) + return (tuple_get_value_type (b, field, NULL) != TUPLE_INT) ? 0 : -1; + if (tuple_get_value_type (b, field, NULL) != TUPLE_INT) + return 1; gint int_a = tuple_get_int (a, field, NULL); gint int_b = tuple_get_int (b, field, NULL); @@ -156,6 +153,7 @@ void playlist_sort_selected_by_scheme (gint playlist, gint scheme) playlist_sort_selected_by_tuple (playlist, tuple_comparisons[scheme]); } +/* Fix me: This considers empty fields as duplicates. */ void playlist_remove_duplicates_by_scheme (gint playlist, gint scheme) { gint entries = playlist_entry_count (playlist); diff --git a/src/audacious/ui_preferences.c b/src/audacious/ui_preferences.c index 3780fd4..45a4fdd 100644 --- a/src/audacious/ui_preferences.c +++ b/src/audacious/ui_preferences.c @@ -552,7 +552,7 @@ on_titlestring_help_button_clicked(GtkButton * button, { GtkMenu *menu; MenuPos *pos = g_newa(MenuPos, 1); - GdkWindow *parent; + GdkWindow *parent, *window; gint x_ro, y_ro; gint x_widget, y_widget; @@ -562,10 +562,11 @@ on_titlestring_help_button_clicked(GtkButton * button, g_return_if_fail (GTK_IS_MENU (data)); parent = gtk_widget_get_parent_window(GTK_WIDGET(button)); + window = gtk_widget_get_window(GTK_WIDGET(button)); gdk_drawable_get_size(parent, &x_size, &y_size); - gdk_window_get_root_origin(GTK_WIDGET(button)->window, &x_ro, &y_ro); - gdk_window_get_position(GTK_WIDGET(button)->window, &x_widget, &y_widget); + gdk_window_get_root_origin(window, &x_ro, &y_ro); + gdk_window_get_position(window, &x_widget, &y_widget); pos->x = x_size + x_ro; pos->y = y_size + y_ro - 100; @@ -701,8 +702,7 @@ create_plugin_preferences(PluginPreferences *settings) window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_title(GTK_WINDOW(window), _(settings->title)); - gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, FALSE); - gtk_container_border_width(GTK_CONTAINER(window), 10); + gtk_container_set_border_width(GTK_CONTAINER(window), 10); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(plugin_preferences_destroy), settings); @@ -713,7 +713,7 @@ create_plugin_preferences(PluginPreferences *settings) bbox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); - gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5); + gtk_box_set_spacing(GTK_BOX(bbox), 5); gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); ok = gtk_button_new_from_stock(GTK_STOCK_OK); @@ -1325,7 +1325,7 @@ create_filepopup_settings(void) btn_ok = gtk_button_new_from_stock("gtk-ok"); gtk_container_add(GTK_CONTAINER(hbuttonbox), btn_ok); - GTK_WIDGET_SET_FLAGS(btn_ok, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(btn_ok, TRUE); g_signal_connect(G_OBJECT(filepopup_settings), "delete_event", G_CALLBACK(gtk_widget_hide_on_delete), @@ -1879,7 +1879,8 @@ create_playlist_category(void) gtk_table_attach (GTK_TABLE (table6), titlestring_help_button, 2, 3, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); - GTK_WIDGET_UNSET_FLAGS (titlestring_help_button, GTK_CAN_FOCUS); + + gtk_widget_set_can_focus (titlestring_help_button, FALSE); gtk_widget_set_tooltip_text (titlestring_help_button, _("Show information about titlestring format")); gtk_button_set_relief (GTK_BUTTON (titlestring_help_button), GTK_RELIEF_HALF); gtk_button_set_focus_on_click (GTK_BUTTON (titlestring_help_button), FALSE); @@ -1943,7 +1944,8 @@ create_playlist_category(void) filepopup_for_tuple_settings_button = gtk_button_new (); gtk_box_pack_start (GTK_BOX (hbox9), filepopup_for_tuple_settings_button, FALSE, FALSE, 0); - GTK_WIDGET_UNSET_FLAGS (filepopup_for_tuple_settings_button, GTK_CAN_FOCUS); + + gtk_widget_set_can_focus (filepopup_for_tuple_settings_button, FALSE); gtk_widget_set_tooltip_text (filepopup_for_tuple_settings_button, _("Edit settings for popup information")); gtk_button_set_relief (GTK_BUTTON (filepopup_for_tuple_settings_button), GTK_RELIEF_HALF); @@ -2077,7 +2079,7 @@ create_audio_category(void) output_plugin_prefs = gtk_button_new (); gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_prefs); gtk_widget_set_sensitive (output_plugin_prefs, FALSE); - GTK_WIDGET_SET_FLAGS (output_plugin_prefs, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(output_plugin_prefs, TRUE); alignment76 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_container_add (GTK_CONTAINER (output_plugin_prefs), alignment76); @@ -2094,7 +2096,7 @@ create_audio_category(void) output_plugin_info = gtk_button_new (); gtk_container_add (GTK_CONTAINER (output_plugin_button_box), output_plugin_info); gtk_widget_set_sensitive (output_plugin_info, FALSE); - GTK_WIDGET_SET_FLAGS (output_plugin_info, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(output_plugin_info, TRUE); alignment77 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_container_add (GTK_CONTAINER (output_plugin_info), alignment77); @@ -2233,12 +2235,12 @@ create_plugin_category(void) input_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_prefs); gtk_widget_set_sensitive (input_plugin_prefs, FALSE); - GTK_WIDGET_SET_FLAGS (input_plugin_prefs, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(input_plugin_prefs, TRUE); input_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); gtk_container_add (GTK_CONTAINER (input_plugin_button_box), input_plugin_info); gtk_widget_set_sensitive (input_plugin_info, FALSE); - GTK_WIDGET_SET_FLAGS (input_plugin_info, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(input_plugin_info, TRUE); plugin_input_label = gtk_label_new (_("<span size=\"medium\"><b>Decoders</b></span>")); gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 0), plugin_input_label); @@ -2276,12 +2278,12 @@ create_plugin_category(void) general_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_prefs); gtk_widget_set_sensitive (general_plugin_prefs, FALSE); - GTK_WIDGET_SET_FLAGS (general_plugin_prefs, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(general_plugin_prefs, TRUE); general_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); gtk_container_add (GTK_CONTAINER (general_plugin_button_box), general_plugin_info); gtk_widget_set_sensitive (general_plugin_info, FALSE); - GTK_WIDGET_SET_FLAGS (general_plugin_info, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(general_plugin_info, TRUE); plugin_general_label = gtk_label_new (_("<span size=\"medium\"><b>General</b></span>")); gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 1), plugin_general_label); @@ -2318,12 +2320,12 @@ create_plugin_category(void) vis_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_prefs); gtk_widget_set_sensitive (vis_plugin_prefs, FALSE); - GTK_WIDGET_SET_FLAGS (vis_plugin_prefs, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(vis_plugin_prefs, TRUE); vis_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); gtk_container_add (GTK_CONTAINER (hbuttonbox6), vis_plugin_info); gtk_widget_set_sensitive (vis_plugin_info, FALSE); - GTK_WIDGET_SET_FLAGS (vis_plugin_info, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(vis_plugin_info, TRUE); vis_label = gtk_label_new (_("<b>Visualization</b>")); gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 2), vis_label); @@ -2359,12 +2361,12 @@ create_plugin_category(void) effect_plugin_prefs = gtk_button_new_from_stock ("gtk-preferences"); gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_prefs); gtk_widget_set_sensitive (effect_plugin_prefs, FALSE); - GTK_WIDGET_SET_FLAGS (effect_plugin_prefs, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(effect_plugin_prefs, TRUE); effect_plugin_info = gtk_button_new_from_stock ("gtk-dialog-info"); gtk_container_add (GTK_CONTAINER (hbuttonbox9), effect_plugin_info); gtk_widget_set_sensitive (effect_plugin_info, FALSE); - GTK_WIDGET_SET_FLAGS (effect_plugin_info, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(effect_plugin_info, TRUE); effects_label = gtk_label_new (_("<b>Effects</b>")); gtk_notebook_set_tab_label (GTK_NOTEBOOK (plugin_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (plugin_notebook), 3), effects_label); @@ -2583,7 +2585,8 @@ void * * create_prefs_window (void) category_notebook = gtk_notebook_new (); gtk_box_pack_start (GTK_BOX (hbox1), category_notebook, TRUE, TRUE, 0); - GTK_WIDGET_UNSET_FLAGS (category_notebook, GTK_CAN_FOCUS); + + gtk_widget_set_can_focus (category_notebook, FALSE); gtk_notebook_set_show_tabs (GTK_NOTEBOOK (category_notebook), FALSE); gtk_notebook_set_show_border (GTK_NOTEBOOK (category_notebook), FALSE); gtk_notebook_set_scrollable (GTK_NOTEBOOK (category_notebook), TRUE); @@ -2620,7 +2623,7 @@ void * * create_prefs_window (void) close = gtk_button_new_from_stock ("gtk-close"); gtk_container_add (GTK_CONTAINER (prefswin_button_box), close); - GTK_WIDGET_SET_FLAGS (close, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(close, TRUE); gtk_widget_add_accelerator (close, "clicked", accel_group, GDK_Escape, (GdkModifierType) 0, GTK_ACCEL_VISIBLE); diff --git a/src/libaudgui/Makefile b/src/libaudgui/Makefile index 2239eb7..448c353 100644 --- a/src/libaudgui/Makefile +++ b/src/libaudgui/Makefile @@ -31,6 +31,6 @@ include ../../extra.mk includesubdir = libaudgui CPPFLAGS += -DHAVE_CONFIG_H ${LIB_CPPFLAGS} -I.. -I../.. ${GLIB_CFLASG} ${GTK_CFLAGS} ${DBUS_CFLAGS} ${LIBMCS_CFLAGS} ${AUDACIOUS_DEFINES} ${REGEX_CFLAGS} -CFLAGS += ${LIB_CFLAGS} +CFLAGS += -std=gnu99 ${LIB_CFLAGS} LDFLAGS += $(AUDLDFLAGS) LIBS += -lm ${GLIB_LIBS} ${MOWGLI_LIBS} ${GTK_LIBS} ${REGEX_LIBS} -L../libaudcore -laudcore diff --git a/src/libaudgui/infowin.c b/src/libaudgui/infowin.c index ce8dbca..fdb6303 100644 --- a/src/libaudgui/infowin.c +++ b/src/libaudgui/infowin.c @@ -679,7 +679,6 @@ void create_infowin (void) btn_close = gtk_button_new_from_stock (GTK_STOCK_CLOSE); gtk_container_add ((GtkContainer *) bbox_close, btn_close); - GTK_WIDGET_SET_FLAGS (btn_close, GTK_CAN_DEFAULT); g_signal_connect_swapped (btn_close, "clicked", (GCallback) gtk_widget_hide, infowin); diff --git a/src/libaudgui/ui_about.c b/src/libaudgui/ui_about.c index 4ad2e54..29a2a3d 100644 --- a/src/libaudgui/ui_about.c +++ b/src/libaudgui/ui_about.c @@ -37,6 +37,8 @@ #include <audacious/i18n.h> #include <audacious/misc.h> +#include "audacious/compatibility.h" + #include "ui_credits.h" static GtkWidget *about_window = NULL; @@ -49,11 +51,14 @@ static GdkBitmap *mask_bitmap_window1 = NULL, static gboolean on_about_window_expose(GtkWidget *widget, GdkEventExpose *expose, gpointer data) { + GdkWindow *window; + g_return_val_if_fail(widget != NULL, FALSE); g_return_val_if_fail(GTK_IS_WIDGET (widget), FALSE); - gdk_window_set_back_pixmap(GDK_WINDOW(widget->window), mask_pixmap_window2, 0); - gdk_window_clear(GDK_WINDOW(widget->window)); + window = gtk_widget_get_window(widget); + gdk_window_set_back_pixmap(window, mask_pixmap_window2, 0); + gdk_window_clear(window); return FALSE; } diff --git a/src/libaudgui/ui_credits.c b/src/libaudgui/ui_credits.c index 6909cb5..4f3732f 100644 --- a/src/libaudgui/ui_credits.c +++ b/src/libaudgui/ui_credits.c @@ -33,6 +33,8 @@ #include <audacious/i18n.h> #include <audacious/misc.h> +#include "audacious/compatibility.h" + #include "ui_credits.h" #include "audacious_logo.xpm" @@ -194,7 +196,8 @@ audgui_show_credits_window(void) close_btn = gtk_button_new_from_stock(GTK_STOCK_CLOSE); g_signal_connect_swapped(close_btn, "clicked", G_CALLBACK(gtk_widget_destroy), about_window); - GTK_WIDGET_SET_FLAGS(close_btn, GTK_CAN_DEFAULT); + + gtk_widget_set_can_default(close_btn, TRUE); gtk_box_pack_start(GTK_BOX(bbox), close_btn, TRUE, TRUE, 0); gtk_widget_grab_default(close_btn); diff --git a/src/libaudgui/ui_jumptotrack.c b/src/libaudgui/ui_jumptotrack.c index f796859..a97d30e 100644 --- a/src/libaudgui/ui_jumptotrack.c +++ b/src/libaudgui/ui_jumptotrack.c @@ -55,6 +55,8 @@ #include <audacious/playlist.h> #include <libaudcore/hook.h> +#include "audacious/compatibility.h" + #include "icons-stock.h" #include "ui_jumptotrack_cache.h" @@ -202,13 +204,8 @@ ui_jump_to_track_edit_keypress_cb(GtkWidget * object, { switch (event->keyval) { case GDK_Return: - if (gtk_im_context_filter_keypress (GTK_ENTRY (object)->im_context, event)) { - GTK_ENTRY (object)->need_im_reset = TRUE; - return TRUE; - } else { - ui_jump_to_track_jump(GTK_TREE_VIEW(data)); - return TRUE; - } + ui_jump_to_track_jump(GTK_TREE_VIEW(data)); + return TRUE; default: return FALSE; } @@ -497,7 +494,7 @@ audgui_jump_to_track(void) g_signal_connect (rescan, "clicked", (GCallback) clear_cb, storage); - GTK_WIDGET_SET_FLAGS(rescan, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(rescan, TRUE); gtk_widget_grab_default(rescan); scrollwin = gtk_scrolled_window_new(NULL, NULL); @@ -529,7 +526,8 @@ audgui_jump_to_track(void) gtk_button_set_image(GTK_BUTTON(queue), gtk_image_new_from_stock(AUD_STOCK_QUEUETOGGLE, GTK_ICON_SIZE_BUTTON)); gtk_box_pack_start(GTK_BOX(bbox), queue, FALSE, FALSE, 0); - GTK_WIDGET_SET_FLAGS(queue, GTK_CAN_DEFAULT); + + gtk_widget_set_can_default(queue, TRUE); g_signal_connect(queue, "clicked", G_CALLBACK(ui_jump_to_track_queue_cb), treeview); @@ -544,14 +542,14 @@ audgui_jump_to_track(void) G_CALLBACK(ui_jump_to_track_jump_cb), treeview); - GTK_WIDGET_SET_FLAGS(jump, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(jump, TRUE); gtk_widget_grab_default(jump); close = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_box_pack_start(GTK_BOX(bbox), close, FALSE, FALSE, 0); g_signal_connect (close, "clicked", (GCallback) audgui_jump_to_track_hide, NULL); - GTK_WIDGET_SET_FLAGS(close, GTK_CAN_DEFAULT); + gtk_widget_set_can_default(close, TRUE); g_timeout_add(100, (GSourceFunc)ui_jump_to_track_fill, treeview); |