Improved some error messages
This commit is contained in:
parent
7422fa5f3e
commit
0f180b917a
4 changed files with 20 additions and 13 deletions
|
|
@ -398,8 +398,8 @@ int amount_t::compare(const amount_t& amt) const
|
|||
if (has_commodity() && amt.has_commodity() &&
|
||||
commodity() != amt.commodity())
|
||||
throw_(amount_error,
|
||||
_("Cannot compare amounts with different commodities: %1 and %2")
|
||||
<< commodity().symbol() << amt.commodity().symbol());
|
||||
_("Cannot compare amounts with different commodities: '%1' and '%2'")
|
||||
<< commodity() << amt.commodity());
|
||||
|
||||
return mpq_cmp(MP(quantity), MP(amt.quantity));
|
||||
}
|
||||
|
|
@ -430,12 +430,11 @@ amount_t& amount_t::operator+=(const amount_t& amt)
|
|||
throw_(amount_error, _("Cannot add two uninitialized amounts"));
|
||||
}
|
||||
|
||||
if (has_commodity() && amt.has_commodity() &&
|
||||
commodity() != amt.commodity())
|
||||
if (has_commodity() && amt.has_commodity() && commodity() != amt.commodity()) {
|
||||
throw_(amount_error,
|
||||
_("Adding amounts with different commodities: %1 != %2")
|
||||
<< (has_commodity() ? commodity().symbol() : _("NONE"))
|
||||
<< (amt.has_commodity() ? amt.commodity().symbol() : _("NONE")));
|
||||
_("Adding amounts with different commodities: '%1' != '%2'")
|
||||
<< commodity() << amt.commodity());
|
||||
}
|
||||
|
||||
_dup();
|
||||
|
||||
|
|
@ -464,9 +463,8 @@ amount_t& amount_t::operator-=(const amount_t& amt)
|
|||
if (has_commodity() && amt.has_commodity() &&
|
||||
commodity() != amt.commodity())
|
||||
throw_(amount_error,
|
||||
_("Subtracting amounts with different commodities: %1 != %2")
|
||||
<< (has_commodity() ? commodity().symbol() : _("NONE"))
|
||||
<< (amt.has_commodity() ? amt.commodity().symbol() : _("NONE")));
|
||||
_("Subtracting amounts with different commodities: '%1' != '%2'")
|
||||
<< commodity() << amt.commodity());
|
||||
|
||||
_dup();
|
||||
|
||||
|
|
|
|||
|
|
@ -262,6 +262,14 @@ public:
|
|||
const datetime_t& oldest = datetime_t()) const;
|
||||
|
||||
virtual commodity_t& strip_annotations(const keep_details_t& what_to_keep);
|
||||
|
||||
virtual void print(std::ostream& out, bool elide_quotes = false,
|
||||
bool print_annotations = false) const {
|
||||
commodity_t::print(out, elide_quotes);
|
||||
if (print_annotations)
|
||||
write_annotations(out);
|
||||
}
|
||||
|
||||
virtual void write_annotations(std::ostream& out,
|
||||
bool no_computed_annotations = false) const;
|
||||
|
||||
|
|
|
|||
|
|
@ -384,7 +384,7 @@ void commodity_t::parse_symbol(char *& p, string& symbol)
|
|||
throw_(amount_error, _("Failed to parse commodity"));
|
||||
}
|
||||
|
||||
void commodity_t::print(std::ostream& out, bool elide_quotes) const
|
||||
void commodity_t::print(std::ostream& out, bool elide_quotes, bool) const
|
||||
{
|
||||
string sym = symbol();
|
||||
if (elide_quotes && has_flags(COMMODITY_STYLE_SEPARATED) &&
|
||||
|
|
|
|||
|
|
@ -303,7 +303,8 @@ public:
|
|||
return temp;
|
||||
}
|
||||
|
||||
void print(std::ostream& out, bool elide_quotes = false) const;
|
||||
virtual void print(std::ostream& out, bool elide_quotes = false,
|
||||
bool print_annotations = false) const;
|
||||
bool valid() const;
|
||||
|
||||
struct compare_by_commodity {
|
||||
|
|
@ -338,7 +339,7 @@ private:
|
|||
};
|
||||
|
||||
inline std::ostream& operator<<(std::ostream& out, const commodity_t& comm) {
|
||||
comm.print(out);
|
||||
comm.print(out, false, true);
|
||||
return out;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue