You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
2.6 KiB

//------------------------------------------------------------------------------
//
// Project: Anonymizer
//
// Brno University of Technology
// Faculty of Information Technology
//
//------------------------------------------------------------------------------
//
// This project was financially supported by project VG20102015006 funds
// provided by Ministry of the Interior of the Czech republic.
//
//------------------------------------------------------------------------------
/*!
@file timelabel.h
@brief Header file
@details Details
@authors Martin Borek (mborekcz@gmail.com)
@authors Filip Orsag (orsag@fit.vutbr.cz)
@date 2014-2015
@note This project was supported by MV CR project VG20102015006.
@copyright BUT OPEN SOURCE LICENCE (see License.txt)
*/
#ifndef TIMELABEL_H
#define TIMELABEL_H
#include <QLabel>
namespace TimeConversion
{
struct Time
{
unsigned long raw;
unsigned long hr;
unsigned long min;
unsigned long sec;
unsigned long ms;
};
static const unsigned long ms2hr = 3600000; // 1000*60*60 ms
static const unsigned long ms2min = 60000; // 1000*60 ms
static const unsigned long ms2sec = 1000; // 1000 ms
void convert_time(Time &converted);
void Time2QString(Time const &time, QString &timeString, bool showHours);
}
using namespace TimeConversion;
class TimeLabel : public QLabel
{
Q_OBJECT
public:
/**
* Constructor
* @param parent Parent widget
*/
explicit TimeLabel(QWidget *parent = 0);
/**
* Destructor
*/
~TimeLabel();
/**
* Sets the total video time.
* @param time Time in milliseconds
*/
void set_total_time(const unsigned long &time);
/**
* Displays given time position with the total time.
* @param time Displayed time
* @param includeTotal If true, total length is also displayed.
*/
void display_time(const unsigned long &time, bool includeTotal=true);
/**
* Sets the total number of frames.
* @param frameCount Number of frames
*/
void set_frame_count(unsigned long frameCount);
/**
* Displays given frame number with the total number of frames.
* @param frameNumber Displayed frame number
* @param includeTotal If true, total number of frames is also displayed.
*/
void display_frame_num(unsigned long frameNumber, bool includeTotal=true);
private:
private:
Time totalTime;
Time currentTime;
QString totalTimeString;
QString currentTimeString;
bool showHours;
unsigned long totalFrameCount;
};
#endif // TIMELABEL_H