Add bandwidth filters. Refactor some functions.
This commit is contained in:
420
main.py
420
main.py
@@ -52,6 +52,8 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.current_signal_name = ''
|
self.current_signal_name = ''
|
||||||
self.signal_names = []
|
self.signal_names = []
|
||||||
self.total_signals = 0
|
self.total_signals = 0
|
||||||
|
|
||||||
|
# Manage frequency filters.
|
||||||
self.frequency_filters_btns = (
|
self.frequency_filters_btns = (
|
||||||
self.elf_filter_btn,
|
self.elf_filter_btn,
|
||||||
self.slf_filter_btn,
|
self.slf_filter_btn,
|
||||||
@@ -73,7 +75,18 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
self.lower_freq_spinbox.valueChanged.connect(self.set_band_filter_label)
|
self.lower_freq_spinbox.valueChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
self.upper_freq_spinbox.valueChanged.connect(
|
self.upper_freq_spinbox.valueChanged.connect(
|
||||||
partial(self.set_min_value_upper_limit,
|
partial(self.set_min_value_upper_limit,
|
||||||
@@ -82,7 +95,18 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
self.upper_freq_spinbox.valueChanged.connect(self.set_band_filter_label)
|
self.upper_freq_spinbox.valueChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
self.lower_freq_filter_unit.currentTextChanged.connect(
|
self.lower_freq_filter_unit.currentTextChanged.connect(
|
||||||
partial(self.set_min_value_upper_limit,
|
partial(self.set_min_value_upper_limit,
|
||||||
@@ -91,7 +115,18 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
self.lower_freq_filter_unit.currentTextChanged.connect(self.set_band_filter_label)
|
self.lower_freq_filter_unit.currentTextChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
self.upper_freq_filter_unit.currentTextChanged.connect(
|
self.upper_freq_filter_unit.currentTextChanged.connect(
|
||||||
partial(self.set_min_value_upper_limit,
|
partial(self.set_min_value_upper_limit,
|
||||||
@@ -100,7 +135,18 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_spinbox)
|
self.upper_freq_spinbox)
|
||||||
)
|
)
|
||||||
self.upper_freq_filter_unit.currentTextChanged.connect(self.set_band_filter_label)
|
self.upper_freq_filter_unit.currentTextChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
self.activate_low_freq_filter_btn.toggled.connect(
|
self.activate_low_freq_filter_btn.toggled.connect(
|
||||||
partial(self.activate_if_toggled,
|
partial(self.activate_if_toggled,
|
||||||
@@ -109,7 +155,18 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.lower_freq_filter_unit,
|
self.lower_freq_filter_unit,
|
||||||
self.lower_freq_confidence)
|
self.lower_freq_confidence)
|
||||||
)
|
)
|
||||||
self.activate_low_freq_filter_btn.clicked.connect(self.set_band_filter_label)
|
self.activate_low_freq_filter_btn.clicked.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
self.activate_up_freq_filter_btn.toggled.connect(
|
self.activate_up_freq_filter_btn.toggled.connect(
|
||||||
partial(self.activate_if_toggled,
|
partial(self.activate_if_toggled,
|
||||||
@@ -118,10 +175,43 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
self.upper_freq_filter_unit,
|
self.upper_freq_filter_unit,
|
||||||
self.upper_freq_confidence)
|
self.upper_freq_confidence)
|
||||||
)
|
)
|
||||||
self.activate_up_freq_filter_btn.clicked.connect(self.set_band_filter_label)
|
self.activate_up_freq_filter_btn.clicked.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
self.lower_freq_confidence.valueChanged.connect(self.set_band_filter_label)
|
self.lower_freq_confidence.valueChanged.connect(
|
||||||
self.upper_freq_confidence.valueChanged.connect(self.set_band_filter_label)
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
self.upper_freq_confidence.valueChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_freq_filter_btn,
|
||||||
|
self.lower_freq_spinbox,
|
||||||
|
self.lower_freq_filter_unit,
|
||||||
|
self.lower_freq_confidence,
|
||||||
|
self.activate_up_freq_filter_btn,
|
||||||
|
self.upper_freq_spinbox,
|
||||||
|
self.upper_freq_filter_unit,
|
||||||
|
self.upper_freq_confidence,
|
||||||
|
self.freq_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
self.apply_remove_freq_filter_btn.set_texts("Apply", "Remove")
|
self.apply_remove_freq_filter_btn.set_texts("Apply", "Remove")
|
||||||
self.apply_remove_freq_filter_btn.set_slave_filters(
|
self.apply_remove_freq_filter_btn.set_slave_filters(
|
||||||
@@ -145,8 +235,179 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
self.apply_remove_freq_filter_btn.clicked.connect(self.display_signals)
|
self.apply_remove_freq_filter_btn.clicked.connect(self.display_signals)
|
||||||
self.reset_frequency_filters_btn.clicked.connect(self.reset_frequency_filters)
|
self.reset_frequency_filters_btn.clicked.connect(partial(self.reset_fb_filters, 'freq'))
|
||||||
|
|
||||||
|
# Manage bandwidth filters.
|
||||||
|
|
||||||
|
self.lower_band_spinbox.valueChanged.connect(
|
||||||
|
partial(self.set_min_value_upper_limit,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_spinbox)
|
||||||
|
)
|
||||||
|
self.lower_band_spinbox.valueChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.upper_band_spinbox.valueChanged.connect(
|
||||||
|
partial(self.set_min_value_upper_limit,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_spinbox)
|
||||||
|
)
|
||||||
|
self.upper_band_spinbox.valueChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.lower_band_filter_unit.currentTextChanged.connect(
|
||||||
|
partial(self.set_min_value_upper_limit,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_spinbox)
|
||||||
|
)
|
||||||
|
self.lower_band_filter_unit.currentTextChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.upper_band_filter_unit.currentTextChanged.connect(
|
||||||
|
partial(self.set_min_value_upper_limit,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_spinbox)
|
||||||
|
)
|
||||||
|
self.upper_band_filter_unit.currentTextChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.activate_low_band_filter_btn.toggled.connect(
|
||||||
|
partial(self.activate_if_toggled,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence)
|
||||||
|
)
|
||||||
|
self.activate_low_band_filter_btn.clicked.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.activate_up_band_filter_btn.toggled.connect(
|
||||||
|
partial(self.activate_if_toggled,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence)
|
||||||
|
)
|
||||||
|
self.activate_up_band_filter_btn.clicked.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.lower_band_confidence.valueChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
self.upper_band_confidence.valueChanged.connect(
|
||||||
|
partial(self.set_band_filter_label,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
self.band_range_lbl)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.apply_remove_band_filter_btn.set_texts("Apply", "Remove")
|
||||||
|
self.apply_remove_band_filter_btn.set_slave_filters(
|
||||||
|
[
|
||||||
|
self.include_undef_bands,
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
],
|
||||||
|
self.activate_low_band_filter_btn,
|
||||||
|
[
|
||||||
|
self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence,
|
||||||
|
],
|
||||||
|
self.activate_up_band_filter_btn,
|
||||||
|
[
|
||||||
|
self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence,
|
||||||
|
],
|
||||||
|
)
|
||||||
|
self.apply_remove_band_filter_btn.clicked.connect(self.display_signals)
|
||||||
|
self.reset_band_filters_btn.clicked.connect(partial(self.reset_fb_filters, 'band'))
|
||||||
|
|
||||||
|
# #######################################################################################
|
||||||
self.reset_filters_btn.clicked.connect(self.reset_all_filters)
|
self.reset_filters_btn.clicked.connect(self.reset_all_filters)
|
||||||
|
|
||||||
UrlColors = namedtuple("UrlColors", ["inactive", "active", "clicked"])
|
UrlColors = namedtuple("UrlColors", ["inactive", "active", "clicked"])
|
||||||
@@ -288,6 +549,7 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
"Possible data curruption.\n"
|
"Possible data curruption.\n"
|
||||||
"Go to Updates->Force Download.")
|
"Go to Updates->Force Download.")
|
||||||
box.show()
|
box.show()
|
||||||
|
self.statusbar.setStyleSheet(f'color: {self.active_color}')
|
||||||
self.statusbar.showMessage("Database version: undefined.")
|
self.statusbar.showMessage("Database version: undefined.")
|
||||||
else:
|
else:
|
||||||
self.update_status_tip(self.total_signals)
|
self.update_status_tip(self.total_signals)
|
||||||
@@ -326,27 +588,36 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
)
|
)
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def set_band_filter_label(self):
|
def set_band_filter_label(self,
|
||||||
|
activate_low_btn,
|
||||||
|
lower_spinbox,
|
||||||
|
lower_unit,
|
||||||
|
lower_confidence,
|
||||||
|
activate_up_btn,
|
||||||
|
upper_spinbox,
|
||||||
|
upper_unit,
|
||||||
|
upper_confidence,
|
||||||
|
range_lbl):
|
||||||
activate_low = False
|
activate_low = False
|
||||||
activate_high = False
|
activate_high = False
|
||||||
color = self.inactive_color
|
color = self.inactive_color
|
||||||
title = ''
|
title = ''
|
||||||
to_display = ''
|
to_display = ''
|
||||||
if self.activate_low_freq_filter_btn.isChecked():
|
if activate_low_btn.isChecked():
|
||||||
to_display += str(self.lower_freq_spinbox.value()) + ' ' + self.lower_freq_filter_unit.currentText()
|
to_display += str(lower_spinbox.value()) + ' ' + lower_unit.currentText()
|
||||||
activate_low = True
|
activate_low = True
|
||||||
color = self.active_color
|
color = self.active_color
|
||||||
if self.lower_freq_confidence.value() != 0:
|
if lower_confidence.value() != 0:
|
||||||
to_display += ' - ' + str(self.lower_freq_confidence.value()) + ' %'
|
to_display += ' - ' + str(lower_confidence.value()) + ' %'
|
||||||
else:
|
else:
|
||||||
to_display += 'DC'
|
to_display += 'DC'
|
||||||
to_display += ' ÷ '
|
to_display += ' ÷ '
|
||||||
if self.activate_up_freq_filter_btn.isChecked():
|
if activate_up_btn.isChecked():
|
||||||
to_display += str(self.upper_freq_spinbox.value()) + ' ' + self.upper_freq_filter_unit.currentText()
|
to_display += str(upper_spinbox.value()) + ' ' + upper_unit.currentText()
|
||||||
activate_high = True
|
activate_high = True
|
||||||
color = self.active_color
|
color = self.active_color
|
||||||
if self.upper_freq_confidence.value() != 0:
|
if upper_confidence.value() != 0:
|
||||||
to_display += ' + ' + str(self.upper_freq_confidence.value()) + ' %'
|
to_display += ' + ' + str(upper_confidence.value()) + ' %'
|
||||||
else:
|
else:
|
||||||
to_display += 'INF'
|
to_display += 'INF'
|
||||||
if activate_low and activate_high:
|
if activate_low and activate_high:
|
||||||
@@ -359,8 +630,8 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
title = "Frequency range:\n\n"
|
title = "Frequency range:\n\n"
|
||||||
to_display = "Inactive"
|
to_display = "Inactive"
|
||||||
to_display = title + to_display
|
to_display = title + to_display
|
||||||
self.freq_range_lbl.setText(to_display)
|
range_lbl.setText(to_display)
|
||||||
self.freq_range_lbl.setStyleSheet(f'color: {color};')
|
range_lbl.setStyleSheet(f'color: {color};')
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def activate_if_toggled(self, radio_btn, *widgets):
|
def activate_if_toggled(self, radio_btn, *widgets):
|
||||||
@@ -374,36 +645,50 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
text = self.search_bar.text()
|
text = self.search_bar.text()
|
||||||
available_signals = 0
|
available_signals = 0
|
||||||
for signal in self.signal_names:
|
for signal in self.signal_names:
|
||||||
if text.lower() in signal.lower() and self.frequency_filters_ok(signal):
|
if text.lower() in signal.lower() and self.frequency_filters_ok(signal) and self.band_filters_ok(signal):
|
||||||
self.result_list.addItem(signal)
|
self.result_list.addItem(signal)
|
||||||
available_signals += 1
|
available_signals += 1
|
||||||
self.update_status_tip(available_signals)
|
self.update_status_tip(available_signals)
|
||||||
|
|
||||||
def update_status_tip(self, available_signals):
|
def update_status_tip(self, available_signals):
|
||||||
|
if available_signals < self.total_signals:
|
||||||
|
self.statusbar.setStyleSheet(f'color: {self.active_color}')
|
||||||
|
else:
|
||||||
|
self.statusbar.setStyleSheet('color: #ffffff')
|
||||||
self.statusbar.showMessage(f"{available_signals} out of {self.total_signals} signals displayed.")
|
self.statusbar.showMessage(f"{available_signals} out of {self.total_signals} signals displayed.")
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def reset_frequency_filters(self):
|
def reset_fb_filters(self, ftype):
|
||||||
if self.apply_remove_freq_filter_btn.isChecked():
|
if ftype != 'freq' and ftype != 'band':
|
||||||
self.apply_remove_freq_filter_btn.setChecked(False)
|
raise ValueError("Wrong ftype in function 'reset_fb_filters'")
|
||||||
self.apply_remove_freq_filter_btn.clicked.emit()
|
apply_remove_btn = getattr(self, 'apply_remove_' + ftype + '_filter_btn')
|
||||||
for f in self.frequency_filters_btns:
|
include_undef_btn = getattr(self, 'include_undef_' + ftype + 's')
|
||||||
if f.isChecked():
|
activate_low = getattr(self, 'activate_low_' + ftype + '_filter_btn')
|
||||||
f.setChecked(False)
|
activate_up = getattr(self, 'activate_up_' + ftype + '_filter_btn')
|
||||||
if self.include_undef_freqs.isChecked():
|
lower_unit = getattr(self, 'lower_' + ftype + '_filter_unit')
|
||||||
self.include_undef_freqs.setChecked(False)
|
upper_unit = getattr(self, 'upper_' + ftype + '_filter_unit')
|
||||||
if self.activate_low_freq_filter_btn.isChecked():
|
lower_spinbox = getattr(self, 'lower_' + ftype + '_spinbox')
|
||||||
self.activate_low_freq_filter_btn.setChecked(False)
|
upper_spinbox = getattr(self, 'upper_' + ftype + '_spinbox')
|
||||||
self.activate_low_freq_filter_btn.clicked.emit()
|
lower_confidence = getattr(self, 'lower_' + ftype + '_confidence')
|
||||||
if self.activate_up_freq_filter_btn.isChecked():
|
upper_confidence = getattr(self, 'lower_' + ftype + '_confidence')
|
||||||
self.activate_up_freq_filter_btn.setChecked(False)
|
default_val = 1 if ftype == 'freq' else 5000
|
||||||
self.activate_up_freq_filter_btn.clicked.emit()
|
if apply_remove_btn.isChecked():
|
||||||
self.lower_freq_spinbox.setValue(0)
|
apply_remove_btn.setChecked(False)
|
||||||
self.upper_freq_spinbox.setValue(0)
|
apply_remove_btn.clicked.emit()
|
||||||
self.lower_freq_filter_unit.setCurrentText("MHz")
|
if include_undef_btn.isChecked():
|
||||||
self.upper_freq_filter_unit.setCurrentText("MHz")
|
include_undef_btn.setChecked(False)
|
||||||
self.lower_freq_confidence.setValue(0)
|
if activate_low.isChecked():
|
||||||
self.upper_freq_confidence.setValue(0)
|
activate_low.setChecked(False)
|
||||||
|
activate_low.clicked.emit()
|
||||||
|
if activate_up.isChecked():
|
||||||
|
activate_up.setChecked(False)
|
||||||
|
activate_up.clicked.emit()
|
||||||
|
lower_unit.setCurrentText("MHz")
|
||||||
|
upper_unit.setCurrentText("MHz")
|
||||||
|
upper_spinbox.setValue(default_val)
|
||||||
|
upper_spinbox.setValue(default_val)
|
||||||
|
lower_confidence.setValue(0)
|
||||||
|
upper_confidence.setValue(0)
|
||||||
|
|
||||||
def frequency_filters_ok(self, signal_name):
|
def frequency_filters_ok(self, signal_name):
|
||||||
if not self.apply_remove_freq_filter_btn.isChecked():
|
if not self.apply_remove_freq_filter_btn.isChecked():
|
||||||
@@ -428,26 +713,52 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
lower_limit_ok = True
|
lower_limit_ok = True
|
||||||
upper_limit_ok = True
|
upper_limit_ok = True
|
||||||
if self.activate_low_freq_filter_btn.isChecked():
|
if self.activate_low_freq_filter_btn.isChecked():
|
||||||
lower_freq_filter = self.lower_freq_spinbox.value()
|
if not signal_freqs[1] >= self.filters_ok(self.lower_freq_spinbox,
|
||||||
lower_units = self.lower_freq_filter_unit.currentText()
|
self.lower_freq_filter_unit,
|
||||||
lower_freq_filter *= self.conversion_factors[lower_units]
|
self.lower_freq_confidence, -1):
|
||||||
lower_tol = self.lower_freq_confidence.value()
|
|
||||||
lower_limit = lower_freq_filter - (lower_tol * lower_freq_filter) // 100
|
|
||||||
if not signal_freqs[1] >= lower_limit:
|
|
||||||
lower_limit_ok = False
|
lower_limit_ok = False
|
||||||
if self.activate_up_freq_filter_btn.isChecked():
|
if self.activate_up_freq_filter_btn.isChecked():
|
||||||
upper_freq_filter = self.upper_freq_spinbox.value()
|
if not signal_freqs[0] < self.filters_ok(self.upper_freq_spinbox,
|
||||||
upper_units = self.upper_freq_filter_unit.currentText()
|
self.upper_freq_filter_unit,
|
||||||
upper_freq_filter *= self.conversion_factors[upper_units]
|
self.upper_freq_confidence):
|
||||||
upper_tol = self.upper_freq_confidence.value()
|
|
||||||
upper_limit = upper_freq_filter + (upper_tol * upper_freq_filter) // 100
|
|
||||||
if not signal_freqs[0] < upper_limit:
|
|
||||||
upper_limit_ok = False
|
upper_limit_ok = False
|
||||||
if any_checked:
|
if any_checked:
|
||||||
return band_filter_ok and lower_limit_ok and upper_limit_ok
|
return band_filter_ok and lower_limit_ok and upper_limit_ok
|
||||||
else:
|
else:
|
||||||
return lower_limit_ok and upper_limit_ok
|
return lower_limit_ok and upper_limit_ok
|
||||||
|
|
||||||
|
def band_filters_ok(self, signal_name):
|
||||||
|
if not self.apply_remove_band_filter_btn.isChecked():
|
||||||
|
return True
|
||||||
|
_, undef_band = self.find_if_undefined(self.db.loc[signal_name])
|
||||||
|
if undef_band:
|
||||||
|
if self.include_undef_bands.isChecked():
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
signal_bands = (int(self.db.at[signal_name, "inf_band"]),
|
||||||
|
int(self.db.at[signal_name, "sup_band"]))
|
||||||
|
|
||||||
|
lower_limit_ok = True
|
||||||
|
upper_limit_ok = True
|
||||||
|
if self.activate_low_band_filter_btn.isChecked():
|
||||||
|
if not signal_bands[1] >= self.filters_ok(self.lower_band_spinbox,
|
||||||
|
self.lower_band_filter_unit,
|
||||||
|
self.lower_band_confidence, -1):
|
||||||
|
lower_limit_ok = False
|
||||||
|
if self.activate_up_band_filter_btn.isChecked():
|
||||||
|
if not signal_bands[0] < self.filters_ok(self.upper_band_spinbox,
|
||||||
|
self.upper_band_filter_unit,
|
||||||
|
self.upper_band_confidence):
|
||||||
|
upper_limit_ok = False
|
||||||
|
return lower_limit_ok and upper_limit_ok
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def filters_ok(cls, spinbox, filter_unit, confidence, sign = 1):
|
||||||
|
band_filter = spinbox.value() * cls.conversion_factors[filter_unit.currentText()]
|
||||||
|
return band_filter + sign * (confidence.value() * band_filter) // 100
|
||||||
|
|
||||||
@pyqtSlot(QListWidgetItem, QListWidgetItem)
|
@pyqtSlot(QListWidgetItem, QListWidgetItem)
|
||||||
def display_specs(self, item, previous_item):
|
def display_specs(self, item, previous_item):
|
||||||
self.display_spectrogram()
|
self.display_spectrogram()
|
||||||
@@ -591,6 +902,7 @@ class MyApp(QMainWindow, Ui_MainWindow):
|
|||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def reset_all_filters(self):
|
def reset_all_filters(self):
|
||||||
self.reset_frequency_filters_btn.clicked.emit()
|
self.reset_frequency_filters_btn.clicked.emit()
|
||||||
|
self.reset_band_filters_btn.clicked.emit()
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def go_to_web_page_signal(self):
|
def go_to_web_page_signal(self):
|
||||||
|
|||||||
520
main_window.ui
520
main_window.ui
@@ -323,7 +323,7 @@ QPushButton:!enabled {
|
|||||||
<enum>QTabWidget::Rounded</enum>
|
<enum>QTabWidget::Rounded</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>1</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="movable">
|
<property name="movable">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@@ -2747,6 +2747,524 @@ Inactive</string>
|
|||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Bandwidth</string>
|
<string>Bandwidth</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_6" stretch="0,0,0,0">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="include_undef_bands">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Include undefined bandwidths</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" name="widget_9" native="true">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_25">
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" name="band_filter_container" native="true">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="MinimumExpanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QWidget#band_filter_container {
|
||||||
|
border: 1px solid gray;
|
||||||
|
background-color: rgb(52,52,52);
|
||||||
|
border-radius: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
QRadioButton, QLabel {
|
||||||
|
background-color: rgb(52,52,52);
|
||||||
|
}</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_7">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QRadioButton" name="activate_low_band_filter_btn">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Lower band</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoExclusive">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="lower_band_spinbox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100000000</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>5000</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QComboBox" name="lower_band_filter_unit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>60</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string>MHz</string>
|
||||||
|
</property>
|
||||||
|
<property name="maxCount">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
<property name="duplicatesEnabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="modelColumn">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>MHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>kHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>GHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QLabel" name="label_14">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string> Confidence %</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="4">
|
||||||
|
<widget class="QSpinBox" name="lower_band_confidence">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>60</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
|
<property name="frame">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buttonSymbols">
|
||||||
|
<enum>QAbstractSpinBox::UpDownArrows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="specialValueText">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QRadioButton" name="activate_up_band_filter_btn">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Upper band</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoExclusive">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QSpinBox" name="upper_band_spinbox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100000000</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>5000</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QComboBox" name="upper_band_filter_unit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>60</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
|
<property name="currentText">
|
||||||
|
<string>MHz</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>MHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>kHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>GHz</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3">
|
||||||
|
<widget class="QLabel" name="label_15">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string> Confidence %</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="4">
|
||||||
|
<widget class="QSpinBox" name="upper_band_confidence">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>60</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>50</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">background-color: #464646;</string>
|
||||||
|
</property>
|
||||||
|
<property name="frame">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="buttonSymbols">
|
||||||
|
<enum>QAbstractSpinBox::UpDownArrows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="specialValueText">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0" colspan="5">
|
||||||
|
<widget class="QLabel" name="band_range_lbl">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<italic>false</italic>
|
||||||
|
<bold>true</bold>
|
||||||
|
<underline>false</underline>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">color: #9f9f9f;</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Band range:
|
||||||
|
|
||||||
|
Inactive</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="DoubleTextButton" name="apply_remove_band_filter_btn">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Applay</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="reset_band_filters_btn">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Reset</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab_5">
|
<widget class="QWidget" name="tab_5">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
|||||||
Reference in New Issue
Block a user