|
68 | 68 | logger = structlog.get_logger(__name__) |
69 | 69 |
|
70 | 70 |
|
71 | | -def update_selected_entry(driver: "QtDriver"): |
72 | | - for grid_idx in driver.selected: |
73 | | - entry = driver.frame_content[grid_idx] |
74 | | - # reload entry |
75 | | - results = driver.lib.search_library(FilterState(id=entry.id)) |
76 | | - logger.info("found item", entries=len(results), grid_idx=grid_idx, lookup_id=entry.id) |
77 | | - assert results, f"Entry not found: {entry.id}" |
78 | | - driver.frame_content[grid_idx] = next(results) |
79 | | - |
80 | | - |
81 | 71 | class PreviewPanel(QWidget): |
82 | 72 | """The Preview Panel Widget.""" |
83 | 73 |
|
@@ -293,6 +283,18 @@ def __init__(self, library: Library, driver: "QtDriver"): |
293 | 283 | root_layout.setContentsMargins(0, 0, 0, 0) |
294 | 284 | root_layout.addWidget(splitter) |
295 | 285 |
|
| 286 | + def update_selected_entry(self, driver: "QtDriver"): |
| 287 | + for grid_idx in driver.selected: |
| 288 | + entry = driver.frame_content[grid_idx] |
| 289 | + results = self.lib.search_library(FilterState(id=entry.id)) |
| 290 | + logger.info( |
| 291 | + "found item", |
| 292 | + entries=len(results.items), |
| 293 | + grid_idx=grid_idx, |
| 294 | + lookup_id=entry.id, |
| 295 | + ) |
| 296 | + self.driver.frame_content[grid_idx] = results[0] |
| 297 | + |
296 | 298 | def remove_field_prompt(self, name: str) -> str: |
297 | 299 | return f'Are you sure you want to remove field "{name}"?' |
298 | 300 |
|
@@ -900,7 +902,7 @@ def write_container(self, index: int, field: BaseField, is_mixed: bool = False): |
900 | 902 | prompt=self.remove_field_prompt(field.type.name), |
901 | 903 | callback=lambda: ( |
902 | 904 | self.remove_field(field), |
903 | | - update_selected_entry(self.driver), |
| 905 | + self.update_selected_entry(self.driver), |
904 | 906 | # reload entry and its fields |
905 | 907 | self.update_widgets(), |
906 | 908 | ), |
|
0 commit comments