|
12 | 12 | import os |
13 | 13 |
|
14 | 14 | from PyQt5.QtCore import QObject |
15 | | -from PyQt5.QtWidgets import QErrorMessage |
| 15 | +from PyQt5.QtWidgets import QErrorMessage, QMessageBox |
16 | 16 |
|
17 | 17 | from pugdebug.debugger import PugdebugDebugger |
18 | 18 | from pugdebug.syntaxer import PugdebugFormatter |
@@ -357,13 +357,30 @@ def start_debug(self): |
357 | 357 |
|
358 | 358 | Start a debugging session. |
359 | 359 | """ |
360 | | - self.variable_viewer.clear() |
361 | | - self.stacktrace_viewer.clear() |
| 360 | + break_at_first_line = int(get_setting('debugger/break_at_first_line')) |
| 361 | + |
| 362 | + start_debugging = True |
| 363 | + |
| 364 | + if break_at_first_line == 0 and len(self.init_breakpoints) == 0: |
| 365 | + messageBox = QMessageBox() |
| 366 | + messageBox.setText("There are no breakpoints set and the break at" |
| 367 | + " first line setting is turned off.") |
| 368 | + messageBox.setInformativeText("Are you sure you want to start" |
| 369 | + " debugging?") |
| 370 | + messageBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No) |
| 371 | + answer = messageBox.exec() |
| 372 | + |
| 373 | + if answer == QMessageBox.No: |
| 374 | + start_debugging = False |
| 375 | + |
| 376 | + if start_debugging: |
| 377 | + self.variable_viewer.clear() |
| 378 | + self.stacktrace_viewer.clear() |
362 | 379 |
|
363 | | - self.document_viewer.remove_line_highlights() |
| 380 | + self.document_viewer.remove_line_highlights() |
364 | 381 |
|
365 | | - self.debugger.start_debug() |
366 | | - self.main_window.set_statusbar_text("Waiting for connection...") |
| 382 | + self.debugger.start_debug() |
| 383 | + self.main_window.set_statusbar_text("Waiting for connection...") |
367 | 384 |
|
368 | 385 | def handle_debugging_started(self): |
369 | 386 | """Handle when debugging starts |
|
0 commit comments