OSDN Git Service

WinGui:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 30 Nov 2009 20:42:13 +0000 (20:42 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 30 Nov 2009 20:42:13 +0000 (20:42 +0000)
- ActivityWindow Make sure the correct log is selected (Last action: scan or encode)
- Make closing the window more responsive.

git-svn-id: svn://localhost/HandBrake/trunk@2993 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/C#/frmActivityWindow.cs
win/C#/frmMain.cs

index af7b621..6b1ffee 100644 (file)
@@ -27,13 +27,17 @@ namespace Handbrake
         private Thread monitor;\r
         private Boolean kilLThread;\r
 \r
-        public frmActivityWindow()\r
+        public frmActivityWindow(string mode)\r
         {\r
+            if (mode == "scan")\r
+                SetScanMode();\r
+            else\r
+                SetEncodeMode();\r
+\r
             InitializeComponent();\r
         }\r
         private void NewActivityWindow_Load(object sender, EventArgs e)\r
         {\r
-            SetScanMode();\r
             monitor = new Thread(LogMonitor);\r
             _position = 0;\r
             kilLThread = false;\r
@@ -77,7 +81,15 @@ namespace Handbrake
                         break;\r
                 }\r
 \r
-                Thread.Sleep(750);\r
+                try\r
+                {\r
+                    Thread.Sleep(1000);\r
+                }\r
+                catch (ThreadInterruptedException)\r
+                {\r
+                    // Do Nothnig.\r
+                }\r
+\r
             }\r
         }\r
         private StringBuilder ReadFile(string file)\r
@@ -148,6 +160,9 @@ namespace Handbrake
                     else\r
                         rtf_actLog.AppendText(text.ToString());\r
                 }\r
+            } catch(ThreadInterruptedException)\r
+            {\r
+                // Do Nothing\r
             }\r
             catch (Exception exc)\r
             {\r
@@ -301,6 +316,7 @@ namespace Handbrake
         protected override void OnClosing(CancelEventArgs e)\r
         {\r
             kilLThread = true;\r
+            monitor.Interrupt();\r
             monitor.Join();\r
             e.Cancel = true;\r
             this.Dispose();\r
index 0de757e..7be3a9c 100644 (file)
@@ -353,9 +353,7 @@ namespace Handbrake
         }\r
         private void mnu_encodeLog_Click(object sender, EventArgs e)\r
         {\r
-            String file = lastAction == "scan" ? "last_scan_log.txt" : "last_encode_log.txt";\r
-\r
-            frmActivityWindow dvdInfoWindow = new frmActivityWindow();\r
+            frmActivityWindow dvdInfoWindow = new frmActivityWindow(lastAction);\r
             dvdInfoWindow.Show();\r
         }\r
         private void mnu_options_Click(object sender, EventArgs e)\r
@@ -801,12 +799,20 @@ namespace Handbrake
         private void btn_ActivityWindow_Click(object sender, EventArgs e)\r
         {\r
             if (ActivityWindow == null || !ActivityWindow.IsHandleCreated)\r
-                ActivityWindow = new frmActivityWindow();\r
+                ActivityWindow = new frmActivityWindow(lastAction);\r
 \r
-            if (encodeQueue.isEncoding)\r
-                ActivityWindow.SetEncodeMode();\r
-            else\r
-                ActivityWindow.SetScanMode();\r
+            switch (lastAction)\r
+            {\r
+                case "scan":\r
+                    ActivityWindow.SetScanMode();\r
+                    break;\r
+                case "encode":\r
+                    ActivityWindow.SetEncodeMode();\r
+                    break;\r
+                default:\r
+                    ActivityWindow.SetEncodeMode();\r
+                    break;\r
+            }\r
 \r
             ActivityWindow.Show();\r
             ActivityWindow.Activate();\r