(self)
| 306 | self.gfx.flip() |
| 307 | |
| 308 | def _show_clear_data_menu(self): |
| 309 | selected = 0 |
| 310 | options = ['Clear Logs', 'Clear Credentials', 'Clear Stolen Data', 'Clear All', 'Back'] |
| 311 | |
| 312 | while True: |
| 313 | self.gfx.clear(Pager.BLACK) |
| 314 | self.gfx.draw_ttf_centered(10, "CLEAR DATA", SUBMENU_COLOR, FONT_DEJAVU, TTF_LARGE) |
| 315 | |
| 316 | y = 42 |
| 317 | for i, opt in enumerate(options): |
| 318 | color = SELECTED_COLOR if i == selected else UNSELECTED_COLOR |
| 319 | self.gfx.draw_ttf_centered(y, opt, color, FONT_DEJAVU, TTF_MEDIUM) |
| 320 | y += 24 |
| 321 | |
| 322 | self.gfx.flip() |
| 323 | |
| 324 | btn = self._wait_button() |
| 325 | if btn == 'UP': |
| 326 | selected = (selected - 1) % len(options) |
| 327 | elif btn == 'DOWN': |
| 328 | selected = (selected + 1) % len(options) |
| 329 | elif btn == 'SELECT': |
| 330 | if selected == 4: |
| 331 | return |
| 332 | if selected == 0: |
| 333 | if self._confirm("Clear Logs?"): |
| 334 | self._clear_logs() |
| 335 | elif selected == 1: |
| 336 | if self._confirm("Clear Credentials?"): |
| 337 | self._clear_credentials() |
| 338 | elif selected == 2: |
| 339 | if self._confirm("Clear Stolen Data?"): |
| 340 | self._clear_stolen() |
| 341 | elif selected == 3: |
| 342 | if self._confirm("Clear ALL Data?"): |
| 343 | self._clear_all() |
| 344 | elif btn == 'BACK': |
| 345 | return |
| 346 | |
| 347 | def _confirm(self, prompt): |
| 348 | selected = 1 # Default NO |
no test coverage detected