From 7b06c334aac1621e493758367625ada4a9e41b25 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Mon, 7 Feb 2011 00:46:49 +0000 Subject: [PATCH] Add missing headers and change StdioProgressSink() to use std::cout and friends. Originally committed to SVN as r5314. --- aegisub/libaegisub/common/progress.cpp | 23 +++++++++++-------- .../libaegisub/include/libaegisub/progress.h | 3 +-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/aegisub/libaegisub/common/progress.cpp b/aegisub/libaegisub/common/progress.cpp index e5f4bde61..bd8de8bea 100644 --- a/aegisub/libaegisub/common/progress.cpp +++ b/aegisub/libaegisub/common/progress.cpp @@ -19,7 +19,12 @@ /// @ingroup libaegisub #ifndef LAG_PRE +#include + #include +#include +#include +#include #endif #include "libaegisub/progress.h" @@ -42,14 +47,13 @@ ProgressSink * NullProgressSinkFactory::create_progress_sink(const std::string & class StdioProgressSink : public ProgressSink { private: - FILE *file; std::string operation; float progress; void print(); public: - StdioProgressSink(FILE *file, const std::string &title); + StdioProgressSink(const std::string &title); virtual ~StdioProgressSink(); virtual void set_progress(int steps, int max); virtual void set_operation(const std::string &operation); @@ -57,21 +61,20 @@ public: }; ProgressSink * StdioProgressSinkFactory::create_progress_sink(const std::string &title) const { - return new StdioProgressSink(file, title); + return new StdioProgressSink(title); } -StdioProgressSink::StdioProgressSink(FILE *file, const std::string &title) -: file(file) -, operation(title) +StdioProgressSink::StdioProgressSink(const std::string &title) +: operation(title) , progress(0) { - fprintf(file, "=== %s ===\n", title.c_str()); + std::cout << title << ": "; print(); } StdioProgressSink::~StdioProgressSink() { - fprintf(file, "\n -===-\n"); + std::cout << "end" << std::endl; } @@ -82,7 +85,7 @@ void StdioProgressSink::set_progress(int steps, int max) { float old_progress = progress; progress = (100.f * steps)/max; - if (fabs(progress-old_progress) > 0.8) + if (std::fabs(progress-old_progress) > 0.8) { print(); } @@ -96,7 +99,7 @@ void StdioProgressSink::set_operation(const std::string &operation) { void StdioProgressSink::print() { - fprintf(file, "%s: %.1f%%\r", operation.c_str(), progress); + std::cout << operation << ": " << std::setprecision(2) << progress << std::endl; } diff --git a/aegisub/libaegisub/include/libaegisub/progress.h b/aegisub/libaegisub/include/libaegisub/progress.h index fd5227810..9402b4728 100644 --- a/aegisub/libaegisub/include/libaegisub/progress.h +++ b/aegisub/libaegisub/include/libaegisub/progress.h @@ -50,10 +50,9 @@ public: class StdioProgressSinkFactory : public ProgressSinkFactory { private: - FILE *file; public: - StdioProgressSinkFactory(FILE *file) : file(file) { } + StdioProgressSinkFactory(); virtual ProgressSink * create_progress_sink(const std::string &title) const; };