Skip to content
Snippets Groups Projects
Commit 9a58e4c1 authored by Kien Le's avatar Kien Le
Browse files

Fix saving channel preferences overwrite default row status

parent af696b27
No related branches found
No related tags found
1 merge request!329Fix saving channel preferences overwrite default row status
No preview for this file type
No preview for this file type
......@@ -335,7 +335,7 @@ class ChannelPreferDialog(OneWindowAtATimeDialog):
self.soh_list_table_widget.item(
count, COL['preferredSOHs']).setText(r['preferredSOHs'])
if r['default'] == 1:
if r['isDefault'] == 1:
self.set_default_row(count)
if r['current'] == 1:
......@@ -508,9 +508,13 @@ class ChannelPreferDialog(OneWindowAtATimeDialog):
"""
selected_row_idx = self.soh_list_table_widget.indexFromItem(
self.soh_list_item
).row()
row_edit_button = self.soh_list_table_widget.cellWidget(
selected_row_idx, COL['edit']
)
# Hardcoding the check for default row because there is no time.
if selected_row_idx.row() < 4:
is_default_row = not row_edit_button.isEnabled()
if is_default_row:
err_msg = ('The selected row is a default row and cannot be '
'overwritten. Please select a non-default row and try '
'again.')
......@@ -732,6 +736,12 @@ class ChannelPreferDialog(OneWindowAtATimeDialog):
row_idx, COL['dataType']).currentText()
preferred_sohs = self.soh_list_table_widget.item(
row_idx, COL['preferredSOHs']).text()
row_edit_button = self.soh_list_table_widget.cellWidget(
row_idx, COL['edit']
)
# The edit button is only disabled for default rows, so we can use its
# state to determine if a row is a default row.
is_default_row = not row_edit_button.isEnabled()
if preferred_sohs.strip() == '' and name.strip() == '':
return '', '', ''
display_id = row_idx + 1
......@@ -749,8 +759,10 @@ class ChannelPreferDialog(OneWindowAtATimeDialog):
QtWidgets.QMessageBox.information(self, "Missing info", msg)
return
sql = (f"INSERT INTO ChannelPrefer (name, preferredSOHs, dataType, "
f"current) VALUES "
f"('{name}', '{preferred_sohs}', '{data_type}', {current})")
f"current, isDefault) VALUES "
f"('{name}', '{preferred_sohs}', '{data_type}', {current}, "
f"{is_default_row})")
print(sql)
primary_key = name
return primary_key, str(display_id), sql
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment