Skip to content

Commit 367a631

Browse files
committed
fixed run summary
1 parent c60862b commit 367a631

File tree

2 files changed

+33
-50
lines changed

2 files changed

+33
-50
lines changed

src/cuepoint/ui/dialogs/run_summary_dialog.py

Lines changed: 28 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -43,70 +43,48 @@ def __init__(self, summary: RunSummary, parent: Optional[QWidget] = None) -> Non
4343
def _setup_ui(self) -> None:
4444
self.setWindowTitle("Run Summary")
4545
self.setModal(True)
46-
self.resize(520, 480)
46+
self.resize(400, 320)
4747

4848
layout = QVBoxLayout(self)
49-
layout.setContentsMargins(20, 20, 20, 16)
50-
layout.setSpacing(10)
49+
layout.setContentsMargins(16, 12, 16, 12)
50+
layout.setSpacing(8)
5151

5252
title = QLabel(SuccessCopy.RUN_SUMMARY_TITLE)
53-
title.setStyleSheet("font-size: 18px; font-weight: bold;")
53+
title.setStyleSheet("font-size: 14px; font-weight: bold;")
5454
layout.addWidget(title)
5555

56-
summary_lines = [
57-
f"Run ID: {self._summary.run_id}",
58-
f"Playlist: {self._summary.playlist}",
59-
f"Input XML: {self._summary.input_xml_path or 'N/A'}",
60-
f"Tracks: {self._summary.total_tracks}",
61-
f"Matched: {self._summary.matched}",
62-
f"Unmatched: {self._summary.unmatched}",
63-
f"Low confidence: {self._summary.low_confidence}",
64-
f"Duration: {self._summary.duration_sec:.2f}s",
65-
f"Errors: {self._summary.error_count}",
66-
f"Warnings: {self._summary.warning_count}",
67-
]
68-
for line in summary_lines:
69-
label = QLabel(line)
70-
label.setAlignment(Qt.AlignLeft)
71-
layout.addWidget(label)
56+
# Single line: playlist + key stats
57+
stats = (
58+
f"{self._summary.total_tracks} tracks, {self._summary.matched} matched"
59+
+ (f", {self._summary.unmatched} unmatched" if self._summary.unmatched else "")
60+
+ (f", {self._summary.low_confidence} low confidence" if self._summary.low_confidence else "")
61+
+ f" — {self._summary.duration_sec:.1f}s"
62+
)
63+
if self._summary.error_count or self._summary.warning_count:
64+
stats += f" — {self._summary.error_count} errors, {self._summary.warning_count} warnings"
65+
summary_label = QLabel(stats)
66+
summary_label.setWordWrap(True)
67+
summary_label.setStyleSheet("font-size: 12px; color: #ccc;")
68+
layout.addWidget(summary_label)
69+
70+
if self._summary.playlist:
71+
pl_label = QLabel(f"Playlist: {self._summary.playlist}")
72+
pl_label.setStyleSheet("font-size: 11px; color: #888;")
73+
layout.addWidget(pl_label)
7274

7375
if self._summary.output_paths:
74-
outputs_label = QLabel("Outputs")
75-
outputs_label.setStyleSheet("font-weight: bold;")
76-
layout.addWidget(outputs_label)
77-
7876
outputs_list = QListWidget()
7977
outputs_list.setSelectionMode(QListWidget.NoSelection)
78+
outputs_list.setMaximumHeight(72)
8079
for path in self._summary.output_paths:
8180
QListWidgetItem(path, outputs_list)
8281
layout.addWidget(outputs_list)
8382

84-
# Step 8: Clear success criteria and what to do next (Design 8.74-8.75)
85-
what_next = QLabel(SuccessCopy.WHAT_TO_DO_NEXT)
86-
what_next.setStyleSheet("font-weight: bold; font-size: 13px; margin-top: 8px;")
87-
layout.addWidget(what_next)
88-
89-
step1 = QLabel(SuccessCopy.STEP_REVIEW)
90-
step1.setWordWrap(True)
91-
step1.setStyleSheet("color: #ccc; font-size: 12px; margin-left: 8px;")
92-
layout.addWidget(step1)
93-
94-
step2 = QLabel(SuccessCopy.STEP_EXPORT)
95-
step2.setWordWrap(True)
96-
step2.setStyleSheet("color: #ccc; font-size: 12px; margin-left: 8px;")
97-
layout.addWidget(step2)
98-
99-
step3 = QLabel(SuccessCopy.STEP_REKORDBOX)
100-
step3.setWordWrap(True)
101-
step3.setStyleSheet("color: #ccc; font-size: 12px; margin-left: 8px;")
102-
layout.addWidget(step3)
103-
104-
step4 = QLabel(SuccessCopy.STEP_UNDO_GUIDANCE)
105-
step4.setWordWrap(True)
106-
step4.setStyleSheet(
107-
"color: #888; font-size: 11px; margin-left: 8px; font-style: italic;"
108-
)
109-
layout.addWidget(step4)
83+
# One short line for next steps (Design 8.74-8.75)
84+
next_line = QLabel(SuccessCopy.STEP_NEXT_SHORT)
85+
next_line.setWordWrap(True)
86+
next_line.setStyleSheet("color: #888; font-size: 11px; margin-top: 4px;")
87+
layout.addWidget(next_line)
11088

11189
layout.addStretch(1)
11290

src/cuepoint/ui/strings.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ class SuccessCopy:
145145
"To undo: Rekordbox does not auto-revert. Re-import your original XML or restore from backup if needed.",
146146
"SuccessCopy",
147147
)
148+
STEP_NEXT_SHORT = tr(
149+
"success_step_next_short",
150+
"Export (Ctrl+E) then import the CSV into Rekordbox.",
151+
"SuccessCopy",
152+
)
148153

149154

150155
# --- Tooltips (Design 8.128) ---

0 commit comments

Comments
 (0)