[gnome-subtitles] Fixed bug with the dialog not reflecting timingmode changes



commit 010dcfc23867cd7a9b0ff9b2294ffc90dd47284b
Author: Pedro Castro <mail>
Date:   Sat Feb 13 03:08:45 2010 +0000

    Fixed bug with the dialog not reflecting timingmode changes

 src/Glade/VideoSeekToDialog.glade              |    3 +-
 src/GnomeSubtitles/Dialog/VideoSeekToDialog.cs |   28 ++++++++++++++---------
 2 files changed, 19 insertions(+), 12 deletions(-)
---
diff --git a/src/Glade/VideoSeekToDialog.glade b/src/Glade/VideoSeekToDialog.glade
index 6de9cea..7fa4abe 100644
--- a/src/Glade/VideoSeekToDialog.glade
+++ b/src/Glade/VideoSeekToDialog.glade
@@ -22,7 +22,7 @@
             <child>
               <widget class="GtkLabel" id="positionLabel">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">Seek to _time:</property>
+                <property name="label" translatable="yes">Seek _video to:</property>
                 <property name="use_underline">True</property>
               </widget>
               <packing>
@@ -39,6 +39,7 @@
                 <property name="is_focus">True</property>
                 <property name="activates_default">True</property>
                 <property name="adjustment">0 0 100 1 10 0</property>
+                <property name="numeric">True</property>
               </widget>
               <packing>
                 <property name="position">1</property>
diff --git a/src/GnomeSubtitles/Dialog/VideoSeekToDialog.cs b/src/GnomeSubtitles/Dialog/VideoSeekToDialog.cs
index 795a0db..d99d774 100644
--- a/src/GnomeSubtitles/Dialog/VideoSeekToDialog.cs
+++ b/src/GnomeSubtitles/Dialog/VideoSeekToDialog.cs
@@ -1,6 +1,6 @@
 /*
  * This file is part of Gnome Subtitles.
- * Copyright (C) 2008-2009 Pedro Castro
+ * Copyright (C) 2008-2010 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
@@ -35,12 +35,10 @@ public class VideoSeekToDialog : GladeDialog {
 
 	/* Widgets */
 	[WidgetAttribute] private SpinButton spinButton = null;
-	[WidgetAttribute] private Label positionLabel = null;
 
 	public VideoSeekToDialog () : base(gladeFilename){
-		this.timingMode = Base.TimingMode;
-	
 		InitSpinButton();
+		spinButton.SelectRegion(0, spinButton.Text.Length);
 	}
 
 	/* Overriden members */
@@ -48,27 +46,35 @@ public class VideoSeekToDialog : GladeDialog {
 	public override DialogScope Scope {
 		get { return DialogScope.Video; }
 	}
+
+	public override void Show () {
+		SetSpinButtonFromTimingMode();
+		base.Show ();
+	}
+
 	
 	/* Private methods */
 
 	private void InitSpinButton () {
 		spinButton.WidthRequest = Core.Util.SpinButtonTimeWidth(spinButton);
 		spinButton.Alignment = 0.5f;
-		
+	}
+
+	private void SetSpinButtonFromTimingMode () {
+		if (this.timingMode == Base.TimingMode)
+			return;
+
+		this.timingMode = Base.TimingMode;
+		Core.Util.SetSpinButtonTimingMode(spinButton, timingMode);
+
 		if (timingMode == TimingMode.Times) {
-			Core.Util.SetSpinButtonTimingMode(spinButton, Base.TimingMode);
 			Core.Util.SetSpinButtonAdjustment(spinButton, Base.Ui.Video.Position.Duration, false);
 			SetSpinButtonValue(Base.Ui.Video.Position.CurrentTime.TotalMilliseconds);
 		}
 		else {
-			Core.Util.SetSpinButtonTimingMode(spinButton, Base.TimingMode);
 			Core.Util.SetSpinButtonAdjustment(spinButton, Base.Ui.Video.Position.DurationInFrames, false);
 			SetSpinButtonValue(Base.Ui.Video.Position.CurrentFrames);
-			
-			positionLabel.TextWithMnemonic = Catalog.GetString("Seek to _frame:");
 		}
-		
-		spinButton.SelectRegion(0, spinButton.Text.Length);
 	}
 	
 	private void SetSpinButtonValue (double newValue) {



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