Skip to content
This repository was archived by the owner on Dec 31, 2025. It is now read-only.

Commit 57e4482

Browse files
committed
Added change contest for selected QSOs
1 parent a075e63 commit 57e4482

8 files changed

Lines changed: 819 additions & 711 deletions

File tree

SHORTCUTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Main actions
2525
| Mark QSL rcvd | Ctrl + Alt + R |
2626
| Unmark QSL rcvd | Ctrl + Shift + R |
2727
| Mark HamQTH uploaded | Ctrl + Alt + U |
28+
| Change contest | Ctrl + Alt + C |
2829

2930

3031
QSO form actions

dragonlog/DragonLog.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,7 @@ def fetchQSO(self):
10391039
self.addQSOToCallbook(qso)
10401040

10411041
def selectedQSOIds(self) -> Iterator[int]:
1042+
"""Fetch the QSO ID for selected"""
10421043
yielded_ids: list[int] = []
10431044

10441045
for i in self.QSOTableView.selectedIndexes():
@@ -1050,7 +1051,22 @@ def selectedQSOIds(self) -> Iterator[int]:
10501051
yielded_ids.append(qso_id)
10511052
yield qso_id
10521053

1054+
def changeContestID(self):
1055+
"""Change the contest ID for selected QSOs"""
1056+
contest, ok = QtWidgets.QInputDialog.getItem(self, self.tr('Change contest'),
1057+
self.tr('Select new contest'),
1058+
list(CONTEST_NAMES.values()),
1059+
editable=False)
1060+
if not ok:
1061+
return
1062+
1063+
for q in self.selectedQSOIds():
1064+
self.updateQSOField('contest_id', q, CONTEST_IDS[contest])
1065+
1066+
self.refreshTableView()
1067+
10531068
def selectedQSOs(self) -> Iterator[dict[str, str]]:
1069+
"""Fetch the QSO data for selected QSOs"""
10541070
for qso_id in self.selectedQSOIds():
10551071
query = self.__db_con__.exec(f'SELECT * FROM qsos WHERE id = {qso_id}')
10561072
if query.lastError().text():

dragonlog/icons/contest.xcf

3.58 KB
Binary file not shown.

dragonlog/icons/contest_edit.png

4.06 KB
Loading

0 commit comments

Comments
 (0)