EyaRecordingTab Class Reference

The recording class. More...

#include <eyarecordingtab.h>

Collaboration diagram for EyaRecordingTab:

Collaboration graph
[legend]

List of all members.

Signals

void signalMessageForStatusBar (QString, int)
 To signal a new message to the status bar of the main window.

Public Member Functions

 EyaRecordingTab (QWidget *parent=0, Qt::WindowFlags f=0)
 Constructor.
 ~EyaRecordingTab ()
 Destructor.
void setPhotoRegion (QRect)
 This function is used to take into account the crop settings of the photo.
void loadAlarms ()
 Load the alarms from a file .alarms.
void saveAlarms ()
 Store the current alarms to a file .alarms.

Private Slots

void slotRecordNow ()
 Signal by bottom immediate recording.
void slotEnableAlarms (bool)
 Called when the alarms are enabled: when we add an alarm to the list, insertAlarmInTree calls this slot.
void slotAddAlarm ()
 Called by add alarm button.
void slotModifyAlarm ()
 Called by modify alarm button.
void slotDeleteAlarm ()
 Called by delete alarm button.
void slotGroupToggled (bool)
 Called when the alarms group is enabled.
void slotAudioVideoError (QProcess::ProcessError)
void slotAudioVideoFinished (int)
void slotTimerExpired ()
 It signals that a new acquisition has to be started.
void slotTimerStatusExpired ()
 The status bar has to be updated.
void slotPhotoTaken ()
 A photo has been taken.

Private Member Functions

void insertAlarmInTree (QTime, QTime, QDate)
 To insert a new entry into the alarms list.
bool isAlarmInTree (QTime, QTime, QDate, QTreeWidgetItem *&)
 To check the presence of an alarm inside the alarms list.
bool startAudioVideo ()
 This functions starts both the audio and video recording: in another words, it starts the ffmpeg with proper settings (see see EyaAudioVideoProcess).
bool startPhoto ()
 This function starts the photo acquisition process (see EyaPhotoProcess).
void stopAudioVideo ()
 To stop the audio and video acquisition.
void stopPhoto ()
 To stop the photo acquisition.
int getNextAlarm (QTime, QDate)
 This returns the next alarm in the list.
void refreshDiskSpace ()
 To get the available disk space.
bool writeOffsetFile (QString)
 To write the offset.txt file used to synchronize the photos and the video.

Private Attributes

QVBoxLayout * layout1stColumn
QHBoxLayout * mainLayout
QHBoxLayout * layoutRecordAlarms
QGroupBox * groupStatus
QGroupBox * groupAlarms
QGridLayout * layoutInputAlarms
QGridLayout * layoutStatus
QVBoxLayout * layoutAlarms
QLabel * labelCurrentItem
QLabel * labelAllItems
QLabel * labelAvailableDisk
QProgressBar * barCurrentItem
QProgressBar * barAllItems
QProgressBar * barAvailableDisk
QLabel * labelStartTime
QLabel * labelStopTime
QLabel * labelDate
QTimeEdit * editStartTime
QwtSlider * sliderStopTime
QDateEdit * editDate
QPushButton * buttonAddAlarm
QPushButton * buttonModifyAlarm
QPushButton * buttonDeleteAlarm
QTreeWidget * treeAlarms
QTimer * timerStatus
 timerStatus is enabled when the timerAlarms is expired.
QTimer * timerAlarms
 timerAlarms is used to manage the alarms set in the alarms window: when timerAlars expires.
QTimer * timerRecordNow
 timerRecordNow is to manage the recordnow button pressed event
QTreeWidgetItem * itemToServe
unsigned int jobsToDo
 Jobs to do: the number of jobs to be completed.
unsigned int jobsCompleted
 The number of jobs alreay completed: always for the progress status panel.
EyaAudioVideoProcessprocAudioVideo
EyaPhotoProcessprocPhoto
QwtSlider * sliderRecordNow
QGroupBox * groupRecordNow
QHBoxLayout * layoutRecordNow
QPushButton * buttonRecordNow
QLabel * labelFor
QLabel * labelMinutes
QRect rectSelectedPhotoRegion
bool flagEnabledAlarms
 To manage enable/disable of the alarms.


Detailed Description

The recording class.

This class provides a manager to start the recording immediately or to program the start and stop event by using an alarms panel. The maximum recording time is 1 hour (really 59 minutes). The alarms managed by this window can be stored and loaded to and from an *.alarms file.


Constructor & Destructor Documentation

EyaRecordingTab::EyaRecordingTab ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0 
)

Constructor.

EyaRecordingTab::~EyaRecordingTab (  ) 

Destructor.


Member Function Documentation

int EyaRecordingTab::getNextAlarm ( QTime  currTime,
QDate  currDate 
) [private]

This returns the next alarm in the list.

void EyaRecordingTab::insertAlarmInTree ( QTime  start,
QTime  stop,
QDate  date 
) [private]

To insert a new entry into the alarms list.

bool EyaRecordingTab::isAlarmInTree ( QTime  start,
QTime  stop,
QDate  date,
QTreeWidgetItem *&  item 
) [private]

To check the presence of an alarm inside the alarms list.

void EyaRecordingTab::loadAlarms (  ) 

Load the alarms from a file .alarms.

