From 57ffacdfca5542cf1179b95da96210bbfa7b4121 Mon Sep 17 00:00:00 2001 From: jopohl Date: Sun, 18 Dec 2016 13:55:42 +0100 Subject: [PATCH] fix remove if no item selected + change selection mode to ExtendedSelection --- src/urh/controller/ProtocolLabelController.py | 9 +++++++-- src/urh/ui/ui_properties_dialog.py | 2 +- ui/properties_dialog.ui | 8 +++++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/urh/controller/ProtocolLabelController.py b/src/urh/controller/ProtocolLabelController.py index 8c37f5a8..9ca434a6 100644 --- a/src/urh/controller/ProtocolLabelController.py +++ b/src/urh/controller/ProtocolLabelController.py @@ -83,8 +83,13 @@ class ProtocolLabelController(QDialog): self.apply_decoding_changed.emit(lbl, self.model.message_type) def on_btn_remove_fieldtype_clicked(self): - for index in self.ui.listViewCustomFieldTypes.selectedIndexes(): - self.custom_field_list_model.remove_field_type_at(index.row()) + selected_indices = [indx.row() for indx in self.ui.listViewCustomFieldTypes.selectedIndexes()] + + if len(selected_indices) == 0 and len(self.custom_field_list_model.custom_field_types) > 0: + selected_indices.append(len(self.custom_field_list_model.custom_field_types) - 1) + + for index in selected_indices: + self.custom_field_list_model.remove_field_type_at(index) def on_btn_add_fieldtype_clicked(self): number = 1 diff --git a/src/urh/ui/ui_properties_dialog.py b/src/urh/ui/ui_properties_dialog.py index 26d8639d..3d06163e 100644 --- a/src/urh/ui/ui_properties_dialog.py +++ b/src/urh/ui/ui_properties_dialog.py @@ -47,7 +47,7 @@ class Ui_DialogLabels(object): self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.listViewCustomFieldTypes = CustomFieldListView(DialogLabels) - self.listViewCustomFieldTypes.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection) + self.listViewCustomFieldTypes.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection) self.listViewCustomFieldTypes.setObjectName("listViewCustomFieldTypes") self.horizontalLayout_3.addWidget(self.listViewCustomFieldTypes) self.verticalLayout_2 = QtWidgets.QVBoxLayout() diff --git a/ui/properties_dialog.ui b/ui/properties_dialog.ui index 6907416d..bd14a3c2 100644 --- a/ui/properties_dialog.ui +++ b/ui/properties_dialog.ui @@ -94,7 +94,7 @@ - QAbstractItemView::MultiSelection + QAbstractItemView::ExtendedSelection @@ -106,7 +106,8 @@ ... - + + .. @@ -119,7 +120,8 @@ ... - + + ..