diff options
-rw-r--r-- | desktop-widgets/divelogimportdialog.cpp | 6 | ||||
-rw-r--r-- | xslt/csv2xml.xslt | 13 |
2 files changed, 16 insertions, 3 deletions
diff --git a/desktop-widgets/divelogimportdialog.cpp b/desktop-widgets/divelogimportdialog.cpp index 854a522f2..90a466c9a 100644 --- a/desktop-widgets/divelogimportdialog.cpp +++ b/desktop-widgets/divelogimportdialog.cpp @@ -722,6 +722,8 @@ int DiveLogImportDialog::setup_csv_params(QStringList r, char **params, int pnr) params[pnr++] = intdup(r.indexOf(tr("Date"))); params[pnr++] = strdup("datefmt"); params[pnr++] = intdup(ui->DateFormat->currentIndex()); + params[pnr++] = strdup("starttimeField"); + params[pnr++] = intdup(r.indexOf(tr("Time"))); params[pnr++] = strdup("timeField"); params[pnr++] = intdup(r.indexOf(tr("Sample time"))); params[pnr++] = strdup("depthField"); @@ -823,7 +825,7 @@ void DiveLogImportDialog::on_buttonBox_accepted() sample->tts.seconds *= 60; } } else { - char *params[43]; + char *params[45]; int pnr = 0; pnr = setup_csv_params(r, params, pnr); @@ -890,7 +892,7 @@ void DiveLogImportDialog::on_buttonBox_accepted() parse_manual_file(fileNames[i].toUtf8().data(), params, pnr - 1); } else { - char *params[43]; + char *params[45]; int pnr = 0; pnr = setup_csv_params(r, params, pnr); diff --git a/xslt/csv2xml.xslt b/xslt/csv2xml.xslt index 5c97b7aee..b196ae054 100644 --- a/xslt/csv2xml.xslt +++ b/xslt/csv2xml.xslt @@ -4,6 +4,7 @@ <xsl:strip-space elements="*"/> <xsl:param name="dateField" select="dateField"/> <xsl:param name="datefmt" select="datefmt"/> + <xsl:param name="starttimeField" select="starttimeField"/> <xsl:param name="timeField" select="timeField"/> <xsl:param name="depthField" select="depthField"/> <xsl:param name="tempField" select="tempField"/> @@ -87,7 +88,17 @@ </xsl:choose> </xsl:attribute> <xsl:attribute name="time"> - <xsl:value-of select="concat(substring($time, 2, 2), ':', substring($time, 4, 2))"/> + <xsl:choose> + <xsl:when test="$starttimeField >= 0"> + <xsl:call-template name="getFieldByIndex"> + <xsl:with-param name="index" select="$starttimeField"/> + <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($time, 2, 2), ':', substring($time, 4, 2))"/> + </xsl:otherwise> + </xsl:choose> </xsl:attribute> <!-- If the dive is CCR, create oxygen and diluent cylinders --> |