]> granicus.if.org Git - handbrake/commitdiff
WinGui: Use the LumenWorks CsvReader library for the chapters tab. (MIT License)
authorsr55 <sr55.hb@outlook.com>
Sat, 5 Oct 2013 14:48:33 +0000 (14:48 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 5 Oct 2013 14:48:33 +0000 (14:48 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5820 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/CS/HandBrakeWPF/HandBrakeWPF.csproj
win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs
win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs

index bb24758b6181e96eef236f6542b1da3152af0434..46587920de74d6482bf0443181d9d20b046a43f9 100644 (file)
@@ -96,6 +96,9 @@
       <SpecificVersion>False</SpecificVersion>\r
       <HintPath>..\libraries\Growl.CoreLibrary.dll</HintPath>\r
     </Reference>\r
+    <Reference Include="LumenWorks.Framework.IO">\r
+      <HintPath>..\libraries\CsvReader\LumenWorks.Framework.IO.dll</HintPath>\r
+    </Reference>\r
     <Reference Include="Ookii.Dialogs.Wpf">\r
       <HintPath>..\libraries\OokiiDialogs\Ookii.Dialogs.Wpf.dll</HintPath>\r
     </Reference>\r
     <Reference Include="PresentationFramework.Aero" />\r
     <Reference Include="System" />\r
     <Reference Include="System.ComponentModel.DataAnnotations" />\r
+    <Reference Include="System.Data" />\r
     <Reference Include="System.Drawing" />\r
     <Reference Include="System.Management" />\r
     <Reference Include="System.Runtime.Serialization" />\r
index 4276b97a41906c12417786b3d92749d106507c51..6344e262b1e578766da692662828f64cffc9f95f 100644 (file)
@@ -24,6 +24,8 @@ namespace HandBrakeWPF.ViewModels
 \r
     using HandBrakeWPF.ViewModels.Interfaces;\r
 \r
+    using LumenWorks.Framework.IO.Csv;\r
+\r
     using Ookii.Dialogs.Wpf;\r
 \r
     /// <summary>\r
@@ -160,19 +162,17 @@ namespace HandBrakeWPF.ViewModels
             IDictionary<int, string> chapterMap = new Dictionary<int, string>();\r
             try\r
             {\r
-                var sr = new StreamReader(filename);\r
-                string csv = sr.ReadLine();\r
-                while (csv != null)\r
+                using (CsvReader csv = new CsvReader(new StreamReader(filename), false))\r
                 {\r
-                    if (csv.Trim() != string.Empty)\r
+                    while (csv.ReadNextRecord())\r
                     {\r
-                        csv = csv.Replace("\\,", "<!comma!>");\r
-                        string[] contents = csv.Split(',');\r
-                        int chapter;\r
-                        int.TryParse(contents[0], out chapter);\r
-                        chapterMap.Add(chapter, contents[1].Replace("<!comma!>", ","));\r
+                        if (csv.FieldCount == 2)\r
+                        {\r
+                            int chapter;\r
+                            int.TryParse(csv[0], out chapter);\r
+                            chapterMap[chapter] = csv[1];\r
+                        }\r
                     }\r
-                    csv = sr.ReadLine();\r
                 }\r
             }\r
             catch (Exception)\r
index cd2d104239c2bcf2e9b4a073b9e81258df168c9d..bfe29b27b55e9c49d07bf1a5a75ceb3646c407d8 100644 (file)
@@ -374,6 +374,9 @@ namespace HandBrakeWPF.ViewModels
         /// </summary>\r
         private bool disableQuickSyncDecoding;\r
 \r
+        /// <summary>\r
+        /// The enable quick sync.\r
+        /// </summary>\r
         private bool enableQuickSync;\r
 \r
         #endregion\r