kopia lustrzana https://github.com/ctjacobs/pyqso
Added the following fields: MODE, BAND, RST_SENT, RST_RCVD.
rodzic
88f2a2edea
commit
47344aa4d2
|
@ -30,7 +30,10 @@ AVAILABLE_FIELD_NAMES_TYPES = {"CALL": "S",
|
|||
"DATE": "D",
|
||||
"TIME": "T",
|
||||
"FREQ": "N",
|
||||
"MODE":"C"}
|
||||
"BAND": "E",
|
||||
"MODE": "E",
|
||||
"RST_SENT": "S",
|
||||
"RST_RCVD": "S"}
|
||||
|
||||
# A: AwardList
|
||||
# B: Boolean
|
||||
|
|
|
@ -31,12 +31,15 @@ class Logbook(Gtk.ListStore):
|
|||
|
||||
# FIXME: Allow the user to select the field names. By default, let's select them all.
|
||||
self.SELECTED_FIELD_NAMES_TYPES = AVAILABLE_FIELD_NAMES_TYPES
|
||||
self.SELECTED_FIELD_NAMES_ORDERED = ["CALL", "DATE", "TIME", "FREQ", "MODE"]
|
||||
self.SELECTED_FIELD_NAMES_ORDERED = ["CALL", "DATE", "TIME", "FREQ", "BAND", "MODE", "RST_SENT", "RST_RCVD"]
|
||||
self.SELECTED_FIELD_NAMES_FRIENDLY = {"CALL":"Callsign",
|
||||
"DATE":"Date",
|
||||
"TIME":"Time",
|
||||
"FREQ":"Frequency",
|
||||
"MODE":"Mode"}
|
||||
"BAND":"Band",
|
||||
"MODE":"Mode",
|
||||
"RST_SENT":"TX RST",
|
||||
"RST_RCVD":"RX RST"}
|
||||
|
||||
# The ListStore constructor needs to know the data types of the columns.
|
||||
# The index is always an integer. We will assume the ADIF fields are strings.
|
||||
|
|
|
@ -80,20 +80,58 @@ class RecordDialog(Gtk.Dialog):
|
|||
self.sources["FREQ"] = Gtk.Entry()
|
||||
hbox_temp.pack_start(self.sources["FREQ"], True, True, 6)
|
||||
|
||||
# BAND
|
||||
label = Gtk.Label(parent.logbook.SELECTED_FIELD_NAMES_FRIENDLY["BAND"])
|
||||
label.set_alignment(0, 0.5)
|
||||
hbox_temp.pack_start(label, False, False, 6)
|
||||
bands = ["", "2190m", "560m", "160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "10m", "6m", "4m", "2m", "1.25m", "70cm", "33cm", "23cm", "13cm", "9cm", "6cm", "3cm", "1.25cm", "6mm", "4mm", "2.5mm", "2mm", "1mm"]
|
||||
self.sources["BAND"] = Gtk.ComboBoxText()
|
||||
for band in bands:
|
||||
self.sources["BAND"].append_text(band)
|
||||
self.sources["BAND"].set_active(0)
|
||||
hbox_temp.pack_start(self.sources["BAND"], True, True, 6)
|
||||
vbox_inner.pack_start(hbox_temp, False, False, 6)
|
||||
|
||||
# MODE
|
||||
hbox_temp = Gtk.HBox(spacing=0)
|
||||
label = Gtk.Label(parent.logbook.SELECTED_FIELD_NAMES_FRIENDLY["MODE"])
|
||||
label.set_alignment(0, 0.5)
|
||||
hbox_temp.pack_start(label, False, False, 6)
|
||||
self.sources["MODE"] = Gtk.Entry()
|
||||
modes = ["", "AM", "AMTORFEC", "ASCI", "ATV", "CHIP64", "CHIP128", "CLO", "CONTESTI", "CW", "DSTAR", "DOMINO", "DOMINOF", "FAX", "FM", "FMHELL", "FSK31", "FSK441", "GTOR", "HELL", "HELL80", "HFSK", "ISCAT", "JT44", "JT4A", "JT4B", "JT4C", "JT4D", "JT4E", "JT4F", "JT4G", "JT65", "JT65A", "JT65B", "JT65C", "JT6M", "MFSK8", "MFSK16", "MT63", "OLIVIA", "PAC", "PAC2", "PAC3", "PAX", "PAX2", "PCW", "PKT", "PSK10", "PSK31", "PSK63", "PSK63F", "PSK125", "PSKAM10", "PSKAM31", "PSKAM50", "PSKFEC31", "PSKHELL", "Q15", "QPSK31", "QPSK63", "QPSK125", "ROS", "RTTY", "RTTYM", "SSB", "SSTV", "THRB", "THOR", "THRBX", "TOR", "V4", "VOI", "WINMOR", "WSPR"]
|
||||
self.sources["MODE"] = Gtk.ComboBoxText()
|
||||
for mode in modes:
|
||||
self.sources["MODE"].append_text(mode)
|
||||
self.sources["MODE"].set_active(0)
|
||||
hbox_temp.pack_start(self.sources["MODE"], True, True, 6)
|
||||
vbox_inner.pack_start(hbox_temp, False, False, 6)
|
||||
|
||||
# RST_SENT
|
||||
hbox_temp = Gtk.HBox(spacing=0)
|
||||
label = Gtk.Label(parent.logbook.SELECTED_FIELD_NAMES_FRIENDLY["RST_SENT"])
|
||||
label.set_alignment(0, 0.5)
|
||||
hbox_temp.pack_start(label, False, False, 6)
|
||||
self.sources["RST_SENT"] = Gtk.Entry()
|
||||
hbox_temp.pack_start(self.sources["RST_SENT"], True, True, 6)
|
||||
|
||||
# RST_RCVD
|
||||
label = Gtk.Label(parent.logbook.SELECTED_FIELD_NAMES_FRIENDLY["RST_RCVD"])
|
||||
label.set_alignment(0, 0.5)
|
||||
hbox_temp.pack_start(label, False, False, 6)
|
||||
self.sources["RST_RCVD"] = Gtk.Entry()
|
||||
hbox_temp.pack_start(self.sources["RST_RCVD"], True, True, 6)
|
||||
vbox_inner.pack_start(hbox_temp, False, False, 6)
|
||||
|
||||
if(index is not None):
|
||||
# The record already exists, so display its current data in the input boxes.
|
||||
record = parent.logbook.get_record(index)
|
||||
field_names = parent.logbook.SELECTED_FIELD_NAMES_ORDERED
|
||||
for i in range(0, len(field_names)):
|
||||
self.sources[field_names[i]].set_text(record.get_data(field_names[i]))
|
||||
if(field_names[i] == "BAND"):
|
||||
self.sources[field_names[i]].set_active(bands.index(record.get_data(field_names[i])))
|
||||
elif(field_names[i] == "MODE"):
|
||||
self.sources[field_names[i]].set_active(modes.index(record.get_data(field_names[i])))
|
||||
else:
|
||||
self.sources[field_names[i]].set_text(record.get_data(field_names[i]))
|
||||
|
||||
frame.add(vbox_inner)
|
||||
|
||||
|
@ -102,7 +140,10 @@ class RecordDialog(Gtk.Dialog):
|
|||
return
|
||||
|
||||
def get_data(self, field_name):
|
||||
return self.sources[field_name].get_text()
|
||||
if(field_name == "BAND" or field_name == "MODE"):
|
||||
return self.sources[field_name].get_active_text()
|
||||
else:
|
||||
return self.sources[field_name].get_text()
|
||||
|
||||
def is_valid(self, field_name, data):
|
||||
if(field_name == "FREQ"):
|
||||
|
|
Ładowanie…
Reference in New Issue