OSDN Git Service

WinGui:
authorsr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 4 May 2009 22:40:46 +0000 (22:40 +0000)
committersr55 <sr55@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 4 May 2009 22:40:46 +0000 (22:40 +0000)
# New
- Setup LibDVDNav option for scanning.

# Directory and logging changes
- The GUI now stores preset data in the systems user Application Data directory. This means that multi-user systems don't share the same single set of user presets.
- A History of logs are automatically stored in the systems application data directory.
- Changed the log preferences to make them a bit easier to understand.

# Bugs / Typos
- Fixed small bug in the version info regex parser.
- Fixed typo on x264 tab
- Fixed minor GUI issue on the Add Preset window (button transparency)
- Fixed disable Query Editor tab option (Thanks tlindgren)

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

15 files changed:
win/C#/Controls/x264Panel.Designer.cs
win/C#/Functions/Encode.cs
win/C#/Functions/Main.cs
win/C#/Parsing/Title.cs
win/C#/Presets/PresetsHandler.cs
win/C#/Presets/preset.cs
win/C#/Program.cs
win/C#/Properties/Settings.Designer.cs
win/C#/Properties/Settings.settings
win/C#/app.config
win/C#/frmAddPreset.Designer.cs
win/C#/frmMain.cs
win/C#/frmOptions.Designer.cs
win/C#/frmOptions.cs
win/C#/frmPreview.Designer.cs

index 3e3c4a2..82d6977 100644 (file)
@@ -77,7 +77,7 @@
             // \r
             this.slider_psytrellis.Location = new System.Drawing.Point(436, 194);\r
             this.slider_psytrellis.Name = "slider_psytrellis";\r
