]> granicus.if.org Git - handbrake/commitdiff
WinGui:
authorsr55 <sr55.hb@outlook.com>
Fri, 17 Jul 2009 15:22:07 +0000 (15:22 +0000)
committersr55 <sr55.hb@outlook.com>
Fri, 17 Jul 2009 15:22:07 +0000 (15:22 +0000)
- Option to set an External SRT as default.
- Import preset now adds the preset to the preset list. Includes a few UI/QueryGenerator.cs fixes for this.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2703 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/C#/Controls/Subtitles.Designer.cs
win/C#/Controls/Subtitles.cs
win/C#/Functions/QueryGenerator.cs
win/C#/Presets/PresetsHandler.cs
win/C#/frmAddPreset.cs
win/C#/frmMain.cs

index bbef363337ea584d81c20ef113c93495f7ce18cd..26584ec992fde5d996b5a44dbca2c7179fc72f56 100644 (file)
@@ -65,6 +65,7 @@
             this.srt_lang = new System.Windows.Forms.ComboBox();\r
             this.btn_srtAdd = new System.Windows.Forms.Button();\r
             this.openFileDialog = new System.Windows.Forms.OpenFileDialog();\r
+            this.check_default_srt = new System.Windows.Forms.CheckBox();\r
             this.SubTitlesGroup.SuspendLayout();\r
             this.subMenu.SuspendLayout();\r
             this.tabControl1.SuspendLayout();\r
             // SRTGroup\r
             // \r
             this.SRTGroup.BackColor = System.Drawing.Color.Transparent;\r
+            this.SRTGroup.Controls.Add(this.check_default_srt);\r
             this.SRTGroup.Controls.Add(this.srt_offset);\r
             this.SRTGroup.Controls.Add(this.label5);\r
             this.SRTGroup.Controls.Add(this.srt_browse);\r
             // label5\r
             // \r
             this.label5.AutoSize = true;\r
-            this.label5.Location = new System.Drawing.Point(486, 23);\r
+            this.label5.Location = new System.Drawing.Point(555, 23);\r
             this.label5.Name = "label5";\r
             this.label5.Size = new System.Drawing.Size(27, 13);\r
             this.label5.TabIndex = 78;\r
             this.srt_browse.BackColor = System.Drawing.Color.Transparent;\r
             this.srt_browse.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
             this.srt_browse.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
-            this.srt_browse.Location = new System.Drawing.Point(519, 18);\r
+            this.srt_browse.Location = new System.Drawing.Point(588, 18);\r
             this.srt_browse.Name = "srt_browse";\r
-            this.srt_browse.Size = new System.Drawing.Size(111, 23);\r
+            this.srt_browse.Size = new System.Drawing.Size(67, 23);\r
             this.srt_browse.TabIndex = 77;\r
             this.srt_browse.Text = "Browse";\r
             this.srt_browse.UseVisualStyleBackColor = false;\r
             this.openFileDialog.DefaultExt = "srt";\r
             this.openFileDialog.Filter = "SRT Files |*.srt";\r
             // \r
+            // check_default_srt\r
+            // \r
+            this.check_default_srt.AutoSize = true;\r
+            this.check_default_srt.Location = new System.Drawing.Point(470, 22);\r
+            this.check_default_srt.Name = "check_default_srt";\r
+            this.check_default_srt.Size = new System.Drawing.Size(61, 17);\r
+            this.check_default_srt.TabIndex = 80;\r
+            this.check_default_srt.Text = "Default";\r
+            this.check_default_srt.UseVisualStyleBackColor = true;\r
+            this.check_default_srt.CheckedChanged += new System.EventHandler(this.check_default_srt_CheckedChanged);\r
+            // \r
             // Subtitles\r
             // \r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;\r
         internal System.Windows.Forms.ComboBox srt_lang;\r
         private System.Windows.Forms.NumericUpDown srt_offset;\r
         private System.Windows.Forms.OpenFileDialog openFileDialog;\r
+        private System.Windows.Forms.CheckBox check_default_srt;\r
     }\r
 }\r
