From 4bf3364bb7a7388bb751656d8194cbd6be178c9f Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Wed, 11 Jun 2014 23:13:37 -0400 Subject: [PATCH] DOM - Preserves more original types. --- src/DOM.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/DOM.cpp b/src/DOM.cpp index cb0a5dcef..85a4b2656 100644 --- a/src/DOM.cpp +++ b/src/DOM.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -299,7 +300,14 @@ bool DOM::get (const std::string& name, const Task& task, Variant& value) { if (elements.size () == 2) { - value = Variant (ref.get (canonical)); + Column* column = context.columns[canonical]; + if (column && column->type () == "date") + value = Variant (ref.get_date (canonical), Variant::type_date); + else if (column && column->type () == "duration") + value = Variant ((time_t) Duration (ref.get (canonical)), Variant::type_duration); + else + value = Variant (ref.get (canonical)); + return true; } else if (elements.size () == 3)