Complete call window header contracts and align test data rows
This commit is contained in:
1 parent
fd4f092c9a
commit
95e59df5c7
2 files changed
+10
-10
No files matched your search
@@ -28,8 +28,8 @@ class CallWindow : public QWidget {
|
||||
public:
|
||||
enum State { Outgoing, Ringing, Incoming, Active, Ended, WaitDecision };
|
||||
|
||||
explicit CallWindow(QWidget* parent = nullptr);
|
||||
~CallWindow() override;
|
||||
explicit CallWindow(QWidget* parent = nullptr); // Создаёт UI и дочерний видеодвижок, но не native-звонок.
|
||||
~CallWindow() override; // Снимает video callbacks и останавливает движок; native-команда отправляется только через closeEvent/кнопки.
|
||||
|
||||
void setCallId(quint64 id) { m_callId = id; } // Ненулевой ID до действий пользователя; setter сам не запускает сессию.
|
||||
quint64 callId() const { return m_callId; } // ID для команд моста и сигнала closed.
|
||||
@@ -40,7 +40,7 @@ public:
|
||||
// rtt/buffer/minimum/maximum/reserve — мс; tempo=100 для 1x, dropped/underruns — счётчики; min/max за 10с.
|
||||
void setAudioStats(int rtt, int buffer, int tempo, int dropped, int underruns, int minimum, int maximum, int reserve);
|
||||
void setState(State s); // Локальное GUI-состояние; каждый Active сбрасывает длительность/mute, Ended останавливает видео/таймер.
|
||||
State state() const { return m_state; }
|
||||
State state() const { return m_state; } // Текущее локальное состояние представления.
|
||||
|
||||
signals:
|
||||
void closed(quint64 callId); // После локальной очистки/постановки команды; удаления QWidget и ожидания native-ответа здесь нет.
|
||||
@@ -49,12 +49,12 @@ protected:
|
||||
void closeEvent(QCloseEvent* event) override;
|
||||
|
||||
private slots:
|
||||
void onAccept();
|
||||
void onDecline();
|
||||
void onHangup();
|
||||
void updateDuration();
|
||||
void onMuteToggled(bool checked);
|
||||
void onDeviceChanged(int index);
|
||||
void onAccept(); // После принятия команды мостом прекращает гудок и переводит GUI в Active.
|
||||
void onDecline(); // Ставит Decline; закрытие по native-результату выполняет MainWindow.
|
||||
void onHangup(); // Ставит Hangup; при отказе сохраняет окно и показывает ошибку.
|
||||
void updateDuration(); // Только Active: прошедшее wall-clock время в минуты:секунды.
|
||||
void onMuteToggled(bool checked); // Меняет mute общего аудиодвижка, иконку и подпись.
|
||||
void onDeviceChanged(int index); // Применяет backend ID выбранного выхода m_deviceCombo.
|
||||
|
||||
private:
|
||||
void updateButtons(); // Видимость действий по State, затем общая раскладка видео.
|
||||
|
||||
@@ -162,7 +162,7 @@ private slots:
|
||||
#endif
|
||||
for (const auto& failure : failures)
|
||||
for (const char* action : {"onAccept", "onDecline", "onHangup", "continue", "close", "closeIncoming"})
|
||||
QTest::newRow(qPrintable(failure + '-' + action)) << failure << QString(action);
|
||||
QTest::newRow(qPrintable(failure + '-' + action)) << failure << QString(action);
|
||||
}
|
||||
void windowAction() {
|
||||
QFETCH(QString, scenario); QFETCH(QString, action);
|
||||
|
||||
Reference in new issue
Block a user