index 48a6f3c7a71a65e5c0d503f5896bdd708aa3577d..c785cdeb66a51868ecab341f7bf3e34620af0602 100644 (file)
@@ -103,12 +103,19 @@ namespace Handbrake.Controls
         }\r
         private void btn_srtAdd_Click(object sender, EventArgs e)\r
         {\r
+            string defaultSub = "No";\r
+            if (check_default_srt.Checked)\r
+            {\r
+                defaultSub = "Yes";\r
+                setNoDefault();\r
+            }\r
+\r
             ListViewItem newTrack = new ListViewItem(getNewID().ToString());\r
 \r
             newTrack.SubItems.Add(srt_lang.SelectedItem + ", (" + srt_charcode.SelectedItem + ")");\r
             newTrack.SubItems.Add("No");\r
             newTrack.SubItems.Add("No");\r
-            newTrack.SubItems.Add("No");\r
+            newTrack.SubItems.Add(defaultSub);\r
             if (openFileDialog.FileName != null)\r
                 newTrack.SubItems.Add(openFileDialog.FileName);\r
             else\r
@@ -138,6 +145,8 @@ namespace Handbrake.Controls
                     int.TryParse(lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[6].Text, out offsetVal);\r
                     srt_offset.Value = offsetVal;\r
 \r
+                    check_default_srt.CheckState = lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[4].Text == "Yes" ? CheckState.Checked : CheckState.Unchecked;\r
+\r
                     SRTGroup.Text = "Selected Track: " + lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[0].Text;\r
                     SubTitlesGroup.Text = "Selected Track: None";\r
                 }\r
@@ -154,7 +163,7 @@ namespace Handbrake.Controls
                     drp_subtitleTracks.SelectedItem = lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[1];\r
 \r
                     check_forced.CheckState = lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[2].Text == "Yes" ? CheckState.Checked : CheckState.Unchecked;\r
-                    check_burned.CheckState = lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[3].Text == "Yes" ? CheckState.Checked : CheckState.Unchecked;  \r
+                    check_burned.CheckState = lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[3].Text == "Yes" ? CheckState.Checked : CheckState.Unchecked;\r
                     check_default.CheckState = lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[4].Text == "Yes" ? CheckState.Checked : CheckState.Unchecked;\r
 \r
                     SubTitlesGroup.Text = "Selected Track: " + lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[0].Text;\r
@@ -211,6 +220,18 @@ namespace Handbrake.Controls
                 lv_subList.Select();\r
             }\r
         }\r
+        private void check_default_srt_CheckedChanged(object sender, EventArgs e)\r
+        {\r
+            // Update an item in the  list if required.\r
+            if (lv_subList.Items.Count != 0 && lv_subList.SelectedIndices.Count != 0)\r
+            {\r
+                if (check_default_srt.Checked) // Make sure we only have 1 default track\r
+                    setNoDefault();\r
+\r
+                lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[4].Text = check_default_srt.Checked ? "Yes" : "No";\r
+                lv_subList.Select();\r
+            }\r
+        }\r
 \r
         // SRT Controls\r
         private void srt_offset_ValueChanged(object sender, EventArgs e)\r
index a6c59ee8151854b464ed85872f70bedff211a2be..ed2b3b2d699abbb771f0efb7db29a9a03153d744 100644 (file)
@@ -28,7 +28,7 @@ namespace Handbrake.Functions
                 if (mainWindow.sourcePath.Trim() != "Select \"Source\" to continue")\r
                     query = " -i " + '"' + mainWindow.sourcePath + '"';\r
 \r
