Changeset View
Changeset View
Standalone View
Standalone View
debugjob.cpp
Context not available. | |||||
207 | setError(-1); | 207 | setError(-1); | ||
---|---|---|---|---|---|
208 | setErrorText(err); | 208 | setErrorText(err); | ||
209 | emitResult(); | 209 | emitResult(); | ||
210 | m_session->stopDebugger(); | ||||
210 | return; | 211 | return; | ||
211 | } | 212 | } | ||
212 | 213 | | |||
Context not available. | |||||
219 | qCWarning(KDEV_PHP_DEBUGGER) << "No process, something went wrong when creating the job"; | 220 | qCWarning(KDEV_PHP_DEBUGGER) << "No process, something went wrong when creating the job"; | ||
220 | // No process means we've returned early on from the constructor, some bad error happened | 221 | // No process means we've returned early on from the constructor, some bad error happened | ||
221 | emitResult(); | 222 | emitResult(); | ||
223 | m_session->stopDebugger(); | ||||
222 | } | 224 | } | ||
223 | } | 225 | } | ||
224 | 226 | | |||
Context not available. | |||||
252 | } | 254 | } | ||
253 | qCDebug(KDEV_PHP_DEBUGGER) << "Process done"; | 255 | qCDebug(KDEV_PHP_DEBUGGER) << "Process done"; | ||
254 | emitResult(); | 256 | emitResult(); | ||
255 | | ||||
256 | if (m_session && m_session->connection()) { | | |||
257 | m_session->connection()->setState(DebugSession::EndedState); | | |||
258 | } | | |||
259 | } | 257 | } | ||
260 | 258 | | |||
261 | void XDebugJob::processError(QProcess::ProcessError error) | 259 | void XDebugJob::processError(QProcess::ProcessError error) | ||
Context not available. | |||||
265 | QString errmsg = i18n("Could not start program '%1'. Make sure that the " | 263 | QString errmsg = i18n("Could not start program '%1'. Make sure that the " | ||
266 | "path is specified correctly.", m_proc->property("executable").toString()); | 264 | "path is specified correctly.", m_proc->property("executable").toString()); | ||
267 | setErrorText(errmsg); | 265 | setErrorText(errmsg); | ||
266 | m_session->stopDebugger(); | ||||
268 | emitResult(); | 267 | emitResult(); | ||
269 | } | 268 | } | ||
270 | qCDebug(KDEV_PHP_DEBUGGER) << "Process error"; | 269 | qCDebug(KDEV_PHP_DEBUGGER) << "Process error"; | ||
271 | | ||||
272 | if (m_session && m_session->connection()) { | | |||
273 | m_session->connection()->setState(DebugSession::EndedState); | | |||
274 | } | | |||
275 | else if(m_session) | | |||
276 | { | | |||
277 | m_session->stateChanged(DebugSession::EndedState); | | |||
278 | m_session->stopDebugger(); | | |||
279 | } | | |||
280 | } | 270 | } | ||
281 | 271 | | |||
282 | void XDebugJob::appendLine(const QString& l) | 272 | void XDebugJob::appendLine(const QString& l) | ||
Context not available. | |||||
336 | setError(-1); | 326 | setError(-1); | ||
337 | setErrorText(err); | 327 | setErrorText(err); | ||
338 | emitResult(); | 328 | emitResult(); | ||
329 | m_session->stopDebugger(); | ||||
339 | return; | 330 | return; | ||
340 | } | 331 | } | ||
341 | 332 | | |||
342 | QUrl url = m_url; | 333 | QUrl url = m_url; | ||
343 | url.setQuery("XDEBUG_SESSION_START=kdev"); | 334 | url.setQuery("XDEBUG_SESSION_START=kdev"); | ||
344 | if (m_browser.isEmpty()) { | | |||
345 | if (!QDesktopServices::openUrl(url)) { | | |||
346 | qCWarning(KDEV_PHP_DEBUGGER) << "openUrl failed, something went wrong when creating the job"; | | |||
347 | emitResult(); | | |||
348 | } | | |||
349 | } else { | | |||
350 | KProcess proc(this); | | |||
351 | 335 | | |||
352 | proc.setProgram(QStringList() << m_browser << url.url()); | 336 | launchBrowser(url); | ||
353 | if( !proc.startDetached() ) | | |||
354 | { | | |||
355 | processFailedToStart(); | | |||
356 | } | | |||
357 | } | | |||
358 | } | 337 | } | ||
359 | 338 | | |||
360 | 339 | | |||
Context not available. | |||||
367 | setErrorText(errmsg); | 346 | setErrorText(errmsg); | ||
368 | emitResult(); | 347 | emitResult(); | ||
369 | qCDebug(KDEV_PHP_DEBUGGER) << "Process error"; | 348 | qCDebug(KDEV_PHP_DEBUGGER) << "Process error"; | ||
349 | m_session->stopDebugger(); | ||||
350 | } | ||||
370 | 351 | | |||
371 | if (m_session && m_session->connection()) { | 352 | | ||
372 | m_session->connection()->setState(DebugSession::EndedState); | 353 | void XDebugBrowserJob::launchBrowser(QUrl &url) | ||
373 | } | 354 | { | ||
374 | else if(m_session) | 355 | if (m_browser.isEmpty()) { | ||
375 | { | 356 | if (!QDesktopServices::openUrl(url)) { | ||
376 | m_session->stateChanged(DebugSession::EndedState); | 357 | qCWarning(KDEV_PHP_DEBUGGER) << "openUrl failed, something went wrong when creating the job"; | ||
377 | m_session->stopDebugger(); | 358 | emitResult(); | ||
359 | m_session->stopDebugger(); | ||||
360 | } | ||||
361 | } else { | ||||
362 | KProcess proc(this); | ||||
363 | | ||||
364 | proc.setProgram(QStringList() << m_browser << url.url()); | ||||
365 | if( !proc.startDetached() ) | ||||
366 | { | ||||
367 | processFailedToStart(); | ||||
368 | } | ||||
378 | } | 369 | } | ||
379 | } | 370 | } | ||
380 | 371 | | |||
Context not available. | |||||
384 | m_session->stopDebugger(); | 375 | m_session->stopDebugger(); | ||
385 | QUrl url = m_url; | 376 | QUrl url = m_url; | ||
386 | url.setQuery("XDEBUG_SESSION_STOP_NO_EXEC=kdev"); | 377 | url.setQuery("XDEBUG_SESSION_STOP_NO_EXEC=kdev"); | ||
387 | QDesktopServices::openUrl(url); | 378 | launchBrowser(url); | ||
388 | return true; | 379 | return true; | ||
389 | } | 380 | } | ||
390 | 381 | | |||
Context not available. |