gnome-subtitles r949 - in trunk/src: Glade GnomeSubtitles/Core GnomeSubtitles/Video



Author: pcastro
Date: Mon Jan 21 01:03:38 2008
New Revision: 949
URL: http://svn.gnome.org/viewvc/gnome-subtitles?rev=949&view=rev

Log:
Added the possibility to select whether to show text or translation in 
the video. Fixes bug #495551.


Modified:
   trunk/src/Glade/MainWindow.glade
   trunk/src/GnomeSubtitles/Core/EventHandlers.cs
   trunk/src/GnomeSubtitles/Core/GUI.cs
   trunk/src/GnomeSubtitles/Core/Menus.cs
   trunk/src/GnomeSubtitles/Core/WidgetNames.cs
   trunk/src/GnomeSubtitles/Video/Video.cs
   trunk/src/GnomeSubtitles/Video/VideoSubtitle.cs

Modified: trunk/src/Glade/MainWindow.glade
==============================================================================
--- trunk/src/Glade/MainWindow.glade	(original)
+++ trunk/src/Glade/MainWindow.glade	Mon Jan 21 01:03:38 2008
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.2.0 on Fri Jul 27 11:37:29 2007 by noup nouplab
+<!--Generated with glade3 3.4.0 on Sun Jan 20 23:49:07 2008 
 	Version: 3.0.1
 	Date: Thu Dec  7 16:42:10 2006
 	User: noup
@@ -233,8 +233,8 @@
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <signal name="activate" handler="OnEditRedo"/>
-                        <accelerator key="Z" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK" signal="activate"/>
                         <accelerator key="Y" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+                        <accelerator key="Z" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK" signal="activate"/>
                       </widget>
                     </child>
                     <child>
@@ -447,6 +447,42 @@
                         <signal name="toggled" handler="OnViewVideo"/>
                       </widget>
                     </child>
+                    <child>
+                      <widget class="GtkMenuItem" id="viewVideoSubtitles">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">Video _Subtitles</property>
+                        <property name="use_underline">True</property>
+                        <child>
+                          <widget class="GtkMenu" id="menu1">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <child>
+                              <widget class="GtkRadioMenuItem" id="viewVideoSubtitlesText">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="label" translatable="yes">_Text</property>
+                                <property name="use_underline">True</property>
+                                <property name="active">True</property>
+                                <property name="draw_as_radio">True</property>
+                                <signal name="toggled" handler="OnViewVideoSubtitlesText"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkRadioMenuItem" id="viewVideoSubtitlesTranslation">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="label" translatable="yes">Translatio_n</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_as_radio">True</property>
+                                <property name="group">viewVideoSubtitlesText</property>
+                                <signal name="toggled" handler="OnViewVideoSubtitlesTranslation"/>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
                   </widget>
                 </child>
               </widget>
@@ -476,8 +512,8 @@
                         <property name="label" translatable="yes">Find Ne_xt</property>
                         <property name="use_underline">True</property>
                         <signal name="activate" handler="OnSearchFindNext"/>
-                        <accelerator key="G" modifiers="GDK_CONTROL_MASK" signal="activate"/>
                         <accelerator key="F3" modifiers="" signal="activate"/>
+                        <accelerator key="G" modifiers="GDK_CONTROL_MASK" signal="activate"/>
                       </widget>
                     </child>
                     <child>
@@ -487,8 +523,8 @@
                         <property name="label" translatable="yes">Find Pre_vious</property>
                         <property name="use_underline">True</property>
                         <signal name="activate" handler="OnSearchFindPrevious"/>
-                        <accelerator key="G" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK" signal="activate"/>
                         <accelerator key="F3" modifiers="GDK_SHIFT_MASK" signal="activate"/>
+                        <accelerator key="G" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK" signal="activate"/>
                       </widget>
                     </child>
                     <child>
