lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [5748] Fix defect committed 20130414T1847Z, while fixing a


From: Greg Chicares
Subject: [lmi-commits] [5748] Fix defect committed 20130414T1847Z, while fixing another defect
Date: Wed, 17 Jul 2013 12:33:24 +0000

Revision: 5748
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5748
Author:   chicares
Date:     2013-07-17 12:31:24 +0000 (Wed, 17 Jul 2013)
Log Message:
-----------
Fix defect committed 20130414T1847Z, while fixing another defect

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/configurable_settings.cpp
    lmi/trunk/configurable_settings.hpp
    lmi/trunk/ledger_text_formats.cpp
    lmi/trunk/preferences_model.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2013-07-16 22:50:21 UTC (rev 5747)
+++ lmi/trunk/ChangeLog 2013-07-17 12:31:24 UTC (rev 5748)
@@ -32437,3 +32437,15 @@
 are to be used instead. This change temporarily reintroduces the
 defect noted 20130414T1341Z.
 
+20130717T1228Z <address@hidden> [541]
+
+  configurable_settings.cpp
+  configurable_settings.hpp
+  ledger_text_formats.cpp
+  preferences_model.cpp
+Fix defect committed 20130414T1847Z, while fixing another defect.
+Checking "Use built-in calculation summary" defectively caused the
+built-in defaults to overwrite the columns selected in the GUI, so
+that careful selections were irretrievably lost. Now, as before, the
+selections are preserved when grayed out.
+

Modified: lmi/trunk/configurable_settings.cpp
===================================================================
--- lmi/trunk/configurable_settings.cpp 2013-07-16 22:50:21 UTC (rev 5747)
+++ lmi/trunk/configurable_settings.cpp 2013-07-17 12:31:24 UTC (rev 5748)
@@ -418,14 +418,11 @@
     return xsl_fo_command_;
 }
 
-std::vector<std::string> parsed_calculation_summary_columns()
+namespace
 {
-    configurable_settings const& z = configurable_settings::instance();
-    std::istringstream iss
-        (z.use_builtin_calculation_summary()
-        ? default_calculation_summary_columns()
-        : z.calculation_summary_columns()
-        );
+std::vector<std::string> parse_calculation_summary_columns(std::string const& 
s)
+{
+    std::istringstream iss(s);
     std::vector<std::string> const& allowable = 
all_strings<mcenum_report_column>();
     std::vector<std::string> columns;
     std::istream_iterator<std::string> i(iss);
@@ -448,4 +445,21 @@
         }
     return columns;
 }
+} // Unnamed namespace.
 
+std::vector<std::string> input_calculation_summary_columns()
+{
+    configurable_settings const& z = configurable_settings::instance();
+    return parse_calculation_summary_columns(z.calculation_summary_columns());
+}
+
+std::vector<std::string> effective_calculation_summary_columns()
+{
+    configurable_settings const& z = configurable_settings::instance();
+    return parse_calculation_summary_columns
+        (z.use_builtin_calculation_summary()
+        ? default_calculation_summary_columns()
+        : z.calculation_summary_columns()
+        );
+}
+

Modified: lmi/trunk/configurable_settings.hpp
===================================================================
--- lmi/trunk/configurable_settings.hpp 2013-07-16 22:50:21 UTC (rev 5747)
+++ lmi/trunk/configurable_settings.hpp 2013-07-17 12:31:24 UTC (rev 5748)
@@ -118,7 +118,8 @@
     ~configurable_settings();
 };
 
-std::vector<std::string> parsed_calculation_summary_columns();
+std::vector<std::string> input_calculation_summary_columns();
+std::vector<std::string> effective_calculation_summary_columns();
 
 #endif // configurable_settings_hpp
 

Modified: lmi/trunk/ledger_text_formats.cpp
===================================================================
--- lmi/trunk/ledger_text_formats.cpp   2013-07-16 22:50:21 UTC (rev 5747)
+++ lmi/trunk/ledger_text_formats.cpp   2013-07-17 12:31:24 UTC (rev 5748)
@@ -33,7 +33,7 @@
 #include "authenticity.hpp"
 #include "calendar_date.hpp"
 #include "comma_punct.hpp"
-#include "configurable_settings.hpp"    // parsed_calculation_summary_columns()
+#include "configurable_settings.hpp"    // 
effective_calculation_summary_columns()
 #include "contains.hpp"
 #include "global_settings.hpp"
 #include "ledger.hpp"
@@ -167,13 +167,13 @@
     ,invar_     (ledger_values.GetLedgerInvariant())
     ,max_length_(ledger_values.GetMaxLength())
 {
-    columns_ = parsed_calculation_summary_columns();
+    columns_ = effective_calculation_summary_columns();
     std::vector<std::string>::iterator p = std::find
         (columns_.begin()
         ,columns_.end()
         ,"PolicyYear"
         );
-    // TODO ?? This should be done in parsed_calculation_summary_columns(),
+    // TODO ?? This should be done in effective_calculation_summary_columns(),
     // but that requires a difficult-to-test change in 'ledger_xml_io2.cpp'.
     // As long as "PolicyYear" is always the first column, it shouldn't be
     // offered for selection anyway.

Modified: lmi/trunk/preferences_model.cpp
===================================================================
--- lmi/trunk/preferences_model.cpp     2013-07-16 22:50:21 UTC (rev 5747)
+++ lmi/trunk/preferences_model.cpp     2013-07-17 12:31:24 UTC (rev 5748)
@@ -182,7 +182,7 @@
 // CALCULATION_SUMMARY Apparently unneeded: ctor calls Load().
 //    unchanged.Load();
 // Unfortunately, construction of 'unchanged' therefore causes any
-// parsed_calculation_summary_columns() diagnostics to be repeated.
+// parse_calculation_summary_columns() diagnostics to be repeated.
 // It would seem better to permit copying, and then use a copy.
     if(unchanged.UseBuiltinCalculationSummary != UseBuiltinCalculationSummary)
         {
@@ -195,7 +195,7 @@
         }
     // This test duplicates the preceding one. This one may be what
     // is ultimately wanted, but for now at least it doesn't detect
-    // parsed_calculation_summary_columns()'s removal of invalid
+    // parse_calculation_summary_columns()'s removal of invalid
     // substrings.
     std::vector<std::string>::const_iterator i;
     for(i = member_names().begin(); i != member_names().end(); ++i)
@@ -210,15 +210,9 @@
 
 void PreferencesModel::Load()
 {
-    configurable_settings const& z = configurable_settings::instance();
-    std::istringstream iss(z.calculation_summary_columns());
-    std::vector<std::string> columns;
-    std::copy
-        (std::istream_iterator<std::string>(iss)
-        ,std::istream_iterator<std::string>()
-        ,std::back_inserter(columns)
-        );
+    std::vector<std::string> columns(input_calculation_summary_columns());
 
+    configurable_settings const& z = configurable_settings::instance();
     bool b = z.use_builtin_calculation_summary();
     UseBuiltinCalculationSummary = b ? "Yes" : "No";
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]