aports/testing/grip/gtk3.patch
2026-01-29 11:23:27 +00:00

2300 lines
87 KiB
Diff

FIXME crahes when show_tray_icon is 1
diff --git a/meson.build b/meson.build
index 66b7920..dbb87d7 100644
--- a/meson.build
+++ b/meson.build
@@ -22,7 +22,7 @@ config_h.set_quoted('GNOMELOCALEDIR', grip_localedir)
cc = meson.get_compiler('c')
cxx = meson.get_compiler('cpp')
-libgtk_dep = dependency('gtk+-2.0', version: '>= 2.14')
+libgtk_dep = dependency('gtk+-3.0')
id3_dep = cxx.find_library('libid3', required: get_option('id3lib'))
curl_dep = dependency('libcurl')
thread_dep = dependency('threads')
diff --git a/src/cddev.c b/src/cddev.c
index 467fbc1..2f27d06 100644
--- a/src/cddev.c
+++ b/src/cddev.c
@@ -71,9 +71,9 @@ gboolean CDInitDevice(char *device_name,DiscInfo *disc)
char devname[256];
#endif
#ifndef NON_BLOCKING
- const int OPEN_MODE = O_RDONLY;
+ const int OPEN_MODE = O_RDONLY|O_CLOEXEC;
#else
- const int OPEN_MODE = O_RDONLY|O_NONBLOCK;
+ const int OPEN_MODE = O_RDONLY|O_NONBLOCK|O_CLOEXEC;
#endif
disc->have_info=FALSE;
diff --git a/src/cdpar.c b/src/cdpar.c
index 982aa37..5c311ed 100644
--- a/src/cdpar.c
+++ b/src/cdpar.c
@@ -378,7 +378,7 @@ gboolean CDPRip(char *device,char *generic_scsi_device,int track,
/* seteuid(getuid());
setegid(getgid());*/
- out=open(outfile,O_RDWR|O_CREAT|O_TRUNC,0666);
+ out=open(outfile,O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC,0666);
if(out==-1){
Debug(_("Cannot open default output file %s: %s\n"),outfile,
strerror(errno));
diff --git a/src/cdplay.c b/src/cdplay.c
index 0694d60..9cd5fdb 100644
--- a/src/cdplay.c
+++ b/src/cdplay.c
@@ -289,8 +289,7 @@ void ResizeTrackList(GripInfo *ginfo)
column=gtk_tree_view_get_column(GTK_TREE_VIEW(track_list),
TRACKLIST_TRACK_COL);
- gtk_tree_view_column_set_fixed_width(column,track_list->
- allocation.width-tot_width);
+ gtk_tree_view_column_set_fixed_width(column,gtk_widget_get_allocated_width(track_list)-tot_width);
}
}
@@ -309,7 +308,7 @@ void MakeTrackPage(GripInfo *ginfo)
trackpage=MakeNewPage(uinfo->notebook,_("Tracks"));
vbox=gtk_vbox_new(FALSE,0);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
uinfo->disc_name_label=gtk_label_new("");
gtk_box_pack_start(GTK_BOX(vbox),uinfo->disc_name_label,FALSE,FALSE,0);
@@ -322,18 +321,18 @@ void MakeTrackPage(GripInfo *ginfo)
uinfo->dbinfo_hbox=gtk_hbox_new(FALSE,0);
uinfo->dbinfo_back_button=gtk_button_new_from_stock(GTK_STOCK_GO_BACK);
- gtk_tooltips_set_tip(MakeToolTip(),uinfo->dbinfo_back_button,
- _("Select previous CDDB entry."),NULL);
- gtk_signal_connect(GTK_OBJECT(uinfo->dbinfo_back_button),"clicked",
- GTK_SIGNAL_FUNC(DoPrevDiscDBEntry),(gpointer)ginfo);
+ gtk_widget_set_tooltip_text(uinfo->dbinfo_back_button,
+ _("Select previous CDDB entry."));
+ g_signal_connect(G_OBJECT(uinfo->dbinfo_back_button),"clicked",
+ G_CALLBACK(DoPrevDiscDBEntry),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(uinfo->dbinfo_hbox),uinfo->dbinfo_back_button,FALSE,FALSE,0);
gtk_widget_show(uinfo->dbinfo_back_button);
uinfo->dbinfo_forward_button=gtk_button_new_from_stock(GTK_STOCK_GO_FORWARD);
- gtk_tooltips_set_tip(MakeToolTip(),uinfo->dbinfo_forward_button,
- _("Select next CDDB entry."),NULL);
- gtk_signal_connect(GTK_OBJECT(uinfo->dbinfo_forward_button),"clicked",
- GTK_SIGNAL_FUNC(DoNextDiscDBEntry),(gpointer)ginfo);
+ gtk_widget_set_tooltip_text(uinfo->dbinfo_forward_button,
+ _("Select next CDDB entry."));
+ g_signal_connect(G_OBJECT(uinfo->dbinfo_forward_button),"clicked",
+ G_CALLBACK(DoNextDiscDBEntry),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(uinfo->dbinfo_hbox),uinfo->dbinfo_forward_button,FALSE,FALSE,0);
gtk_widget_show(uinfo->dbinfo_forward_button);
@@ -506,7 +505,7 @@ static void SetCurrentTrack(GripInfo *ginfo,int track)
uinfo=&(ginfo->gui_info);
if(track<0) {
- gtk_label_set(GTK_LABEL(uinfo->current_track_label),"--");
+ gtk_label_set_text(GTK_LABEL(uinfo->current_track_label),"--");
gtk_entry_set_text(GTK_ENTRY(uinfo->start_sector_entry),"0");
gtk_entry_set_text(GTK_ENTRY(uinfo->end_sector_entry),"0");
@@ -547,7 +546,7 @@ static void SetCurrentTrack(GripInfo *ginfo,int track)
track_artist_edit_entry),
TrackEditChanged,(gpointer)ginfo);
g_snprintf(buf,80,"%02d",track+1);
- gtk_label_set(GTK_LABEL(uinfo->current_track_label),buf);
+ gtk_label_set_text(GTK_LABEL(uinfo->current_track_label),buf);
gtk_entry_set_text(GTK_ENTRY(uinfo->start_sector_entry),"0");
@@ -643,7 +642,7 @@ static gboolean TracklistButtonPressed(GtkWidget *widget,GdkEventButton *event,
row=indices[0];
- cols=gtk_tree_view_get_columns(GTK_TREE_VIEW(column->tree_view));
+ cols=gtk_tree_view_get_columns(GTK_TREE_VIEW(gtk_tree_view_column_get_tree_view(column)));
col=g_list_index(cols,(gpointer)column);
@@ -720,13 +719,7 @@ static void ToggleLoop(GtkWidget *widget,gpointer data)
ginfo->playloop=!ginfo->playloop;
- if(ginfo->playloop)
- CopyPixmap(GTK_PIXMAP(ginfo->gui_info.loop_image),\
- GTK_PIXMAP(ginfo->gui_info.loop_indicator));
- else
- CopyPixmap(GTK_PIXMAP(ginfo->gui_info.noloop_image),
- GTK_PIXMAP(ginfo->gui_info.loop_indicator));
-
+ gtk_image_set_from_pixbuf(GTK_IMAGE(ginfo->gui_info.loop_indicator), ginfo->playloop ? ginfo->gui_info.loop_image : ginfo->gui_info.noloop_image);
}
static void ChangePlayMode(GtkWidget *widget,gpointer data)
@@ -737,8 +730,7 @@ static void ChangePlayMode(GtkWidget *widget,gpointer data)
ginfo->play_mode=(ginfo->play_mode+1)%PM_LASTMODE;
- CopyPixmap(GTK_PIXMAP(ginfo->gui_info.play_pix[ginfo->play_mode]),
- GTK_PIXMAP(ginfo->gui_info.play_indicator));
+ gtk_image_set_from_pixbuf(GTK_IMAGE(ginfo->gui_info.play_indicator), ginfo->gui_info.play_pix[ginfo->play_mode]);
gtk_widget_set_sensitive(GTK_WIDGET(ginfo->gui_info.playlist_entry),
ginfo->play_mode==PM_PLAYLIST);
@@ -760,7 +752,9 @@ GtkWidget *MakePlayOpts(GripInfo *ginfo)
hbox=gtk_hbox_new(FALSE,2);
- uinfo->playlist_entry=gtk_entry_new_with_max_length(256);
+ uinfo->playlist_entry=gtk_entry_new();
+ gtk_entry_set_max_length(GTK_ENTRY(uinfo->playlist_entry),256);
+
g_signal_connect(G_OBJECT(uinfo->playlist_entry),"focus_out_event",
G_CALLBACK(PlaylistChanged),(gpointer)ginfo);
gtk_widget_set_sensitive(GTK_WIDGET(uinfo->playlist_entry),
@@ -768,9 +762,7 @@ GtkWidget *MakePlayOpts(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),uinfo->playlist_entry,TRUE,TRUE,0);
gtk_widget_show(uinfo->playlist_entry);
- uinfo->play_indicator=NewBlankPixmap(uinfo->app);
- CopyPixmap(GTK_PIXMAP(uinfo->play_pix[ginfo->play_mode]),
- GTK_PIXMAP(uinfo->play_indicator));
+ uinfo->play_indicator=gtk_image_new_from_pixbuf(uinfo->play_pix[ginfo->play_mode]);
button=gtk_button_new();
gtk_container_add(GTK_CONTAINER(button),uinfo->play_indicator);
@@ -779,18 +771,11 @@ GtkWidget *MakePlayOpts(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(ChangePlayMode),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Rotate play mode"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Rotate play mode"));
gtk_widget_show(button);
- uinfo->loop_indicator=NewBlankPixmap(uinfo->app);
-
- if(ginfo->playloop)
- CopyPixmap(GTK_PIXMAP(uinfo->loop_image),
- GTK_PIXMAP(uinfo->loop_indicator));
- else
- CopyPixmap(GTK_PIXMAP(uinfo->noloop_image),
- GTK_PIXMAP(uinfo->loop_indicator));
+ uinfo->loop_indicator=gtk_image_new_from_pixbuf(ginfo->playloop ? uinfo->loop_image : uinfo->noloop_image);
button=gtk_button_new();
gtk_container_add(GTK_CONTAINER(button),uinfo->loop_indicator);
@@ -799,8 +784,8 @@ GtkWidget *MakePlayOpts(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(ToggleLoop),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Toggle loop play"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Toggle loop play"));
gtk_widget_show(button);
gtk_container_add(GTK_CONTAINER(ebox),hbox);
@@ -816,7 +801,7 @@ GtkWidget *MakeControls(GripInfo *ginfo)
GtkWidget *indicator_box;
GtkWidget *button;
GtkWidget *ebox,*lcdbox;
- GtkObject *adj;
+ GtkAdjustment *adj;
int mycpu;
uinfo=&(ginfo->gui_info);
@@ -825,10 +810,10 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_set_style(ebox,uinfo->style_wb);
vbox=gtk_vbox_new(FALSE,0);
- gtk_container_border_width(GTK_CONTAINER(vbox),0);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),0);
vbox3=gtk_vbox_new(FALSE,2);
- gtk_container_border_width(GTK_CONTAINER(vbox3),2);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox3),2);
lcdbox=gtk_event_box_new();
g_signal_connect(G_OBJECT(lcdbox),"button_press_event",
@@ -849,7 +834,7 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_show(imagebox);
hbox=gtk_hbox_new(TRUE,0);
- gtk_container_border_width(GTK_CONTAINER(hbox),0);
+ gtk_container_set_border_width(GTK_CONTAINER(hbox),0);
uinfo->current_track_label=gtk_label_new("--");
gtk_box_pack_start(GTK_BOX(hbox),uinfo->current_track_label,FALSE,FALSE,0);
@@ -872,25 +857,25 @@ GtkWidget *MakeControls(GripInfo *ginfo)
indicator_box=gtk_hbox_new(TRUE,0);
- uinfo->rip_indicator=NewBlankPixmap(GTK_WIDGET(uinfo->app));
+ uinfo->rip_indicator=gtk_image_new_from_pixbuf(uinfo->empty_image);
gtk_box_pack_start(GTK_BOX(indicator_box),uinfo->rip_indicator,TRUE,TRUE,0);
gtk_widget_show(uinfo->rip_indicator);
- uinfo->lcd_smile_indicator=NewBlankPixmap(GTK_WIDGET(uinfo->app));
- gtk_tooltips_set_tip(MakeToolTip(),uinfo->lcd_smile_indicator,
- _("Rip status"),NULL);
+ uinfo->lcd_smile_indicator=gtk_image_new_from_pixbuf(uinfo->empty_image);
+ gtk_widget_set_tooltip_text(uinfo->lcd_smile_indicator,
+ _("Rip status"));
gtk_box_pack_start(GTK_BOX(indicator_box),uinfo->lcd_smile_indicator,
TRUE,TRUE,0);
gtk_widget_show(uinfo->lcd_smile_indicator);
for(mycpu=0;mycpu<ginfo->num_cpu;mycpu++){
- uinfo->mp3_indicator[mycpu]=NewBlankPixmap(GTK_WIDGET(uinfo->app));
+ uinfo->mp3_indicator[mycpu]=gtk_image_new_from_pixbuf(uinfo->empty_image);
gtk_box_pack_start(GTK_BOX(indicator_box),
uinfo->mp3_indicator[mycpu],TRUE,TRUE,0);
gtk_widget_show(uinfo->mp3_indicator[mycpu]);
}
- uinfo->discdb_indicator=NewBlankPixmap(GTK_WIDGET(uinfo->app));
+ uinfo->discdb_indicator=gtk_image_new_from_pixbuf(uinfo->empty_image);
gtk_box_pack_start(GTK_BOX(indicator_box),uinfo->discdb_indicator,
TRUE,TRUE,0);
gtk_widget_show(uinfo->discdb_indicator);
@@ -922,16 +907,16 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_show(vbox3);
adj=gtk_adjustment_new((gfloat)ginfo->volume,0.0,255.0,1.0,1.0,0.0);
- g_signal_connect(adj,"value_changed",
+ g_signal_connect(G_OBJECT(adj),"value_changed",
G_CALLBACK(SetVolume),(gpointer)ginfo);
- uinfo->volume_control=gtk_hscale_new(GTK_ADJUSTMENT(adj));
+ uinfo->volume_control=gtk_hscale_new(adj);
gtk_scale_set_draw_value(GTK_SCALE(uinfo->volume_control),FALSE);
gtk_widget_set_name(uinfo->volume_control,"darkgrey");
gtk_box_pack_start(GTK_BOX(vbox),uinfo->volume_control,FALSE,FALSE,0);
/* CDGetVolume(cd_desc,&vol);
- gtk_adjustment_set_value(GTK_ADJUSTMENT(adj),(vol.vol_front.left+
+ gtk_adjustment_set_value(adj,(vol.vol_front.left+
vol.vol_front.right)/2);*/
if(uinfo->volvis) gtk_widget_show(uinfo->volume_control);
@@ -944,8 +929,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_set_style(button,uinfo->style_dark_grey);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(PlayTrackCB),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Play track / Pause play"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Play track / Pause play"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
@@ -955,8 +940,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
G_CALLBACK(RewindCB),(gpointer)ginfo);
g_signal_connect(G_OBJECT(button),"released",
G_CALLBACK(RewindCB),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Rewind"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Rewind"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
@@ -966,8 +951,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
G_CALLBACK(FastFwdCB),(gpointer)ginfo);
g_signal_connect(G_OBJECT(button),"released",
G_CALLBACK(FastFwdCB),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("FastForward"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("FastForward"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
@@ -976,8 +961,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(PrevTrackCB),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Go to previous track"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Go to previous track"));
gtk_widget_show(button);
button=ImageButton(GTK_WIDGET(uinfo->app),uinfo->nexttrk_image);
@@ -985,8 +970,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(NextTrackCB),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Go to next track"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Go to next track"));
gtk_widget_show(button);
button=ImageButton(GTK_WIDGET(uinfo->app),uinfo->progtrack_image);
@@ -994,8 +979,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(ToggleProg),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Toggle play mode options"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Toggle play mode options"));
gtk_widget_show(button);
if(ginfo->changer_slots>1) {
@@ -1004,8 +989,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(NextDisc),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Next Disc"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Next Disc"));
gtk_widget_show(button);
}
@@ -1018,8 +1003,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_set_style(button,uinfo->style_dark_grey);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(StopPlayCB),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Stop play"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Stop play"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
@@ -1028,8 +1013,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(EjectDisc),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Eject disc"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Eject disc"));
gtk_widget_show(button);
button=ImageButton(GTK_WIDGET(uinfo->app),uinfo->cdscan_image);
@@ -1037,16 +1022,16 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(ScanDisc),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Scan Disc Contents"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Scan Disc Contents"));
gtk_widget_show(button);
button=ImageButton(GTK_WIDGET(uinfo->app),uinfo->vol_image);
gtk_widget_set_style(button,uinfo->style_dark_grey);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(ToggleVol),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Toggle Volume Control"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Toggle Volume Control"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
@@ -1054,8 +1039,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_set_style(button,uinfo->style_dark_grey);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(ToggleTrackEdit),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Toggle disc editor"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Toggle disc editor"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
@@ -1064,8 +1049,8 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_set_style(button,uinfo->style_dark_grey);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(DiscDBToggle),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Initiate/abort DiscDB lookup"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Initiate/abort DiscDB lookup"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
}
@@ -1074,15 +1059,15 @@ GtkWidget *MakeControls(GripInfo *ginfo)
gtk_widget_set_style(button,uinfo->style_dark_grey);
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(MinMax),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Toggle track display"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Toggle track display"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
gtk_widget_show(button);
button=ImageButton(GTK_WIDGET(uinfo->app),uinfo->quit_image);
gtk_widget_set_style(button,uinfo->style_dark_grey);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Exit Grip"),NULL);
+ gtk_widget_set_tooltip_text(button,
+ _("Exit Grip"));
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0);
g_signal_connect(G_OBJECT(button),"clicked",
@@ -1121,15 +1106,13 @@ void MinMax(GtkWidget *widget,gpointer data)
uinfo=&(ginfo->gui_info);
if(uinfo->minimized) {
- gtk_container_border_width(GTK_CONTAINER(uinfo->winbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(uinfo->winbox),3);
gtk_box_set_child_packing(GTK_BOX(uinfo->winbox),
uinfo->controls,FALSE,FALSE,0,GTK_PACK_START);
gtk_widget_show(uinfo->notebook);
- CopyPixmap(GTK_PIXMAP(uinfo->lcd_smile_indicator),
- GTK_PIXMAP(uinfo->smile_indicator));
- CopyPixmap(GTK_PIXMAP(uinfo->empty_image),
- GTK_PIXMAP(uinfo->lcd_smile_indicator));
+ gtk_image_set_from_pixbuf(GTK_IMAGE(uinfo->smile_indicator), uinfo->smile_pix[ginfo->rip_smile_level]);
+ gtk_image_set_from_pixbuf(GTK_IMAGE(uinfo->lcd_smile_indicator), uinfo->empty_image);
gtk_widget_set_size_request(GTK_WIDGET(uinfo->app),
WINWIDTH,WINHEIGHT);
@@ -1139,14 +1122,14 @@ void MinMax(GtkWidget *widget,gpointer data)
uinfo->win_height);
}
else {
- gtk_container_border_width(GTK_CONTAINER(uinfo->winbox),0);
+ gtk_container_set_border_width(GTK_CONTAINER(uinfo->winbox),0);
gtk_box_set_child_packing(GTK_BOX(uinfo->winbox),uinfo->controls,
TRUE,TRUE,0,GTK_PACK_START);
gtk_widget_hide(uinfo->notebook);
- CopyPixmap(GTK_PIXMAP(uinfo->smile_indicator),
- GTK_PIXMAP(uinfo->lcd_smile_indicator));
+ gtk_image_set_from_pixbuf(GTK_IMAGE(uinfo->lcd_smile_indicator), uinfo->smile_pix[ginfo->rip_smile_level]);
+ gtk_image_set_from_pixbuf(GTK_IMAGE(uinfo->smile_indicator), uinfo->empty_image);
if(uinfo->track_edit_visible) ToggleTrackEdit(NULL,(gpointer)ginfo);
if(uinfo->volvis) ToggleVol(NULL,(gpointer)ginfo);
@@ -1236,7 +1219,7 @@ static void SetVolume(GtkWidget *widget,gpointer data)
ginfo=(GripInfo *)data;
ginfo->volume=vol.vol_front.left=vol.vol_front.right=
- vol.vol_back.left=vol.vol_back.right=GTK_ADJUSTMENT(widget)->value;
+ vol.vol_back.left=vol.vol_back.right=gtk_adjustment_get_value(GTK_ADJUSTMENT(widget));
CDSetVolume(&(ginfo->disc),&vol);
}
@@ -1702,11 +1685,11 @@ void UpdateDisplay(GripInfo *ginfo)
&uinfo->win_height);
if(old_width &&
- (old_width != uinfo->track_list->allocation.width)) {
+ (old_width != gtk_widget_get_allocated_width(uinfo->track_list))) {
ResizeTrackList(ginfo);
}
- old_width=uinfo->track_list->allocation.width;
+ old_width=gtk_widget_get_allocated_width(uinfo->track_list);
}
else {
gtk_window_get_size(GTK_WINDOW(uinfo->app),&uinfo->win_width_min,
@@ -1718,8 +1701,7 @@ void UpdateDisplay(GripInfo *ginfo)
discdb_counter++;
}
else
- CopyPixmap(GTK_PIXMAP(uinfo->discdb_pix[discdb_counter++%2]),
- GTK_PIXMAP(uinfo->discdb_indicator));
+ gtk_image_set_from_pixbuf(GTK_IMAGE(uinfo->discdb_indicator), uinfo->discdb_pix[discdb_counter++%2]);
if(!ginfo->update_required) {
if(ginfo->have_disc) {
@@ -1792,7 +1774,7 @@ void UpdateDisplay(GripInfo *ginfo)
}
g_snprintf(buf,80,_("Current sector: %6d"),frames);
- gtk_label_set(GTK_LABEL(uinfo->play_sector_label),buf);
+ gtk_label_set_text(GTK_LABEL(uinfo->play_sector_label),buf);
if(uinfo->time_display_mode == TIME_MODE_LEFT_TRACK ||
uinfo->time_display_mode == TIME_MODE_LEFT_DISC)
@@ -1814,7 +1796,7 @@ void UpdateDisplay(GripInfo *ginfo)
frames=secs=mins=0;
g_snprintf(buf,80,_("Current sector: %6d"),frames);
- gtk_label_set(GTK_LABEL(uinfo->play_sector_label),buf);
+ gtk_label_set_text(GTK_LABEL(uinfo->play_sector_label),buf);
strcpy(buf,"00:00");
@@ -1824,10 +1806,10 @@ void UpdateDisplay(GripInfo *ginfo)
else return;
}
- gtk_label_set(GTK_LABEL(uinfo->play_time_label),buf);
+ gtk_label_set_text(GTK_LABEL(uinfo->play_time_label),buf);
g_snprintf(icon_buf,sizeof(icon_buf),"%02d %s %s",
disc->curr_track,buf,PACKAGE);
- gdk_window_set_icon_name(uinfo->app->window,icon_buf);
+ // FIXME gdk_window_set_icon_name(GDK_WINDOW(uinfo->app),icon_buf);
}
}
@@ -1842,11 +1824,10 @@ void UpdateDisplay(GripInfo *ginfo)
g_snprintf(icon_buf, sizeof(icon_buf),"%02d %s %s",
disc->curr_track,buf,PACKAGE);
- gtk_label_set(GTK_LABEL(uinfo->play_time_label),buf);
+ gtk_label_set_text(GTK_LABEL(uinfo->play_time_label),buf);
if(!ginfo->looking_up) {
- CopyPixmap(GTK_PIXMAP(uinfo->empty_image),
- GTK_PIXMAP(uinfo->discdb_indicator));
+ gtk_image_set_from_pixbuf(GTK_IMAGE(uinfo->discdb_indicator), uinfo->empty_image);
if(ginfo->auto_rip&&ginfo->is_new_disc) {
ClickColumn(NULL,ginfo);
@@ -1862,13 +1843,13 @@ void UpdateDisplay(GripInfo *ginfo)
SelectRow(ginfo,disc->curr_track-1);
}
else {
- gtk_label_set(GTK_LABEL(uinfo->play_time_label),"--:--");
+ gtk_label_set_text(GTK_LABEL(uinfo->play_time_label),"--:--");
strncpy(icon_buf,PACKAGE,sizeof(icon_buf));
SetCurrentTrack(ginfo,-1);
}
- if(uinfo->app->window)
- gdk_window_set_icon_name(uinfo->app->window,icon_buf);
+ /* FIXME if(GDK_WINDOW(uinfo->app))
+ gdk_window_set_icon_name(GDK_WINDOW(uinfo->app),icon_buf); */
}
}
diff --git a/src/common.h b/src/common.h
index 5f2ea44..36f8a60 100644
--- a/src/common.h
+++ b/src/common.h
@@ -27,14 +27,11 @@
void Debug(char *fmt,...);
/* Routines from uihelper.c */
-GtkTooltips *MakeToolTip(void);
GdkColor *MakeColor(int red,int green,int blue);
GtkStyle *MakeStyle(GdkColor *fg,GdkColor *bg,gboolean do_grade);
GtkWidget *BuildMenuItemXpm(GtkWidget *xpm, gchar *text);
GtkWidget *BuildMenuItem(gchar *impath, gchar *text, gboolean stock);
-GtkWidget *NewBlankPixmap(GtkWidget *widget);
-GtkWidget *ImageButton(GtkWidget *widget,GtkWidget *image);
-GtkWidget *Loadxpm(GtkWidget *widget,char **xpm);
-void CopyPixmap(GtkPixmap *src,GtkPixmap *dest);
-gint SizeInDubs(GdkFont *font,gint numchars);
+GdkPixbuf *NewBlankPixmap(GtkWidget *widget);
+GtkWidget *ImageButton(GtkWidget *widget,GdkPixbuf *image);
+GdkPixbuf *Loadxpm(GtkWidget *widget,char **xpm);
void UpdateGTK(void);
diff --git a/src/dialog.c b/src/dialog.c
index b16a9d3..9ddc655 100644
--- a/src/dialog.c
+++ b/src/dialog.c
@@ -70,9 +70,9 @@ gint ConfirmDialog(GtkWindow *parent, char *msg)
return (result == GTK_RESPONSE_OK) ? 0 : 1;
}
-void BoolDialog(char *question,char *yes,GtkSignalFunc yesfunc,
+void BoolDialog(char *question,char *yes,GCallback yesfunc,
gpointer yesdata,
- char *no,GtkSignalFunc nofunc,gpointer nodata)
+ char *no,GCallback nofunc,gpointer nodata)
{
GtkWidget *dialog;
GtkWidget *label;
@@ -82,32 +82,32 @@ void BoolDialog(char *question,char *yes,GtkSignalFunc yesfunc,
dialog=gtk_dialog_new();
gtk_window_set_title(GTK_WINDOW(dialog),_("System Message"));
- gtk_container_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),5);
+ gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),5);
label=gtk_label_new(question);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),label,TRUE,TRUE,0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),label,TRUE,TRUE,0);
gtk_widget_show(label);
yesbutton=gtk_button_new_with_label(yes);
if(yesfunc)
- gtk_signal_connect(GTK_OBJECT(yesbutton),"clicked",
+ g_signal_connect(G_OBJECT(yesbutton),"clicked",
yesfunc,yesdata);
- gtk_signal_connect_object(GTK_OBJECT(yesbutton),"clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),yesbutton,
+ g_signal_connect_swapped(G_OBJECT(yesbutton),"clicked",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(dialog))),yesbutton,
TRUE,TRUE,0);
gtk_widget_show(yesbutton);
if(no) {
nobutton=gtk_button_new_with_label(no);
if(nofunc)
- gtk_signal_connect(GTK_OBJECT(nobutton),"clicked",
+ g_signal_connect(G_OBJECT(nobutton),"clicked",
nofunc,nodata);
- gtk_signal_connect_object(GTK_OBJECT(nobutton),"clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),nobutton,
+ g_signal_connect_swapped(G_OBJECT(nobutton),"clicked",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(dialog))),nobutton,
TRUE,TRUE,0);
gtk_widget_show(nobutton);
}
@@ -119,8 +119,8 @@ void BoolDialog(char *question,char *yes,GtkSignalFunc yesfunc,
void InputDialog(char *prompt,char *default_str,int len,char *doit,
- GtkSignalFunc doitfunc,
- char *cancel,GtkSignalFunc cancelfunc)
+ GCallback doitfunc,
+ char *cancel,GCallback cancelfunc)
{
GtkWidget *dialog;
GtkWidget *label;
@@ -130,37 +130,38 @@ void InputDialog(char *prompt,char *default_str,int len,char *doit,
dialog=gtk_dialog_new();
- gtk_container_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),5);
+ gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),5);
label=gtk_label_new(prompt);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),label,TRUE,TRUE,0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),label,TRUE,TRUE,0);
gtk_widget_show(label);
- entry=gtk_entry_new_with_max_length(len);
+ entry=gtk_entry_new();
+ gtk_entry_set_max_length(GTK_ENTRY(entry),len);
if(default_str) gtk_entry_set_text(GTK_ENTRY(entry),default_str);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),entry,TRUE,TRUE,0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),entry,TRUE,TRUE,0);
gtk_widget_show(entry);
doitbutton=gtk_button_new_with_label(doit);
if(doitfunc)
- gtk_signal_connect(GTK_OBJECT(doitbutton),"clicked",
+ g_signal_connect(G_OBJECT(doitbutton),"clicked",
doitfunc,(gpointer)entry);
- gtk_signal_connect_object(GTK_OBJECT(doitbutton),"clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),doitbutton,
+ g_signal_connect_swapped(G_OBJECT(doitbutton),"clicked",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(dialog))),doitbutton,
TRUE,TRUE,0);
gtk_widget_show(doitbutton);
if(cancel) {
cancelbutton=gtk_button_new_with_label(cancel);
if(cancelfunc)
- gtk_signal_connect(GTK_OBJECT(cancelbutton),"clicked",
+ g_signal_connect(G_OBJECT(cancelbutton),"clicked",
cancelfunc,NULL);
- gtk_signal_connect_object(GTK_OBJECT(cancelbutton),"clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),cancelbutton,
+ g_signal_connect_swapped(G_OBJECT(cancelbutton),"clicked",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(dialog))),cancelbutton,
TRUE,TRUE,0);
gtk_widget_show(cancelbutton);
}
@@ -189,18 +190,19 @@ GtkWidget *MakeStrEntry(GtkWidget **entry,char *var,char *name,
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
gtk_widget_show(label);
- widget=gtk_entry_new_with_max_length(len);
- gtk_entry_set_editable(GTK_ENTRY(widget),editable);
+ widget=gtk_entry_new();
+ gtk_entry_set_max_length(GTK_ENTRY(widget),len);
+ gtk_editable_set_editable(GTK_EDITABLE(GTK_ENTRY(widget)),editable);
if(var) {
gtk_entry_set_text(GTK_ENTRY(widget),var);
- gtk_signal_connect(GTK_OBJECT(widget),"changed",
- GTK_SIGNAL_FUNC(ChangeStrVal),(gpointer)var);
+ g_signal_connect(G_OBJECT(widget),"changed",
+ G_CALLBACK(ChangeStrVal),(gpointer)var);
}
gtk_box_pack_start(GTK_BOX(hbox),widget,TRUE,TRUE,0);
- gtk_entry_set_position(GTK_ENTRY(widget),0);
+ gtk_editable_set_position(GTK_EDITABLE(GTK_ENTRY(widget)),0);
gtk_widget_show(widget);
@@ -233,8 +235,8 @@ GtkWidget *MakeNumEntry(GtkWidget **entry,int *var,char *name,int len)
if(var) {
sprintf(buf,"%d",*var);
gtk_entry_set_text(GTK_ENTRY(widget),buf);
- gtk_signal_connect(GTK_OBJECT(widget),"changed",
- GTK_SIGNAL_FUNC(ChangeIntVal),(gpointer)var);
+ g_signal_connect(G_OBJECT(widget),"changed",
+ G_CALLBACK(ChangeIntVal),(gpointer)var);
}
gtk_box_pack_end(GTK_BOX(hbox),widget,FALSE,FALSE,0);
@@ -247,7 +249,7 @@ GtkWidget *MakeNumEntry(GtkWidget **entry,int *var,char *name,int len)
void ChangeDoubleVal(GtkWidget *widget,gpointer data)
{
- *((gdouble *)data)=gtk_spin_button_get_value_as_float
+ *((gdouble *)data)=gtk_spin_button_get_value
(GTK_SPIN_BUTTON(widget));
}
@@ -256,7 +258,7 @@ GtkWidget *MakeDoubleEntry(GtkWidget **entry,gdouble *var,char *name)
GtkWidget *widget;
GtkWidget *label;
GtkWidget *hbox;
- GtkObject *adj;
+ GtkAdjustment *adj;
hbox=gtk_hbox_new(FALSE,5);
@@ -266,12 +268,12 @@ GtkWidget *MakeDoubleEntry(GtkWidget **entry,gdouble *var,char *name)
adj=gtk_adjustment_new(0,0,1.0,0.001,0.1,0);
- widget=gtk_spin_button_new(GTK_ADJUSTMENT(adj),0.1,3);
+ widget=gtk_spin_button_new(adj,0.1,3);
if(var) {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget),*var);
- gtk_signal_connect(GTK_OBJECT(widget),"changed",
- GTK_SIGNAL_FUNC(ChangeDoubleVal),(gpointer)var);
+ g_signal_connect(G_OBJECT(widget),"changed",
+ G_CALLBACK(ChangeDoubleVal),(gpointer)var);
}
gtk_box_pack_end(GTK_BOX(hbox),widget,FALSE,FALSE,0);
@@ -296,8 +298,8 @@ GtkWidget *MakeCheckButton(GtkWidget **button,gboolean *var,char *name)
if(var) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget),
*var);
- gtk_signal_connect(GTK_OBJECT(widget),"clicked",
- GTK_SIGNAL_FUNC(ChangeBoolVal),
+ g_signal_connect(G_OBJECT(widget),"clicked",
+ G_CALLBACK(ChangeBoolVal),
(gpointer)var);
}
diff --git a/src/dialog.h b/src/dialog.h
index 1f4c2d1..310acad 100644
--- a/src/dialog.h
+++ b/src/dialog.h
@@ -26,14 +26,14 @@
/* Message routines */
void DisplayMsg(GtkMessageType type, GtkWindow *parent, char *msg);
gint ConfirmDialog(GtkWindow *parent, char *msg);
-void BoolDialog(char *question,char *yes,GtkSignalFunc yesfunc,
+void BoolDialog(char *question,char *yes,GCallback yesfunc,
gpointer yesdata,
- char *no,GtkSignalFunc nofunc,gpointer nodata);
+ char *no,GCallback nofunc,gpointer nodata);
/* Input routines */
void InputDialog(char *prompt,char *default_str,int len,char *doit,
- GtkSignalFunc doitfunc,
- char *cancel,GtkSignalFunc cancelfunc);
+ GCallback doitfunc,
+ char *cancel,GCallback cancelfunc);
void ChangeStrVal(GtkWidget *widget,gpointer data);
GtkWidget *MakeStrEntry(GtkWidget **entry,char *var,char *name,
int len,gboolean editable);
diff --git a/src/discedit.c b/src/discedit.c
index 35b1972..6ed4bb1 100644
--- a/src/discedit.c
+++ b/src/discedit.c
@@ -46,10 +46,9 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
GtkWidget *button;
GtkWidget *label;
GtkWidget *frame;
- GtkWidget *item;
GtkWidget *check;
GtkWidget *entry;
- GtkObject *adj;
+ GtkAdjustment *adj;
ID3Genre *id3_genre;
gint id3_genre_count;
int i;
@@ -98,15 +97,16 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
g_object_unref(layout);
- gtk_widget_set_usize(label,len,0);
+ gtk_widget_set_size_request(label,len,0);
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
gtk_widget_show(label);
- uinfo->title_edit_entry=gtk_entry_new_with_max_length(256);
- gtk_signal_connect(GTK_OBJECT(uinfo->title_edit_entry),"changed",
- GTK_SIGNAL_FUNC(TitleEditChanged),(gpointer)ginfo);
- gtk_entry_set_position(GTK_ENTRY(uinfo->title_edit_entry),0);
+ uinfo->title_edit_entry=gtk_entry_new();
+ gtk_entry_set_max_length(GTK_ENTRY(uinfo->title_edit_entry),256);
+ g_signal_connect(G_OBJECT(uinfo->title_edit_entry),"changed",
+ G_CALLBACK(TitleEditChanged),(gpointer)ginfo);
+ gtk_editable_set_position(GTK_EDITABLE(GTK_ENTRY(uinfo->title_edit_entry)),0);
gtk_box_pack_start(GTK_BOX(hbox),uinfo->title_edit_entry,TRUE,TRUE,0);
gtk_widget_show(uinfo->title_edit_entry);
@@ -116,14 +116,15 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
hbox=gtk_hbox_new(FALSE,3);
label=gtk_label_new(labels[1]);
- gtk_widget_set_usize(label,len,0);
+ gtk_widget_set_size_request(label,len,0);
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
gtk_widget_show(label);
- uinfo->artist_edit_entry=gtk_entry_new_with_max_length(256);
- gtk_signal_connect(GTK_OBJECT(uinfo->artist_edit_entry),"changed",
- GTK_SIGNAL_FUNC(ArtistEditChanged),(gpointer)ginfo);
- gtk_entry_set_position(GTK_ENTRY(uinfo->artist_edit_entry),0);
+ uinfo->artist_edit_entry=gtk_entry_new();
+ gtk_entry_set_max_length(GTK_ENTRY(uinfo->artist_edit_entry),256);
+ g_signal_connect(G_OBJECT(uinfo->artist_edit_entry),"changed",
+ G_CALLBACK(ArtistEditChanged),(gpointer)ginfo);
+ gtk_editable_set_position(GTK_EDITABLE(GTK_ENTRY(uinfo->artist_edit_entry)),0);
gtk_box_pack_start(GTK_BOX(hbox),uinfo->artist_edit_entry,TRUE,TRUE,0);
gtk_widget_show(uinfo->artist_edit_entry);
@@ -133,24 +134,18 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
hbox=gtk_hbox_new(FALSE,3);
label=gtk_label_new(labels[2]);
- gtk_widget_set_usize(label,len,0);
+ gtk_widget_set_size_request(label,len,0);
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
gtk_widget_show(label);
- uinfo->id3_genre_combo=gtk_combo_new();
+ uinfo->id3_genre_combo=gtk_combo_box_text_new();
+ g_signal_connect(G_OBJECT(uinfo->id3_genre_combo),"changed",
+ G_CALLBACK(ID3GenreChanged),
+ (gpointer)ginfo);
for(id3_genre_count=0;(id3_genre=ID3GenreByNum(id3_genre_count));
id3_genre_count++) {
- item = gtk_list_item_new_with_label(id3_genre->name);
- gtk_object_set_user_data(GTK_OBJECT(item),
- GINT_TO_POINTER(id3_genre->num));
- uinfo->id3_genre_item_list=g_list_append(uinfo->id3_genre_item_list,item);
- gtk_signal_connect(GTK_OBJECT(item),"select",
- GTK_SIGNAL_FUNC(ID3GenreChanged),
- (gpointer)ginfo);
- gtk_container_add(GTK_CONTAINER(GTK_COMBO(uinfo->id3_genre_combo)->list),
- item);
- gtk_widget_show(item);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(uinfo->id3_genre_combo), id3_genre->name);
}
gtk_box_pack_start(GTK_BOX(hbox),uinfo->id3_genre_combo,TRUE,TRUE,0);
@@ -164,15 +159,15 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
hbox=gtk_hbox_new(FALSE,3);
label=gtk_label_new(labels[3]);
- gtk_widget_set_usize(label,len,0);
+ gtk_widget_set_size_request(label,len,0);
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
gtk_widget_show(label);
adj=gtk_adjustment_new(0,0,9999,1.0,5.0,0);
- uinfo->year_spin_button=gtk_spin_button_new(GTK_ADJUSTMENT(adj),0.5,0);
- gtk_signal_connect(GTK_OBJECT(uinfo->year_spin_button),"value_changed",
- GTK_SIGNAL_FUNC(YearEditChanged),(gpointer)ginfo);
+ uinfo->year_spin_button=gtk_spin_button_new(adj,0.5,0);
+ g_signal_connect(G_OBJECT(uinfo->year_spin_button),"value_changed",
+ G_CALLBACK(YearEditChanged),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(hbox),uinfo->year_spin_button,TRUE,TRUE,0);
gtk_widget_show(uinfo->year_spin_button);
@@ -182,15 +177,16 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
hbox=gtk_hbox_new(FALSE,3);
label=gtk_label_new(labels[4]);
- gtk_widget_set_usize(label,len,0);
+ gtk_widget_set_size_request(label,len,0);
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
gtk_widget_show(label);
- uinfo->track_edit_entry=gtk_entry_new_with_max_length(256);
- gtk_signal_connect(GTK_OBJECT(uinfo->track_edit_entry),"changed",
- GTK_SIGNAL_FUNC(TrackEditChanged),(gpointer)ginfo);
- gtk_signal_connect(GTK_OBJECT(uinfo->track_edit_entry),"activate",
- GTK_SIGNAL_FUNC(EditNextTrack),(gpointer)ginfo);
+ uinfo->track_edit_entry=gtk_entry_new();
+ gtk_entry_set_max_length(GTK_ENTRY(uinfo->track_edit_entry),256);
+ g_signal_connect(G_OBJECT(uinfo->track_edit_entry),"changed",
+ G_CALLBACK(TrackEditChanged),(gpointer)ginfo);
+ g_signal_connect(G_OBJECT(uinfo->track_edit_entry),"activate",
+ G_CALLBACK(EditNextTrack),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(hbox),uinfo->track_edit_entry,TRUE,TRUE,0);
gtk_widget_show(uinfo->track_edit_entry);
@@ -202,13 +198,14 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
hbox=gtk_hbox_new(FALSE,3);
label=gtk_label_new(labels[5]);
- gtk_widget_set_usize(label,len,0);
+ gtk_widget_set_size_request(label,len,0);
gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);
gtk_widget_show(label);
- uinfo->track_artist_edit_entry=gtk_entry_new_with_max_length(256);
- gtk_signal_connect(GTK_OBJECT(uinfo->track_artist_edit_entry),"changed",
- GTK_SIGNAL_FUNC(TrackEditChanged),(gpointer)ginfo);
+ uinfo->track_artist_edit_entry=gtk_entry_new();
+ gtk_entry_set_max_length(GTK_ENTRY(uinfo->track_artist_edit_entry),256);
+ g_signal_connect(G_OBJECT(uinfo->track_artist_edit_entry),"changed",
+ G_CALLBACK(TrackEditChanged),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(hbox),uinfo->track_artist_edit_entry,
TRUE,TRUE,0);
gtk_widget_show(uinfo->track_artist_edit_entry);
@@ -223,23 +220,23 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
gtk_widget_show(label);
button=gtk_button_new_with_label(_("Title/Artist"));
- gtk_object_set_user_data(GTK_OBJECT(button),(gpointer)0);
- gtk_signal_connect(GTK_OBJECT(button),"clicked",
- GTK_SIGNAL_FUNC(SplitTitleArtist),(gpointer)ginfo);
+ g_object_set_data(G_OBJECT(button),"user_data",(gpointer)0);
+ g_signal_connect(G_OBJECT(button),"clicked",
+ G_CALLBACK(SplitTitleArtist),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(hbox),button,FALSE,FALSE,0);
gtk_widget_show(button);
button=gtk_button_new_with_label(_("Artist/Title"));
- gtk_object_set_user_data(GTK_OBJECT(button),(gpointer)1);
- gtk_signal_connect(GTK_OBJECT(button),"clicked",
- GTK_SIGNAL_FUNC(SplitTitleArtist),(gpointer)ginfo);
+ g_object_set_data(G_OBJECT(button),"user_data",(gpointer)1);
+ g_signal_connect(G_OBJECT(button),"clicked",
+ G_CALLBACK(SplitTitleArtist),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(hbox),button,FALSE,FALSE,0);
gtk_widget_show(button);
entry=MakeStrEntry(&uinfo->split_chars_entry,ginfo->title_split_chars,
_("Split chars"),5,TRUE);
- gtk_widget_set_usize(uinfo->split_chars_entry,
+ gtk_widget_set_size_request(uinfo->split_chars_entry,
5*dub_size,0);
@@ -260,26 +257,26 @@ GtkWidget *MakeEditBox(GripInfo *ginfo)
check=MakeCheckButton(&uinfo->multi_artist_button,
&(ginfo->ddata.data_multi_artist),
_("Multi-artist"));
- gtk_signal_connect(GTK_OBJECT(uinfo->multi_artist_button),"clicked",
- GTK_SIGNAL_FUNC(UpdateMultiArtist),(gpointer)ginfo);
+ g_signal_connect(G_OBJECT(uinfo->multi_artist_button),"clicked",
+ G_CALLBACK(UpdateMultiArtist),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(hbox),check,TRUE,TRUE,0);
gtk_widget_show(check);
button=ImageButton(GTK_WIDGET(uinfo->app),uinfo->save_image);
gtk_widget_set_style(button,uinfo->style_dark_grey);
- gtk_signal_connect(GTK_OBJECT(button),"clicked",
- GTK_SIGNAL_FUNC(SaveDiscInfo),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Save disc info"),NULL);
+ g_signal_connect(G_OBJECT(button),"clicked",
+ G_CALLBACK(SaveDiscInfo),(gpointer)ginfo);
+ gtk_widget_set_tooltip_text(button,
+ _("Save disc info"));
gtk_box_pack_start(GTK_BOX(hbox),button,FALSE,FALSE,0);
gtk_widget_show(button);
button=ImageButton(GTK_WIDGET(uinfo->app),uinfo->mail_image);
gtk_widget_set_style(button,uinfo->style_dark_grey);
- gtk_signal_connect(GTK_OBJECT(button),"clicked",
- GTK_SIGNAL_FUNC(SubmitEntryCB),(gpointer)ginfo);
- gtk_tooltips_set_tip(MakeToolTip(),button,
- _("Submit disc info"),NULL);
+ g_signal_connect(G_OBJECT(button),"clicked",
+ G_CALLBACK(SubmitEntryCB),(gpointer)ginfo);
+ gtk_widget_set_tooltip_text(button,
+ _("Submit disc info"));
gtk_box_pack_start(GTK_BOX(hbox),button,FALSE,FALSE,0);
gtk_widget_show(button);
@@ -344,10 +341,10 @@ void SetTitle(GripInfo *ginfo,char *title)
TitleEditChanged,(gpointer)ginfo);
gtk_entry_set_text(GTK_ENTRY(ginfo->gui_info.title_edit_entry),title);
- gtk_entry_set_position(GTK_ENTRY(ginfo->gui_info.title_edit_entry),0);
+ gtk_editable_set_position(GTK_EDITABLE(GTK_ENTRY(ginfo->gui_info.title_edit_entry)),0);
strcpy(ginfo->ddata.data_title,title);
- gtk_label_set(GTK_LABEL(ginfo->gui_info.disc_name_label),title);
+ gtk_label_set_text(GTK_LABEL(ginfo->gui_info.disc_name_label),title);
g_signal_handlers_unblock_by_func(G_OBJECT(ginfo->gui_info.title_edit_entry),
TitleEditChanged,(gpointer)ginfo);
@@ -359,10 +356,10 @@ void SetArtist(GripInfo *ginfo,char *artist)
ArtistEditChanged,(gpointer)ginfo);
gtk_entry_set_text(GTK_ENTRY(ginfo->gui_info.artist_edit_entry),artist);
- gtk_entry_set_position(GTK_ENTRY(ginfo->gui_info.artist_edit_entry),0);
+ gtk_editable_set_position(GTK_EDITABLE(GTK_ENTRY(ginfo->gui_info.artist_edit_entry)),0);
strcpy(ginfo->ddata.data_artist,artist);
- gtk_label_set(GTK_LABEL(ginfo->gui_info.disc_artist_label),artist);
+ gtk_label_set_text(GTK_LABEL(ginfo->gui_info.disc_artist_label),artist);
g_signal_handlers_unblock_by_func(G_OBJECT(ginfo->gui_info.artist_edit_entry),
ArtistEditChanged,(gpointer)ginfo);
@@ -376,13 +373,7 @@ void SetYear(GripInfo *ginfo,int year)
void SetID3Genre(GripInfo *ginfo,int id3_genre)
{
- GtkWidget *item;
-
- item=
- GTK_WIDGET(g_list_nth(ginfo->gui_info.id3_genre_item_list,
- ID3GenrePos(id3_genre))->data);
- gtk_list_select_child(GTK_LIST(GTK_COMBO(ginfo->gui_info.id3_genre_combo)->
- list),item);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(ginfo->gui_info.id3_genre_combo), id3_genre);
}
static void SaveDiscInfo(GtkWidget *widget,gpointer data)
@@ -410,7 +401,7 @@ static void TitleEditChanged(GtkWidget *widget,gpointer data)
strcpy(ginfo->ddata.data_title,
gtk_entry_get_text(GTK_ENTRY(ginfo->gui_info.title_edit_entry)));
- gtk_label_set(GTK_LABEL(ginfo->gui_info.disc_name_label),
+ gtk_label_set_text(GTK_LABEL(ginfo->gui_info.disc_name_label),
ginfo->ddata.data_title);
}
@@ -423,7 +414,7 @@ static void ArtistEditChanged(GtkWidget *widget,gpointer data)
strcpy(ginfo->ddata.data_artist,
gtk_entry_get_text(GTK_ENTRY(ginfo->gui_info.artist_edit_entry)));
- gtk_label_set(GTK_LABEL(ginfo->gui_info.disc_artist_label),
+ gtk_label_set_text(GTK_LABEL(ginfo->gui_info.disc_artist_label),
ginfo->ddata.data_artist);
}
@@ -489,7 +480,7 @@ static void ID3GenreChanged(GtkWidget *widget,gpointer data)
ginfo=(GripInfo *)data;
- ginfo->ddata.data_id3genre=GPOINTER_TO_INT(gtk_object_get_user_data(GTK_OBJECT(widget)));
+ ginfo->ddata.data_id3genre=gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
/* ginfo->ddata.data_genre=ID32DiscDB(ginfo->ddata.data_id3genre);*/
}
@@ -525,7 +516,7 @@ static void SplitTitleArtist(GtkWidget *widget,gpointer data)
int mode;
ginfo=(GripInfo *)data;
- mode=GPOINTER_TO_INT(gtk_object_get_user_data(GTK_OBJECT(widget)));
+ mode=GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "user_data"));
for(track=0;track<ginfo->disc.num_tracks;track++) {
if(mode==0)
@@ -605,21 +596,22 @@ static void GetDiscDBGenre(GripInfo *ginfo)
GtkWidget *cancel_button;
GtkWidget *hbox;
GtkWidget *genre_combo;
- GtkWidget *item;
int genre;
dialog=gtk_dialog_new();
gtk_window_set_title(GTK_WINDOW(dialog),_("Genre selection"));
- gtk_container_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),5);
+ gtk_container_set_border_width(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),5);
label=gtk_label_new(_("Submission requires a genre other than 'unknown'\n"
"Please select a DiscDB genre below"));
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),label,TRUE,TRUE,0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),label,TRUE,TRUE,0);
gtk_widget_show(label);
- genre_combo=gtk_combo_new();
- gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(genre_combo)->entry),FALSE);
+ genre_combo=gtk_combo_box_text_new();
+ // FIXME gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO_BOX(genre_combo)->entry),FALSE);
+ g_signal_connect(G_OBJECT(genre_combo), "changed",
+ G_CALLBACK(DiscDBGenreChanged),(gpointer)ginfo);
hbox=gtk_hbox_new(FALSE,3);
@@ -628,38 +620,32 @@ static void GetDiscDBGenre(GripInfo *ginfo)
gtk_widget_show(label);
for(genre=0;genre<12;genre++) {
- item=gtk_list_item_new_with_label(DiscDBGenre(genre));
- gtk_object_set_user_data(GTK_OBJECT(item),
- GINT_TO_POINTER(genre));
- gtk_signal_connect(GTK_OBJECT(item), "select",
- GTK_SIGNAL_FUNC(DiscDBGenreChanged),(gpointer)ginfo);
- gtk_container_add(GTK_CONTAINER(GTK_COMBO(genre_combo)->list),item);
- gtk_widget_show(item);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(genre_combo), DiscDBGenre(genre));
}
gtk_box_pack_start(GTK_BOX(hbox),genre_combo,TRUE,TRUE,0);
gtk_widget_show(genre_combo);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),hbox,TRUE,TRUE,0);
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),hbox,TRUE,TRUE,0);
gtk_widget_show(hbox);
submit_button=gtk_button_new_with_label(_("Submit"));
- gtk_signal_connect(GTK_OBJECT(submit_button),"clicked",
+ g_signal_connect(G_OBJECT(submit_button),"clicked",
(gpointer)SubmitEntryCB,(gpointer)ginfo);
- gtk_signal_connect_object(GTK_OBJECT(submit_button),"clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),submit_button,
+ g_signal_connect_swapped(G_OBJECT(submit_button),"clicked",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(dialog))),submit_button,
TRUE,TRUE,0);
gtk_widget_show(submit_button);
cancel_button=gtk_button_new_with_label(_("Cancel"));
- gtk_signal_connect_object(GTK_OBJECT(cancel_button),"clicked",
- GTK_SIGNAL_FUNC(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),cancel_button,
+ g_signal_connect_swapped(G_OBJECT(cancel_button),"clicked",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_action_area(GTK_DIALOG(dialog))),cancel_button,
TRUE,TRUE,0);
gtk_widget_show(cancel_button);
@@ -675,5 +661,5 @@ static void DiscDBGenreChanged(GtkWidget *widget,gpointer data)
ginfo=(GripInfo *)data;
- ginfo->ddata.data_genre=GPOINTER_TO_INT(gtk_object_get_user_data(GTK_OBJECT(widget)));
+ ginfo->ddata.data_genre=GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "user_data"));
}
diff --git a/src/grip.c b/src/grip.c
index 93083b8..12b7a01 100644
--- a/src/grip.c
+++ b/src/grip.c
@@ -29,7 +29,7 @@
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
-#include <gdk/gdkx.h> /* GDK_DISPLAY() */
+#include <gdk/gdkx.h> /* gdk_display */
#include "grip.h"
#include "discdb.h"
#include "cdplay.h"
@@ -190,7 +190,7 @@ GtkWidget *GripNew(char *device,char *scsi_device,
ginfo=g_new0(GripInfo,1);
- gtk_object_set_user_data(GTK_OBJECT(app),(gpointer)ginfo);
+ g_object_set_data(G_OBJECT(app),"user_data",(gpointer)ginfo);
uinfo=&(ginfo->gui_info);
uinfo->app=app;
@@ -227,7 +227,7 @@ GtkWidget *GripNew(char *device,char *scsi_device,
CDStat(&(ginfo->disc),TRUE);
- gtk_window_set_policy(GTK_WINDOW(app),FALSE,TRUE,FALSE);
+ // FIXME gtk_window_set_policy(GTK_WINDOW(app),FALSE,TRUE,FALSE);
gtk_window_set_wmclass(GTK_WINDOW(app),"grip","Grip");
g_signal_connect(G_OBJECT(app),"delete_event",
G_CALLBACK(GripDie),NULL);
@@ -257,7 +257,7 @@ GtkWidget *GripNew(char *device,char *scsi_device,
uinfo->winbox=gtk_vbox_new(FALSE,3);
if(!uinfo->minimized)
- gtk_container_border_width(GTK_CONTAINER(uinfo->winbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(uinfo->winbox),3);
uinfo->notebook=gtk_notebook_new();
@@ -319,7 +319,7 @@ void GripDie(GtkWidget *widget,gpointer data)
{
GripInfo *ginfo;
- ginfo=(GripInfo *)gtk_object_get_user_data(GTK_OBJECT(widget));
+ ginfo=(GripInfo *)g_object_get_data(G_OBJECT(widget), "user_data");
if(ginfo->ripping_a_disc || ginfo->encoding)
ReallyDie(ConfirmDialog ((GtkWindow *)ginfo->gui_info.app,
@@ -397,11 +397,11 @@ static void MakeHelpPage(GripInfo *ginfo)
help_page=MakeNewPage(ginfo->gui_info.notebook,_("Help"));
vbox=gtk_vbox_new(FALSE,0);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
button=gtk_button_new_with_label(_("Table Of Contents"));
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(DoHelp), NULL);
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(DoHelp), NULL);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
gtk_widget_show(button);
@@ -425,9 +425,9 @@ void MakeAboutPage(GripGUI *uinfo)
gtk_widget_set_style(ebox,uinfo->style_wb);
vbox=gtk_vbox_new(TRUE,5);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
- logo=Loadxpm(GTK_WIDGET(uinfo->app),grip_xpm);
+ logo=gtk_image_new_from_pixbuf(Loadxpm(GTK_WIDGET(uinfo->app),grip_xpm));
gtk_box_pack_start(GTK_BOX(vbox),logo,FALSE,FALSE,0);
gtk_widget_show(logo);
@@ -458,10 +458,10 @@ void MakeAboutPage(GripGUI *uinfo)
button=gtk_button_new_with_label(PACKAGE_BUGREPORT);
gtk_widget_set_style(button,uinfo->style_dark_grey);
- gtk_widget_set_style(GTK_BIN(button)->child,
+ gtk_widget_set_style(gtk_bin_get_child(GTK_BIN(button)),
uinfo->style_dark_grey);
- gtk_signal_connect(GTK_OBJECT(button),"clicked",
- GTK_SIGNAL_FUNC(Homepage),uinfo);
+ g_signal_connect(G_OBJECT(button),"clicked",
+ G_CALLBACK(Homepage),uinfo);
gtk_box_pack_start(GTK_BOX(hbox),button,FALSE,FALSE,0);
gtk_widget_show(button);
@@ -481,20 +481,20 @@ void MakeAboutPage(GripGUI *uinfo)
static void MakeStyles(GripGUI *uinfo)
{
- GdkColor gdkblack;
- GdkColor gdkwhite;
+ GdkColor *gdkblack;
+ GdkColor *gdkwhite;
GdkColor *color_LCD;
GdkColor *color_dark_grey;
- gdk_color_white(gdk_colormap_get_system(),&gdkwhite);
- gdk_color_black(gdk_colormap_get_system(),&gdkblack);
+ gdkwhite=MakeColor(65535,65535,65535);
+ gdkblack=MakeColor(0,0,0);
color_LCD=MakeColor(33686,38273,29557);
color_dark_grey=MakeColor(0x4444,0x4444,0x4444);
- uinfo->style_wb=MakeStyle(&gdkwhite,&gdkblack,FALSE);
+ uinfo->style_wb=MakeStyle(gdkwhite,gdkblack,FALSE);
uinfo->style_LCD=MakeStyle(color_LCD,color_LCD,FALSE);
- uinfo->style_dark_grey=MakeStyle(&gdkwhite,color_dark_grey,TRUE);
+ uinfo->style_dark_grey=MakeStyle(gdkwhite,color_dark_grey,TRUE);
}
static void Homepage(GtkWidget *widget,gpointer data)
@@ -512,8 +512,8 @@ static void LoadImages(GripGUI *uinfo)
uinfo->eject_image=Loadxpm(uinfo->app,eject_xpm);
uinfo->cdscan_image=Loadxpm(uinfo->app,cdscan_xpm);
uinfo->ff_image=Loadxpm(uinfo->app,ff_xpm);
- uinfo->lowleft_image=Loadxpm(uinfo->app,lowleft_xpm);
- uinfo->lowright_image=Loadxpm(uinfo->app,lowright_xpm);
+ uinfo->lowleft_image=gtk_image_new_from_pixbuf(Loadxpm(uinfo->app,lowleft_xpm));
+ uinfo->lowright_image=gtk_image_new_from_pixbuf(Loadxpm(uinfo->app,lowright_xpm));
uinfo->minmax_image=Loadxpm(uinfo->app,minmax_xpm);
uinfo->nexttrk_image=Loadxpm(uinfo->app,nexttrk_xpm);
uinfo->playpaus_image=Loadxpm(uinfo->app,playpaus_xpm);
@@ -526,8 +526,8 @@ static void LoadImages(GripGUI *uinfo)
uinfo->quit_image=Loadxpm(uinfo->app,quit_xpm);
uinfo->rew_image=Loadxpm(uinfo->app,rew_xpm);
uinfo->stop_image=Loadxpm(uinfo->app,stop_xpm);
- uinfo->upleft_image=Loadxpm(uinfo->app,upleft_xpm);
- uinfo->upright_image=Loadxpm(uinfo->app,upright_xpm);
+ uinfo->upleft_image=gtk_image_new_from_pixbuf(Loadxpm(uinfo->app,upleft_xpm));
+ uinfo->upright_image=gtk_image_new_from_pixbuf(Loadxpm(uinfo->app,upright_xpm));
uinfo->vol_image=Loadxpm(uinfo->app,vol_xpm);
uinfo->discdbwht_image=Loadxpm(uinfo->app,discdbwht_xpm);
uinfo->rotate_image=Loadxpm(uinfo->app,rotate_xpm);
@@ -536,7 +536,7 @@ static void LoadImages(GripGUI *uinfo)
uinfo->mail_image=Loadxpm(uinfo->app,mail_xpm);
uinfo->save_image=Loadxpm(uinfo->app,save_xpm);
- uinfo->empty_image=NewBlankPixmap(uinfo->app);
+ uinfo->empty_image=NewBlankPixmap(NULL);
uinfo->discdb_pix[0]=Loadxpm(uinfo->app,discdb0_xpm);
uinfo->discdb_pix[1]=Loadxpm(uinfo->app,discdb1_xpm);
@@ -570,7 +570,7 @@ void GripUpdate(GtkWidget *app)
GripInfo *ginfo;
time_t secs;
- ginfo=(GripInfo *)gtk_object_get_user_data(GTK_OBJECT(app));
+ ginfo=(GripInfo *)g_object_get_data(G_OBJECT(app), "user_data");
if(ginfo->ffwding) FastFwd(ginfo);
if(ginfo->rewinding) Rewind(ginfo);
@@ -597,14 +597,14 @@ void GripUpdate(GtkWidget *app)
void Busy(GripGUI *uinfo)
{
- gdk_window_set_cursor(uinfo->app->window,uinfo->wait_cursor);
+ // FIXME gdk_window_set_cursor(GDK_WINDOW(uinfo->app),uinfo->wait_cursor);
UpdateGTK();
}
void UnBusy(GripGUI *uinfo)
{
- gdk_window_set_cursor(uinfo->app->window,NULL);
+ // FIXME gdk_window_set_cursor(GDK_WINDOW(uinfo->app),NULL);
UpdateGTK();
}
@@ -708,8 +708,6 @@ static void DoLoadConfig(GripInfo *ginfo)
strcpy(ginfo->title_split_chars,"/");
- ginfo->curr_pipe_fd=-1;
-
ginfo->num_cpu=1;
ginfo->ripping=FALSE;
ginfo->ripping_a_disc=FALSE;
@@ -900,36 +898,3 @@ void DoSaveConfig(GripInfo *ginfo)
SaveRipperConfig(ginfo,ginfo->selected_ripper);
SaveEncoderConfig(ginfo,ginfo->selected_encoder);
}
-
-/* Shut down stuff (generally before an exec) */
-void CloseStuff(void *user_data)
-{
- GripInfo *ginfo;
- int fd;
-
- ginfo=(GripInfo *)user_data;
-
- close(ConnectionNumber(GDK_DISPLAY()));
- close(ginfo->disc.cd_desc);
-
- fd=open("/dev/null",O_RDWR);
- dup2(fd,0);
-
- if(ginfo->do_redirect) {
- if(ginfo->curr_pipe_fd>0) {
- dup2(ginfo->curr_pipe_fd,1);
- dup2(ginfo->curr_pipe_fd,2);
-
- ginfo->curr_pipe_fd=-1;
- }
- else {
- dup2(fd,1);
- dup2(fd,2);
- }
- }
-
- /* Close any other filehandles that might be around */
- for(fd=3;fd<NOFILE;fd++) {
- close(fd);
- }
-}
diff --git a/src/grip.h b/src/grip.h
index afc24a5..0f7955d 100644
--- a/src/grip.h
+++ b/src/grip.h
@@ -144,41 +144,41 @@ typedef struct _grip_gui {
GtkWidget *all_encprogbar;
/* Images */
- GtkWidget *check_image;
- GtkWidget *eject_image;
- GtkWidget *cdscan_image;
- GtkWidget *ff_image;
+ GdkPixbuf *check_image;
+ GdkPixbuf *eject_image;
+ GdkPixbuf *cdscan_image;
+ GdkPixbuf *ff_image;
GtkWidget *lowleft_image;
GtkWidget *lowright_image;
- GtkWidget *minmax_image;
- GtkWidget *nexttrk_image;
- GtkWidget *playpaus_image;
- GtkWidget *prevtrk_image;
- GtkWidget *loop_image;
- GtkWidget *noloop_image;
- GtkWidget *random_image;
- GtkWidget *playlist_image;
- GtkWidget *playnorm_image;
- GtkWidget *quit_image;
- GtkWidget *rew_image;
- GtkWidget *stop_image;
+ GdkPixbuf *minmax_image;
+ GdkPixbuf *nexttrk_image;
+ GdkPixbuf *playpaus_image;
+ GdkPixbuf *prevtrk_image;
+ GdkPixbuf *loop_image;
+ GdkPixbuf *noloop_image;
+ GdkPixbuf *random_image;
+ GdkPixbuf *playlist_image;
+ GdkPixbuf *playnorm_image;
+ GdkPixbuf *quit_image;
+ GdkPixbuf *rew_image;
+ GdkPixbuf *stop_image;
GtkWidget *upleft_image;
GtkWidget *upright_image;
- GtkWidget *vol_image;
- GtkWidget *discdbwht_image;
- GtkWidget *rotate_image;
- GtkWidget *edit_image;
- GtkWidget *progtrack_image;
- GtkWidget *mail_image;
- GtkWidget *save_image;
- GtkWidget *empty_image;
-
- GtkWidget *discdb_pix[2];
- GtkWidget *rip_pix[4];
- GtkWidget *mp3_pix[4];
- GtkWidget *smile_pix[8];
-
- GtkWidget *play_pix[3];
+ GdkPixbuf *vol_image;
+ GdkPixbuf *discdbwht_image;
+ GdkPixbuf *rotate_image;
+ GdkPixbuf *edit_image;
+ GdkPixbuf *progtrack_image;
+ GdkPixbuf *mail_image;
+ GdkPixbuf *save_image;
+ GdkPixbuf *empty_image;
+
+ GdkPixbuf *discdb_pix[2];
+ GdkPixbuf *rip_pix[4];
+ GdkPixbuf *mp3_pix[4];
+ GdkPixbuf *smile_pix[8];
+
+ GdkPixbuf *play_pix[3];
/* notification area widgets */
GtkStatusIcon *tray_icon;
@@ -246,8 +246,6 @@ typedef struct _grip_info {
GripGUI gui_info;
- int curr_pipe_fd;
-
int num_cpu;
gboolean ripping;
gboolean encoding;
@@ -360,7 +358,6 @@ void GripUpdate(GtkWidget *app);
GtkWidget *MakeNewPage(GtkWidget *notebook,char *name);
void Busy(GripGUI *uinfo);
void UnBusy(GripGUI *uinfo);
-void CloseStuff(void *user_data);
#endif /* ifndef GRIP_H */
diff --git a/src/gripcfg.c b/src/gripcfg.c
index ca61005..acd013a 100644
--- a/src/gripcfg.c
+++ b/src/gripcfg.c
@@ -84,8 +84,7 @@ void MakeConfigPage(GripInfo *ginfo)
GtkWidget *button;
GtkWidget *hsep;
GtkWidget *hbox;
- GtkWidget *menu,*optmenu;
- GtkWidget *item;
+ GtkWidget *menu;
MP3Encoder *enc;
Ripper *rip;
@@ -156,7 +155,7 @@ void MakeConfigPage(GripInfo *ginfo)
page2=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,4);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
hbox=gtk_hbox_new(FALSE,3);
@@ -164,24 +163,18 @@ void MakeConfigPage(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),label,TRUE,TRUE,0);
gtk_widget_show(label);
- menu=gtk_menu_new();
+ menu=gtk_combo_box_text_new();
+ g_signal_connect(G_OBJECT(menu),"changed",
+ G_CALLBACK(RipperSelected),(gpointer)ginfo);
rip=ripper_defaults;
while(*(rip->name)) {
- item=gtk_menu_item_new_with_label(rip->name);
- gtk_object_set_user_data(GTK_OBJECT(item),(gpointer)rip);
- gtk_signal_connect(GTK_OBJECT(item),"activate",
- GTK_SIGNAL_FUNC(RipperSelected),(gpointer)ginfo);
- gtk_menu_append(GTK_MENU(menu),item);
- gtk_widget_show(item);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(menu), rip->name);
rip++;
}
- /* Make sure the selected ripper is active */
- gtk_menu_set_active(GTK_MENU(menu),ginfo->selected_ripper);
-
#ifdef CDPAR
if(ginfo->selected_ripper==0) ginfo->using_builtin_cdp=TRUE;
else ginfo->using_builtin_cdp=FALSE;
@@ -189,11 +182,8 @@ void MakeConfigPage(GripInfo *ginfo)
ginfo->using_builtin_cdp=FALSE;
#endif
- optmenu=gtk_option_menu_new();
- gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu),menu);
+ gtk_box_pack_start(GTK_BOX(hbox),menu,TRUE,TRUE,0);
gtk_widget_show(menu);
- gtk_box_pack_start(GTK_BOX(hbox),optmenu,TRUE,TRUE,0);
- gtk_widget_show(optmenu);
gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
gtk_widget_show(hbox);
@@ -214,6 +204,9 @@ void MakeConfigPage(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(uinfo->rip_exe_box),entry,FALSE,FALSE,0);
gtk_widget_show(entry);
+ /* Make sure the selected ripper is active */
+ gtk_combo_box_set_active(GTK_COMBO_BOX(menu), ginfo->selected_ripper);
+
gtk_box_pack_start(GTK_BOX(vbox),uinfo->rip_exe_box,FALSE,FALSE,0);
if(!ginfo->using_builtin_cdp)
gtk_widget_show(uinfo->rip_exe_box);
@@ -280,7 +273,7 @@ void MakeConfigPage(GripInfo *ginfo)
page2=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,2);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
entry=MakeNumEntry(NULL,&ginfo->ripnice,_("Rip 'nice' value"),3);
gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,0);
@@ -363,7 +356,7 @@ void MakeConfigPage(GripInfo *ginfo)
page2=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,4);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
hbox=gtk_hbox_new(FALSE,3);
@@ -371,28 +364,20 @@ void MakeConfigPage(GripInfo *ginfo)
gtk_box_pack_start(GTK_BOX(hbox),label,TRUE,TRUE,0);
gtk_widget_show(label);
- menu=gtk_menu_new();
+ menu=gtk_combo_box_text_new();
+ g_signal_connect(G_OBJECT(menu),"changed",
+ G_CALLBACK(EncoderSelected),(gpointer)ginfo);
enc=encoder_defaults;
while(*(enc->name)) {
- item=gtk_menu_item_new_with_label(enc->name);
- gtk_object_set_user_data(GTK_OBJECT(item),(gpointer)enc);
- gtk_signal_connect(GTK_OBJECT(item),"activate",
- GTK_SIGNAL_FUNC(EncoderSelected),(gpointer)ginfo);
- gtk_menu_append(GTK_MENU(menu),item);
- gtk_widget_show(item);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(menu), enc->name);
enc++;
}
- gtk_menu_set_active(GTK_MENU(menu),ginfo->selected_encoder);
-
- optmenu=gtk_option_menu_new();
- gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu),menu);
+ gtk_box_pack_start(GTK_BOX(hbox),menu,TRUE,TRUE,0);
gtk_widget_show(menu);
- gtk_box_pack_start(GTK_BOX(hbox),optmenu,TRUE,TRUE,0);
- gtk_widget_show(optmenu);
gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
gtk_widget_show(hbox);
@@ -417,7 +402,9 @@ void MakeConfigPage(GripInfo *ginfo)
10,TRUE);
gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,0);
gtk_widget_show(entry);
-
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(menu), ginfo->selected_encoder);
+
entry=MakeStrEntry(NULL,ginfo->mp3fileformat,_("Encoder file format"),
255,TRUE);
gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,0);
@@ -439,7 +426,7 @@ void MakeConfigPage(GripInfo *ginfo)
page2=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,0);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
check=MakeCheckButton(NULL,&ginfo->delete_wavs,
_("Delete .wav after encoding"));
@@ -504,7 +491,7 @@ void MakeConfigPage(GripInfo *ginfo)
page=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,2);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
check=MakeCheckButton(NULL,&ginfo->doid3,_("Add ID3 tags to encoded files"));
gtk_box_pack_start(GTK_BOX(vbox),check,FALSE,FALSE,0);
@@ -548,14 +535,14 @@ void MakeConfigPage(GripInfo *ginfo)
page=gtk_frame_new(NULL);
dbvbox=gtk_vbox_new(FALSE,4);
- gtk_container_border_width(GTK_CONTAINER(dbvbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(dbvbox),3);
notebook=gtk_notebook_new();
page2=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,2);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
entry=MakeStrEntry(NULL,ginfo->dbserver.name,_("DB server"),255,TRUE);
gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,0);
@@ -575,7 +562,7 @@ void MakeConfigPage(GripInfo *ginfo)
page2=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,2);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
entry=MakeStrEntry(NULL,ginfo->dbserver2.name,_("DB server"),255,TRUE);
gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,0);
@@ -628,11 +615,11 @@ void MakeConfigPage(GripInfo *ginfo)
page=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,2);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
check=MakeCheckButton(&button,&ginfo->use_proxy,_("Use proxy server"));
- gtk_signal_connect(GTK_OBJECT(button),"clicked",
- GTK_SIGNAL_FUNC(UseProxyChanged),(gpointer)ginfo);
+ g_signal_connect(G_OBJECT(button),"clicked",
+ G_CALLBACK(UseProxyChanged),(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(vbox),check,FALSE,FALSE,0);
gtk_widget_show(check);
@@ -670,7 +657,7 @@ void MakeConfigPage(GripInfo *ginfo)
page=gtk_frame_new(NULL);
vbox=gtk_vbox_new(FALSE,2);
- gtk_container_border_width(GTK_CONTAINER(vbox),3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox),3);
entry=MakeStrEntry(NULL,ginfo->user_email,_("Email address"),255,TRUE);
gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,0);
@@ -739,7 +726,7 @@ static void RipperSelected(GtkWidget *widget,gpointer data)
ginfo=(GripInfo *)data;
uinfo=&(ginfo->gui_info);
- rip=(Ripper *)gtk_object_get_user_data(GTK_OBJECT(widget));
+ rip=&ripper_defaults[gtk_combo_box_get_active(GTK_COMBO_BOX(widget))];
SaveRipperConfig(ginfo,ginfo->selected_ripper);
@@ -836,7 +823,7 @@ static void EncoderSelected(GtkWidget *widget,gpointer data)
ginfo=(GripInfo *)data;
uinfo=&(ginfo->gui_info);
- enc=(MP3Encoder *)gtk_object_get_user_data(GTK_OBJECT(widget));
+ enc=&encoder_defaults[gtk_combo_box_get_active(GTK_COMBO_BOX(widget))];
SaveEncoderConfig(ginfo,ginfo->selected_encoder);
diff --git a/src/main.c b/src/main.c
index 99a9136..e530153 100644
--- a/src/main.c
+++ b/src/main.c
@@ -145,7 +145,7 @@ int Cmain(int argc, char* argv[])
setvbuf(stdout, 0, _IONBF, 0);
/* setup locale, i18n */
- gtk_set_locale();
+ setlocale (LC_ALL,"");
bindtextdomain(GETTEXT_PACKAGE,GNOMELOCALEDIR);
textdomain(GETTEXT_PACKAGE);
@@ -170,7 +170,7 @@ int Cmain(int argc, char* argv[])
gtk_widget_show(grip_app);
- gtk_timeout_add(1000,TimeOut,0);
+ g_timeout_add(1000,TimeOut,0);
gtk_main();
diff --git a/src/rip.c b/src/rip.c
index 87d935a..2e57dea 100644
--- a/src/rip.c
+++ b/src/rip.c
@@ -96,52 +96,51 @@ void MakeRipPage(GripInfo *ginfo)
rippage = MakeNewPage(uinfo->notebook, _("Rip"));
vbox = gtk_vbox_new(FALSE, 2);
- gtk_container_border_width(GTK_CONTAINER(vbox), 3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), 3);
hbox = gtk_hbox_new(FALSE, 5);
vbox2 = gtk_vbox_new(FALSE, 0);
button = gtk_button_new_with_label(_("Rip+Encode"));
- gtk_tooltips_set_tip(MakeToolTip(), button,
- _("Rip and encode selected tracks"), NULL);
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(DoRipEncode), (gpointer)ginfo);
+ gtk_widget_set_tooltip_text(button,
+ _("Rip and encode selected tracks"));
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(DoRipEncode), (gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(vbox2), button, FALSE, FALSE, 0);
gtk_widget_show(button);
button = gtk_button_new_with_label(_("Rip Only"));
- gtk_tooltips_set_tip(MakeToolTip(), button,
- _("Rip but do not encode selected tracks"), NULL);
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(DoRip), (gpointer)ginfo);
+ gtk_widget_set_tooltip_text(button,
+ _("Rip but do not encode selected tracks"));
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(DoRip), (gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(vbox2), button, FALSE, FALSE, 0);
gtk_widget_show(button);
button = gtk_button_new_with_label(_("Abort Rip and Encode"));
- gtk_tooltips_set_tip(MakeToolTip(), button,
- _("Kill all active rip and encode processes"), NULL);
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(KillRip), (gpointer)ginfo);
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(KillEncode), (gpointer)ginfo);
+ gtk_widget_set_tooltip_text(button,
+ _("Kill all active rip and encode processes"));
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(KillRip), (gpointer)ginfo);
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(KillEncode), (gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(vbox2), button, FALSE, FALSE, 0);
gtk_widget_show(button);
button = gtk_button_new_with_label(_("Abort Ripping Only"));
- gtk_tooltips_set_tip(MakeToolTip(), button,
- _("Kill rip process"), NULL);
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(KillRip), (gpointer)ginfo);
+ gtk_widget_set_tooltip_text(button,
+ _("Kill rip process"));
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(KillRip), (gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(vbox2), button, FALSE, FALSE, 0);
gtk_widget_show(button);
button = gtk_button_new_with_label(_("DDJ Scan"));
- gtk_tooltips_set_tip(MakeToolTip(), button,
- _("Insert disc information into the DigitalDJ database"),
- NULL);
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(DBScan), (gpointer)ginfo);
+ gtk_widget_set_tooltip_text(button,
+ _("Insert disc information into the DigitalDJ database"));
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(DBScan), (gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(vbox2), button, FALSE, FALSE, 0);
gtk_widget_show(button);
@@ -151,11 +150,11 @@ void MakeRipPage(GripInfo *ginfo)
partial_rip_frame = gtk_frame_new(NULL);
vbox2 = gtk_vbox_new(FALSE, 0);
- gtk_container_border_width(GTK_CONTAINER(vbox2), 3);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox2), 3);
check = MakeCheckButton(NULL, &ginfo->rip_partial, _("Rip partial track"));
- gtk_signal_connect(GTK_OBJECT(check), "clicked",
- GTK_SIGNAL_FUNC(RipPartialChanged), (gpointer)ginfo);
+ g_signal_connect(G_OBJECT(check), "clicked",
+ G_CALLBACK(RipPartialChanged), (gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(vbox2), check, FALSE, FALSE, 0);
gtk_widget_show(check);
@@ -165,8 +164,8 @@ void MakeRipPage(GripInfo *ginfo)
hbox2 = gtk_hbox_new(FALSE, 5);
button = gtk_button_new_with_label(_("Play"));
- gtk_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(PlaySegmentCB),
+ g_signal_connect(G_OBJECT(button), "clicked",
+ G_CALLBACK(PlaySegmentCB),
(gpointer)ginfo);
gtk_box_pack_start(GTK_BOX(hbox2), button, TRUE, TRUE, 0);
gtk_widget_show(button);
@@ -217,18 +216,18 @@ void MakeRipPage(GripInfo *ginfo)
g_object_unref(layout);
- gtk_widget_set_usize(uinfo->rip_prog_label, label_width, 0);
+ gtk_widget_set_size_request(uinfo->rip_prog_label, label_width, 0);
gtk_box_pack_start(GTK_BOX(hbox), uinfo->rip_prog_label, FALSE, FALSE, 0);
- gtk_label_set(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
+ gtk_label_set_text(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
gtk_widget_show(uinfo->rip_prog_label);
uinfo->ripprogbar = gtk_progress_bar_new();
gtk_box_pack_start(GTK_BOX(hbox), uinfo->ripprogbar, FALSE, FALSE, 0);
gtk_widget_show(uinfo->ripprogbar);
- uinfo->smile_indicator = NewBlankPixmap(uinfo->app);
- gtk_tooltips_set_tip(MakeToolTip(), uinfo->smile_indicator,
- _("Rip status"), NULL);
+ uinfo->smile_indicator = gtk_image_new_from_pixbuf(uinfo->empty_image);
+ gtk_widget_set_tooltip_text(uinfo->smile_indicator,
+ _("Rip status"));
gtk_box_pack_start(GTK_BOX(hbox), uinfo->smile_indicator, FALSE, FALSE, 0);
gtk_widget_show(uinfo->smile_indicator);
@@ -239,7 +238,7 @@ void MakeRipPage(GripInfo *ginfo)
hbox = gtk_hbox_new(FALSE, 3);
uinfo->mp3_prog_label[mycpu] = gtk_label_new(_("Enc: Idle"));
- gtk_widget_set_usize(uinfo->mp3_prog_label[mycpu], label_width, 0);
+ gtk_widget_set_size_request(uinfo->mp3_prog_label[mycpu], label_width, 0);
gtk_box_pack_start(GTK_BOX(hbox), uinfo->mp3_prog_label[mycpu],
FALSE, FALSE, 0);
@@ -268,7 +267,7 @@ void MakeRipPage(GripInfo *ginfo)
hbox = gtk_hbox_new(FALSE, 2);
uinfo->all_rip_label = gtk_label_new(_("Rip: Idle"));
- gtk_widget_set_usize(uinfo->all_rip_label, label_width, 0);
+ gtk_widget_set_size_request(uinfo->all_rip_label, label_width, 0);
gtk_box_pack_start(GTK_BOX(hbox), uinfo->all_rip_label, FALSE, FALSE, 0);
gtk_widget_show(uinfo->all_rip_label);
@@ -281,7 +280,7 @@ void MakeRipPage(GripInfo *ginfo)
hbox=gtk_hbox_new(FALSE, 2);
uinfo->all_enc_label = gtk_label_new(_("Enc: Idle"));
- gtk_widget_set_usize(uinfo->all_enc_label, label_width, 0);
+ gtk_widget_set_size_request(uinfo->all_enc_label, label_width, 0);
gtk_box_pack_start(GTK_BOX(hbox), uinfo->all_enc_label, FALSE, FALSE, 0);
gtk_widget_show(uinfo->all_enc_label);
@@ -386,7 +385,6 @@ static void AddSQLEntry(GripInfo *ginfo, EncodeTrack *enc_track)
sqlpid = fork();
if(sqlpid == 0) {
- CloseStuff(ginfo);
if(*enc_track->song_artist)
execlp("mp3insert", "mp3insert",
@@ -866,7 +864,7 @@ void UpdateRipProgress(GripInfo *ginfo)
ginfo->rip_percent = percent;
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->ripprogbar), percent);
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->ripprogbar), percent);
now = time(NULL);
elapsed = (gfloat)(now - ginfo->rip_started);
@@ -885,22 +883,19 @@ void UpdateRipProgress(GripInfo *ginfo)
sprintf(buf, _("Rip: Trk %d (%3.1fx)"), ginfo->rip_track + 1, speed);
- gtk_label_set(GTK_LABEL(uinfo->rip_prog_label), buf);
+ gtk_label_set_text(GTK_LABEL(uinfo->rip_prog_label), buf);
quarter=(int)(percent * 4.0);
if(quarter < 4)
- CopyPixmap(GTK_PIXMAP(uinfo->rip_pix[quarter]),
- GTK_PIXMAP(uinfo->rip_indicator));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->rip_indicator), uinfo->rip_pix[quarter]);
#ifdef CDPAR
if(ginfo->using_builtin_cdp) {
if(uinfo->minimized)
- CopyPixmap(GTK_PIXMAP(uinfo->smile_pix[ginfo->rip_smile_level]),
- GTK_PIXMAP(uinfo->lcd_smile_indicator));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->lcd_smile_indicator), uinfo->smile_pix[ginfo->rip_smile_level]);
else
- CopyPixmap(GTK_PIXMAP(uinfo->smile_pix[ginfo->rip_smile_level]),
- GTK_PIXMAP(uinfo->smile_indicator));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->smile_indicator), uinfo->smile_pix[ginfo->rip_smile_level]);
}
#endif
@@ -917,12 +912,12 @@ void UpdateRipProgress(GripInfo *ginfo)
ginfo->rip_tot_percent = percent;
sprintf(buf, _("Rip: %6.2f%%"), percent * 100.0);
- gtk_label_set(GTK_LABEL(uinfo->all_rip_label), buf);
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->all_ripprogbar), percent);
+ gtk_label_set_text(GTK_LABEL(uinfo->all_rip_label), buf);
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->all_ripprogbar), percent);
} else if (ginfo->stop_rip) {
- gtk_label_set(GTK_LABEL(uinfo->all_rip_label), _("Rip: Idle"));
+ gtk_label_set_text(GTK_LABEL(uinfo->all_rip_label), _("Rip: Idle"));
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->all_ripprogbar), 0.0);
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->all_ripprogbar), 0.0);
}
/* Check if a rip finished */
@@ -932,10 +927,8 @@ void UpdateRipProgress(GripInfo *ginfo)
if(!ginfo->using_builtin_cdp) {
waitpid(ginfo->rippid, NULL, 0);
} else {
- CopyPixmap(GTK_PIXMAP(uinfo->empty_image),
- GTK_PIXMAP(uinfo->lcd_smile_indicator));
- CopyPixmap(GTK_PIXMAP(uinfo->empty_image),
- GTK_PIXMAP(uinfo->smile_indicator));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->lcd_smile_indicator), uinfo->empty_image);
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->smile_indicator), uinfo->empty_image);
}
ginfo->all_riplast = 0;
@@ -954,9 +947,8 @@ void UpdateRipProgress(GripInfo *ginfo)
if(*ginfo->wav_filter_cmd)
DoWavFilter(ginfo);
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->ripprogbar), 0.0);
- CopyPixmap(GTK_PIXMAP(uinfo->empty_image),
- GTK_PIXMAP(uinfo->rip_indicator));
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->ripprogbar), 0.0);
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->rip_indicator), uinfo->empty_image);
if(!ginfo->stop_rip) {
if(ginfo->doencode) {
@@ -977,11 +969,11 @@ void UpdateRipProgress(GripInfo *ginfo)
if(!RipNextTrack(ginfo))
RipIsFinished(ginfo, FALSE);
else {
- gtk_label_set(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
+ gtk_label_set_text(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
}
}
else {
- gtk_label_set(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
+ gtk_label_set_text(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
}
}
else {
@@ -1009,7 +1001,7 @@ void UpdateRipProgress(GripInfo *ginfo)
ginfo->enc_percent = percent;
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->mp3progbar[mycpu]),
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->mp3progbar[mycpu]),
percent);
now = time(NULL);
@@ -1024,13 +1016,12 @@ void UpdateRipProgress(GripInfo *ginfo)
sprintf(buf, _("Enc: Trk %d (%3.1fx)"),
ginfo->mp3_enc_track[mycpu] + 1, speed);
- gtk_label_set(GTK_LABEL(uinfo->mp3_prog_label[mycpu]), buf);
+ gtk_label_set_text(GTK_LABEL(uinfo->mp3_prog_label[mycpu]), buf);
quarter = (int)(percent * 4.0);
if(quarter < 4)
- CopyPixmap(GTK_PIXMAP(uinfo->mp3_pix[quarter]),
- GTK_PIXMAP(uinfo->mp3_indicator[mycpu]));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->mp3_indicator[mycpu]), uinfo->mp3_pix[quarter]);
if (!ginfo->rip_partial && !ginfo->stop_encode &&
now != ginfo->mp3_started[mycpu]) {
ginfo->all_encdone += mystat.st_size-ginfo->all_enclast[mycpu];
@@ -1040,8 +1031,8 @@ void UpdateRipProgress(GripInfo *ginfo)
percent = 1.0;
ginfo->enc_tot_percent = percent;
sprintf(buf, _("Enc: %6.2f%%"), percent * 100.0);
- gtk_label_set(GTK_LABEL(uinfo->all_enc_label), buf);
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->all_encprogbar),
+ gtk_label_set_text(GTK_LABEL(uinfo->all_enc_label), buf);
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->all_encprogbar),
percent);
}
@@ -1050,9 +1041,8 @@ void UpdateRipProgress(GripInfo *ginfo)
ginfo->encoding &= ~(1<<mycpu);
ginfo->all_enclast[mycpu] = 0;
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->mp3progbar[mycpu]), 0.0);
- CopyPixmap(GTK_PIXMAP(uinfo->empty_image),
- GTK_PIXMAP(uinfo->mp3_indicator[mycpu]));
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->mp3progbar[mycpu]), 0.0);
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->mp3_indicator[mycpu]), uinfo->empty_image);
if(ginfo->doencode)
ginfo->num_wavs--;
@@ -1107,7 +1097,7 @@ void UpdateRipProgress(GripInfo *ginfo)
else ginfo->stop_encode = FALSE;
if(!(ginfo->encoding & (1<<mycpu))) {
- gtk_label_set(GTK_LABEL(uinfo->mp3_prog_label[mycpu]),
+ gtk_label_set_text(GTK_LABEL(uinfo->mp3_prog_label[mycpu]),
_("Enc: Idle"));
}
}
@@ -1122,8 +1112,8 @@ void UpdateRipProgress(GripInfo *ginfo)
}
if ((!result || ginfo->stop_encode) &&
!ginfo->encode_list && !ginfo->ripping) {
- gtk_label_set(GTK_LABEL(uinfo->all_enc_label), _("Enc: Idle"));
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->all_encprogbar), 0.0);
+ gtk_label_set_text(GTK_LABEL(uinfo->all_enc_label), _("Enc: Idle"));
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->all_encprogbar), 0.0);
}
}
@@ -1136,9 +1126,9 @@ static void RipIsFinished(GripInfo *ginfo, gboolean aborted)
ginfo->all_ripdone = 0;
ginfo->all_riplast = 0;
- gtk_label_set(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
- gtk_label_set(GTK_LABEL(uinfo->all_rip_label), _("Rip: Idle"));
- gtk_progress_bar_update(GTK_PROGRESS_BAR(uinfo->all_ripprogbar), 0.0);
+ gtk_label_set_text(GTK_LABEL(uinfo->rip_prog_label), _("Rip: Idle"));
+ gtk_label_set_text(GTK_LABEL(uinfo->all_rip_label), _("Rip: Idle"));
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(uinfo->all_ripprogbar), 0.0);
ginfo->stop_rip = FALSE;
ginfo->ripping = FALSE;
@@ -1520,7 +1510,7 @@ static gboolean RipNextTrack(GripInfo *ginfo)
gtk_clist_select_row(GTK_CLIST(uinfo->trackclist), ginfo->rip_track, 0);
}*/
- CopyPixmap(GTK_PIXMAP(uinfo->rip_pix[0]), GTK_PIXMAP(uinfo->rip_indicator));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->rip_indicator), uinfo->rip_pix[0]);
if(ginfo->stop_between_tracks)
CDStop(&(ginfo->disc));
@@ -1581,7 +1571,7 @@ static gboolean RipNextTrack(GripInfo *ginfo)
ginfo->rip_started = time(NULL);
sprintf(tmp, _("Rip: Trk %d (0.0x)"), ginfo->rip_track+1);
- gtk_label_set(GTK_LABEL(uinfo->rip_prog_label), tmp);
+ gtk_label_set_text(GTK_LABEL(uinfo->rip_prog_label), tmp);
if(stat(ginfo->ripfile, &mystat) >= 0) {
if(mystat.st_size == ginfo->ripsize) {
@@ -1641,7 +1631,6 @@ static gboolean RipNextTrack(GripInfo *ginfo)
if(ginfo->rippid == 0) {
int i;
- CloseStuff(ginfo);
errno=0;
i = nice(ginfo->ripnice);
if (errno && i == -1) {
@@ -1651,9 +1640,6 @@ static gboolean RipNextTrack(GripInfo *ginfo)
_exit(0);
}
- else {
- ginfo->curr_pipe_fd = -1;
- }
for(arg=0;args[arg];arg++) {
g_string_free(args[arg], TRUE);
@@ -1802,8 +1788,7 @@ static gboolean MP3Encode(GripInfo *ginfo)
ginfo->encode_list = g_list_remove(ginfo->encode_list, enc_track);
ginfo->encoded_track[cpu] = enc_track;
- CopyPixmap(GTK_PIXMAP(uinfo->mp3_pix[0]),
- GTK_PIXMAP(uinfo->mp3_indicator[cpu]));
+ gtk_image_set_from_pixbuf (GTK_IMAGE (uinfo->mp3_indicator[cpu]), uinfo->mp3_pix[0]);
ginfo->mp3_started[cpu] = time(NULL);
ginfo->mp3_enc_track[cpu] = encode_track;
@@ -1849,7 +1834,7 @@ static gboolean MP3Encode(GripInfo *ginfo)
g_free(conv_str);
sprintf(tmp, _("Enc: Trk %d (0.0x)"), encode_track + 1);
- gtk_label_set(GTK_LABEL(uinfo->mp3_prog_label[cpu]), tmp);
+ gtk_label_set_text(GTK_LABEL(uinfo->mp3_prog_label[cpu]), tmp);
unlink(ginfo->mp3file[cpu]);
@@ -1885,7 +1870,6 @@ static gboolean MP3Encode(GripInfo *ginfo)
if(ginfo->mp3pid[cpu] == 0) {
int i;
- CloseStuff(ginfo);
setsid();
i = nice(ginfo->mp3nice);
if (errno && i == -1) {
@@ -1894,9 +1878,6 @@ static gboolean MP3Encode(GripInfo *ginfo)
execvp(ginfo->mp3exename, char_args);
_exit(0);
}
- else {
- ginfo->curr_pipe_fd = -1;
- }
for(arg=0;args[arg];arg++) {
g_string_free(args[arg], TRUE);
diff --git a/src/tray.c b/src/tray.c
index 20cf541..98fb375 100644
--- a/src/tray.c
+++ b/src/tray.c
@@ -112,7 +112,7 @@ void UpdateTray(GripInfo *ginfo)
void TrayMenuShowPlay(GripInfo *ginfo)
{
GripGUI *uinfo = &(ginfo->gui_info);
-
+ if (!ginfo->tray_icon_made) return;
gtk_widget_hide(GTK_WIDGET(uinfo->tray_menu_pause));
gtk_widget_show(GTK_WIDGET(uinfo->tray_menu_play));
}
@@ -120,7 +120,7 @@ void TrayMenuShowPlay(GripInfo *ginfo)
void TrayMenuShowPause(GripInfo *ginfo)
{
GripGUI *uinfo = &(ginfo->gui_info);
-
+ if (!ginfo->tray_icon_made) return;
gtk_widget_hide(GTK_WIDGET(uinfo->tray_menu_play));
gtk_widget_show(GTK_WIDGET(uinfo->tray_menu_pause));
}
diff --git a/src/uihelper.c b/src/uihelper.c
index 5b41934..b833785 100644
--- a/src/uihelper.c
+++ b/src/uihelper.c
@@ -22,17 +22,6 @@
#include "common.h"
-GtkTooltips *MakeToolTip(void)
-{
- GtkTooltips *tip;
-
- tip=gtk_tooltips_new();
-
- gtk_tooltips_set_delay(tip,1250);
-
- return tip;
-}
-
GdkColor *MakeColor(int red,int green,int blue)
{
GdkColor *c;
@@ -42,7 +31,7 @@ GdkColor *MakeColor(int red,int green,int blue)
c->green=green;
c->blue=blue;
- gdk_color_alloc(gdk_colormap_get_system(),c);
+ //gdk_colormap_alloc_color(gdk_colormap_get_system(), c, FALSE, TRUE);
return c;
}
@@ -113,53 +102,32 @@ static char * empty_xpm[] = {
" "
};
-GtkWidget *NewBlankPixmap(GtkWidget *widget)
+GdkPixbuf *NewBlankPixmap(GtkWidget *widget)
{
return Loadxpm(widget,empty_xpm);
}
-GtkWidget *ImageButton(GtkWidget *widget,GtkWidget *image)
+GtkWidget *ImageButton(GtkWidget *widget,GdkPixbuf *image)
{
GtkWidget *button;
+ GtkWidget *pixwid;
button=gtk_button_new();
+ pixwid = gtk_image_new_from_pixbuf(image);
- gtk_container_add(GTK_CONTAINER(button),image);
- gtk_widget_show(image);
+ gtk_container_add(GTK_CONTAINER(button),pixwid);
+ gtk_widget_show(pixwid);
return button;
}
-GtkWidget *Loadxpm(GtkWidget *widget,char **xpm)
+GdkPixbuf *Loadxpm(GtkWidget *widget,char **xpm)
{
- GdkBitmap *mask;
- GtkStyle *style;
- GtkWidget *pixmapwid;
- GdkPixmap *pixmap;
-
- style=gtk_widget_get_style(widget);
-
- pixmap=gdk_pixmap_create_from_xpm_d(widget->window,&mask,
- &style->bg[GTK_STATE_NORMAL],
- (gchar **)xpm);
+ GdkPixbuf *pixbuf;
- pixmapwid=gtk_pixmap_new(pixmap,mask);
+ pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)xpm);
- return pixmapwid;
-}
-
-void CopyPixmap(GtkPixmap *src,GtkPixmap *dest)
-{
- GdkPixmap *gdkpix;
- GdkBitmap *mask;
-
- gtk_pixmap_get(src,&gdkpix,&mask);
- gtk_pixmap_set(dest,gdkpix,mask);
-}
-
-gint SizeInDubs(GdkFont *font,gint numchars)
-{
- return gdk_string_width(font,"W")*numchars;
+ return pixbuf;
}
void UpdateGTK(void)