-            this.slider_psytrellis.Size = new System.Drawing.Size(131, 42);\r
+            this.slider_psytrellis.Size = new System.Drawing.Size(131, 45);\r
             this.slider_psytrellis.TabIndex = 86;\r
             this.ToolTip.SetToolTip(this.slider_psytrellis, "Psychovisual Trellis tries to retain more sharpness and detail, but can cause art" +\r
                     "ifacting. \r\nIt is considered experimental, which is why it\'s off by default. Goo" +\r
             // \r
             this.slider_psyrd.Location = new System.Drawing.Point(436, 153);\r
             this.slider_psyrd.Name = "slider_psyrd";\r
-            this.slider_psyrd.Size = new System.Drawing.Size(131, 42);\r
+            this.slider_psyrd.Size = new System.Drawing.Size(131, 45);\r
             this.slider_psyrd.TabIndex = 83;\r
             this.ToolTip.SetToolTip(this.slider_psyrd, resources.GetString("slider_psyrd.ToolTip"));\r
             this.slider_psyrd.Scroll += new System.EventHandler(this.slider_psyrd_Scroll);\r
             this.check_pyrmidalBFrames.Location = new System.Drawing.Point(18, 194);\r
             this.check_pyrmidalBFrames.Name = "check_pyrmidalBFrames";\r
             this.check_pyrmidalBFrames.RightToLeft = System.Windows.Forms.RightToLeft.No;\r
-            this.check_pyrmidalBFrames.Size = new System.Drawing.Size(112, 17);\r
+            this.check_pyrmidalBFrames.Size = new System.Drawing.Size(118, 17);\r
             this.check_pyrmidalBFrames.TabIndex = 59;\r
-            this.check_pyrmidalBFrames.Text = "Pyrmidal B-Frames:";\r
+            this.check_pyrmidalBFrames.Text = "Pyramidal B-Frames:";\r
             this.check_pyrmidalBFrames.TextAlign = System.Drawing.ContentAlignment.MiddleRight;\r
             this.ToolTip.SetToolTip(this.check_pyrmidalBFrames, resources.GetString("check_pyrmidalBFrames.ToolTip"));\r
             this.check_pyrmidalBFrames.UseVisualStyleBackColor = true;\r
index 6c30828..1579528 100644 (file)
@@ -136,31 +136,38 @@ namespace Handbrake.Functions
         public void copyLog(string destination)\r
         {\r
             // The user may wish to do something with the log.\r
-            if (Properties.Settings.Default.saveLog == "Checked")\r
+            if (Properties.Settings.Default.saveLogToSpecifiedPath == "Checked")\r
             {\r
-                string logPath = Path.Combine(Path.GetTempPath(), "hb_encode_log.dat");\r
-\r
-                if (Properties.Settings.Default.saveLogWithVideo == "Checked")\r
+                try\r
                 {\r
-                    string[] destName = destination.Split('\\');\r
-                    string destinationFile = "";\r
-                    for (int i = 0; i < destName.Length - 1; i++)\r
-                    {\r
-                        destinationFile += destName[i] + "\\";\r
-                    }\r
+                    string logDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\logs";\r
+                    string tempLogFile = Path.Combine(Path.GetTempPath(), "hb_encode_log.dat");\r
 \r
-                    destinationFile += DateTime.Now.ToString().Replace("/", "-").Replace(":", "-") + " " + destName[destName.Length - 1] + ".txt";\r
+                    string encodeDestinationPath = Path.GetDirectoryName(destination);\r
+                    String[] destName = destination.Split('\\');\r
+                    string destinationFile = destName[destName.Length - 1];\r
+                    string encodeLogFile = DateTime.Now.ToString().Replace("/", "-").Replace(":", "-") + " " + destinationFile + ".txt";\r
 \r
-                    File.Copy(logPath, destinationFile);\r
+                    // Make sure the log directory exists.\r
+                    if (!Directory.Exists(logDir))\r
+                        Directory.CreateDirectory(logDir);\r
+\r
+                    // Copy the Log to HandBrakes log folder in the users applciation data folder.\r
+                    File.Copy(tempLogFile, Path.Combine(logDir, encodeLogFile));\r
+\r
+                    // Save a copy of the log file in the same location as the enocde.\r
+                    if (Properties.Settings.Default.saveLogWithVideo == "Checked")\r
+                        File.Copy(tempLogFile, Path.Combine(encodeDestinationPath, encodeLogFile));\r
+\r
+                    // Save a copy of the log file to a user specified location\r
+                    if (Directory.Exists(Properties.Settings.Default.saveLogPath))\r
+                        if (Properties.Settings.Default.saveLogPath != String.Empty && Properties.Settings.Default.saveLogToSpecifiedPath == "Checked")\r
+                            File.Copy(tempLogFile, Path.Combine(Properties.Settings.Default.saveLogPath, encodeLogFile));\r
                 }\r
-                else if (Properties.Settings.Default.saveLogPath != String.Empty)\r
+                catch (Exception exc)\r
                 {\r
-                    string[] destName = destination.Split('\\');\r
-                    string dest = destName[destName.Length - 1];\r
-                    string filename = DateTime.Now.ToString().Replace("/", "-").Replace(":", "-") + " " + dest + ".txt";\r
-                    string useDefinedLogPath = Path.Combine(Properties.Settings.Default.saveLogPath, filename);\r
-\r
-                    File.Copy(logPath, useDefinedLogPath);\r
+                    MessageBox.Show("Something went a bit wrong trying to copy your log file.\nError Information:\n\n" + exc, "Error",\r
+                                    MessageBoxButtons.OK, MessageBoxIcon.Error);\r
                 }\r
             }\r
         }\r
index 6c43220..d716120 100644 (file)
@@ -296,14 +296,13 @@ namespace Handbrake.Functions
             try\r
             {\r
                 cliProcess.Start();\r
-                cliProcess.Kill();\r
                 // Retrieve standard output and report back to parent thread until the process is complete\r
                 TextReader stdOutput = cliProcess.StandardError;\r
 \r
                 while (!cliProcess.HasExited)\r
                 {\r
                     line = stdOutput.ReadLine() ?? "";\r
-                    Match m = Regex.Match(line, @"HandBrake ([0-9\.]*)*(svn[0-9]*[M]*)* \([0-9]*\)");\r
+                    Match m = Regex.Match(line, @"HandBrake ([0-9.]*)(svn[0-9M]*) \([0-9]*\)");\r
 \r
                     if (m.Success)\r
                     {\r
index 8073606..39b8d3c 100644 (file)
@@ -128,8 +128,18 @@ namespace Handbrake.Parsing
 \r
             output.ReadLine();\r
 \r
-            // Get duration for this title\r
+            if (Properties.Settings.Default.dvdnav == "Checked")\r
+            {\r
+                // Get the Angles for the title.\r
+                m = Regex.Match(output.ReadLine(), @"  \+ angle\(s\) ([0-9,])");\r
+                if (m.Success)\r
+                {\r
+                    //  + angle(s) 1\r
+                    // Do nothing. Will add this later.\r
+                }\r
+            }\r
 \r
+            // Get duration for this title\r
             m = Regex.Match(output.ReadLine(), @"^  \+ duration: ([0-9]{2}:[0-9]{2}:[0-9]{2})");\r
             if (m.Success)\r
                 thisTitle.m_duration = TimeSpan.Parse(m.Groups[1].Value);\r
index 657807c..064d4f3 100644 (file)
@@ -12,9 +12,11 @@ namespace Handbrake.Presets
 {\r
     public class PresetsHandler\r
     {\r
-        List<Preset> presets = new List<Preset>();  // Category+Level+Preset Name: Query\r
-        List<Preset> user_presets = new List<Preset>(); // Preset Name: Query\r
+        List<Preset> presets = new List<Preset>();  \r
+        List<Preset> user_presets = new List<Preset>();\r
         private static readonly XmlSerializer ser = new XmlSerializer(typeof(List<Preset>));\r
+        String userPresetFile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\user_presets.xml";\r
+        string hbPresetFile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\presets.xml";\r
 \r
         /// <summary>\r
         /// Add a new preset to the system\r
@@ -202,10 +204,9 @@ namespace Handbrake.Presets
             user_presets.Clear();\r
 \r
             // Load in the users presets from user_presets.xml\r
-            string filePath = Application.StartupPath + "\\presets.xml";\r
-            if (File.Exists(filePath))\r
+            if (File.Exists(hbPresetFile))\r
             {\r
-                using (FileStream strm = new FileStream(filePath, FileMode.Open, FileAccess.Read))\r
+                using (FileStream strm = new FileStream(hbPresetFile, FileMode.Open, FileAccess.Read))\r
                 {\r
                     if (strm.Length != 0)\r
                     {\r
@@ -219,10 +220,10 @@ namespace Handbrake.Presets
             }\r
 \r
             // Load in the users presets from user_presets.xml\r
-            filePath = Application.StartupPath + "\\user_presets.xml";\r
-            if (File.Exists(filePath))\r
+\r
+            if (File.Exists(userPresetFile))\r
             {\r
-                using (FileStream strm = new FileStream(filePath, FileMode.Open, FileAccess.Read))\r
+                using (FileStream strm = new FileStream(userPresetFile, FileMode.Open, FileAccess.Read))\r
                 {\r
                     if (strm.Length != 0)\r
                     {\r
@@ -257,8 +258,7 @@ namespace Handbrake.Presets
                     // Deal with Root\r
                     if (preset.Category == category && preset.TopCategory == category)\r
                         rootNode.Nodes.Add(preset.Name);\r
-                    else if (preset.Category != category && preset.TopCategory == category)\r
-                        // Deal with child nodes for that root\r
+                    else if (preset.Category != category && preset.TopCategory == category) // Deal with child nodes for that root\r
                     {\r
                         if (childNode == null) // For the first child node\r
                             childNode = new TreeNode(preset.Category);\r
@@ -266,8 +266,7 @@ namespace Handbrake.Presets
                         childNode.Nodes.Add(preset.Name);\r
                         addChildNode = true;\r
                     }\r
-                    else if (preset.Category != category && preset.TopCategory != category && preset.Level == 1)\r
-                        // Deal with changing root nodes\r
+                    else if (preset.Category != category && preset.TopCategory != category && preset.Level == 1)// Deal with changing root nodes\r
                     {\r
                         // If we find there are child nodes, add them to the current root node set before adding the rootnode to the panel.\r
                         if (addChildNode)\r
@@ -301,7 +300,7 @@ namespace Handbrake.Presets
         /// </summary>\r
         private void updatePresetsFile()\r
         {\r
-            string userPresets = Application.StartupPath + "\\presets.xml";\r
+            string userPresets = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake\\presets.xml";\r
             try\r
             {\r
                 using (FileStream strm = new FileStream(userPresets, FileMode.Create, FileAccess.Write))\r
@@ -323,10 +322,9 @@ namespace Handbrake.Presets
         /// </summary>\r
         private void updateUserPresetsFile()\r
         {\r
-            string userPresets = Application.StartupPath + "\\user_presets.xml";\r
             try\r
             {\r
-                using (FileStream strm = new FileStream(userPresets, FileMode.Create, FileAccess.Write))\r
+                using (FileStream strm = new FileStream(userPresetFile, FileMode.Create, FileAccess.Write))\r
                 {\r
                     ser.Serialize(strm, user_presets);\r
                     strm.Close();\r
index 4431c9c..2a54d44 100644 (file)
@@ -14,6 +14,9 @@ namespace Handbrake.Presets
         /// </summary>\r
         public string Category { get; set; }\r
 \r
+        /// <summary>\r
+        /// Get or Set the top level category for the preset.\r
+        /// </summary>\r
         public string TopCategory { get; set; }\r
 \r
         /// <summary>\r
index 885a369..ecc9c02 100644 (file)
@@ -6,6 +6,8 @@
 \r
 using System;\r
 using System.Windows.Forms;\r
+using System.IO;\r
+using Handbrake.Presets;\r
 \r
 namespace Handbrake\r
 {\r
@@ -37,6 +39,14 @@ namespace Handbrake
             // Either Launch or Close the Application\r
             if (launch)\r
             {\r
+                string appDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\HandBrake";\r
+                if (!Directory.Exists(appDir))\r
+                {\r
+                    Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) +  "\\HandBrake");\r
+                    PresetsHandler x = new PresetsHandler();\r
+                    x.updateBuiltInPresets();\r
+                }\r
+\r
                 Application.EnableVisualStyles();\r
                 Application.SetCompatibleTextRenderingDefault(false);\r
                 Application.Run(new frmMain());\r
index 2e3841f..c54d0be 100644 (file)
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------\r
 // <auto-generated>\r
 //     This code was generated by a tool.\r
-//     Runtime Version:2.0.50727.1433\r
+//     Runtime Version:2.0.50727.3053\r
 //\r
 //     Changes to this file may cause incorrect behavior and will be lost if\r
 //     the code is regenerated.\r
@@ -242,12 +242,12 @@ namespace Handbrake.Properties {
         [global::System.Configuration.UserScopedSettingAttribute()]\r
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
         [global::System.Configuration.DefaultSettingValueAttribute("")]\r
-        public string saveLog {\r
+        public string saveLogToSpecifiedPath {\r
             get {\r
-                return ((string)(this["saveLog"]));\r
+                return ((string)(this["saveLogToSpecifiedPath"]));\r
             }\r
             set {\r
-                this["saveLog"] = value;\r
+                this["saveLogToSpecifiedPath"] = value;\r
             }\r
         }\r
         \r
index 2964a64..62894d2 100644 (file)
@@ -56,7 +56,7 @@
     <Setting Name="autoNameFormat" Type="System.String" Scope="User">\r
       <Value Profile="(Default)">{source}-{title}-{chapters}</Value>\r
     </Setting>\r
-    <Setting Name="saveLog" Type="System.String" Scope="User">\r
+    <Setting Name="saveLogToSpecifiedPath" Type="System.String" Scope="User">\r
       <Value Profile="(Default)" />\r
     </Setting>\r
     <Setting Name="saveLogPath" Type="System.String" Scope="User">\r
index 326695a..4789bc8 100644 (file)
@@ -61,7 +61,7 @@
             <setting name="autoNameFormat" serializeAs="String">\r
                 <value>{source}-{title}-{chapters}</value>\r
             </setting>\r
-            <setting name="saveLog" serializeAs="String">\r
+            <setting name="saveLogToSpecifiedPath" serializeAs="String">\r
                 <value />\r
             </setting>\r
             <setting name="saveLogPath" serializeAs="String">\r
index be37ade..9ac8fe4 100644 (file)
@@ -64,7 +64,7 @@ namespace Handbrake
             // \r
             // btn_add\r
             // \r
-            this.btn_add.BackColor = System.Drawing.SystemColors.Control;\r
+            this.btn_add.BackColor = System.Drawing.Color.Transparent;\r
             this.btn_add.FlatAppearance.BorderColor = System.Drawing.Color.Black;\r
             this.btn_add.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.btn_add.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
@@ -78,7 +78,7 @@ namespace Handbrake
             // \r
             // btn_cancel\r
             // \r
-            this.btn_cancel.BackColor = System.Drawing.SystemColors.Control;\r
+            this.btn_cancel.BackColor = System.Drawing.Color.Transparent;\r
             this.btn_cancel.FlatAppearance.BorderColor = System.Drawing.Color.Black;\r
             this.btn_cancel.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.btn_cancel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
index c40651e..dddf3fd 100644 (file)
@@ -80,7 +80,7 @@ namespace Handbrake
             lbl_max.Text = "";\r
             queueWindow = new frmQueue(encodeQueue);        // Prepare the Queue\r
             if (Properties.Settings.Default.QueryEditorTab != "Checked")\r
-                tabs_panel.TabPages.RemoveAt(5); // Remove the query editor tab if the user does not want it enabled.\r
+                tabs_panel.TabPages.RemoveAt(6); // Remove the query editor tab if the user does not want it enabled.\r
 \r
             // Load the user's default settings or Normal Preset\r
             if (Properties.Settings.Default.defaultSettings == "Checked" && Properties.Settings.Default.defaultPreset != "")\r
@@ -641,6 +641,7 @@ namespace Handbrake
         }\r
         private void btn_add2Queue_Click(object sender, EventArgs e)\r
         {\r
+\r
             if (text_source.Text == string.Empty || text_source.Text == "Click 'Source' to continue" || text_destination.Text == string.Empty)\r
                 MessageBox.Show("No source OR destination selected.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
             else\r
@@ -1612,7 +1613,10 @@ namespace Handbrake
                 if (File.Exists(dvdInfoPath))\r
                     File.Delete(dvdInfoPath);\r
 \r
-                string strCmdLine = String.Format(@"cmd /c """"{0}"" -i ""{1}"" -t0 -v >""{2}"" 2>&1""", handbrakeCLIPath, inputFile, dvdInfoPath);\r
+                String dvdnav = string.Empty;\r
+                if (Properties.Settings.Default.dvdnav == "Checked")\r
+                    dvdnav = " --dvdnav";\r
+                string strCmdLine = String.Format(@"cmd /c """"{0}"" -i ""{1}"" -t0 {2} -v >""{3}"" 2>&1""", handbrakeCLIPath, inputFile, dvdnav, dvdInfoPath);\r
 \r
                 ProcessStartInfo hbParseDvd = new ProcessStartInfo("CMD.exe", strCmdLine) { WindowStyle = ProcessWindowStyle.Hidden };\r
 \r
@@ -1675,7 +1679,7 @@ namespace Handbrake
 \r
                 // If no titles were found, Display an error message\r
                 if (drp_dvdtitle.Items.Count == 0)\r
-                    MessageBox.Show("No Title(s) found. Please make sure you have selected a valid, non-copy protected source.\nYour Source may be copy protected, badly mastered or a format which HandBrake does not support. \nPlease refer to the Documentation and FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);\r
+                    MessageBox.Show("No Title(s) found. \n\nYour Source may be copy protected, badly mastered or a format which HandBrake does not support. \nPlease refer to the Documentation and FAQ (see Help Menu).", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);\r
 \r
                 // Enable the GUI components and enable any disabled components\r
                 enableGUI();\r
index 321fe2f..e4f0cb9 100644 (file)
@@ -60,12 +60,10 @@ namespace Handbrake
             this.tab_cli = new System.Windows.Forms.TabPage();\r
             this.cb_logVerboseLvl = new System.Windows.Forms.ComboBox();\r
             this.label3 = new System.Windows.Forms.Label();\r
-            this.label15 = new System.Windows.Forms.Label();\r
             this.check_saveLogWithVideo = new System.Windows.Forms.CheckBox();\r
             this.btn_saveLog = new System.Windows.Forms.Button();\r
             this.label14 = new System.Windows.Forms.Label();\r
             this.text_logPath = new System.Windows.Forms.TextBox();\r
-            this.check_keepLogs = new System.Windows.Forms.CheckBox();\r
             this.label9 = new System.Windows.Forms.Label();\r
             this.check_cli_minimized = new System.Windows.Forms.CheckBox();\r
             this.label12 = new System.Windows.Forms.Label();\r
@@ -74,6 +72,8 @@ namespace Handbrake
             this.drp_processors = new System.Windows.Forms.ComboBox();\r
             this.Label4 = new System.Windows.Forms.Label();\r
             this.tab_advanced = new System.Windows.Forms.TabPage();\r
+            this.check_dvdnav = new System.Windows.Forms.CheckBox();\r
+            this.label32 = new System.Windows.Forms.Label();\r
             this.label30 = new System.Windows.Forms.Label();\r
             this.drop_x264step = new System.Windows.Forms.ComboBox();\r
             this.label28 = new System.Windows.Forms.Label();\r
@@ -116,8 +116,7 @@ namespace Handbrake
             this.label26 = new System.Windows.Forms.Label();\r
             this.label27 = new System.Windows.Forms.Label();\r
             this.openFile_vlc = new System.Windows.Forms.OpenFileDialog();\r
-            this.label32 = new System.Windows.Forms.Label();\r
-            this.check_dvdnav = new System.Windows.Forms.CheckBox();\r
+            this.check_logsInSpecifiedLocation = new System.Windows.Forms.CheckBox();\r
             this.tab_options.SuspendLayout();\r
             this.tab_general.SuspendLayout();\r
             this.tab_picture.SuspendLayout();\r
@@ -132,7 +131,7 @@ namespace Handbrake
             this.btn_close.FlatAppearance.BorderColor = System.Drawing.Color.Black;\r
             this.btn_close.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.btn_close.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
-            this.btn_close.Location = new System.Drawing.Point(430, 366);\r
+            this.btn_close.Location = new System.Drawing.Point(430, 370);\r
             this.btn_close.Name = "btn_close";\r
             this.btn_close.Size = new System.Drawing.Size(72, 22);\r
             this.btn_close.TabIndex = 53;\r
@@ -169,7 +168,7 @@ namespace Handbrake
             this.tab_options.Location = new System.Drawing.Point(12, 55);\r
             this.tab_options.Name = "tab_options";\r
             this.tab_options.SelectedIndex = 0;\r
-            this.tab_options.Size = new System.Drawing.Size(490, 305);\r
+            this.tab_options.Size = new System.Drawing.Size(490, 309);\r
             this.tab_options.TabIndex = 58;\r
             // \r
             // tab_general\r
@@ -190,7 +189,7 @@ namespace Handbrake
             this.tab_general.Controls.Add(this.drp_completeOption);\r
             this.tab_general.Location = new System.Drawing.Point(4, 22);\r
             this.tab_general.Name = "tab_general";\r
-            this.tab_general.Size = new System.Drawing.Size(482, 279);\r
+            this.tab_general.Size = new System.Drawing.Size(482, 283);\r
             this.tab_general.TabIndex = 3;\r
             this.tab_general.Text = "General";\r
             this.tab_general.UseVisualStyleBackColor = true;\r
@@ -352,7 +351,7 @@ namespace Handbrake
             this.tab_picture.Controls.Add(this.label29);\r
             this.tab_picture.Location = new System.Drawing.Point(4, 22);\r
             this.tab_picture.Name = "tab_picture";\r
-            this.tab_picture.Size = new System.Drawing.Size(482, 279);\r
+            this.tab_picture.Size = new System.Drawing.Size(482, 283);\r
             this.tab_picture.TabIndex = 5;\r
             this.tab_picture.Text = "Picture";\r
             this.tab_picture.UseVisualStyleBackColor = true;\r
@@ -392,14 +391,13 @@ namespace Handbrake
             // \r
             // tab_cli\r
             // \r
+            this.tab_cli.Controls.Add(this.check_logsInSpecifiedLocation);\r
             this.tab_cli.Controls.Add(this.cb_logVerboseLvl);\r
             this.tab_cli.Controls.Add(this.label3);\r
-            this.tab_cli.Controls.Add(this.label15);\r
             this.tab_cli.Controls.Add(this.check_saveLogWithVideo);\r
             this.tab_cli.Controls.Add(this.btn_saveLog);\r
             this.tab_cli.Controls.Add(this.label14);\r
             this.tab_cli.Controls.Add(this.text_logPath);\r
-            this.tab_cli.Controls.Add(this.check_keepLogs);\r
             this.tab_cli.Controls.Add(this.label9);\r
             this.tab_cli.Controls.Add(this.check_cli_minimized);\r
             this.tab_cli.Controls.Add(this.label12);\r
@@ -409,7 +407,7 @@ namespace Handbrake
             this.tab_cli.Controls.Add(this.Label4);\r
             this.tab_cli.Location = new System.Drawing.Point(4, 22);\r
             this.tab_cli.Name = "tab_cli";\r
-            this.tab_cli.Size = new System.Drawing.Size(482, 279);\r
+            this.tab_cli.Size = new System.Drawing.Size(482, 283);\r
             this.tab_cli.TabIndex = 2;\r
             this.tab_cli.Text = "CLI";\r
             this.tab_cli.UseVisualStyleBackColor = true;\r
@@ -441,21 +439,11 @@ namespace Handbrake
             this.label3.TabIndex = 85;\r
             this.label3.Text = "Log Verbosity Level:";\r
             // \r
-            // label15\r
-            // \r
-            this.label15.AutoSize = true;\r
-            this.label15.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label15.Location = new System.Drawing.Point(195, 214);\r
-            this.label15.Name = "label15";\r
-            this.label15.Size = new System.Drawing.Size(24, 13);\r
-            this.label15.TabIndex = 84;\r
-            this.label15.Text = "OR";\r
-            // \r
             // check_saveLogWithVideo\r
             // \r
             this.check_saveLogWithVideo.AutoSize = true;\r
             this.check_saveLogWithVideo.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_saveLogWithVideo.Location = new System.Drawing.Point(71, 194);\r
+            this.check_saveLogWithVideo.Location = new System.Drawing.Point(71, 178);\r
             this.check_saveLogWithVideo.Name = "check_saveLogWithVideo";\r
             this.check_saveLogWithVideo.Size = new System.Drawing.Size(349, 17);\r
             this.check_saveLogWithVideo.TabIndex = 83;\r
@@ -469,7 +457,7 @@ namespace Handbrake
             this.btn_saveLog.FlatAppearance.BorderColor = System.Drawing.Color.Black;\r
             this.btn_saveLog.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.btn_saveLog.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
-            this.btn_saveLog.Location = new System.Drawing.Point(343, 235);\r
+            this.btn_saveLog.Location = new System.Drawing.Point(343, 225);\r
             this.btn_saveLog.Name = "btn_saveLog";\r
             this.btn_saveLog.Size = new System.Drawing.Size(68, 22);\r
             this.btn_saveLog.TabIndex = 82;\r
@@ -481,7 +469,7 @@ namespace Handbrake
             // \r
             this.label14.AutoSize = true;\r
             this.label14.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label14.Location = new System.Drawing.Point(68, 238);\r
+            this.label14.Location = new System.Drawing.Point(68, 228);\r
             this.label14.Name = "label14";\r
             this.label14.Size = new System.Drawing.Size(61, 13);\r
             this.label14.TabIndex = 81;\r
@@ -489,26 +477,13 @@ namespace Handbrake
             // \r
             // text_logPath\r
             // \r
-            this.text_logPath.Location = new System.Drawing.Point(135, 235);\r
+            this.text_logPath.Location = new System.Drawing.Point(135, 225);\r
             this.text_logPath.Name = "text_logPath";\r
             this.text_logPath.Size = new System.Drawing.Size(202, 21);\r
             this.text_logPath.TabIndex = 80;\r
             this.ToolTip.SetToolTip(this.text_logPath, "The default location where auto named files are stored.");\r
             this.text_logPath.TextChanged += new System.EventHandler(this.text_logPath_TextChanged);\r
             // \r
-            // check_keepLogs\r
-            // \r
-            this.check_keepLogs.AutoSize = true;\r
-            this.check_keepLogs.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_keepLogs.Location = new System.Drawing.Point(71, 171);\r
-            this.check_keepLogs.Name = "check_keepLogs";\r
-            this.check_keepLogs.Size = new System.Drawing.Size(185, 17);\r
-            this.check_keepLogs.TabIndex = 79;\r
-            this.check_keepLogs.Text = "Keep individual encode logs";\r
-            this.ToolTip.SetToolTip(this.check_keepLogs, "Save encode logs to a file after the encode has completed.");\r
-            this.check_keepLogs.UseVisualStyleBackColor = true;\r
-            this.check_keepLogs.CheckedChanged += new System.EventHandler(this.check_keepLogs_CheckedChanged);\r
-            // \r
             // label9\r
             // \r
             this.label9.AutoSize = true;\r
@@ -623,11 +598,34 @@ namespace Handbrake
             this.tab_advanced.Location = new System.Drawing.Point(4, 22);\r
             this.tab_advanced.Name = "tab_advanced";\r
             this.tab_advanced.Padding = new System.Windows.Forms.Padding(3);\r
-            this.tab_advanced.Size = new System.Drawing.Size(482, 279);\r
+            this.tab_advanced.Size = new System.Drawing.Size(482, 283);\r
             this.tab_advanced.TabIndex = 4;\r
             this.tab_advanced.Text = "Advanced / Other";\r
             this.tab_advanced.UseVisualStyleBackColor = true;\r
             // \r
+            // check_dvdnav\r
+            // \r
+            this.check_dvdnav.AutoSize = true;\r
+            this.check_dvdnav.BackColor = System.Drawing.Color.Transparent;\r
+            this.check_dvdnav.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.check_dvdnav.Location = new System.Drawing.Point(76, 184);\r
+            this.check_dvdnav.Name = "check_dvdnav";\r
+            this.check_dvdnav.Size = new System.Drawing.Size(297, 17);\r
+            this.check_dvdnav.TabIndex = 90;\r
+            this.check_dvdnav.Text = "Use Libdvdnav (instead of libdvdread) for dvd\'s";\r
+            this.check_dvdnav.UseVisualStyleBackColor = false;\r
+            this.check_dvdnav.CheckedChanged += new System.EventHandler(this.check_dvdnav_CheckedChanged);\r
+            // \r
+            // label32\r
+            // \r
+            this.label32.AutoSize = true;\r
+            this.label32.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.label32.Location = new System.Drawing.Point(38, 184);\r
+            this.label32.Name = "label32";\r
+            this.label32.Size = new System.Drawing.Size(32, 13);\r
+            this.label32.TabIndex = 89;\r
+            this.label32.Text = "CLI:";\r
+            // \r
             // label30\r
             // \r
             this.label30.AutoSize = true;\r
@@ -1100,34 +1098,22 @@ namespace Handbrake
             this.openFile_vlc.DefaultExt = "exe";\r
             this.openFile_vlc.Filter = "exe|*.exe";\r
             // \r
-            // label32\r
-            // \r
-            this.label32.AutoSize = true;\r
-            this.label32.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.label32.Location = new System.Drawing.Point(38, 184);\r
-            this.label32.Name = "label32";\r
-            this.label32.Size = new System.Drawing.Size(32, 13);\r
-            this.label32.TabIndex = 89;\r
-            this.label32.Text = "CLI:";\r
-            // \r
-            // check_dvdnav\r
+            // check_logsInSpecifiedLocation\r
             // \r
-            this.check_dvdnav.AutoSize = true;\r
-            this.check_dvdnav.BackColor = System.Drawing.Color.Transparent;\r
-            this.check_dvdnav.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
-            this.check_dvdnav.Location = new System.Drawing.Point(76, 184);\r
-            this.check_dvdnav.Name = "check_dvdnav";\r
-            this.check_dvdnav.Size = new System.Drawing.Size(185, 17);\r
-            this.check_dvdnav.TabIndex = 90;\r
-            this.check_dvdnav.Text = "Use DvdNav (Experimental)";\r
-            this.ToolTip.SetToolTip(this.check_dvdnav, "Enables the built in update checker to check for the latest development snapshot " +\r
-                    "builds.\r\nWarning: These are considered unstable builds and are not supported!");\r
-            this.check_dvdnav.UseVisualStyleBackColor = false;\r
-            this.check_dvdnav.CheckedChanged += new System.EventHandler(this.check_dvdnav_CheckedChanged);\r
+            this.check_logsInSpecifiedLocation.AutoSize = true;\r
+            this.check_logsInSpecifiedLocation.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+            this.check_logsInSpecifiedLocation.Location = new System.Drawing.Point(71, 201);\r
+            this.check_logsInSpecifiedLocation.Name = "check_logsInSpecifiedLocation";\r
+            this.check_logsInSpecifiedLocation.Size = new System.Drawing.Size(306, 17);\r
+            this.check_logsInSpecifiedLocation.TabIndex = 87;\r
+            this.check_logsInSpecifiedLocation.Text = "Put individual encode logs in a specified location:";\r
+            this.ToolTip.SetToolTip(this.check_logsInSpecifiedLocation, "Place a copy of the encode log in the same folder as the encoded movie.");\r
+            this.check_logsInSpecifiedLocation.UseVisualStyleBackColor = true;\r
+            this.check_logsInSpecifiedLocation.CheckedChanged += new System.EventHandler(this.check_logsInSpecifiedLocation_CheckedChanged);\r
             // \r
             // frmOptions\r
             // \r
-            this.ClientSize = new System.Drawing.Size(514, 396);\r
+            this.ClientSize = new System.Drawing.Size(514, 402);\r
             this.Controls.Add(this.label8);\r
             this.Controls.Add(this.pictureBox2);\r
             this.Controls.Add(this.tab_options);\r
@@ -1191,11 +1177,9 @@ namespace Handbrake
         private System.Windows.Forms.TextBox txt_autoNameFormat;\r
         private System.Windows.Forms.Label label7;\r
         private System.Windows.Forms.Label label9;\r
-        internal System.Windows.Forms.Label label15;\r
         internal System.Windows.Forms.Button btn_saveLog;\r
         internal System.Windows.Forms.Label label14;\r
         private System.Windows.Forms.TextBox text_logPath;\r
-        internal System.Windows.Forms.CheckBox check_keepLogs;\r
         internal System.Windows.Forms.CheckBox check_saveLogWithVideo;\r
         internal System.Windows.Forms.Button btn_vlcPath;\r
         private System.Windows.Forms.TextBox txt_vlcPath;\r
@@ -1239,5 +1223,6 @@ namespace Handbrake
         internal System.Windows.Forms.Label label3;\r
         internal System.Windows.Forms.CheckBox check_dvdnav;\r
         private System.Windows.Forms.Label label32;\r
+        internal System.Windows.Forms.CheckBox check_logsInSpecifiedLocation;\r
     }\r
 }
\ No newline at end of file
index 34ccef6..c33cc22 100644 (file)
@@ -73,14 +73,15 @@ namespace Handbrake
             // Log Verbosity Level\r
             cb_logVerboseLvl.SelectedIndex = Properties.Settings.Default.verboseLevel;\r
 \r
-            // Save individual log files\r
-            if (Properties.Settings.Default.saveLog == "Checked")\r
-                check_keepLogs.CheckState = CheckState.Checked;\r
 \r
             // Save logs in the same directory as encoded files\r
             if (Properties.Settings.Default.saveLogWithVideo == "Checked")\r
                 check_saveLogWithVideo.CheckState = CheckState.Checked;\r
 \r
+            // Save Logs in a specified path\r
+            if (Properties.Settings.Default.saveLogToSpecifiedPath == "Checked")\r
+                check_logsInSpecifiedLocation.CheckState = CheckState.Checked;\r
+\r
             // The saved log path\r
             text_logPath.Text = Properties.Settings.Default.saveLogPath;\r
 \r
@@ -202,16 +203,13 @@ namespace Handbrake
             Properties.Settings.Default.verboseLevel = cb_logVerboseLvl.SelectedIndex;\r
         }\r
 \r
-        private void check_keepLogs_CheckedChanged(object sender, EventArgs e)\r
-        {\r
-            Properties.Settings.Default.saveLog = check_keepLogs.CheckState.ToString();\r
-        }\r
-\r
         private void check_saveLogWithVideo_CheckedChanged(object sender, EventArgs e)\r
         {\r
             Properties.Settings.Default.saveLogWithVideo = check_saveLogWithVideo.CheckState.ToString();\r
-            if (check_saveLogWithVideo.Checked)\r
-                text_logPath.Text = "";\r
+        }\r
+        private void check_logsInSpecifiedLocation_CheckedChanged(object sender, EventArgs e)\r
+        {\r
+            Properties.Settings.Default.saveLogToSpecifiedPath = check_logsInSpecifiedLocation.CheckState.ToString();\r
         }\r
 \r
         private void btn_saveLog_Click(object sender, EventArgs e)\r
@@ -225,8 +223,6 @@ namespace Handbrake
         private void text_logPath_TextChanged(object sender, EventArgs e)\r
         {\r
             Properties.Settings.Default.saveLogPath = text_logPath.Text;\r
-            if (text_logPath.Text != String.Empty)\r
-                check_saveLogWithVideo.Checked = false;\r
         }\r
 \r
         #endregion\r
@@ -269,6 +265,8 @@ namespace Handbrake
             this.Close();\r
         }\r
 \r
+        \r
+\r
                \r
     }\r
 }
\ No newline at end of file
index bab1f41..bd3f720 100644 (file)
             this.cb_preview = new System.Windows.Forms.ToolStripComboBox();\r
             this.toolStripLabel2 = new System.Windows.Forms.ToolStripLabel();\r
             this.cb_duration = new System.Windows.Forms.ToolStripComboBox();\r
+            this.btn_playQT = new System.Windows.Forms.ToolStripButton();\r
+            this.btn_playVLC = new System.Windows.Forms.ToolStripButton();\r
             this.QTControl = new AxQTOControlLib.AxQTControl();\r
             this.panel1 = new System.Windows.Forms.Panel();\r
             this.lbl_status = new System.Windows.Forms.Label();\r
-            this.btn_playQT = new System.Windows.Forms.ToolStripButton();\r
-            this.btn_playVLC = new System.Windows.Forms.ToolStripButton();\r
             this.toolBar.SuspendLayout();\r
             ((System.ComponentModel.ISupportInitialize)(this.QTControl)).BeginInit();\r
             this.panel1.SuspendLayout();\r
             this.cb_duration.Name = "cb_duration";\r
             this.cb_duration.Size = new System.Drawing.Size(75, 25);\r
             // \r
+            // btn_playQT\r
+            // \r
+            this.btn_playQT.Image = global::Handbrake.Properties.Resources.Play_small;\r
+            this.btn_playQT.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+            this.btn_playQT.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+            this.btn_playQT.Name = "btn_playQT";\r
+            this.btn_playQT.Size = new System.Drawing.Size(89, 22);\r
+            this.btn_playQT.Text = "Play with QT";\r
+            this.btn_playQT.Click += new System.EventHandler(this.btn_playQT_Click);\r
+            // \r
+            // btn_playVLC\r
+            // \r
+            this.btn_playVLC.Image = global::Handbrake.Properties.Resources.Play_small;\r
+            this.btn_playVLC.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+            this.btn_playVLC.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+            this.btn_playVLC.Name = "btn_playVLC";\r
+            this.btn_playVLC.Size = new System.Drawing.Size(93, 22);\r
+            this.btn_playVLC.Text = "Play with VLC";\r
+            this.btn_playVLC.Click += new System.EventHandler(this.btn_playVLC_Click);\r
+            // \r
             // QTControl\r
             // \r
             this.QTControl.Enabled = true;\r
             this.lbl_status.Text = "{0}";\r
             this.lbl_status.Visible = false;\r
             // \r
-            // btn_playQT\r
-            // \r
-            this.btn_playQT.Image = global::Handbrake.Properties.Resources.Play_small;\r
-            this.btn_playQT.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
-            this.btn_playQT.ImageTransparentColor = System.Drawing.Color.Magenta;\r
-            this.btn_playQT.Name = "btn_playQT";\r
-            this.btn_playQT.Size = new System.Drawing.Size(89, 22);\r
-            this.btn_playQT.Text = "Play with QT";\r
-            this.btn_playQT.Click += new System.EventHandler(this.btn_playQT_Click);\r
-            // \r
-            // btn_playVLC\r
-            // \r
-            this.btn_playVLC.Image = global::Handbrake.Properties.Resources.Play_small;\r
-            this.btn_playVLC.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
-            this.btn_playVLC.ImageTransparentColor = System.Drawing.Color.Magenta;\r
-            this.btn_playVLC.Name = "btn_playVLC";\r
-            this.btn_playVLC.Size = new System.Drawing.Size(93, 22);\r
-            this.btn_playVLC.Text = "Play with VLC";\r
-            this.btn_playVLC.Click += new System.EventHandler(this.btn_playVLC_Click);\r
-            // \r
             // frmPreview\r
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r