Skip to content

Commit

Permalink
fix(ui): update ui when removing fields (#560)
Browse files Browse the repository at this point in the history
  • Loading branch information
DandyDev01 authored Nov 18, 2024
1 parent bec513f commit 774c886
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions tagstudio/src/qt/widgets/preview_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,6 @@
logger = structlog.get_logger(__name__)


def update_selected_entry(driver: "QtDriver"):
for grid_idx in driver.selected:
entry = driver.frame_content[grid_idx]
# reload entry
results = driver.lib.search_library(FilterState(id=entry.id))
logger.info("found item", entries=len(results), grid_idx=grid_idx, lookup_id=entry.id)
assert results, f"Entry not found: {entry.id}"
driver.frame_content[grid_idx] = next(results)


class PreviewPanel(QWidget):
"""The Preview Panel Widget."""

Expand Down Expand Up @@ -293,6 +283,18 @@ def __init__(self, library: Library, driver: "QtDriver"):
root_layout.setContentsMargins(0, 0, 0, 0)
root_layout.addWidget(splitter)

def update_selected_entry(self, driver: "QtDriver"):
for grid_idx in driver.selected:
entry = driver.frame_content[grid_idx]
results = self.lib.search_library(FilterState(id=entry.id))
logger.info(
"found item",
entries=len(results.items),
grid_idx=grid_idx,
lookup_id=entry.id,
)
self.driver.frame_content[grid_idx] = results[0]

def remove_field_prompt(self, name: str) -> str:
return f'Are you sure you want to remove field "{name}"?'

Expand Down Expand Up @@ -900,7 +902,7 @@ def write_container(self, index: int, field: BaseField, is_mixed: bool = False):
prompt=self.remove_field_prompt(field.type.name),
callback=lambda: (
self.remove_field(field),
update_selected_entry(self.driver),
self.update_selected_entry(self.driver),
# reload entry and its fields
self.update_widgets(),
),
Expand Down

0 comments on commit 774c886

Please sign in to comment.