? INSTALL
? install-sh
? missing
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/totem/ChangeLog,v
retrieving revision 1.1156
diff -p -u -r1.1156 ChangeLog
--- ChangeLog	12 Feb 2005 04:09:15 -0000	1.1156
+++ ChangeLog	14 Feb 2005 05:01:01 -0000
@@ -1,3 +1,11 @@
+2005-02-13  William Jon McCann  <mccann@jhu.edu>
+
+	* data/totem.glade: 
+	* src/totem.c (play_pause_set_label) 
+	(totem_action_set_mrl_with_warning, on_play_button_toggled) 
+	(on_pause_button_toggled, totem_callback_connect, main):
+	Use toggle buttons for play and pause.  (Closes #162949)
+
 2005-02-11  William Jon McCann  <mccann@jhu.edu>
 
 	* src/totem.c (popup_timeout_remove) 
Index: data/totem.glade
===================================================================
RCS file: /cvs/gnome/totem/data/totem.glade,v
retrieving revision 1.95
diff -p -u -r1.95 totem.glade
--- data/totem.glade	12 Feb 2005 04:09:15 -0000	1.95
+++ data/totem.glade	14 Feb 2005 05:01:04 -0000
@@ -16,6 +16,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkButton" id="tefw_fs_exit_button">
@@ -25,67 +26,67 @@
       <property name="focus_on_click">True</property>
 
       <child>
-        <widget class="GtkAlignment" id="tefw_alignment">
-          <property name="visible">True</property>
-          <property name="xalign">0.5</property>
-          <property name="yalign">0.5</property>
-          <property name="xscale">0</property>
-          <property name="yscale">0</property>
-          <property name="top_padding">0</property>
-          <property name="bottom_padding">0</property>
-          <property name="left_padding">0</property>
-          <property name="right_padding">0</property>
-
-          <child>
-            <widget class="GtkHBox" id="tefw_hbox">
-              <property name="visible">True</property>
-              <property name="homogeneous">False</property>
-              <property name="spacing">2</property>
-
-              <child>
-                <widget class="GtkImage" id="tefw_image">
-                  <property name="visible">True</property>
-                  <property name="stock">gtk-zoom-100</property>
-                  <property name="icon_size">4</property>
-                  <property name="xalign">0.5</property>
-                  <property name="yalign">0.5</property>
-                  <property name="xpad">0</property>
-                  <property name="ypad">0</property>
-                </widget>
-                <packing>
-                  <property name="padding">0</property>
-                  <property name="expand">False</property>
-                  <property name="fill">False</property>
-                </packing>
-              </child>
-
-              <child>
-                <widget class="GtkLabel" id="tefw_label">
-                  <property name="visible">True</property>
-                  <property name="label" translatable="yes">Exit Fullscreen</property>
-                  <property name="use_underline">True</property>
-                  <property name="use_markup">False</property>
-                  <property name="justify">GTK_JUSTIFY_LEFT</property>
-                  <property name="wrap">False</property>
-                  <property name="selectable">False</property>
-                  <property name="xalign">0.5</property>
-                  <property name="yalign">0.5</property>
-                  <property name="xpad">0</property>
-                  <property name="ypad">0</property>
-                  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-                  <property name="width_chars">-1</property>
-                  <property name="single_line_mode">False</property>
-                  <property name="angle">0</property>
-                </widget>
-                <packing>
-                  <property name="padding">0</property>
-                  <property name="expand">False</property>
-                  <property name="fill">False</property>
-                </packing>
-              </child>
-            </widget>
-          </child>
-        </widget>
+	<widget class="GtkAlignment" id="tefw_alignment">
+	  <property name="visible">True</property>
+	  <property name="xalign">0.5</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xscale">0</property>
+	  <property name="yscale">0</property>
+	  <property name="top_padding">0</property>
+	  <property name="bottom_padding">0</property>
+	  <property name="left_padding">0</property>
+	  <property name="right_padding">0</property>
+
+	  <child>
+	    <widget class="GtkHBox" id="tefw_hbox">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">2</property>
+
+	      <child>
+		<widget class="GtkImage" id="tefw_image">
+		  <property name="visible">True</property>
+		  <property name="stock">gtk-zoom-100</property>
+		  <property name="icon_size">4</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="tefw_label">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">Exit Fullscreen</property>
+		  <property name="use_underline">True</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
       </child>
     </widget>
   </child>
@@ -105,6 +106,7 @@
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
   <property name="has_separator">False</property>
 
   <child internal-child="vbox">
@@ -1059,9 +1061,9 @@ Extra Large</property>
 			      <child>
 				<widget class="GtkComboBox" id="tpw_visuals_type_combobox">
 				  <property name="visible">True</property>
+				  <property name="items" translatable="yes"></property>
 				  <property name="add_tearoffs">False</property>
 				  <property name="focus_on_click">True</property>
-				  <property name="items" translatable="yes"></property>
 				</widget>
 				<packing>
 				  <property name="left_attach">1</property>
@@ -1703,7 +1705,6 @@ AC3 Passthrough</property>
 </widget>
 
 <widget class="GtkWindow" id="totem_controls_window">
-  <property name="border_width">0</property>
   <property name="title" translatable="yes"></property>
   <property name="type">GTK_WINDOW_POPUP</property>
   <property name="window_position">GTK_WIN_POS_NONE</property>
@@ -1715,6 +1716,7 @@ AC3 Passthrough</property>
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_SOUTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkHBox" id="tcw_hbox">
@@ -1757,16 +1759,16 @@ AC3 Passthrough</property>
 	  </child>
 
 	  <child>
-	    <widget class="GtkButton" id="tcw_pp_button">
+	    <widget class="GtkToggleButton" id="tcw_play_button">
 	      <property name="visible">True</property>
-	      <property name="sensitive">False</property>
-	      <property name="tooltip" translatable="yes">Play/Pause</property>
 	      <property name="can_focus">True</property>
 	      <property name="relief">GTK_RELIEF_NORMAL</property>
 	      <property name="focus_on_click">True</property>
+	      <property name="active">False</property>
+	      <property name="inconsistent">False</property>
 
 	      <child>
-		<widget class="GtkImage" id="tcw_pp_button_image">
+		<widget class="GtkImage" id="image179">
 		  <property name="visible">True</property>
 		  <property name="stock">gtk-media-play</property>
 		  <property name="icon_size">4</property>
@@ -1785,6 +1787,34 @@ AC3 Passthrough</property>
 	  </child>
 
 	  <child>
+	    <widget class="GtkToggleButton" id="tcw_pause_button">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="active">True</property>
+	      <property name="inconsistent">False</property>
+
+	      <child>
+		<widget class="GtkImage" id="image181">
+		  <property name="visible">True</property>
+		  <property name="stock">gtk-media-pause</property>
+		  <property name="icon_size">4</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
 	    <widget class="GtkButton" id="tcw_next_button">
 	      <property name="visible">True</property>
 	      <property name="sensitive">False</property>
@@ -2190,6 +2220,7 @@ AC3 Passthrough</property>
   <property name="skip_pager_hint">False</property>
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
 
   <child>
     <widget class="GtkVBox" id="vbox23">
@@ -3218,18 +3249,46 @@ AC3 Passthrough</property>
 		  </child>
 
 		  <child>
-		    <widget class="GtkButton" id="tmw_play_pause_button">
+		    <widget class="GtkToggleButton" id="tmw_play_button">
 		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="tooltip" translatable="yes">Play/Pause</property>
 		      <property name="can_focus">True</property>
 		      <property name="relief">GTK_RELIEF_NORMAL</property>
 		      <property name="focus_on_click">True</property>
+		      <property name="active">False</property>
+		      <property name="inconsistent">False</property>
 
 		      <child>
-			<widget class="GtkImage" id="tmw_play_pause_button_image">
+			<widget class="GtkImage" id="image178">
 			  <property name="visible">True</property>
 			  <property name="stock">gtk-media-play</property>
+			  <property name="icon_size">4</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkToggleButton" id="tmw_pause_button">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		      <property name="active">True</property>
+		      <property name="inconsistent">False</property>
+
+		      <child>
+			<widget class="GtkImage" id="image180">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-media-pause</property>
 			  <property name="icon_size">4</property>
 			  <property name="xalign">0.5</property>
 			  <property name="yalign">0.5</property>
Index: src/totem-interface.c
===================================================================
RCS file: /cvs/gnome/totem/src/totem-interface.c,v
retrieving revision 1.3
diff -p -u -r1.3 totem-interface.c
--- src/totem-interface.c	8 Feb 2005 18:04:14 -0000	1.3
+++ src/totem-interface.c	14 Feb 2005 05:01:04 -0000
@@ -92,8 +92,11 @@ totem_interface_error_blocking (const ch
 }
 
 GladeXML *
-totem_interface_load (const char *name, const char *display_name,
-		gboolean fatal, GtkWindow *parent)
+totem_interface_load (const char *name,
+                      const char *root,
+                      const char *display_name,
+                      gboolean    fatal,
+                      GtkWindow  *parent)
 {
 	GladeXML *glade;
 	char *filename;
@@ -102,7 +105,7 @@ totem_interface_load (const char *name, 
 	filename = totem_interface_get_full_path (name);
 
 	if (filename != NULL)
-		glade = glade_xml_new (filename, NULL, NULL);
+		glade = glade_xml_new (filename, root, NULL);
 	g_free (filename);
 
 	if (glade == NULL)
Index: src/totem-interface.h
===================================================================
RCS file: /cvs/gnome/totem/src/totem-interface.h,v
retrieving revision 1.1
diff -p -u -r1.1 totem-interface.h
--- src/totem-interface.h	12 Jan 2005 17:56:46 -0000	1.1
+++ src/totem-interface.h	14 Feb 2005 05:01:04 -0000
@@ -32,6 +32,7 @@ GdkPixbuf	*totem_interface_load_pixbuf	(
 char		*totem_interface_get_full_path	(const char *name);
 GladeXML	*totem_interface_load		(const char *name,
 						 const char *display_name,
+						 const char *root,
 						 gboolean fatal,
 						 GtkWindow *parent);
 void		 totem_interface_error		(const char *title,
Index: src/totem-playlist.c
===================================================================
RCS file: /cvs/gnome/totem/src/totem-playlist.c,v
retrieving revision 1.63
diff -p -u -r1.63 totem-playlist.c
--- src/totem-playlist.c	24 Jan 2005 16:22:42 -0000	1.63
+++ src/totem-playlist.c	14 Feb 2005 05:01:05 -0000
@@ -1471,7 +1471,7 @@ totem_playlist_new (void)
 
 	playlist = TOTEM_PLAYLIST (g_object_new (GTK_TYPE_PLAYLIST, NULL));
 
-	playlist->_priv->xml = totem_interface_load ("playlist.glade",
+	playlist->_priv->xml = totem_interface_load ("playlist.glade", NULL,
 			"playlist", TRUE, NULL);
 
 	if (playlist->_priv->xml == NULL)
Index: src/totem-private.h
===================================================================
RCS file: /cvs/gnome/totem/src/totem-private.h,v
retrieving revision 1.25
diff -p -u -r1.25 totem-private.h
--- src/totem-private.h	8 Feb 2005 18:04:14 -0000	1.25
+++ src/totem-private.h	14 Feb 2005 05:01:05 -0000
@@ -67,9 +67,11 @@ struct Totem {
 	GtkWidget *about;
 
 	/* Play/Pause */
-	GtkWidget *pp_button;
+	GtkWidget *play_button;
+	GtkWidget *pause_button;
 	/* fullscreen Play/Pause */
-	GtkWidget *fs_pp_button;
+	GtkWidget *fs_play_button;
+	GtkWidget *fs_pause_button;
 
 	/* Seek */
 	GtkWidget *seek;
Index: src/totem.c
===================================================================
RCS file: /cvs/gnome/totem/src/totem.c,v
retrieving revision 1.406
diff -p -u -r1.406 totem.c
--- src/totem.c	12 Feb 2005 04:09:16 -0000	1.406
+++ src/totem.c	14 Feb 2005 05:01:08 -0000
@@ -103,8 +103,8 @@ static gboolean popup_hide (Totem *totem
 static void update_buttons (Totem *totem);
 static void update_media_menu_items (Totem *totem);
 static void update_seekable (Totem *totem, gboolean force_false);
-static void on_play_pause_button_clicked (GtkToggleButton *button,
-		Totem *totem);
+static void on_play_button_toggled (GtkToggleButton *button, Totem *totem);
+static void on_pause_button_toggled (GtkToggleButton *button, Totem *totem);
 static void playlist_changed_cb (GtkWidget *playlist, Totem *totem);
 static void show_controls (Totem *totem, gboolean was_fullscreen);
 static gboolean totem_is_fullscreen (Totem *totem);
@@ -228,8 +228,7 @@ main_window_destroy_cb (GtkWidget *widge
 static void
 play_pause_set_label (Totem *totem, TotemStates state)
 {
-	GtkWidget *image;
-	const char *id;
+	gboolean playing = FALSE;
 
 	if (state == totem->state)
 		return;
@@ -237,31 +236,33 @@ play_pause_set_label (Totem *totem, Tote
 	switch (state)
 	{
 	case STATE_PLAYING:
-		totem_statusbar_set_text (TOTEM_STATUSBAR (totem->statusbar),
-				_("Playing"));
-		id = GTK_STOCK_MEDIA_PAUSE;
+		totem_statusbar_set_text (TOTEM_STATUSBAR (totem->statusbar), _("Playing"));
+		playing = TRUE;
 		break;
 	case STATE_PAUSED:
-		totem_statusbar_set_text (TOTEM_STATUSBAR (totem->statusbar),
-				_("Paused"));
-		id = GTK_STOCK_MEDIA_PLAY;
+		totem_statusbar_set_text (TOTEM_STATUSBAR (totem->statusbar), _("Paused"));
 		break;
 	case STATE_STOPPED:
-		totem_statusbar_set_text (TOTEM_STATUSBAR (totem->statusbar),
-				_("Stopped"));
-		totem_statusbar_set_time_and_length
-			(TOTEM_STATUSBAR (totem->statusbar), 0, 0);
-		id = GTK_STOCK_MEDIA_PLAY;
+		totem_statusbar_set_text (TOTEM_STATUSBAR (totem->statusbar), _("Stopped"));
+		totem_statusbar_set_time_and_length (TOTEM_STATUSBAR (totem->statusbar), 0, 0);
 		break;
 	default:
 		return;
 	}
 
-	image = glade_xml_get_widget (totem->xml,
-			"tmw_play_pause_button_image");
-	gtk_image_set_from_stock (GTK_IMAGE (image), id, GTK_ICON_SIZE_BUTTON);
-	image = glade_xml_get_widget (totem->xml, "tcw_pp_button_image");
-	gtk_image_set_from_stock (GTK_IMAGE (image), id, GTK_ICON_SIZE_BUTTON);
+
+	g_signal_handlers_disconnect_by_func (totem->play_button, on_play_button_toggled, totem);
+	g_signal_handlers_disconnect_by_func (totem->fs_play_button, on_play_button_toggled, totem);
+	g_signal_handlers_disconnect_by_func (totem->pause_button, on_pause_button_toggled, totem);
+	g_signal_handlers_disconnect_by_func (totem->fs_pause_button, on_pause_button_toggled, totem);
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->play_button), playing);
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->fs_play_button), playing);
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->pause_button), !playing);
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (totem->fs_pause_button), !playing);
+	g_signal_connect (totem->play_button, "toggled", G_CALLBACK (on_play_button_toggled), totem);
+	g_signal_connect (totem->fs_play_button, "toggled", G_CALLBACK (on_play_button_toggled), totem);
+	g_signal_connect (totem->pause_button, "toggled", G_CALLBACK (on_pause_button_toggled), totem);
+	g_signal_connect (totem->fs_pause_button, "toggled", G_CALLBACK (on_pause_button_toggled), totem);
 
 	totem->state = state;
 }
@@ -598,7 +599,8 @@ totem_action_set_mrl_with_warning (Totem
 		gtk_window_set_title (GTK_WINDOW (totem->win), _("Totem"));
 
 		/* Play/Pause */
-		gtk_widget_set_sensitive (totem->pp_button, FALSE);
+		gtk_widget_set_sensitive (totem->play_button, FALSE);
+		gtk_widget_set_sensitive (totem->pause_button, FALSE);
 		widget = glade_xml_get_widget (totem->xml, "tmw_play_menu_item");
 		gtk_widget_set_sensitive (widget, FALSE);
 
@@ -622,9 +624,9 @@ totem_action_set_mrl_with_warning (Totem
 
 		/* Control popup */
 		gtk_widget_set_sensitive (totem->fs_seek, FALSE);
-		gtk_widget_set_sensitive (totem->fs_pp_button, FALSE);
-		widget = glade_xml_get_widget (totem->xml,
-				"tcw_previous_button");
+		gtk_widget_set_sensitive (totem->fs_play_button, FALSE);
+		gtk_widget_set_sensitive (totem->fs_pause_button, FALSE);
+		widget = glade_xml_get_widget (totem->xml, "tcw_previous_button");
 		gtk_widget_set_sensitive (widget, FALSE);
 		widget = glade_xml_get_widget (totem->xml, "tcw_next_button"); 
 		gtk_widget_set_sensitive (widget, FALSE);
@@ -662,12 +664,14 @@ totem_action_set_mrl_with_warning (Totem
 		totem->mrl = g_strdup (mrl);
 
 		/* Play/Pause */
-		gtk_widget_set_sensitive (totem->pp_button, TRUE);
+		gtk_widget_set_sensitive (totem->play_button, TRUE);
+		gtk_widget_set_sensitive (totem->pause_button, TRUE);
 		widget = glade_xml_get_widget (totem->xml, "tmw_play_menu_item");
 		gtk_widget_set_sensitive (widget, TRUE);
 		widget = glade_xml_get_widget (totem->xml, "trcm_play");
 		gtk_widget_set_sensitive (widget, TRUE);
-		gtk_widget_set_sensitive (totem->fs_pp_button, TRUE);
+		gtk_widget_set_sensitive (totem->fs_play_button, TRUE);
+		gtk_widget_set_sensitive (totem->fs_pause_button, TRUE);
 
 		/* Seek bar */
 		update_seekable (totem,
@@ -1034,7 +1038,13 @@ drag_video_cb (GtkWidget *widget,
 }
 
 static void
-on_play_pause_button_clicked (GtkToggleButton *button, Totem *totem)
+on_play_button_toggled (GtkToggleButton *button, Totem *totem)
+{
+	TOTEM_PROFILE (totem_action_play_pause (totem));
+}
+
+static void
+on_pause_button_toggled (GtkToggleButton *button, Totem *totem)
 {
 	TOTEM_PROFILE (totem_action_play_pause (totem));
 }
@@ -2986,10 +2996,12 @@ totem_callback_connect (Totem *totem)
 			G_CALLBACK (on_show_controls2_activate), totem);
 
 	/* Controls */
-	totem->pp_button = glade_xml_get_widget
-		(totem->xml, "tmw_play_pause_button");
-	g_signal_connect (G_OBJECT (totem->pp_button), "clicked",
-			G_CALLBACK (on_play_pause_button_clicked), totem);
+	totem->play_button = glade_xml_get_widget (totem->xml, "tmw_play_button");
+	totem->pause_button = glade_xml_get_widget (totem->xml, "tmw_pause_button");
+	g_signal_connect (G_OBJECT (totem->play_button), "toggled",
+			  G_CALLBACK (on_play_button_toggled), totem);
+	g_signal_connect (G_OBJECT (totem->pause_button), "toggled",
+			  G_CALLBACK (on_pause_button_toggled), totem);
 	item = glade_xml_get_widget (totem->xml, "tmw_previous_button");
 	g_signal_connect (G_OBJECT (item), "clicked",
 			G_CALLBACK (on_previous_button_clicked), totem);
@@ -3046,9 +3058,13 @@ totem_callback_connect (Totem *totem)
 			G_CALLBACK (on_video_motion_notify_event), totem);
 
 	/* Control Popup */
-	g_signal_connect (G_OBJECT (totem->fs_pp_button), "clicked",
-			G_CALLBACK (on_play_pause_button_clicked), totem);
-	g_signal_connect (G_OBJECT (totem->fs_pp_button), "clicked",
+	g_signal_connect (G_OBJECT (totem->fs_play_button), "toggled",
+			G_CALLBACK (on_play_button_toggled), totem);
+	g_signal_connect (G_OBJECT (totem->fs_pause_button), "toggled",
+			G_CALLBACK (on_pause_button_toggled), totem);
+	g_signal_connect (G_OBJECT (totem->fs_play_button), "toggled",
+			G_CALLBACK (on_mouse_click_fullscreen), totem);
+	g_signal_connect (G_OBJECT (totem->fs_pause_button), "toggled",
 			G_CALLBACK (on_mouse_click_fullscreen), totem);
 
 	item = glade_xml_get_widget (totem->xml, "tcw_previous_button");
@@ -3474,8 +3490,8 @@ main (int argc, char **argv)
 		(GTK_RANGE (totem->fs_volume));
 	g_object_set_data (G_OBJECT (totem->fs_volume), "fs", GINT_TO_POINTER (1));
 	totem->volume_first_time = 1;
-	totem->fs_pp_button = glade_xml_get_widget
-		(totem->xml, "tcw_pp_button");
+	totem->fs_play_button = glade_xml_get_widget (totem->xml, "tcw_play_button");
+	totem->fs_pause_button = glade_xml_get_widget (totem->xml, "tcw_pause_button");
 	totem->statusbar = glade_xml_get_widget (totem->xml, "tmw_statusbar");
 	totem->tcw_time_label = glade_xml_get_widget (totem->xml,
 			"tcw_time_display_label");