-            if (mainWindow.drp_dvdtitle.Text != "Automatic")\r
+            if (mainWindow.drp_dvdtitle.Text != "")\r
             {\r
                 string[] titleInfo = mainWindow.drp_dvdtitle.Text.Split(' ');\r
                 query += " -t " + titleInfo[0];\r
@@ -38,11 +38,11 @@ namespace Handbrake.Functions
                 if (mainWindow.drop_angle.Items.Count != 0)\r
                     query += " --angle " + mainWindow.drop_angle.SelectedItem;\r
 \r
-            if (mainWindow.drop_chapterFinish.Text == mainWindow.drop_chapterStart.Text && mainWindow.drop_chapterStart.Text != "Auto")\r
+            if (mainWindow.drop_chapterFinish.Text == mainWindow.drop_chapterStart.Text && mainWindow.drop_chapterStart.Text != "")\r
                 query += " -c " + mainWindow.drop_chapterStart.Text;\r
             else if (mainWindow.drop_chapterStart.Text == "Auto" && mainWindow.drop_chapterFinish.Text != "Auto")\r
                 query += " -c " + "0-" + mainWindow.drop_chapterFinish.Text;\r
-            else if (mainWindow.drop_chapterStart.Text != "Auto" && mainWindow.drop_chapterFinish.Text != "Auto")\r
+            else if (mainWindow.drop_chapterStart.Text != "Auto" && mainWindow.drop_chapterFinish.Text != "Auto" && mainWindow.drop_chapterStart.Text != "")\r
                 query += " -c " + mainWindow.drop_chapterStart.Text + "-" + mainWindow.drop_chapterFinish.Text;\r
 \r
             // Destination tab\r
@@ -398,7 +398,9 @@ namespace Handbrake.Functions
                 string srtFile = String.Empty; \r
                 string srtCodeset = String.Empty;\r
                 string srtOffset = String.Empty; \r
-                string srtLang = String.Empty; \r
+                string srtLang = String.Empty;\r
+                string srtDefault = String.Empty;\r
+                int srtCount = 0;\r
 \r
                 foreach (ListViewItem item in mainWindow.Subtitles.lv_subList.Items)\r
                 {\r
@@ -406,6 +408,7 @@ namespace Handbrake.Functions
 \r
                     if (item.SubItems.Count != 5) // We have an SRT file\r
                     {\r
+                        srtCount++; // SRT track id.\r
                         string[] trackData = item.SubItems[1].Text.Split(',');\r
                         if (trackData != null)\r
                         {\r
@@ -415,7 +418,9 @@ namespace Handbrake.Functions
                             srtLang += srtLang == "" ? realLangCode : "," + realLangCode;\r
                             srtCodeset += srtCodeset == "" ? charCode : "," + charCode;\r
                         }\r
-\r
+                        if (item.SubItems[4].Text == "Yes") // default\r
+                            srtDefault = srtCount.ToString();\r
+                            \r
                         itemToAdd = item.SubItems[5].Text;\r
                         srtFile += srtFile == "" ? itemToAdd : "," + itemToAdd;\r
 \r
@@ -486,6 +491,8 @@ namespace Handbrake.Functions
                         query += " --srt-offset " + srtOffset;\r
                     if (srtLang != "")\r
                         query += " --srt-lang " + srtLang;\r
+                    if (srtDefault != "")\r
+                        query += " --subtitle-default " + srtDefault;\r
                 }\r
 \r
             }\r
index 61615453478a9e5636ab718c1ce7502e0127ebff..52e13a35421607c93c833ff5c69be4af5ff51f4e 100644 (file)
@@ -37,7 +37,6 @@ namespace Handbrake.Presets
                 updateUserPresetsFile();\r
                 return true;\r
             }\r
-            MessageBox.Show("Sorry, that preset name already exists. Please choose another!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
             return false;\r
         }\r
 \r
index ca726c09b1fd5c2b5b3c41d0873168f39c4810c2..0ddba9a62b9bfaec006583d09b24a5a25af58c02 100644 (file)
@@ -37,6 +37,10 @@ namespace Handbrake
 \r
                 //frmMainWindow.loadPresetPanel();\r
                 this.Close();\r
+            } \r
+            else\r
+            {\r
+                MessageBox.Show("Sorry, that preset name already exists. Please choose another!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
             }\r
         }\r
 \r
index 3076ae67a0d8546b3e498787ad450dc715754d00..a25aa5633a1af6cd7b1d76d7c39cf09978537566 100644 (file)
@@ -373,7 +373,28 @@ namespace Handbrake
             if (openPreset.ShowDialog() == DialogResult.OK)\r
             {\r
                 QueryParser parsed = imp.importMacPreset(openPreset.FileName);\r
-                PresetLoader.presetLoader(this, parsed, parsed.PresetName, parsed.UsesPictureSettings);\r
+                if (presetHandler.checkIfUserPresetExists(parsed.PresetName + " (Imported)"))\r
+                {\r
+                    DialogResult result = MessageBox.Show("This preset appears to already exist. Would you like to overwrite it?", "Overwrite preset?", \r
+                                                           MessageBoxButtons.YesNo, MessageBoxIcon.Warning);\r
+                    if (result == DialogResult.Yes)\r
+                    {\r
+                        PresetLoader.presetLoader(this, parsed, parsed.PresetName, parsed.UsesPictureSettings);\r
+                        presetHandler.updatePreset(parsed.PresetName + " (Imported)", queryGen.generateTheQuery(this),\r
+                                                   parsed.UsesPictureSettings);\r
+                    }\r
+                }\r
+                else\r
+                {\r
+                    PresetLoader.presetLoader(this, parsed, parsed.PresetName, parsed.UsesPictureSettings);\r
+                    presetHandler.addPreset(parsed.PresetName, queryGen.generateTheQuery(this), parsed.UsesPictureSettings);\r
+\r
+                    if (presetHandler.addPreset(parsed.PresetName + " (Imported)", queryGen.generateTheQuery(this), parsed.UsesPictureSettings))\r
+                    {\r
+                        TreeNode preset_treeview = new TreeNode(parsed.PresetName + " (Imported)") { ForeColor = Color.Black };\r
+                        treeView_presets.Nodes.Add(preset_treeview);\r
+                    }\r
+                }\r
             }\r
         }\r
         private void btn_new_preset_Click(object sender, EventArgs e)\r