mirror of
https://github.com/jopohl/urh.git
synced 2026-03-14 12:16:48 +01:00
add shortcut for label list to configure field types
This commit is contained in:
@@ -38,6 +38,7 @@ class CompareFrameController(QFrame):
|
||||
show_decoding_clicked = pyqtSignal()
|
||||
files_dropped = pyqtSignal(list)
|
||||
participant_changed = pyqtSignal()
|
||||
show_config_field_types_triggered = pyqtSignal()
|
||||
|
||||
def __init__(self, plugin_manager: PluginManager,
|
||||
project_manager: ProjectManager, parent):
|
||||
@@ -336,7 +337,7 @@ class CompareFrameController(QFrame):
|
||||
self.ui.tblViewProtocol.new_messagetype_clicked.connect(self.on_new_message_type_clicked)
|
||||
self.ui.btnAddMessagetype.clicked.connect(self.on_new_message_type_clicked)
|
||||
self.ui.btnRemoveMessagetype.clicked.connect(self.on_remove_message_type_clicked)
|
||||
|
||||
self.ui.listViewLabelNames.configureActionTriggered.connect(self.show_config_field_types_triggered.emit)
|
||||
self.ui.lineEditSearch.returnPressed.connect(self.ui.btnSearchSelectFilter.click)
|
||||
|
||||
self.ui.cbMessagetypes.currentIndexChanged.connect(self.on_cbmessagetype_index_changed)
|
||||
@@ -1446,4 +1447,4 @@ class CompareFrameController(QFrame):
|
||||
hide = not msg.participant.show if msg.participant is not None else not self.participant_list_model.show_unassigned
|
||||
self.ui.tblViewProtocol.setRowHidden(i, hide)
|
||||
|
||||
self.set_shown_protocols()
|
||||
self.set_shown_protocols()
|
||||
|
||||
@@ -187,6 +187,7 @@ class MainController(QMainWindow):
|
||||
|
||||
self.compare_frame_controller.participant_changed.connect(self.signal_tab_controller.refresh_participant_information)
|
||||
self.compare_frame_controller.ui.treeViewProtocols.close_wanted.connect(self.on_cfc_close_wanted)
|
||||
self.compare_frame_controller.show_config_field_types_triggered.connect(self.show_field_types_config)
|
||||
self.ui.listViewParticipants.doubleClicked.connect(self.on_project_settings_clicked)
|
||||
|
||||
self.ui.menuFile.addSeparator()
|
||||
@@ -630,9 +631,15 @@ class MainController(QMainWindow):
|
||||
|
||||
@pyqtSlot()
|
||||
def show_options_dialog(self):
|
||||
self.show_options_dialog_specific_tab(tab_index=0)
|
||||
|
||||
def show_field_types_config(self):
|
||||
self.show_options_dialog_specific_tab(tab_index=3)
|
||||
|
||||
def show_options_dialog_specific_tab(self, tab_index: int):
|
||||
op = OptionsController(self.plugin_manager.installed_plugins, parent=self)
|
||||
op.values_changed.connect(self.on_options_changed)
|
||||
op.ui.tabWidget.setCurrentIndex(tab_index)
|
||||
op.exec_()
|
||||
|
||||
def on_options_changed(self, changed_options: dict):
|
||||
|
||||
@@ -3,12 +3,14 @@ from PyQt5.QtGui import QContextMenuEvent, QKeySequence
|
||||
from PyQt5.QtWidgets import QListView, QAbstractItemView, QMenu, QAction
|
||||
import numpy
|
||||
|
||||
from urh.controller.OptionsController import OptionsController
|
||||
from urh.models.ProtocolLabelListModel import ProtocolLabelListModel
|
||||
|
||||
|
||||
class ProtocolLabelListView(QListView):
|
||||
editActionTriggered = pyqtSignal(int)
|
||||
selection_changed = pyqtSignal()
|
||||
configureActionTriggered = pyqtSignal()
|
||||
|
||||
def __init__(self, parent):
|
||||
super().__init__(parent)
|
||||
@@ -77,6 +79,10 @@ class ProtocolLabelListView(QListView):
|
||||
showAllAction = menu.addAction("Show all")
|
||||
hideAllAction = menu.addAction("Hide all")
|
||||
|
||||
|
||||
menu.addSeparator()
|
||||
configureAction = menu.addAction("Configure field types...")
|
||||
|
||||
action = menu.exec_(self.mapToGlobal(pos))
|
||||
|
||||
if action == editAction:
|
||||
@@ -85,11 +91,12 @@ class ProtocolLabelListView(QListView):
|
||||
self.model().showAll()
|
||||
elif action == hideAllAction:
|
||||
self.model().hideAll()
|
||||
elif action == configureAction:
|
||||
self.configureActionTriggered.emit()
|
||||
elif action in assign_actions:
|
||||
message_type_id = message_type_names.index(action.text())
|
||||
self.model().add_labels_to_message_type(min_row, max_row, message_type_id)
|
||||
|
||||
|
||||
def delete_rows(self):
|
||||
min_row, max_row = self.selection_range()
|
||||
if min_row > -1:
|
||||
|
||||
Reference in New Issue
Block a user