Signed-off-by: Miika Turkia <[email protected]>
---
 desktop-widgets/divelogimportdialog.cpp |  6 ++++--
 xslt/csv2xml.xslt                       | 13 ++++++++++++-
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/desktop-widgets/divelogimportdialog.cpp 
b/desktop-widgets/divelogimportdialog.cpp
index ecc2d24..a1ecf15 100644
--- a/desktop-widgets/divelogimportdialog.cpp
+++ b/desktop-widgets/divelogimportdialog.cpp
@@ -718,6 +718,8 @@ char *intdup(int index)
 
 int DiveLogImportDialog::setup_csv_params(QStringList r, char **params, int 
pnr)
 {
+       params[pnr++] = strdup("dateField");
+       params[pnr++] = intdup(r.indexOf(tr("Date")));
        params[pnr++] = strdup("timeField");
        params[pnr++] = intdup(r.indexOf(tr("Sample time")));
        params[pnr++] = strdup("depthField");
@@ -819,7 +821,7 @@ void DiveLogImportDialog::on_buttonBox_accepted()
                                        sample->tts.seconds *= 60;
                                }
                        } else {
-                               char *params[39];
+                               char *params[41];
                                int pnr = 0;
 
                                pnr = setup_csv_params(r, params, pnr);
@@ -886,7 +888,7 @@ void DiveLogImportDialog::on_buttonBox_accepted()
 
                                parse_manual_file(fileNames[i].toUtf8().data(), 
params, pnr - 1);
                        } else {
-                               char *params[39];
+                               char *params[41];
                                int pnr = 0;
 
                                pnr = setup_csv_params(r, params, pnr);
diff --git a/xslt/csv2xml.xslt b/xslt/csv2xml.xslt
index 10931e7..3a316a2 100644
--- a/xslt/csv2xml.xslt
+++ b/xslt/csv2xml.xslt
@@ -2,6 +2,7 @@
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
   <xsl:include href="commonTemplates.xsl"/>
   <xsl:strip-space elements="*"/>
+  <xsl:param name="dateField" select="dateField"/>
   <xsl:param name="timeField" select="timeField"/>
   <xsl:param name="depthField" select="depthField"/>
   <xsl:param name="tempField" select="tempField"/>
@@ -39,7 +40,17 @@
       <dives>
         <dive>
           <xsl:attribute name="date">
-            <xsl:value-of select="concat(substring($date, 1, 4), '-', 
substring($date, 5, 2), '-', substring($date, 7, 2))"/>
+            <xsl:choose>
+              <xsl:when test="$dateField >= 0">
+                <xsl:call-template name="getFieldByIndex">
+                  <xsl:with-param name="index" select="$dateField"/>
+                  <xsl:with-param name="line" 
select="substring-after(substring-after(., $lf), $lf)"/>
+                </xsl:call-template>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:value-of select="concat(substring($date, 1, 4), '-', 
substring($date, 5, 2), '-', substring($date, 7, 2))"/>
+              </xsl:otherwise>
+            </xsl:choose>
           </xsl:attribute>
           <xsl:attribute name="time">
             <xsl:value-of select="concat(substring($time, 2, 2), ':', 
substring($time, 4, 2))"/>
-- 
2.5.0

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to