summaryrefslogtreecommitdiffstats
path: root/src/widget/wrecordingduration.cpp
blob: 1fc66601b58763a0bb8f10f111c112b4ab8074c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include "widget/wrecordingduration.h"

#include "moc_wrecordingduration.cpp"

WRecordingDuration::WRecordingDuration(QWidget *parent,
                                    RecordingManager* pRecordingManager)
        : WLabel(parent),
          m_pRecordingManager(pRecordingManager) {
}

WRecordingDuration::~WRecordingDuration() {
}

void WRecordingDuration::setup(const QDomNode& node, const SkinContext& context) {
    WLabel::setup(node, context);
    connect(m_pRecordingManager,
            &RecordingManager::durationRecorded,
            this,
            &WRecordingDuration::refreshLabel);
    connect(m_pRecordingManager,
            &RecordingManager::isRecording,
            this,
            &WRecordingDuration::slotRecordingInactive);

    // When we're recording show text from "InactiveText" node
    QString inactiveText;
    if (context.hasNodeSelectString(node, "InactiveText", &inactiveText)) {
        m_inactiveText = inactiveText;
    } else {
        m_inactiveText = QString("--:--");
    }
    // Set inactiveText here already because slotRecordingInactive
    // is refreshed first when we start recording
    setText(m_inactiveText);
}

void WRecordingDuration::slotRecordingInactive(bool isRecording) {
    // When we're not recording show InactiveText
    if(!isRecording) {
        setText(m_inactiveText);
    }
}

void WRecordingDuration::refreshLabel(const QString& durationRecorded) {
    setText(durationRecorded);
}