recordwidget.h 2.1 KB
Newer Older
1
/**************************************************************************
2
* Copyright (C) 2019 by Savoir-faire Linux                                *
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
* Author: Yang Wang <yang.wang@savoirfairelinux.com>                      *
* Author: Mingrui Zhang <mingrui.zhang@savoirfairelinux.com>              *
*                                                                         *
* This program is free software; you can redistribute it and/or modify    *
* it under the terms of the GNU General Public License as published by    *
* the Free Software Foundation; either version 3 of the License, or       *
* (at your option) any later version.                                     *
*                                                                         *
* This program is distributed in the hope that it will be useful,         *
* but WITHOUT ANY WARRANTY; without even the implied warranty of          *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
* GNU General Public License for more details.                            *
*                                                                         *
* You should have received a copy of the GNU General Public License       *
* along with this program.  If not, see <http://www.gnu.org/licenses/>.   *
**************************************************************************/

#pragma once

#include "widgethelpers.h"
#include "recordoverlay.h"
#include "previewwidget.h"

26 27
#include <QWidget>

28 29 30 31
namespace Ui {
class RecordWidget;
}

32
class RecordWidget final : public PopupWidget
33 34 35 36 37 38
{
    Q_OBJECT
public:
    explicit RecordWidget(QWidget *parent = nullptr);
    ~RecordWidget();

39 40 41 42 43
    bool startRecording();
    bool finishRecording();
    bool sendRecording();
    void recordAgain();
    void deleteRecording();
44

45
    void openRecorder(bool isAudio);
46

47 48
    bool isAudio();

49
protected:
50
    void resizeEvent(QResizeEvent* event) override;
51 52 53 54 55 56 57 58 59 60
    void hideEvent(QHideEvent* event) override;

private:
    Ui::RecordWidget* ui;

    VideoRecordPreviewWidget* previewWidget_;
    RecordOverlay* recordOverlay_;
    bool isAudio_ = true;
    QString recordedFilePath_;

61
};