13
0

Allow to limit error dump

This is in preparation of displaying verbose errors to the user.
This commit is contained in:
Robin Gareus 2020-02-28 07:26:13 +01:00
parent a485195453
commit fa0a7d6739
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 9 additions and 2 deletions

View File

@ -511,12 +511,18 @@ UI::do_request (UIRequest* req)
======================================================================*/
void
UI::dump_errors (std::ostream& ostr)
UI::dump_errors (std::ostream& ostr, size_t limit)
{
Glib::Threads::Mutex::Lock lm (error_lock);
ostr << endl << X_("Errors/Messages:") << endl;
for (list<string>::const_iterator i = error_stack.begin(); i != error_stack.end(); ++i) {
ostr << *i << endl;
if (limit > 0) {
if (--limit == 0) {
ostr << "..." << endl;
break;
}
}
}
ostr << endl;
}

View File

@ -143,7 +143,8 @@ public:
void flush_pending (float timeout = 0);
void toggle_errors ();
void show_errors ();
void dump_errors (std::ostream&);
void dump_errors (std::ostream&, size_t limit = 0);
void clear_errors () { error_stack.clear (); }
void touch_display (Touchable *);
void set_tip (Gtk::Widget &w, const gchar *tip);
void set_tip (Gtk::Widget &w, const std::string &tip);