From c375528575124f64b5515809a8041cd4d05f7f44 Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 17 Aug 2005 18:41:15 +0000 Subject: Support for GTK 2.x. Patch by Onur Kucuk (onur . delipenguen net). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16247 b3059339-0415-0410-9bf9-f77b7e298cf2 --- Gui/mplayer/gtk/about.c | 15 +++++++++++++++ Gui/mplayer/gtk/opts.c | 2 ++ Gui/mplayer/widgets.c | 8 ++++++++ 3 files changed, 25 insertions(+) (limited to 'Gui/mplayer') diff --git a/Gui/mplayer/gtk/about.c b/Gui/mplayer/gtk/about.c index fcf60e9b16..859050d6e8 100644 --- a/Gui/mplayer/gtk/about.c +++ b/Gui/mplayer/gtk/about.c @@ -28,6 +28,11 @@ GtkWidget * create_About( void ) GtkWidget * AboutText; GtkWidget * Ok; +#ifdef HAVE_GTK2_GUI + GtkTextBuffer * AboutTextBuffer; + GtkTextIter iter; +#endif //HAVE_GTK2_GUI + GtkStyle * pixmapstyle; GdkPixmap * pixmapwid; GdkBitmap * mask; @@ -67,11 +72,21 @@ GtkWidget * create_About( void ) gtk_box_pack_start( GTK_BOX( vbox ),scrolledwindow1,TRUE,TRUE,0 ); gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow1 ),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC ); +#ifdef HAVE_GTK2_GUI + AboutText = gtk_text_view_new(); + AboutTextBuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (AboutText)); + gtk_text_buffer_get_iter_at_offset (AboutTextBuffer, &iter, 0); +#else AboutText=gtk_text_new( NULL,NULL ); +#endif gtk_widget_set_name( AboutText,"AboutText" ); gtk_widget_show( AboutText ); gtk_container_add( GTK_CONTAINER( scrolledwindow1 ),AboutText ); +#ifdef HAVE_GTK2_GUI + gtk_text_buffer_insert (AboutTextBuffer, &iter, +#else gtk_text_insert( GTK_TEXT( AboutText ),NULL,NULL,NULL, +#endif "\n" MSGTR_ABOUT_UHU " (http://www.uhulinux.hu/)\n" diff --git a/Gui/mplayer/gtk/opts.c b/Gui/mplayer/gtk/opts.c index cd1897c253..f940f65862 100644 --- a/Gui/mplayer/gtk/opts.c +++ b/Gui/mplayer/gtk/opts.c @@ -736,8 +736,10 @@ static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,g !strncmp( ao_driver[0],"esd",3 ) || !strncmp( ao_driver[0],"sdl",3 ) ) gtk_widget_set_sensitive( AConfig,TRUE ); +#ifndef HAVE_GTK2_GUI if ( !strncmp( ao_driver[0],"arts",4 ) ) gtkMessageBox(GTK_MB_WARNING|GTK_MB_SIMPLE, MSGTR_PREFERENCES_ArtsBroken); +#endif break; case 1: // video driver gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); diff --git a/Gui/mplayer/widgets.c b/Gui/mplayer/widgets.c index 907e7c990c..281db06726 100644 --- a/Gui/mplayer/widgets.c +++ b/Gui/mplayer/widgets.c @@ -217,7 +217,15 @@ void gtkShow( int type,char * param ) gtk_widget_destroy( PopUpMenu ); } PopUpMenu=create_PopUpMenu(); +#ifdef HAVE_GTK2_GUI + // Ugly hack, but we don't want to loose events + while(!GTK_WIDGET_VISIBLE(PopUpMenu)) { + gtk_menu_popup(GTK_MENU(PopUpMenu), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time()); + gtk_main_iteration(); + } +#else gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 ); +#endif //HAVE_GTK2_GUI break; case evHidePopUpMenu: if ( PopUpMenu ) -- cgit v1.2.3