File indexing completed on 2024-12-08 04:34:11

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "conferencecallwidget.h"
0010 #include "libruqolawidgets_private_export.h"
0011 #include "videoconference/videoconference.h"
0012 #include <QDialog>
0013 class RocketChatAccount;
0014 class ConferenceCallWidget;
0015 class LIBRUQOLAWIDGETS_TESTS_EXPORT ConferenceDirectCallDialog : public QDialog
0016 {
0017     Q_OBJECT
0018 public:
0019     explicit ConferenceDirectCallDialog(RocketChatAccount *account, QWidget *parent = nullptr);
0020     ~ConferenceDirectCallDialog() override;
0021 
0022     [[nodiscard]] QString roomId() const;
0023     void setRoomId(const QString &newRoomId);
0024 
0025     [[nodiscard]] bool allowRinging() const;
0026     void setAllowRinging(bool newAllowRinging);
0027 
0028 private:
0029     LIBRUQOLAWIDGETS_NO_EXPORT void cancelCall();
0030     LIBRUQOLAWIDGETS_NO_EXPORT void slotRejected();
0031     LIBRUQOLAWIDGETS_NO_EXPORT void slotStartVideoConference();
0032     LIBRUQOLAWIDGETS_NO_EXPORT void callUser();
0033     LIBRUQOLAWIDGETS_NO_EXPORT void slotVideoConferenceAccepted(const VideoConference &videoConference);
0034     LIBRUQOLAWIDGETS_NO_EXPORT void slotVideoConferenceCanceled(const VideoConference &videoConference);
0035     QString mRoomId;
0036     QString mCallId;
0037     ConferenceCallWidget *const mConferenceCallWidget;
0038     RocketChatAccount *const mRocketChatAccount;
0039     QPushButton *mOkButton = nullptr;
0040     int mNumberOfCall = 0;
0041     bool mAllowRinging = false;
0042     bool mWasAccepted = false;
0043 };