Cleanup of log time display.

git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@346 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2005-03-12 23:22:28 +00:00
parent c36ee96550
commit 010d5cfbe3
4 changed files with 34 additions and 22 deletions
+18
View File
@@ -1,8 +1,10 @@
#include "config.h"
#include <ctime>
#include <sstream>
#include "core/download.h"
#include "utils/timer.h"
#include "utils.h"
@@ -31,4 +33,20 @@ print_download_status(core::Download* d) {
return str.str();
}
std::string
print_hhmmss(utils::Timer t) {
std::tm *u = std::localtime(&t.tval().tv_sec);
if (u == NULL)
return "inv_time";
std::stringstream str;
str.width(2);
str.fill('0');
str << u->tm_hour << ':' << u->tm_min << ':' << u->tm_sec;
return str.str();
}
}
+6
View File
@@ -7,10 +7,16 @@ namespace core {
class Download;
}
namespace utils {
class Timer;
}
namespace display {
std::string print_download_status(core::Download* d);
std::string print_hhmmss(utils::Timer t);
}
#endif
+5 -11
View File
@@ -3,6 +3,7 @@
#include <ctime>
#include "canvas.h"
#include "utils.h"
#include "window_log.h"
namespace display {
@@ -37,17 +38,10 @@ WindowLog::redraw() {
//m_canvas->print(std::max(0, (int)m_canvas->get_width() / 2 - 5), pos++, "*** Log ***");
m_canvas->print(0, 0, "___");
for (core::Log::iterator itr = m_log->begin(), end = find_older(); itr != end && pos < m_canvas->get_height(); ++itr) {
std::tm *t = std::localtime(&itr->first.tval().tv_sec);
if (t == NULL)
m_canvas->print(0, pos++, "(time error) %s",
itr->second.c_str());
else
m_canvas->print(0, pos++, "(%02i:%02i:%02i) %s",
t->tm_hour, t->tm_min, t->tm_sec,
itr->second.c_str());
}
for (core::Log::iterator itr = m_log->begin(), end = find_older(); itr != end && pos < m_canvas->get_height(); ++itr)
m_canvas->print(0, pos++, "(%s) %s",
print_hhmmss(itr->first).c_str(),
itr->second.c_str());
}
void
+5 -11
View File
@@ -3,6 +3,7 @@
#include <ctime>
#include "canvas.h"
#include "utils.h"
#include "window_log_complete.h"
namespace display {
@@ -34,17 +35,10 @@ WindowLogComplete::redraw() {
m_canvas->print(std::max(0, (int)m_canvas->get_width() / 2 - 5), pos++, "*** Log ***");
for (core::Log::iterator itr = m_log->begin(), e = m_log->end(); itr != e && pos < m_canvas->get_height(); ++itr) {
std::tm *t = std::localtime(&itr->first.tval().tv_sec);
if (t == NULL)
m_canvas->print(0, pos++, "(time error) %s",
itr->second.c_str());
else
m_canvas->print(0, pos++, "(%02i:%02i:%02i) %s",
t->tm_hour, t->tm_min, t->tm_sec,
itr->second.c_str());
}
for (core::Log::iterator itr = m_log->begin(), e = m_log->end(); itr != e && pos < m_canvas->get_height(); ++itr)
m_canvas->print(0, pos++, "(%s) %s",
print_hhmmss(itr->first).c_str(),
itr->second.c_str());
}
void