/*! @file @id $Id$ */ // 1 2 3 4 5 6 7 8 // 45678901234567890123456789012345678901234567890123456789012345678901234567890 #include namespace qbrowserlib { bool Log::DEBUG(false); LogDialog* Log::_dialog(0); unsigned int Log::_level(0); Log::Log(const void* addr, const std::string& name, const std::string& file, unsigned long line): _debug(DEBUG), _addr(addr), _name(name), _file(file), _line(line) { if (!_debug) return; ++_level; std::stringstream ss; init(ss); indent(ss)<<"\\ "<<_name; std::clog<_logs->resizeColumnsToContents(); _dialog->_logs->resizeRowsToContents(); _dialog->show(); } std::stringstream& Log::init(std::stringstream& ss) { if (_addr) ss< LogDialog& LogDialog::append (const Log& log, std::string arg) { return append(log, QString::fromStdString(arg)); } template<> LogDialog& LogDialog::append (const Log& log, const char* arg) { return append(log, QString(arg)); } template<> LogDialog& LogDialog::append (const Log& log, unsigned long arg) { return append(log, (qulonglong)arg); } std::ostream& operator<<(std::ostream& ss, QString arg) { ss<<'"'<