@@ -733,8 +769,8 @@
                         <property name="label" translatable="yes">_Play / Pause</property>
                         <property name="use_underline">True</property>
                         <signal name="activate" handler="OnVideoPlayPause"/>
+                        <accelerator key="F5" modifiers="" signal="activate"/>
                         <accelerator key="P" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                        <accelerator key="F5" signal="activate"/>
                         <child internal-child="image">
                           <widget class="GtkImage" id="videoPlayPauseImage">
                             <property name="visible">True</property>
@@ -753,8 +789,8 @@
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <signal name="activate" handler="OnVideoRewind"/>
+                        <accelerator key="F6" modifiers="" signal="activate"/>
                         <accelerator key="K" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                        <accelerator key="F6" signal="activate"/>
                       </widget>
                     </child>
                     <child>
@@ -765,8 +801,8 @@
                         <property name="use_underline">True</property>
                         <property name="use_stock">True</property>
                         <signal name="activate" handler="OnVideoForward"/>
+                        <accelerator key="F7" modifiers="" signal="activate"/>
                         <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/>
-                        <accelerator key="F7" signal="activate"/>
                       </widget>
                     </child>
                     <child>
@@ -777,13 +813,13 @@
                     <child>
                       <widget class="GtkMenuItem" id="videoSeekToSelection">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes">Seek _To Selection</property>
+                        <property name="label" translatable="yes">Seek _to Selection</property>
                         <property name="use_underline">True</property>
                         <signal name="activate" handler="OnVideoSeekToSelection"/>
                       </widget>
                     </child>
                     <child>
-                      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
+                      <widget class="GtkSeparatorMenuItem" id="videoSeparator3">
                         <property name="visible">True</property>
                       </widget>
                     </child>
@@ -1168,6 +1204,7 @@
                           <widget class="GtkButton" id="videoSetSubtitleStartButton">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
+                            <property name="response_id">0</property>
                             <signal name="clicked" handler="OnVideoSetSubtitleStart"/>
                             <child>
                               <widget class="GtkImage" id="videoSetSubtitleStartButtonImage">
@@ -1183,6 +1220,7 @@
                           <widget class="GtkButton" id="videoSetSubtitleEndButton">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
+                            <property name="response_id">0</property>
                             <signal name="clicked" handler="OnVideoSetSubtitleEnd"/>
                             <child>
                               <widget class="GtkImage" id="videoSetSubtitleEndButtonImage">
@@ -1266,6 +1304,7 @@
                               <widget class="GtkToggleButton" id="videoPlayPauseButton">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
+                                <property name="response_id">0</property>
                                 <child>
                                   <widget class="GtkAlignment" id="playPauseButtonAlignment">
                                     <property name="visible">True</property>
@@ -1317,6 +1356,7 @@
                                   <widget class="GtkButton" id="videoRewindButton">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
                                     <signal name="clicked" handler="OnVideoRewind"/>
                                     <child>
                                       <widget class="GtkImage" id="rewindButtonImage">
@@ -1331,6 +1371,7 @@
                                   <widget class="GtkButton" id="videoForwardButton">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
                                     <signal name="clicked" handler="OnVideoForward"/>
                                     <child>
                                       <widget class="GtkImage" id="forwardButtonImage">
@@ -1392,6 +1433,7 @@
                 <child>
                   <widget class="GtkScrolledWindow" id="subtitleViewScrolledWindow">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                     <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                     <property name="shadow_type">GTK_SHADOW_OUT</property>
@@ -1421,31 +1463,39 @@
                         <property name="n_columns">2</property>
                         <property name="row_spacing">2</property>
                         <child>
-                          <widget class="GtkSpinButton" id="startSpinButton">
+                          <widget class="GtkLabel" id="startLabel">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="adjustment">0 0 100 1 10 10</property>
-                            <property name="climb_rate">1</property>
-                            <property name="numeric">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes" comments="This is the start time/frame of a subtitle.">From:</property>
                           </widget>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
                             <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkSpinButton" id="durationSpinButton">
