Don't launch blocking execute call on UI thread, pop up progress ticker

* This most commonly happens launching an Android program that takes a
  while to launch, or if you're launching a program with the delay for
  debugger option set.
* Instead of the whole UI hanging, you'll get a progress dialog to
  appear while it's waiting.
This commit is contained in:
baldurk
2017-02-24 17:34:02 +00:00
parent 0ff1ff0d03
commit f76a4cc339
7 changed files with 172 additions and 92 deletions
+6 -3
View File
@@ -685,11 +685,14 @@ CaptureDialog *CaptureContext::captureDialog()
m_CaptureDialog = new CaptureDialog(
*this,
[this](const QString &exe, const QString &workingDir, const QString &cmdLine,
const QList<EnvironmentModification> &env, CaptureOptions opts) {
return m_MainWindow->OnCaptureTrigger(exe, workingDir, cmdLine, env, opts);
const QList<EnvironmentModification> &env, CaptureOptions opts,
std::function<void(LiveCapture *)> callback) {
return m_MainWindow->OnCaptureTrigger(exe, workingDir, cmdLine, env, opts, callback);
},
[this](uint32_t PID, const QList<EnvironmentModification> &env, const QString &name,
CaptureOptions opts) { return m_MainWindow->OnInjectTrigger(PID, env, name, opts); },
CaptureOptions opts, std::function<void(LiveCapture *)> callback) {
return m_MainWindow->OnInjectTrigger(PID, env, name, opts, callback);
},
m_MainWindow);
m_CaptureDialog->setObjectName("capDialog");
m_CaptureDialog->setWindowIcon(*m_Icon);