Skip to content
Snippets Groups Projects

Fix saving channel preferences overwrite default row status

Merged Kien Le requested to merge bug-#280-saving_overwrite_channel_preferences_default_rows into develop
1 unresolved thread
1 file
+ 6
2
Compare changes
  • Side-by-side
  • Inline
@@ -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
Loading