annotate base/ProgressPrinter.cpp @ 492:23945cdd7161

* Update RDF query stuff again so as to set up a temporary datastore each time we want to query over an rdf file, instead of using rasqal against the file. Seems the only way to avoid threading and storage management issues when trying to load from a single-source file and perform queries against our main datastore at the same time. Maybe.
author Chris Cannam
date Mon, 24 Nov 2008 16:26:11 +0000
parents beb2948baa77
children 1aefb666ecfc
rev   line source
Chris@392 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@392 2
Chris@392 3 /*
Chris@392 4 Sonic Visualiser
Chris@392 5 An audio file viewer and annotation editor.
Chris@392 6 Centre for Digital Music, Queen Mary, University of London.
Chris@392 7 This file copyright 2007 QMUL.
Chris@392 8
Chris@392 9 This program is free software; you can redistribute it and/or
Chris@392 10 modify it under the terms of the GNU General Public License as
Chris@392 11 published by the Free Software Foundation; either version 2 of the
Chris@392 12 License, or (at your option) any later version. See the file
Chris@392 13 COPYING included with this distribution for more information.
Chris@392 14 */
Chris@392 15
Chris@392 16 #include "ProgressPrinter.h"
Chris@392 17
Chris@392 18 #include <iostream>
Chris@392 19
Chris@392 20 ProgressPrinter::ProgressPrinter(QString message, QObject *parent) :
Chris@392 21 ProgressReporter(parent),
Chris@392 22 m_prefix(message),
Chris@439 23 m_lastProgress(0),
Chris@439 24 m_definite(true)
Chris@392 25 {
Chris@392 26 }
Chris@392 27
Chris@392 28 ProgressPrinter::~ProgressPrinter()
Chris@392 29 {
Chris@392 30 if (m_lastProgress > 0 && m_lastProgress != 100) {
Chris@392 31 std::cerr << "\r\n";
Chris@392 32 }
Chris@392 33 // std::cerr << "(progress printer dtor)" << std::endl;
Chris@392 34 }
Chris@392 35
Chris@439 36 bool
Chris@439 37 ProgressPrinter::isDefinite() const
Chris@439 38 {
Chris@439 39 return m_definite;
Chris@439 40 }
Chris@439 41
Chris@439 42 void
Chris@439 43 ProgressPrinter::setDefinite(bool definite)
Chris@439 44 {
Chris@439 45 m_definite = definite;
Chris@439 46 }
Chris@439 47
Chris@392 48 void
Chris@393 49 ProgressPrinter::setMessage(QString message)
Chris@393 50 {
Chris@393 51 m_prefix = message;
Chris@393 52 }
Chris@393 53
Chris@393 54 void
Chris@392 55 ProgressPrinter::setProgress(int progress)
Chris@392 56 {
Chris@392 57 if (progress == m_lastProgress) return;
Chris@392 58 if (progress == 100) std::cerr << "\r\n";
Chris@392 59 else {
Chris@392 60 std::cerr << "\r"
Chris@392 61 << m_prefix.toStdString()
Chris@439 62 << (m_prefix == "" ? "" : " ");
Chris@439 63 if (m_definite) {
Chris@439 64 std::cerr << progress << "%";
Chris@439 65 } else {
Chris@439 66 std::cerr << "|/-\\"[progress % 4];
Chris@439 67 }
Chris@392 68 }
Chris@392 69 m_lastProgress = progress;
Chris@392 70 }
Chris@392 71