+                          <widget class="GtkLabel" id="endLabel">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="adjustment">0 0 100 1 10 10</property>
-                            <property name="climb_rate">1</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes" comments="This is the end time/frame of a subtitle.">To:</property>
+                          </widget>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"></property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="durationLabel">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes" comments="This is the duration of a subtitle.">During:</property>
                           </widget>
                           <packing>
-                            <property name="left_attach">1</property>
-                            <property name="right_attach">2</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
+                            <property name="x_options">GTK_FILL</property>
                             <property name="y_options"></property>
                           </packing>
                         </child>
@@ -1465,39 +1515,31 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="durationLabel">
+                          <widget class="GtkSpinButton" id="durationSpinButton">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes" comments="This is the duration of a subtitle.">During:</property>
+                            <property name="can_focus">True</property>
+                            <property name="adjustment">0 0 100 1 10 10</property>
+                            <property name="climb_rate">1</property>
                           </widget>
                           <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
                             <property name="top_attach">2</property>
                             <property name="bottom_attach">3</property>
-                            <property name="x_options">GTK_FILL</property>
                             <property name="y_options"></property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="endLabel">
-                            <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes" comments="This is the end time/frame of a subtitle.">To:</property>
-                          </widget>
-                          <packing>
-                            <property name="top_attach">1</property>
-                            <property name="bottom_attach">2</property>
-                            <property name="x_options">GTK_FILL</property>
-                            <property name="y_options"></property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="startLabel">
+                          <widget class="GtkSpinButton" id="startSpinButton">
                             <property name="visible">True</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes" comments="This is the start time/frame of a subtitle.">From:</property>
+                            <property name="can_focus">True</property>
+                            <property name="adjustment">0 0 100 1 10 10</property>
+                            <property name="climb_rate">1</property>
+                            <property name="numeric">True</property>
                           </widget>
                           <packing>
-                            <property name="x_options">GTK_FILL</property>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
                             <property name="y_options"></property>
                           </packing>
                         </child>
@@ -1555,6 +1597,7 @@
                 </child>
               </widget>
               <packing>
+                <property name="resize">True</property>
                 <property name="shrink">False</property>
               </packing>
             </child>

Modified: trunk/src/GnomeSubtitles/Core/EventHandlers.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/EventHandlers.cs	(original)
+++ trunk/src/GnomeSubtitles/Core/EventHandlers.cs	Mon Jan 21 01:03:38 2008
@@ -1,6 +1,6 @@
 /*
  * This file is part of Gnome Subtitles.
- * Copyright (C) 2006-2007 Pedro Castro
+ * Copyright (C) 2006-2008 Pedro Castro
  *
  * Gnome Subtitles is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -160,6 +160,17 @@
 			Global.GUI.Video.Hide();
 	}
 	
+		
+	public void OnViewVideoSubtitlesText (object o, EventArgs args) {
+		if ((o as RadioMenuItem).Active)
+			Global.GUI.Video.Subtitle.ToShowText = true;
+	}
+	
+	public void OnViewVideoSubtitlesTranslation (object o, EventArgs args) {
+		if ((o as RadioMenuItem).Active)
+			Global.GUI.Video.Subtitle.ToShowText = false;
+	}
+	
 	/* Search Menu */
 	
 		