void EyaRecordingTab::refreshDiskSpace (  )  [private]

To get the available disk space.

void EyaRecordingTab::saveAlarms (  ) 

Store the current alarms to a file .alarms.

void EyaRecordingTab::setPhotoRegion ( QRect  r  ) 

This function is used to take into account the crop settings of the photo.

We need to write these informations in the .idx file

void EyaRecordingTab::signalMessageForStatusBar ( QString  ,
int   
) [signal]

To signal a new message to the status bar of the main window.

void EyaRecordingTab::slotAddAlarm (  )  [private, slot]

Called by add alarm button.

void EyaRecordingTab::slotAudioVideoError ( QProcess::ProcessError   )  [private, slot]

void EyaRecordingTab::slotAudioVideoFinished ( int  exitCode  )  [private, slot]

void EyaRecordingTab::slotDeleteAlarm (  )  [private, slot]

Called by delete alarm button.

void EyaRecordingTab::slotEnableAlarms ( bool  s  )  [private, slot]

Called when the alarms are enabled: when we add an alarm to the list, insertAlarmInTree calls this slot.

void EyaRecordingTab::slotGroupToggled ( bool  s  )  [private, slot]

Called when the alarms group is enabled.

void EyaRecordingTab::slotModifyAlarm (  )  [private, slot]

Called by modify alarm button.

void EyaRecordingTab::slotPhotoTaken (  )  [private, slot]

A photo has been taken.

void EyaRecordingTab::slotRecordNow (  )  [private, slot]

Signal by bottom immediate recording.

void EyaRecordingTab::slotTimerExpired (  )  [private, slot]

It signals that a new acquisition has to be started.

void EyaRecordingTab::slotTimerStatusExpired (  )  [private, slot]

The status bar has to be updated.

bool EyaRecordingTab::startAudioVideo (  )  [private]

This functions starts both the audio and video recording: in another words, it starts the ffmpeg with proper settings (see see EyaAudioVideoProcess).

bool EyaRecordingTab::startPhoto (  )  [private]

This function starts the photo acquisition process (see EyaPhotoProcess).

void EyaRecordingTab::stopAudioVideo (  )  [private]

To stop the audio and video acquisition.

void EyaRecordingTab::stopPhoto (  )  [private]

To stop the photo acquisition.

bool EyaRecordingTab::writeOffsetFile ( QString  path  )  [private]

To write the offset.txt file used to synchronize the photos and the video.

.. it will be used by make-href.sh


Member Data Documentation

QProgressBar * EyaRecordingTab::barAllItems [private]

QProgressBar * EyaRecordingTab::barAvailableDisk [private]

QProgressBar* EyaRecordingTab::barCurrentItem [private]

QPushButton* EyaRecordingTab::buttonAddAlarm [private]

QPushButton * EyaRecordingTab::buttonDeleteAlarm [private]

QPushButton * EyaRecordingTab::buttonModifyAlarm [private]

QPushButton* EyaRecordingTab::buttonRecordNow [private]

QDateEdit* EyaRecordingTab::editDate [private]

QTimeEdit* EyaRecordingTab::editStartTime [private]

To manage enable/disable of the alarms.

QGroupBox * EyaRecordingTab::groupAlarms [private]

QGroupBox* EyaRecordingTab::groupRecordNow [private]

QGroupBox* EyaRecordingTab::groupStatus [private]

QTreeWidgetItem* EyaRecordingTab::itemToServe [private]

unsigned int EyaRecordingTab::jobsCompleted [private]

The number of jobs alreay completed: always for the progress status panel.

unsigned int EyaRecordingTab::jobsToDo [private]

Jobs to do: the number of jobs to be completed.

This is for the progress status panel

QLabel * EyaRecordingTab::labelAllItems [private]

QLabel * EyaRecordingTab::labelDate [private]

QLabel* EyaRecordingTab::labelFor [private]

QLabel * EyaRecordingTab::labelMinutes [private]

QLabel * EyaRecordingTab::labelStopTime [private]

QVBoxLayout* EyaRecordingTab::layout1stColumn [private]

QVBoxLayout* EyaRecordingTab::layoutAlarms [private]

QGridLayout* EyaRecordingTab::layoutInputAlarms [private]

QHBoxLayout* EyaRecordingTab::layoutRecordAlarms [private]

QHBoxLayout* EyaRecordingTab::layoutRecordNow [private]

QGridLayout * EyaRecordingTab::layoutStatus [private]

QHBoxLayout* EyaRecordingTab::mainLayout [private]

QwtSlider* EyaRecordingTab::sliderRecordNow [private]

QwtSlider* EyaRecordingTab::sliderStopTime [private]

QTimer* EyaRecordingTab::timerAlarms [private]

timerAlarms is used to manage the alarms set in the alarms window: when timerAlars expires.

..

timerRecordNow is to manage the recordnow button pressed event

QTimer* EyaRecordingTab::timerStatus [private]

timerStatus is enabled when the timerAlarms is expired.

.. used only for refreshing the status bar: it does not take photo!

QTreeWidget* EyaRecordingTab::treeAlarms [private]


The documentation for this class was generated from the following files:

Generated on Mon Aug 24 14:01:41 2009 for openeya by  doxygen 1.5.8