diff --git a/qrenderdoc/Windows/Dialogs/LiveCapture.cpp b/qrenderdoc/Windows/Dialogs/LiveCapture.cpp
index 39e9c2834..c7bc11a42 100644
--- a/qrenderdoc/Windows/Dialogs/LiveCapture.cpp
+++ b/qrenderdoc/Windows/Dialogs/LiveCapture.cpp
@@ -119,7 +119,8 @@ LiveCapture::LiveCapture(ICaptureContext &ctx, const QString &hostname, const QS
ui->apiIcon->setVisible(false);
- ui->triggerCapture->setEnabled(false);
+ ui->triggerDelayedCapture->setEnabled(false);
+ ui->triggerImmediateCapture->setEnabled(false);
ui->queueCap->setEnabled(false);
ui->target->setText(QString());
@@ -275,19 +276,24 @@ void LiveCapture::on_queueCap_clicked()
m_QueueCapture = true;
}
-void LiveCapture::on_triggerCapture_clicked()
+void LiveCapture::on_triggerImmediateCapture_clicked()
+{
+ m_TriggerCapture = true;
+ m_CaptureNumFrames = (int)ui->numFrames->value();
+}
+
+void LiveCapture::on_triggerDelayedCapture_clicked()
{
if(ui->captureDelay->value() == 0.0)
{
- m_TriggerCapture = true;
- m_CaptureNumFrames = (int)ui->numFrames->value();
+ on_triggerImmediateCapture_clicked();
}
else
{
m_CaptureCounter = (int)ui->captureDelay->value();
countdownTimer.start();
- ui->triggerCapture->setEnabled(false);
- ui->triggerCapture->setText(tr("Triggering in %1s").arg(m_CaptureCounter));
+ ui->triggerDelayedCapture->setEnabled(false);
+ ui->triggerDelayedCapture->setText(tr("Triggering in %1s").arg(m_CaptureCounter));
}
}
@@ -479,13 +485,13 @@ void LiveCapture::captureCountdownTick()
{
m_TriggerCapture = true;
m_CaptureNumFrames = (int)ui->numFrames->value();
- ui->triggerCapture->setEnabled(true);
- ui->triggerCapture->setText(tr("Trigger After Delay"));
+ ui->triggerDelayedCapture->setEnabled(true);
+ ui->triggerDelayedCapture->setText(tr("Trigger After Delay"));
}
else
{
countdownTimer.start();
- ui->triggerCapture->setText(tr("Triggering in %1s").arg(m_CaptureCounter));
+ ui->triggerDelayedCapture->setText(tr("Triggering in %1s").arg(m_CaptureCounter));
}
}
@@ -1146,7 +1152,8 @@ void LiveCapture::connectionThreadEntry()
if(presenting && supported)
{
- ui->triggerCapture->setEnabled(true);
+ ui->triggerImmediateCapture->setEnabled(true);
+ ui->triggerDelayedCapture->setEnabled(true);
ui->queueCap->setEnabled(true);
}
@@ -1225,7 +1232,8 @@ void LiveCapture::connectionThreadEntry()
ui->numFrames->setEnabled(false);
ui->captureDelay->setEnabled(false);
ui->captureFrame->setEnabled(false);
- ui->triggerCapture->setEnabled(false);
+ ui->triggerDelayedCapture->setEnabled(false);
+ ui->triggerImmediateCapture->setEnabled(false);
ui->queueCap->setEnabled(false);
ui->apiStatus->setText(tr("None"));
diff --git a/qrenderdoc/Windows/Dialogs/LiveCapture.h b/qrenderdoc/Windows/Dialogs/LiveCapture.h
index 35511b107..35adfc518 100644
--- a/qrenderdoc/Windows/Dialogs/LiveCapture.h
+++ b/qrenderdoc/Windows/Dialogs/LiveCapture.h
@@ -69,7 +69,8 @@ private slots:
void on_captures_mouseClicked(QMouseEvent *e);
void on_captures_itemActivated(QListWidgetItem *item);
void on_childProcesses_itemActivated(QListWidgetItem *item);
- void on_triggerCapture_clicked();
+ void on_triggerImmediateCapture_clicked();
+ void on_triggerDelayedCapture_clicked();
void on_queueCap_clicked();
void on_previewSplit_splitterMoved(int pos, int index);
void on_apiIcon_clicked(QMouseEvent *event);
diff --git a/qrenderdoc/Windows/Dialogs/LiveCapture.ui b/qrenderdoc/Windows/Dialogs/LiveCapture.ui
index 8c917ebd5..6a8be8685 100644
--- a/qrenderdoc/Windows/Dialogs/LiveCapture.ui
+++ b/qrenderdoc/Windows/Dialogs/LiveCapture.ui
@@ -190,7 +190,7 @@
Tools
- -
+
-
@@ -212,7 +212,7 @@
- -
+
-
Frame
@@ -225,17 +225,17 @@
- -
-
+
-
+
- Trigger After Delay
+ Capture After Delay:
- -
+
-
- Queue Specific Frame
+ Capture Specific Frame(s):
@@ -267,7 +267,7 @@
- -
+
-
Qt::Vertical
@@ -280,6 +280,13 @@
+ -
+
+
+ Capture Frame(s) Immediately
+
+
+