@@ -213,7 +224,7 @@
 	}
 	
 	public void OnVideoClose (object o, EventArgs args) {
-		Global.GUI.Video.Close();
+		Global.GUI.CloseVideo();
 	}
 
 	public void OnVideoPlayPause (object o, EventArgs args) {

Modified: trunk/src/GnomeSubtitles/Core/GUI.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/GUI.cs	(original)
+++ trunk/src/GnomeSubtitles/Core/GUI.cs	Mon Jan 21 01:03:38 2008
@@ -1,6 +1,6 @@
 /*
  * This file is part of Gnome Subtitles.
- * Copyright (C) 2006-2007 Pedro Castro
+ * Copyright (C) 2006-2008 Pedro Castro
  *
  * Gnome Subtitles is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -153,6 +153,11 @@
 		}
     }
     
+    public void CloseVideo () {
+    	Video.Close();
+    	UpdateFromCloseVideo();
+    }
+    
     /// <summary>Executes a Save operation.</summary>
     /// <remarks>If the document hasn't been saved before, a SaveAs is executed.</remarks>
     /// <returns>Whether the file was saved or not.</returns>
@@ -266,6 +271,14 @@
 		video.UpdateFromTimingMode(mode);
 	}
 	
+	public void UpdateFromOpenVideo () {
+		menus.UpdateFromOpenVideo();
+	}
+	
+	public void UpdateFromCloseVideo () {
+		menus.UpdateFromCloseVideo();
+	}
+	
 	/// <summary>Updates the various parts of the GUI based on the current selection.</summary>
 	public void UpdateFromSelection () {
 		if (view.Selection.Count == 1)
@@ -346,7 +359,7 @@
 		try {
 			videoUri = new Uri(videoUriString);
 			Video.Open(videoUri);
-			Menus.SetVideoSensitivity(true);
+			UpdateFromOpenVideo();
 		}
 		catch (Exception exception) {
 			Video.Close();

Modified: trunk/src/GnomeSubtitles/Core/Menus.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/Menus.cs	(original)
+++ trunk/src/GnomeSubtitles/Core/Menus.cs	Mon Jan 21 01:03:38 2008
@@ -1,6 +1,6 @@
 /*
  * This file is part of Gnome Subtitles.
- * Copyright (C) 2006-2007 Pedro Castro
+ * Copyright (C) 2006-2008 Pedro Castro
  *
  * Gnome Subtitles is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -51,12 +51,13 @@
 	}
 	
 	public void UpdateFromNewTranslationDocument () {
-		SetNewTranslationSensitivity(true);
+		SetTranslationSensitivity(true);
 		UpdateUndoRedoMessages();
 	}
 	
 	public void UpdateFromCloseTranslation () {
-    	SetNewTranslationSensitivity(false);
+    	SetTranslationSensitivity(false);
+    	SetViewVideoSubtitlesActivity(true);
     	UpdateUndoRedoMessages();
     }
 	
@@ -102,6 +103,16 @@
     public void UpdateFromCommandActivated () {
     	UpdateUndoRedoMessages();
     }
+    
+    public void UpdateFromOpenVideo () {
+    	SetVideoSensitivity(true);
+    	SetViewVideoSubtitlesSensitivity();
+    }
+    
+    public void UpdateFromCloseVideo () {
+    	SetVideoSensitivity(false);
+    	SetViewVideoSubtitlesSensitivity(false, false);
+    }
 
 	public void SetActiveTimingMode (TimingMode mode) {
 		if (mode == TimingMode.Times)
@@ -141,19 +152,6 @@
 		SetCheckMenuItemActivity(WidgetNames.ViewVideo, activity);
 	}
 	
-	public void SetVideoSensitivity (bool sensitivity) {
-		SetSensitivity(WidgetNames.VideoClose, sensitivity);
-		SetSensitivity(WidgetNames.VideoPlayPause, sensitivity);
-		SetSensitivity(WidgetNames.VideoRewind, sensitivity);
-		SetSensitivity(WidgetNames.VideoForward, sensitivity);
-		
-		/* Set video menu dependent sensitivity if there is 1 selected subtitle. */
-		if ((Global.GUI.View.Selection.Count == 1) && sensitivity)
-			SetVideoSelectionDependentSensitivity(true);
-		else
-			SetVideoSelectionDependentSensitivity(false);
-	}
-	
 	public void AddFrameRateVideoTag (float frameRate) {
 		if (frameRate <= 0)
 			return;
@@ -276,6 +274,7 @@
 			/* View Menu */
 			SetSensitivity(WidgetNames.ViewTimes, true);
 			SetSensitivity(WidgetNames.ViewFrames, true);
+			SetViewVideoSubtitlesSensitivity();
 			/* Search Menu */
 			SetSensitivity(WidgetNames.SearchFind, true);
 			SetSensitivity(WidgetNames.SearchReplace, true);
@@ -297,6 +296,8 @@
 			SetSensitivity(WidgetNames.EditCut, false);
 			SetSensitivity(WidgetNames.EditCopy, false);
 			SetSensitivity(WidgetNames.EditPaste, false);
+			/* View Menu */
+			SetViewVideoSubtitlesSensitivity();
 			/* Search Menu */
 			SetSensitivity(WidgetNames.SearchFindNext, false);
 			SetSensitivity(WidgetNames.SearchFindPrevious, false);
@@ -309,10 +310,11 @@
 		}	
 	}
 	
