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;mycpunum_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;trackdisc.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 #include #include -#include /* GDK_DISPLAY() */ +#include /* 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;fdname)) { - 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<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<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)