|
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