-	private void SetNewTranslationSensitivity (bool sensitivity) {
+	private void SetTranslationSensitivity (bool sensitivity) {
 		SetSensitivity(WidgetNames.FileTranslationSave, sensitivity);
 		SetSensitivity(WidgetNames.FileTranslationSaveAs, sensitivity);
 		SetSensitivity(WidgetNames.FileTranslationClose, sensitivity);
+		SetViewVideoSubtitlesSensitivity();
 	}
 	
 	private void SetFrameRateMenus () {
@@ -338,6 +340,27 @@
 		SetToggleToolButtonActivity(WidgetNames.UnderlineButton, underline, Global.Handlers.OnEditFormatUnderline);
 	}
 	
+		
+	private void SetViewVideoSubtitlesActivity (bool isTextActive) {
+		if (isTextActive)
+			SetCheckMenuItemActivity(WidgetNames.ViewVideoSubtitlesText, true);
+		else
+			SetCheckMenuItemActivity(WidgetNames.ViewVideoSubtitlesTranslation, true);
+	}
+	
+	private void SetVideoSensitivity (bool sensitivity) {
+		SetSensitivity(WidgetNames.VideoClose, sensitivity);
+		SetSensitivity(WidgetNames.VideoPlayPause, sensitivity);
+		SetSensitivity(WidgetNames.VideoRewind, sensitivity);
+		SetSensitivity(WidgetNames.VideoForward, sensitivity);
+		
+		/* Set video menu dependent sensitivity if there is 1 selected subtitle. */
+		if ((Global.GUI.View.Selection.Count == 1) && sensitivity)
+			SetVideoSelectionDependentSensitivity(true);
+		else
+			SetVideoSelectionDependentSensitivity(false);
+	}
+	
 	private void SetStylesSensitivity (bool sensitivity) {
 		if (Global.GetWidget(WidgetNames.EditFormatBold).Sensitive != sensitivity) {
 			SetSensitivity(WidgetNames.EditFormatBold, sensitivity);
@@ -365,6 +388,18 @@
 		}
 	}
 	
+	private void SetViewVideoSubtitlesSensitivity () {
+		bool isVideoLoaded = Global.GUI.Video.IsLoaded;
+		bool textSensitivity = isVideoLoaded && Global.IsDocumentLoaded;
+		bool translationSensitivity = isVideoLoaded && textSensitivity && Global.Document.IsTranslationLoaded;
+		SetViewVideoSubtitlesSensitivity(textSensitivity, translationSensitivity);	
+	}
+	
+	private void SetViewVideoSubtitlesSensitivity (bool textSensitivity, bool translationSensitivity) {
+		SetSensitivity(WidgetNames.ViewVideoSubtitlesText, textSensitivity);
+		SetSensitivity(WidgetNames.ViewVideoSubtitlesTranslation, translationSensitivity);
+	}
+	
 	private void SetCheckMenuItemActivity (string menuItemName, bool isActive) {
 		(Global.GetWidget(menuItemName) as CheckMenuItem).Active = isActive;
 	}

Modified: trunk/src/GnomeSubtitles/Core/WidgetNames.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/WidgetNames.cs	(original)
+++ trunk/src/GnomeSubtitles/Core/WidgetNames.cs	Mon Jan 21 01:03:38 2008
@@ -1,6 +1,6 @@
 /*
  * This file is part of Gnome Subtitles.
- * Copyright (C) 2006-2007 Pedro Castro
+ * Copyright (C) 2006-2008 Pedro Castro
  *
  * Gnome Subtitles is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -55,6 +55,8 @@
 	public const string ViewTimes = "viewTimes";
 	public const string ViewFrames = "viewFrames";
 	public const string ViewVideo = "viewVideo";
+	public const string ViewVideoSubtitlesText = "viewVideoSubtitlesText";
+	public const string ViewVideoSubtitlesTranslation = "viewVideoSubtitlesTranslation";
 	
 	/* Search Menu */
 	public const string SearchFind = "searchFind";

Modified: trunk/src/GnomeSubtitles/Video/Video.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Video/Video.cs	(original)
+++ trunk/src/GnomeSubtitles/Video/Video.cs	Mon Jan 21 01:03:38 2008
@@ -1,6 +1,6 @@
 /*
  * This file is part of Gnome Subtitles.
- * Copyright (C) 2006-2007 Pedro Castro
+ * Copyright (C) 2006-2008 Pedro Castro
  *
  * Gnome Subtitles is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -77,6 +77,10 @@
 		get { return position; }
 	}
 	
+	public VideoSubtitle Subtitle {
+		get { return subtitle; }
+	}
+	
 	public bool IsLoaded {
 		get { return isLoaded; }
 	}
@@ -127,7 +131,6 @@
 		SilentDisablePlayPauseButton();		
 		SetControlsSensitivity(false);
 
-		Global.GUI.Menus.SetVideoSensitivity(false);
 		Global.GUI.Menus.RemoveFrameRateVideoTag(oldFrameRate);
 	}
 

Modified: trunk/src/GnomeSubtitles/Video/VideoSubtitle.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Video/VideoSubtitle.cs	(original)
+++ trunk/src/GnomeSubtitles/Video/VideoSubtitle.cs	Mon Jan 21 01:03:38 2008
@@ -1,6 +1,6 @@
 /*
  * This file is part of Gnome Subtitles.
- * Copyright (C) 2007 Pedro Castro
+ * Copyright (C) 2007-2008 Pedro Castro
  *
  * Gnome Subtitles is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,6 +30,7 @@
 	private Subtitle subtitle = null;
 	private TimeSpan subtitleStart = TimeSpan.Zero;
 	private TimeSpan subtitleEnd = TimeSpan.Zero;
+	private bool toShowText = true;
 	
 	public VideoSubtitle (VideoPosition position) {
 		EventBox box = Global.GetWidget(WidgetNames.VideoSubtitleLabelEventBox) as EventBox;
@@ -40,6 +41,15 @@
 
 		position.Changed += OnVideoPositionChanged;
 	}
+	
+	/* Public properties */
+	
+	public bool ToShowText {
+		get { return toShowText; }
+		set { this.toShowText = value; }
+	}
+	
+	/* Public methods */
 
 	public void Close () {
 		UnloadSubtitle();
@@ -89,7 +99,13 @@
 	}
 	
 	private void SetText () {
-		string text = subtitle.Text.Get();
+		if (toShowText)
+			SetText(subtitle.Text.Get());
+		else
+			SetText(subtitle.Translation.Get());
+	}
+	
+	private void SetText (string text) {
 		string markup = "<span size=\"x-large\""; 
 	
 		if (subtitle.Style.Bold)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]