[gnome-subtitles] Set selection type according to the current subtitle selection



commit 20258693af1407e3cf980c77c12bb22c48324fa6
Author: Pedro Castro <mail pedrocastro org>
Date:   Sun Jun 28 21:56:43 2009 +0100

    Set selection type according to the current subtitle selection

 src/Glade/TimingsAdjustDialog.glade              |    4 ++--
 src/GnomeSubtitles/Dialog/TimingsAdjustDialog.cs |   17 +++++++++++++----
 2 files changed, 15 insertions(+), 6 deletions(-)
---
diff --git a/src/Glade/TimingsAdjustDialog.glade b/src/Glade/TimingsAdjustDialog.glade
index 222a776..bb26b0a 100644
--- a/src/Glade/TimingsAdjustDialog.glade
+++ b/src/Glade/TimingsAdjustDialog.glade
@@ -297,8 +297,8 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkRadioButton" id="selectedSubtitlesRadioButton">
-                        <property name="label" translatable="yes">Selected Subtitles</property>
+                      <widget class="GtkRadioButton" id="selectedRangeRadioButton">
+                        <property name="label" translatable="yes">Selected Range</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">False</property>
diff --git a/src/GnomeSubtitles/Dialog/TimingsAdjustDialog.cs b/src/GnomeSubtitles/Dialog/TimingsAdjustDialog.cs
index b6a97b8..8587824 100644
--- a/src/GnomeSubtitles/Dialog/TimingsAdjustDialog.cs
+++ b/src/GnomeSubtitles/Dialog/TimingsAdjustDialog.cs
@@ -46,7 +46,7 @@ public class TimingsAdjustDialog : GladeDialog {
 	[WidgetAttribute] private Label lastSubtitleStartInputLabel = null;
 	[WidgetAttribute] private SpinButton lastSubtitleNewStartSpinButton = null;
 	[WidgetAttribute] private RadioButton allSubtitlesRadioButton = null;	
-	[WidgetAttribute] private RadioButton selectedSubtitlesRadioButton = null;
+	[WidgetAttribute] private RadioButton selectedRangeRadioButton = null;
 	
 
 	public TimingsAdjustDialog () : base(gladeFilename){
@@ -54,7 +54,7 @@ public class TimingsAdjustDialog : GladeDialog {
 		SetSpinButtons();
 		UpdateForTimingMode();
 		SetApplyToSelectionSensitivity();
-		SetApplyToAll();
+		SetSelectionType();
 	}
 	
 	private void SetSpinButtons () {
@@ -73,7 +73,16 @@ public class TimingsAdjustDialog : GladeDialog {
 		Core.Util.SetSpinButtonMaxAdjustment(firstSubtitleNewStartSpinButton, timingMode, false);
 		Core.Util.SetSpinButtonTimingMode(lastSubtitleNewStartSpinButton, timingMode);
 		Core.Util.SetSpinButtonMaxAdjustment(lastSubtitleNewStartSpinButton, timingMode, false);
-	}	
+	}
+
+	private void SetSelectionType () {
+		int selectionCount = Core.Base.Ui.View.Selection.Count;
+		int subtitleCount = Core.Base.Document.Subtitles.Count;
+		if ((selectionCount >= 2) && (selectionCount < subtitleCount))
+			selectedRangeRadioButton.Active = true;
+		else
+			SetApplyToAll(); //It's already selected by default, only need to set values
+	}
 
 	private void SetApplyToAll () {
 		SubtitleCollection collection = Base.Document.Subtitles.Collection;
@@ -96,7 +105,7 @@ public class TimingsAdjustDialog : GladeDialog {
 	private void SetApplyToSelectionSensitivity () {
 		int selectionCount = Core.Base.Ui.View.Selection.Count;
 		if (selectionCount < 2)
-			selectedSubtitlesRadioButton.Sensitive = false;
+			selectedRangeRadioButton.Sensitive = false;
 	}
 
 	private void UpdateInputValues (int firstNo, int lastNo) {



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