Path: blob/main/audio/aylet/files/patch-uigtk.c
16462 views
--- uigtk.c.orig 2002-09-14 15:45:45 UTC1+++ uigtk.c2@@ -14,11 +14,13 @@3#include "ui.h"45/* button pixmaps */6+#ifndef GTK2_67#include "button1.xpm"8#include "button2.xpm"9#include "button3.xpm"10#include "button4.xpm"11#include "button5.xpm"12+#endif131415static GtkWidget *window,*vbox,*detailstbl,*detaillabel[5];16@@ -107,6 +109,11 @@ GtkWidget *pixmap;17GdkBitmap *bitmap,*mask;18int tbl_row,width;1920+#ifdef GTK221+#define gtk_accel_group_get_default() accel22+ GtkAccelGroup *accel;23+#endif24+25window=gtk_window_new(GTK_WINDOW_TOPLEVEL);26gtk_signal_connect(GTK_OBJECT(window),"destroy",27GTK_SIGNAL_FUNC(cb_doquit),NULL);28@@ -116,6 +123,11 @@ gtk_widget_set_events(window,GDK_KEY_PRE29gtk_window_set_title(GTK_WINDOW(window),"xaylet");30gtk_window_set_policy(GTK_WINDOW(window),FALSE,TRUE,FALSE); /* XXX? */3132+#ifdef GTK233+ accel = gtk_accel_group_new ();34+ gtk_window_add_accel_group (GTK_WINDOW (window), accel);35+#endif36+37/* main vbox */38vbox=gtk_vbox_new(FALSE,0);39gtk_container_add(GTK_CONTAINER(window),vbox);40@@ -194,7 +206,11 @@ DO_TBL_LEFT(statustbl,1, 0,"Time:");41DO_TBL_RIGHT(statustbl,1, 1,2,"");42label_for_time=label;4344+#ifdef GTK245+ highspeed_widget = gtk_check_button_new_with_mnemonic ("_High speed");46+#else47highspeed_widget=gtk_check_button_new_with_label("High-speed");48+#endif49/* don't allow focus, looks too weird and we have shortcut */50GTK_WIDGET_UNSET_FLAGS(highspeed_widget,GTK_CAN_FOCUS);51gtk_table_attach_defaults(GTK_TABLE(statustbl),highspeed_widget, 2,4, 0,2);52@@ -227,6 +243,21 @@ gtk_table_set_row_spacings(GTK_TABLE(but53gtk_container_set_border_width(GTK_CONTAINER(buttontbl),5);54gtk_widget_show(buttontbl);5556+#ifdef GTK2_6 /* >= GTK+ 2.6 */57+#define ADD_PIXMAP_TO_BUTTON(button,xpm,stock) \58+ pixmap = gtk_image_new_from_stock (GTK_STOCK_MEDIA_##stock, \59+ GTK_ICON_SIZE_BUTTON); \60+ gtk_container_add (GTK_CONTAINER ((button)), pixmap); \61+ gtk_widget_show (pixmap)62+#else /* < GTK+ 2.6 */63+#define ADD_PIXMAP_TO_BUTTON(button,xpm,stock) \64+ bitmap=gdk_pixmap_create_from_xpm_d(window->window,&mask, \65+ &(window->style->black), \66+ (xpm)); \67+ pixmap=gtk_pixmap_new(bitmap,mask); \68+ gtk_container_add(GTK_CONTAINER(button),pixmap); \69+ gtk_widget_show(pixmap)70+#endif7172hbox=gtk_hbox_new(TRUE,5);73gtk_table_attach_defaults(GTK_TABLE(buttontbl),hbox, 0,4, 0,1);74@@ -236,16 +267,8 @@ gtk_widget_show(hbox);75/* XXX this seems to be needed here, but is it ok? */76gtk_widget_realize(window);7778-#define ADD_PIXMAP_TO_BUTTON(button,xpm) \79- bitmap=gdk_pixmap_create_from_xpm_d(window->window,&mask, \80- &(window->style->black), \81- (xpm)); \82- pixmap=gtk_pixmap_new(bitmap,mask); \83- gtk_container_add(GTK_CONTAINER(button),pixmap); \84- gtk_widget_show(pixmap)85-86button=gtk_button_new();87-ADD_PIXMAP_TO_BUTTON(button,button1);88+ADD_PIXMAP_TO_BUTTON(button,button1,PREVIOUS);89gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);90gtk_signal_connect(GTK_OBJECT(button),"clicked",91GTK_SIGNAL_FUNC(cb_button_prev_track),NULL);92@@ -256,7 +279,7 @@ GTK_WIDGET_UNSET_FLAGS(button,GTK_CAN_FO93gtk_widget_show(button);9495button=gtk_button_new();96-ADD_PIXMAP_TO_BUTTON(button,button2);97+ADD_PIXMAP_TO_BUTTON(button,button2,PLAY);98gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);99gtk_signal_connect(GTK_OBJECT(button),"clicked",100GTK_SIGNAL_FUNC(cb_button_play),NULL);101@@ -266,7 +289,7 @@ GTK_WIDGET_UNSET_FLAGS(button,GTK_CAN_FO102gtk_widget_show(button);103104button=gtk_button_new();105-ADD_PIXMAP_TO_BUTTON(button,button3);106+ADD_PIXMAP_TO_BUTTON(button,button3,PAUSE);107gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);108gtk_signal_connect(GTK_OBJECT(button),"clicked",109GTK_SIGNAL_FUNC(cb_button_pause),NULL);110@@ -276,7 +299,7 @@ GTK_WIDGET_UNSET_FLAGS(button,GTK_CAN_FO111gtk_widget_show(button);112113button=gtk_button_new();114-ADD_PIXMAP_TO_BUTTON(button,button4);115+ADD_PIXMAP_TO_BUTTON(button,button4,STOP);116gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);117gtk_signal_connect(GTK_OBJECT(button),"clicked",118GTK_SIGNAL_FUNC(cb_button_stop),NULL);119@@ -286,7 +309,7 @@ GTK_WIDGET_UNSET_FLAGS(button,GTK_CAN_FO120gtk_widget_show(button);121122button=gtk_button_new();123-ADD_PIXMAP_TO_BUTTON(button,button5);124+ADD_PIXMAP_TO_BUTTON(button,button5,NEXT);125gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);126gtk_signal_connect(GTK_OBJECT(button),"clicked",127GTK_SIGNAL_FUNC(cb_button_next_track),NULL);128@@ -295,7 +318,11 @@ gtk_widget_add_accelerator(button,"click129GTK_WIDGET_UNSET_FLAGS(button,GTK_CAN_FOCUS);130gtk_widget_show(button);131132+#ifdef GTK2133+ button = gtk_button_new_with_mnemonic ("_Restart");134+#else135button=gtk_button_new_with_label("Restart");136+#endif137gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);138gtk_signal_connect(GTK_OBJECT(button),"clicked",139GTK_SIGNAL_FUNC(cb_button_restart),NULL);140@@ -304,17 +331,24 @@ gtk_widget_add_accelerator(button,"click141GTK_WIDGET_UNSET_FLAGS(button,GTK_CAN_FOCUS);142gtk_widget_show(button);143144-145/* second row, these go straight on the table */146/* backspace/delete/space are dealt with by keypress() */147+#ifdef GTK2148+ button = gtk_button_new_with_mnemonic ("_Previous file");149+#else150button=gtk_button_new_with_label("Prev File");151+#endif152gtk_table_attach_defaults(GTK_TABLE(buttontbl),button, 1,2, 1,2);153gtk_signal_connect(GTK_OBJECT(button),"clicked",154GTK_SIGNAL_FUNC(cb_button_prev_file),NULL);155GTK_WIDGET_UNSET_FLAGS(button,GTK_CAN_FOCUS);156gtk_widget_show(button);157158+#ifdef GTK2159+ button = gtk_button_new_with_mnemonic("_Next file");160+#else161button=gtk_button_new_with_label("Next File");162+#endif163gtk_table_attach_defaults(GTK_TABLE(buttontbl),button, 2,3, 1,2);164gtk_signal_connect(GTK_OBJECT(button),"clicked",165GTK_SIGNAL_FUNC(cb_button_next_file),NULL);166@@ -386,8 +420,8 @@ retval=1;167if(need_update)168{169need_update=0;170- ui_draw_status(ay_filenames[ay_file],aydata.miscstr,aydata.authorstr,171- ay_track+1,aydata.tracks[ay_track].namestr);172+ ui_draw_status(ay_filenames[ay_file], (char *)aydata.miscstr, (char *)aydata.authorstr,173+ ay_track+1, (char *)aydata.tracks[ay_track].namestr);174}175176/* update time display */177178179