Exemplo n.º 1
0
class Ui_SendRecvDialog(object):
    def setupUi(self, SendRecvDialog):
        SendRecvDialog.setObjectName("SendRecvDialog")
        # SendRecvDialog.setWindowModality(QtCore.Qt.NonModal)
        SendRecvDialog.resize(1081, 596)

        SendRecvDialog.setMouseTracking(False)
        self.verticalLayout = QtWidgets.QVBoxLayout(SendRecvDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter = QtWidgets.QSplitter(SendRecvDialog)
        self.splitter.setStyleSheet(
            "QSplitter::handle:horizontal {\n"
            "margin: 4px 0px;\n"
            "    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n"
            "stop:0 rgba(255, 255, 255, 0), \n"
            "stop:0.5 rgba(100, 100, 100, 100), \n"
            "stop:1 rgba(255, 255, 255, 0));\n"
            "image: url(:/icons/icons/splitter_handle_vertical.svg);\n"
            "}")
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        # self.splitter.setStretchFactor(1,1)
        self.splitter.setObjectName("splitter")

        self.scrollArea = QtWidgets.QScrollArea(self.splitter)
        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(
            QtCore.QRect(0, 0, 621, 101))
        self.scrollAreaWidgetContents_2.setObjectName(
            "scrollAreaWidgetContents_2")
        self.verticalLayout_8 = QtWidgets.QVBoxLayout(
            self.scrollAreaWidgetContents_2)
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.groupBox = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_2)
        self.groupBox.setStyleSheet("QGroupBox\n" "{\n" " border: none;\n" "}")
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.progressBarMessage = QtWidgets.QProgressBar(self.groupBox)
        self.progressBarMessage.setProperty("value", 0)
        self.progressBarMessage.setObjectName("progressBarMessage")
        self.gridLayout_2.addWidget(self.progressBarMessage, 19, 0, 1, 1)
        self.labelCurrentMessage = QtWidgets.QLabel(self.groupBox)
        self.labelCurrentMessage.setObjectName("labelCurrentMessage")
        self.gridLayout_2.addWidget(self.labelCurrentMessage, 18, 0, 1, 1)
        self.lReceiveBufferFullText = QtWidgets.QLabel(self.groupBox)
        self.lReceiveBufferFullText.setObjectName("lReceiveBufferFullText")
        self.gridLayout_2.addWidget(self.lReceiveBufferFullText, 7, 0, 1, 1)
        self.lReceiveBufferFullText.hide()

        self.progressBarSample = QtWidgets.QProgressBar(self.groupBox)
        self.progressBarSample.setProperty("value", 0)
        self.progressBarSample.setObjectName("progressBarSample")
        self.gridLayout_2.addWidget(self.progressBarSample, 21, 0, 1, 1)
        self.lSamplesSentText = QtWidgets.QLabel(self.groupBox)
        self.lSamplesSentText.setObjectName("lSamplesSentText")
        self.gridLayout_2.addWidget(self.lSamplesSentText, 20, 0, 1, 1)
        self.lTimeText = QtWidgets.QLabel(self.groupBox)
        self.lTimeText.setObjectName("lTimeText")
        self.gridLayout_2.addWidget(self.lTimeText, 12, 0, 1, 1)
        self.lSamplesCapturedText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSamplesCapturedText.sizePolicy().hasHeightForWidth())
        self.lSamplesCapturedText.setSizePolicy(sizePolicy)
        self.lSamplesCapturedText.setObjectName("lSamplesCapturedText")
        self.gridLayout_2.addWidget(self.lSamplesCapturedText, 5, 0, 1, 1)
        self.lSignalSizeText = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSizeText.setFont(font)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSignalSizeText.sizePolicy().hasHeightForWidth())
        self.lSignalSizeText.setSizePolicy(sizePolicy)
        self.lSignalSizeText.setObjectName("lSignalSizeText")
        self.gridLayout_2.addWidget(self.lSignalSizeText, 9, 0, 1, 1)
        self.lSamplesCaptured = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSamplesCaptured.sizePolicy().hasHeightForWidth())
        self.lSamplesCaptured.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(100)
        self.lSamplesCaptured.setFont(font)
        self.lSamplesCaptured.setAlignment(QtCore.Qt.AlignCenter)
        self.lSamplesCaptured.setObjectName("lSamplesCaptured")
        self.gridLayout_2.addWidget(self.lSamplesCaptured, 6, 0, 1, 2)
        self.lTime = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(100)
        self.lTime.setFont(font)
        self.lTime.setAlignment(QtCore.Qt.AlignCenter)
        self.lTime.setObjectName("lTime")
        self.gridLayout_2.addWidget(self.lTime, 15, 0, 1, 2)
        self.lSignalSize = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSignalSize.sizePolicy().hasHeightForWidth())
        self.lSignalSize.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSize.setFont(font)
        self.lSignalSize.setAlignment(QtCore.Qt.AlignCenter)
        self.lSignalSize.setObjectName("lSignalSize")
        self.gridLayout_2.addWidget(self.lSignalSize, 11, 0, 1, 2)
        self.lblRepeatText = QtWidgets.QLabel(self.groupBox)
        self.lblRepeatText.setObjectName("lblRepeatText")
        self.gridLayout_2.addWidget(self.lblRepeatText, 16, 0, 1, 1)
        self.lblCurrentRepeatValue = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lblCurrentRepeatValue.setFont(font)
        self.lblCurrentRepeatValue.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCurrentRepeatValue.setObjectName("lblCurrentRepeatValue")
        self.gridLayout_2.addWidget(self.lblCurrentRepeatValue, 17, 0, 1, 1)
        self.labelReceiveBufferFull = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.labelReceiveBufferFull.sizePolicy().hasHeightForWidth())
        self.labelReceiveBufferFull.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.labelReceiveBufferFull.setFont(font)
        self.labelReceiveBufferFull.setAlignment(QtCore.Qt.AlignCenter)
        self.labelReceiveBufferFull.setObjectName("labelReceiveBufferFull")
        self.gridLayout_2.addWidget(self.labelReceiveBufferFull, 8, 0, 1, 1)
        self.labelReceiveBufferFull.hide()

        self.horizontalLayout = QtWidgets.QHBoxLayout()

        self.horizontalLayout.setObjectName("horizontalLayout")
        # spacerItem = QtWidgets.QSpacerItem(0, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        # self.horizontalLayout.addItem(spacerItem)
        self.btnStart = QtWidgets.QToolButton()
        self.btnStart.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon.fromTheme("media-record")
        self.btnStart.setIcon(icon)
        self.btnStart.setIconSize(QtCore.QSize(25, 25))
        # self.btnStart.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnStart.setObjectName("btnStart")

        self.horizontalLayout.addWidget(self.btnStart)

        self.btnSave = QtWidgets.QToolButton(self.groupBox)
        self.btnSave.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setIconSize(QtCore.QSize(32, 32))
        self.btnSave.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)

        self.btnStop = QtWidgets.QToolButton(self.groupBox)
        self.btnStop.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon.fromTheme("media-playback-stop")
        self.btnStop.setIcon(icon)
        self.btnStop.setIconSize(QtCore.QSize(25, 25))
        # self.btnStop.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnStop.setObjectName("btnStop")
        self.horizontalLayout.addWidget(self.btnStop)
        self.btnClear = QtWidgets.QToolButton(self.groupBox)
        self.btnClear.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon.fromTheme("view-refresh")
        self.btnClear.setIcon(icon)
        self.btnClear.setIconSize(QtCore.QSize(25, 25))
        # self.btnClear.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnClear.setObjectName("btnClear")
        self.horizontalLayout.addWidget(self.btnClear)
        # ----------------------SAVE FILE   not setting -----------------
        self.btnSetting = QtWidgets.QToolButton(self.groupBox)
        self.btnSetting.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSetting.setIcon(icon)
        self.btnSetting.setIconSize(QtCore.QSize(25, 25))
        self.btnSetting.setCheckable(True)
        # self.btnSetting.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnSetting.setObjectName("btnSetting")
        self.horizontalLayout.addWidget(self.btnSetting)

        self.btnConf = QtWidgets.QToolButton(self.groupBox)
        self.btnConf.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon.fromTheme("emblem-system")
        self.btnConf.setIcon(icon)
        self.btnConf.setIconSize(QtCore.QSize(25, 25))
        self.btnConf.setObjectName("btnConf")
        self.horizontalLayout.addWidget(self.btnConf)

        self.btnRecordIQ = QtWidgets.QPushButton(self.groupBox)
        self.btnRecordIQ.setMaximumSize(QtCore.QSize(100, 35))
        self.btnRecordIQ.setChecked(False)
        # icon = QtGui.QIcon.fromTheme("system-shutdown")
        # self.btnRecordIQ.setIcon(icon)
        # self.btnRecordIQ.setIconSize(QtCore.QSize(40, 50))]
        font = QtGui.QFont()
        font.setBold(False)
        font.setPixelSize(14)
        # font.set
        self.btnRecordIQ.setFont(font)
        self.btnRecordIQ.setObjectName("btnRecordIQ")
        self.btnRecordIQ.setText("Реєстрація\n IQ відліків")
        self.horizontalLayout.addWidget(self.btnRecordIQ)

        # self.spin_time_iq_record = QtWidgets.QSpinBox(self.groupBox)
        # self.spin_time_iq_record.setObjectName("spin_time_iq_record")
        # self.spin_time_iq_record.setMinimum(1)
        # self.spin_time_iq_record.setMaximum(15)
        # self.spin_time_iq_record.setValue(2)
        # self.spin_time_iq_record.setSingleStep(1)
        # self.spin_time_iq_record.setMaximumSize(QtCore.QSize(70, 35))
        #
        # self.horizontalLayout.addWidget(self.spin_time_iq_record)

        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)

        self.lcdNumber = QtWidgets.QLCDNumber(self.groupBox)
        self.lcdNumber.setMinimumSize(QtCore.QSize(160, 25))
        self.lcdNumber.setSmallDecimalPoint(True)
        self.lcdNumber.setDigitCount(10)

        self.lcdNumber.setMode(QtWidgets.QLCDNumber.Dec)
        self.lcdNumber.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
        self.lcdNumber.setProperty("intValue", 0)
        self.lcdNumber.setObjectName("lcdNumber")
        self.horizontalLayout.addWidget(self.lcdNumber)

        self.horizontalLayout.addItem(spacerItem)
        self.horizontalLayout.addItem(spacerItem)
        #-------------------------------------------------------------------------------

        self.btnNuke1 = QtWidgets.QToolButton(self.groupBox)
        self.btnNuke1.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon(QDir.currentPath() + config.MY_PATH + '/nuke1.png')
        self.btnNuke1.setIcon(icon)
        # self.btnNuke1.setEnabled(False)

        self.btnNuke1.setIconSize(QtCore.QSize(25, 25))
        self.btnNuke1.setCheckable(True)
        self.btnNuke1.setObjectName("btnNuke1")
        self.btnNuke1.setStyleSheet("background-color: red")
        self.horizontalLayout.addWidget(self.btnNuke1)

        self.btnNuke2 = QtWidgets.QToolButton(self.groupBox)
        self.btnNuke2.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon(QDir.currentPath() + config.MY_PATH + '/nuke2.png')
        self.btnNuke2.setIcon(icon)
        self.btnNuke2.setIconSize(QtCore.QSize(25, 25))

        self.btnNuke2.setCheckable(True)
        self.btnNuke2.setObjectName("btnNuke2")
        # self.btnNuke2.setEnabled(False)

        self.btnNuke2.setStyleSheet("background-color: red")
        self.horizontalLayout.addWidget(self.btnNuke2)

        #-------------------------------------------------------------------------------
        self.btnMon = QtWidgets.QToolButton(self.groupBox)
        self.btnMon.setMinimumSize(QtCore.QSize(25, 25))
        icon = QtGui.QIcon(QDir.currentPath() + config.MY_PATH +
                           '/bar-chart.png')
        self.btnMon.setIcon(icon)
        self.btnMon.setIconSize(QtCore.QSize(25, 25))
        self.btnMon.setObjectName("btnMon")
        self.horizontalLayout.addWidget(self.btnMon)

        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
        spacerItem2 = QtWidgets.QSpacerItem(20, 10,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Fixed)
        self.gridLayout_2.addItem(spacerItem2, 2, 0, 1, 1)
        self.verticalLayout_8.addWidget(self.groupBox)
        self.txtEditErrors = QtWidgets.QTextEdit(
            self.scrollAreaWidgetContents_2)
        self.txtEditErrors.setReadOnly(True)
        self.txtEditErrors.setObjectName("txtEditErrors")
        self.verticalLayout_8.addWidget(self.txtEditErrors)
        self.txtEditErrors.hide()

        self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget)
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_receive = QtWidgets.QWidget()
        self.page_receive.setObjectName("page_receive")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_receive)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.graphicsViewReceive = LiveGraphicView(self.page_receive)
        self.graphicsViewReceive.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewReceive.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewReceive.setObjectName("graphicsViewReceive")
        self.verticalLayout_2.addWidget(self.graphicsViewReceive)
        self.stackedWidget.addWidget(self.page_receive)
        self.page_send = QtWidgets.QWidget()
        self.page_send.setObjectName("page_send")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_send)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.graphicsViewSend = EditableGraphicView(self.page_send)
        self.graphicsViewSend.setMouseTracking(True)
        self.graphicsViewSend.setRenderHints(QtGui.QPainter.Antialiasing
                                             | QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSend.setTransformationAnchor(
            QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setObjectName("graphicsViewSend")
        self.verticalLayout_3.addWidget(self.graphicsViewSend)
        self.label_7 = QtWidgets.QLabel(self.page_send)
        font = QtGui.QFont()
        font.setItalic(True)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.stackedWidget.addWidget(self.page_send)
        self.page_continuous_send = QtWidgets.QWidget()
        self.page_continuous_send.setObjectName("page_continuous_send")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(
            self.page_continuous_send)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.graphicsViewContinuousSend = LiveGraphicView(
            self.page_continuous_send)
        self.graphicsViewContinuousSend.setRenderHints(
            QtGui.QPainter.Antialiasing | QtGui.QPainter.TextAntialiasing)
        self.graphicsViewContinuousSend.setObjectName(
            "graphicsViewContinuousSend")
        self.verticalLayout_6.addWidget(self.graphicsViewContinuousSend)
        self.stackedWidget.addWidget(self.page_continuous_send)
        self.page_spectrum = QtWidgets.QWidget()
        self.page_spectrum.setObjectName("page_spectrum")
        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.page_spectrum)
        self.verticalLayout_7.setObjectName("verticalLayout_7")
        self.graphicsViewFFT = LiveGraphicView(self.page_spectrum)
        self.graphicsViewFFT.setObjectName("graphicsViewFFT")
        self.verticalLayout_7.addWidget(self.graphicsViewFFT)
        self.graphicsViewSpectrogram = QtWidgets.QGraphicsView(
            self.page_spectrum)
        self.graphicsViewSpectrogram.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewSpectrogram.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewSpectrogram.setRenderHints(
            QtGui.QPainter.SmoothPixmapTransform
            | QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSpectrogram.setCacheMode(
            QtWidgets.QGraphicsView.CacheNone)
        self.graphicsViewSpectrogram.setViewportUpdateMode(
            QtWidgets.QGraphicsView.MinimalViewportUpdate)
        self.graphicsViewSpectrogram.setObjectName("graphicsViewSpectrogram")
        self.verticalLayout_7.addWidget(self.graphicsViewSpectrogram)
        self.verticalLayout_7.setStretch(0, 1)
        self.verticalLayout_7.setStretch(1, 1)
        self.stackedWidget.addWidget(self.page_spectrum)
        self.page_sniff = QtWidgets.QWidget()
        self.page_sniff.setObjectName("page_sniff")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page_sniff)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.graphicsView_sniff_Preview = LiveGraphicView(self.page_sniff)
        self.graphicsView_sniff_Preview.setObjectName(
            "graphicsView_sniff_Preview")
        self.verticalLayout_4.addWidget(self.graphicsView_sniff_Preview)
        self.txtEd_sniff_Preview = QtWidgets.QPlainTextEdit(self.page_sniff)
        self.txtEd_sniff_Preview.setLineWrapMode(
            QtWidgets.QPlainTextEdit.NoWrap)
        self.txtEd_sniff_Preview.setReadOnly(True)
        self.txtEd_sniff_Preview.setMaximumBlockCount(100)
        self.txtEd_sniff_Preview.setObjectName("txtEd_sniff_Preview")
        self.verticalLayout_4.addWidget(self.txtEd_sniff_Preview)
        self.btnAccept = QtWidgets.QPushButton(self.page_sniff)
        self.btnAccept.setAutoDefault(False)
        self.btnAccept.setObjectName("btnAccept")
        self.verticalLayout_4.addWidget(self.btnAccept)
        self.stackedWidget.addWidget(self.page_sniff)
        self.horizontalLayout_2.addWidget(self.stackedWidget)
        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        #----------------------------------
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        #----------------------------------

        self.label_y_scale = QtWidgets.QLabel(self.layoutWidget)
        self.label_y_scale.setObjectName("label_y_scale")
        pixmap = QPixmap(QDir.currentPath() + config.MY_PATH + "/1.png")
        self.label_y_scale.setPixmap(pixmap)
        self.gridLayout.addWidget(self.label_y_scale, 0, 0, 1, 1)
        #-------------

        #+============
        #----------------------------------
        # self.sliderYscale = QtWidgets.QSlider()
        # ----------------------------------
        self.sliderYscale = QtWidgets.QSlider()
        self.sliderYscale.setMinimum(1)
        self.sliderYscale.setMaximum(1000)
        self.sliderYscale.setProperty("value", 1)
        self.sliderYscale.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale.setTickInterval(1)
        self.sliderYscale.setObjectName("sliderYscale")
        # self.verticalLayout_5.addWidget(self.sliderYscale)
        #----

        # self.label_y_scale1 = QtWidgets.QLabel(self.layoutWidget)
        # # self.label_y_scale1 = MyLabel('Підсилення')
        # # self.layoutWidget.layout().addWidget(self.label_y_scale1)
        #
        # self.label_y_scale1.setObjectName("label_y_scale1")
        # self.verticalLayout_5.addWidget(self.label_y_scale1)

        self.sliderYscale1 = QtWidgets.QSlider(self.layoutWidget)
        self.sliderYscale1.setMinimum(0)
        self.sliderYscale1.setMaximum(60)
        self.sliderYscale1.setProperty("value", 15)
        self.sliderYscale1.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale1.setTickInterval(1)
        self.sliderYscale1.setObjectName("sliderYscale1")
        self.verticalLayout_5.addWidget(self.sliderYscale1)

        self.label_y_scale2 = QtWidgets.QLabel(self.layoutWidget)
        pixmap = QPixmap(QDir.currentPath() + config.MY_PATH + "/2.png")
        self.label_y_scale2.setPixmap(pixmap)
        self.label_y_scale2.setObjectName("label_y_scale2")
        self.gridLayout.addWidget(self.label_y_scale2, 1, 0, 1, 1)

        self.sliderYscale2 = QtWidgets.QSlider(self.layoutWidget)
        self.sliderYscale2.setMinimum(1)
        self.sliderYscale2.setMaximum(3)
        self.sliderYscale2.setProperty("value", 2)
        self.sliderYscale2.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale2.setTickInterval(1)
        self.sliderYscale2.setObjectName("sliderYscale2")
        self.verticalLayout_5.addWidget(self.sliderYscale2)
        #------------
        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
        self.horizontalLayout_2.addLayout(self.gridLayout)
        self.verticalLayout.addWidget(self.splitter)

        self.retranslateUi(SendRecvDialog)
        self.stackedWidget.setCurrentIndex(4)
        SendRecvDialog.setTabOrder(self.btnStart, self.btnStop)
        SendRecvDialog.setTabOrder(self.btnStop, self.btnSave)
        SendRecvDialog.setTabOrder(self.btnSave, self.btnClear)
        SendRecvDialog.setTabOrder(self.btnClear, self.txtEd_sniff_Preview)
        SendRecvDialog.setTabOrder(self.txtEd_sniff_Preview, self.sliderYscale)
        SendRecvDialog.setTabOrder(self.sliderYscale, self.txtEditErrors)
        SendRecvDialog.setTabOrder(self.txtEditErrors, self.graphicsViewSend)
        SendRecvDialog.setTabOrder(self.graphicsViewSend,
                                   self.graphicsViewReceive)
        SendRecvDialog.setTabOrder(self.graphicsViewReceive, self.btnAccept)

    def retranslateUi(self, SendRecvDialog):
        _translate = QtCore.QCoreApplication.translate
        SendRecvDialog.setWindowTitle(
            _translate("SendRecvDialog", "Record Signal"))
        self.progressBarMessage.setFormat(_translate("SendRecvDialog",
                                                     "%v/%m"))
        self.labelCurrentMessage.setText(
            _translate("SendRecvDialog", "Current message:"))
        self.lReceiveBufferFullText.setText(
            _translate("SendRecvDialog", "Receive buffer full:"))
        self.progressBarSample.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.lSamplesSentText.setText(
            _translate("SendRecvDialog", "Current sample:"))
        self.lTimeText.setText(
            _translate("SendRecvDialog", "Час поточного запису:"))
        self.lSamplesCapturedText.setText(
            _translate("SendRecvDialog", "Поточна кількість семплів:"))
        self.lSignalSizeText.setText(
            _translate("SendRecvDialog", "Розмір поточного сигналу:"))
        self.lSamplesCaptured.setText(_translate("SendRecvDialog", "0"))
        self.lTime.setText(_translate("SendRecvDialog", "0"))
        self.lSignalSize.setText(_translate("SendRecvDialog", "0"))
        self.lblRepeatText.setText(
            _translate("SendRecvDialog", "Current iteration:"))
        self.lblCurrentRepeatValue.setText(_translate("SendRecvDialog", "0"))
        self.labelReceiveBufferFull.setText(_translate("SendRecvDialog", "0%"))
        self.btnStart.setToolTip(_translate("SendRecvDialog",
                                            "Початок запису"))
        self.btnStart.setText(_translate("SendRecvDialog", "Старт"))
        self.btnStop.setToolTip(_translate("SendRecvDialog", "Кінець запису"))
        self.btnStop.setText(_translate("SendRecvDialog", "Зупинити"))
        self.btnSave.setText(_translate("SendRecvDialog", "Save..."))
        self.btnClear.setToolTip(_translate("SendRecvDialog", "Очистити"))
        # self.btnClear.setText(_translate("SendRecvDialog", "Clear"))
        self.label_7.setText(
            _translate("SendRecvDialog",
                       "Hint: You can edit the raw signal before sending."))
        self.btnAccept.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>Accept the sniffed data and load it into <span style=\" font-weight:600;\">Analysis</span> tab.</p></body></html>"
            ))
        self.btnAccept.setText(
            _translate("SendRecvDialog", "Accept data (Open in Analysis)"))
        #----
        self.label_y_scale.setText(_translate("SendRecvDialog", ""))

        # self.label_y_scale1.setText(_translate("SendRecvDialog", "Підсилення"))

        self.label_y_scale2.setText(_translate("SendRecvDialog", ""))

        self.btnSetting.setToolTip(_translate("SendRecvDialog", "Збереження"))
        self.btnConf.setToolTip(_translate("SendRecvDialog", "Налаштування"))
Exemplo n.º 2
0
class Ui_SendRecvDialog(object):
    def setupUi(self, SendRecvDialog):
        SendRecvDialog.setObjectName("SendRecvDialog")
        SendRecvDialog.setWindowModality(QtCore.Qt.NonModal)
        SendRecvDialog.resize(921, 716)
        SendRecvDialog.setMouseTracking(False)
        self.verticalLayout = QtWidgets.QVBoxLayout(SendRecvDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter = QtWidgets.QSplitter(SendRecvDialog)
        self.splitter.setStyleSheet(
            "QSplitter::handle:horizontal {\n"
            "margin: 4px 0px;\n"
            "    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n"
            "stop:0 rgba(255, 255, 255, 0), \n"
            "stop:0.5 rgba(100, 100, 100, 100), \n"
            "stop:1 rgba(255, 255, 255, 0));\n"
            "image: url(:/icons/data/icons/rotated_splitter_handle.png);\n"
            "}")
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.scrollArea = QtWidgets.QScrollArea(self.splitter)
        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(
            QtCore.QRect(0, 0, 433, 1238))
        self.scrollAreaWidgetContents_2.setObjectName(
            "scrollAreaWidgetContents_2")
        self.gridLayout = QtWidgets.QGridLayout(
            self.scrollAreaWidgetContents_2)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setObjectName("gridLayout")
        self.label_3 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
        self.labelDeviceArgs = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.labelDeviceArgs.setToolTipDuration(-1)
        self.labelDeviceArgs.setStyleSheet("")
        self.labelDeviceArgs.setObjectName("labelDeviceArgs")
        self.gridLayout.addWidget(self.labelDeviceArgs, 1, 0, 1, 1)
        self.lineEditDeviceArgs = QtWidgets.QLineEdit(
            self.scrollAreaWidgetContents_2)
        self.lineEditDeviceArgs.setObjectName("lineEditDeviceArgs")
        self.gridLayout.addWidget(self.lineEditDeviceArgs, 1, 1, 1, 2)
        self.labelChannel = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelChannel.setObjectName("labelChannel")
        self.gridLayout.addWidget(self.labelChannel, 2, 0, 1, 1)
        self.labelAntenna = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelAntenna.setObjectName("labelAntenna")
        self.gridLayout.addWidget(self.labelAntenna, 3, 0, 1, 1)
        self.labelIP = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelIP.setObjectName("labelIP")
        self.gridLayout.addWidget(self.labelIP, 4, 0, 1, 1)
        self.lineEditIP = QtWidgets.QLineEdit(self.scrollAreaWidgetContents_2)
        self.lineEditIP.setObjectName("lineEditIP")
        self.gridLayout.addWidget(self.lineEditIP, 4, 1, 1, 2)
        self.labelPort = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelPort.setObjectName("labelPort")
        self.gridLayout.addWidget(self.labelPort, 5, 0, 1, 1)
        self.labelFreq = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelFreq.setObjectName("labelFreq")
        self.gridLayout.addWidget(self.labelFreq, 6, 0, 1, 1)
        self.spinBoxFreq = KillerDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxFreq.setDecimals(3)
        self.spinBoxFreq.setMinimum(0.001)
        self.spinBoxFreq.setMaximum(1000000000000.0)
        self.spinBoxFreq.setObjectName("spinBoxFreq")
        self.gridLayout.addWidget(self.spinBoxFreq, 6, 1, 1, 2)
        self.labelSampleRate = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.labelSampleRate.setObjectName("labelSampleRate")
        self.gridLayout.addWidget(self.labelSampleRate, 7, 0, 1, 1)
        self.spinBoxSampleRate = KillerDoubleSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinBoxSampleRate.setDecimals(3)
        self.spinBoxSampleRate.setMinimum(0.001)
        self.spinBoxSampleRate.setMaximum(1000000000000.0)
        self.spinBoxSampleRate.setObjectName("spinBoxSampleRate")
        self.gridLayout.addWidget(self.spinBoxSampleRate, 7, 1, 1, 2)
        self.btnLockBWSR = QtWidgets.QToolButton(
            self.scrollAreaWidgetContents_2)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icons/data/icons/lock.svg"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnLockBWSR.setIcon(icon)
        self.btnLockBWSR.setCheckable(True)
        self.btnLockBWSR.setChecked(True)
        self.btnLockBWSR.setObjectName("btnLockBWSR")
        self.gridLayout.addWidget(self.btnLockBWSR, 7, 3, 2, 1)
        self.labelBandwidth = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelBandwidth.setObjectName("labelBandwidth")
        self.gridLayout.addWidget(self.labelBandwidth, 8, 0, 1, 1)
        self.spinBoxBandwidth = KillerDoubleSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinBoxBandwidth.setDecimals(3)
        self.spinBoxBandwidth.setMinimum(0.001)
        self.spinBoxBandwidth.setMaximum(1000000000000.0)
        self.spinBoxBandwidth.setObjectName("spinBoxBandwidth")
        self.gridLayout.addWidget(self.spinBoxBandwidth, 8, 1, 1, 2)
        self.labelGain = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelGain.setObjectName("labelGain")
        self.gridLayout.addWidget(self.labelGain, 9, 0, 1, 1)
        self.sliderGain = QtWidgets.QSlider(self.scrollAreaWidgetContents_2)
        self.sliderGain.setMaximum(100)
        self.sliderGain.setSingleStep(1)
        self.sliderGain.setOrientation(QtCore.Qt.Horizontal)
        self.sliderGain.setObjectName("sliderGain")
        self.gridLayout.addWidget(self.sliderGain, 9, 1, 1, 1)
        self.spinBoxGain = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        sizePolicy = QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.MinimumExpanding,
            QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.spinBoxGain.sizePolicy().hasHeightForWidth())
        self.spinBoxGain.setSizePolicy(sizePolicy)
        self.spinBoxGain.setMinimum(0)
        self.spinBoxGain.setMaximum(99)
        self.spinBoxGain.setProperty("value", 40)
        self.spinBoxGain.setObjectName("spinBoxGain")
        self.gridLayout.addWidget(self.spinBoxGain, 9, 2, 1, 1)
        self.labelIFGain = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelIFGain.setObjectName("labelIFGain")
        self.gridLayout.addWidget(self.labelIFGain, 10, 0, 1, 1)
        self.sliderIFGain = QtWidgets.QSlider(self.scrollAreaWidgetContents_2)
        self.sliderIFGain.setOrientation(QtCore.Qt.Horizontal)
        self.sliderIFGain.setObjectName("sliderIFGain")
        self.gridLayout.addWidget(self.sliderIFGain, 10, 1, 1, 1)
        self.spinBoxIFGain = QtWidgets.QSpinBox(
            self.scrollAreaWidgetContents_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.spinBoxIFGain.sizePolicy().hasHeightForWidth())
        self.spinBoxIFGain.setSizePolicy(sizePolicy)
        self.spinBoxIFGain.setObjectName("spinBoxIFGain")
        self.gridLayout.addWidget(self.spinBoxIFGain, 10, 2, 1, 1)
        self.labelBasebandGain = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.labelBasebandGain.setObjectName("labelBasebandGain")
        self.gridLayout.addWidget(self.labelBasebandGain, 11, 0, 1, 1)
        self.sliderBasebandGain = QtWidgets.QSlider(
            self.scrollAreaWidgetContents_2)
        self.sliderBasebandGain.setSliderPosition(0)
        self.sliderBasebandGain.setOrientation(QtCore.Qt.Horizontal)
        self.sliderBasebandGain.setInvertedAppearance(False)
        self.sliderBasebandGain.setInvertedControls(False)
        self.sliderBasebandGain.setTickPosition(QtWidgets.QSlider.NoTicks)
        self.sliderBasebandGain.setTickInterval(0)
        self.sliderBasebandGain.setObjectName("sliderBasebandGain")
        self.gridLayout.addWidget(self.sliderBasebandGain, 11, 1, 1, 1)
        self.spinBoxBasebandGain = QtWidgets.QSpinBox(
            self.scrollAreaWidgetContents_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.spinBoxBasebandGain.sizePolicy().hasHeightForWidth())
        self.spinBoxBasebandGain.setSizePolicy(sizePolicy)
        self.spinBoxBasebandGain.setObjectName("spinBoxBasebandGain")
        self.gridLayout.addWidget(self.spinBoxBasebandGain, 11, 2, 1, 1)
        self.labelFreqCorrection = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.labelFreqCorrection.setObjectName("labelFreqCorrection")
        self.gridLayout.addWidget(self.labelFreqCorrection, 12, 0, 1, 1)
        self.labelDirectSampling = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.labelDirectSampling.setObjectName("labelDirectSampling")
        self.gridLayout.addWidget(self.labelDirectSampling, 13, 0, 1, 1)
        self.labelNRepeat = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelNRepeat.setObjectName("labelNRepeat")
        self.gridLayout.addWidget(self.labelNRepeat, 14, 0, 1, 1)
        self.spinBoxNRepeat = QtWidgets.QSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinBoxNRepeat.setMaximum(999999999)
        self.spinBoxNRepeat.setObjectName("spinBoxNRepeat")
        self.gridLayout.addWidget(self.spinBoxNRepeat, 14, 1, 1, 2)
        self.label_sniff_Noise = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_Noise.setObjectName("label_sniff_Noise")
        self.gridLayout.addWidget(self.label_sniff_Noise, 15, 0, 1, 1)
        self.label_sniff_Center = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_Center.setObjectName("label_sniff_Center")
        self.gridLayout.addWidget(self.label_sniff_Center, 16, 0, 1, 1)
        self.label_sniff_BitLength = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_BitLength.setObjectName("label_sniff_BitLength")
        self.gridLayout.addWidget(self.label_sniff_BitLength, 17, 0, 1, 1)
        self.spinbox_sniff_BitLen = QtWidgets.QSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_BitLen.setMinimum(1)
        self.spinbox_sniff_BitLen.setMaximum(999999999)
        self.spinbox_sniff_BitLen.setObjectName("spinbox_sniff_BitLen")
        self.gridLayout.addWidget(self.spinbox_sniff_BitLen, 17, 1, 1, 2)
        self.label_sniff_Tolerance = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_Tolerance.setObjectName("label_sniff_Tolerance")
        self.gridLayout.addWidget(self.label_sniff_Tolerance, 18, 0, 1, 1)
        self.label_sniff_Modulation = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_Modulation.setObjectName("label_sniff_Modulation")
        self.gridLayout.addWidget(self.label_sniff_Modulation, 19, 0, 1, 1)
        self.label_sniff_viewtype = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_viewtype.setObjectName("label_sniff_viewtype")
        self.gridLayout.addWidget(self.label_sniff_viewtype, 20, 0, 1, 1)
        self.label_sniff_encoding = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_encoding.setObjectName("label_sniff_encoding")
        self.gridLayout.addWidget(self.label_sniff_encoding, 21, 0, 1, 1)
        self.label_sniff_OutputFile = QtWidgets.QLabel(
            self.scrollAreaWidgetContents_2)
        self.label_sniff_OutputFile.setObjectName("label_sniff_OutputFile")
        self.gridLayout.addWidget(self.label_sniff_OutputFile, 22, 0, 1, 1)
        self.lineEdit_sniff_OutputFile = QtWidgets.QLineEdit(
            self.scrollAreaWidgetContents_2)
        self.lineEdit_sniff_OutputFile.setReadOnly(False)
        self.lineEdit_sniff_OutputFile.setClearButtonEnabled(True)
        self.lineEdit_sniff_OutputFile.setObjectName(
            "lineEdit_sniff_OutputFile")
        self.gridLayout.addWidget(self.lineEdit_sniff_OutputFile, 22, 1, 1, 2)
        self.groupBox = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_2)
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.lReceiveBufferFullText = QtWidgets.QLabel(self.groupBox)
        self.lReceiveBufferFullText.setObjectName("lReceiveBufferFullText")
        self.gridLayout_2.addWidget(self.lReceiveBufferFullText, 7, 0, 1, 1)
        self.progressBar = QtWidgets.QProgressBar(self.groupBox)
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName("progressBar")
        self.gridLayout_2.addWidget(self.progressBar, 19, 0, 1, 1)
        self.lSamplesSentText = QtWidgets.QLabel(self.groupBox)
        self.lSamplesSentText.setObjectName("lSamplesSentText")
        self.gridLayout_2.addWidget(self.lSamplesSentText, 18, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 10,
                                           QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        self.gridLayout_2.addItem(spacerItem, 2, 0, 1, 1)
        self.lTimeText = QtWidgets.QLabel(self.groupBox)
        self.lTimeText.setObjectName("lTimeText")
        self.gridLayout_2.addWidget(self.lTimeText, 12, 0, 1, 1)
        self.lSamplesCapturedText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSamplesCapturedText.sizePolicy().hasHeightForWidth())
        self.lSamplesCapturedText.setSizePolicy(sizePolicy)
        self.lSamplesCapturedText.setObjectName("lSamplesCapturedText")
        self.gridLayout_2.addWidget(self.lSamplesCapturedText, 5, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.btnStart = QtWidgets.QToolButton(self.groupBox)
        self.btnStart.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStart.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStart.setText("")
        icon = QtGui.QIcon.fromTheme("media-record")
        self.btnStart.setIcon(icon)
        self.btnStart.setIconSize(QtCore.QSize(32, 32))
        self.btnStart.setObjectName("btnStart")
        self.horizontalLayout.addWidget(self.btnStart)
        self.btnStop = QtWidgets.QToolButton(self.groupBox)
        self.btnStop.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStop.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStop.setText("")
        icon = QtGui.QIcon.fromTheme("media-playback-stop")
        self.btnStop.setIcon(icon)
        self.btnStop.setIconSize(QtCore.QSize(32, 32))
        self.btnStop.setObjectName("btnStop")
        self.horizontalLayout.addWidget(self.btnStop)
        self.btnSave = QtWidgets.QToolButton(self.groupBox)
        self.btnSave.setMinimumSize(QtCore.QSize(42, 42))
        self.btnSave.setMaximumSize(QtCore.QSize(42, 42))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setIconSize(QtCore.QSize(32, 32))
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnClear = QtWidgets.QToolButton(self.groupBox)
        self.btnClear.setMinimumSize(QtCore.QSize(42, 42))
        self.btnClear.setMaximumSize(QtCore.QSize(42, 42))
        self.btnClear.setText("")
        icon = QtGui.QIcon.fromTheme("view-refresh")
        self.btnClear.setIcon(icon)
        self.btnClear.setIconSize(QtCore.QSize(32, 32))
        self.btnClear.setObjectName("btnClear")
        self.horizontalLayout.addWidget(self.btnClear)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
        self.lSignalSizeText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSignalSizeText.sizePolicy().hasHeightForWidth())
        self.lSignalSizeText.setSizePolicy(sizePolicy)
        self.lSignalSizeText.setObjectName("lSignalSizeText")
        self.gridLayout_2.addWidget(self.lSignalSizeText, 9, 0, 1, 1)
        self.lSamplesCaptured = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSamplesCaptured.sizePolicy().hasHeightForWidth())
        self.lSamplesCaptured.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSamplesCaptured.setFont(font)
        self.lSamplesCaptured.setAlignment(QtCore.Qt.AlignCenter)
        self.lSamplesCaptured.setObjectName("lSamplesCaptured")
        self.gridLayout_2.addWidget(self.lSamplesCaptured, 6, 0, 1, 2)
        self.lTime = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lTime.setFont(font)
        self.lTime.setAlignment(QtCore.Qt.AlignCenter)
        self.lTime.setObjectName("lTime")
        self.gridLayout_2.addWidget(self.lTime, 15, 0, 1, 2)
        self.lSignalSize = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSignalSize.sizePolicy().hasHeightForWidth())
        self.lSignalSize.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSize.setFont(font)
        self.lSignalSize.setAlignment(QtCore.Qt.AlignCenter)
        self.lSignalSize.setObjectName("lSignalSize")
        self.gridLayout_2.addWidget(self.lSignalSize, 11, 0, 1, 2)
        self.lblRepeatText = QtWidgets.QLabel(self.groupBox)
        self.lblRepeatText.setObjectName("lblRepeatText")
        self.gridLayout_2.addWidget(self.lblRepeatText, 16, 0, 1, 1)
        self.lblCurrentRepeatValue = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lblCurrentRepeatValue.setFont(font)
        self.lblCurrentRepeatValue.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCurrentRepeatValue.setObjectName("lblCurrentRepeatValue")
        self.gridLayout_2.addWidget(self.lblCurrentRepeatValue, 17, 0, 1, 1)
        self.labelReceiveBufferFull = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.labelReceiveBufferFull.sizePolicy().hasHeightForWidth())
        self.labelReceiveBufferFull.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.labelReceiveBufferFull.setFont(font)
        self.labelReceiveBufferFull.setAlignment(QtCore.Qt.AlignCenter)
        self.labelReceiveBufferFull.setObjectName("labelReceiveBufferFull")
        self.gridLayout_2.addWidget(self.labelReceiveBufferFull, 8, 0, 1, 1)
        self.gridLayout.addWidget(self.groupBox, 23, 0, 1, 3)
        self.txtEditErrors = QtWidgets.QTextEdit(
            self.scrollAreaWidgetContents_2)
        self.txtEditErrors.setReadOnly(True)
        self.txtEditErrors.setObjectName("txtEditErrors")
        self.gridLayout.addWidget(self.txtEditErrors, 24, 0, 1, 4)
        self.cbDevice = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.cbDevice.setObjectName("cbDevice")
        self.cbDevice.addItem("")
        self.cbDevice.addItem("")
        self.gridLayout.addWidget(self.cbDevice, 0, 1, 1, 2)
        self.comboBoxChannel = QtWidgets.QComboBox(
            self.scrollAreaWidgetContents_2)
        self.comboBoxChannel.setObjectName("comboBoxChannel")
        self.gridLayout.addWidget(self.comboBoxChannel, 2, 1, 1, 2)
        self.comboBoxAntenna = QtWidgets.QComboBox(
            self.scrollAreaWidgetContents_2)
        self.comboBoxAntenna.setObjectName("comboBoxAntenna")
        self.gridLayout.addWidget(self.comboBoxAntenna, 3, 1, 1, 2)
        self.spinBoxPort = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxPort.setMinimum(1)
        self.spinBoxPort.setMaximum(65535)
        self.spinBoxPort.setProperty("value", 1234)
        self.spinBoxPort.setObjectName("spinBoxPort")
        self.gridLayout.addWidget(self.spinBoxPort, 5, 1, 1, 2)
        self.spinBoxFreqCorrection = QtWidgets.QSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinBoxFreqCorrection.setMinimum(-1000)
        self.spinBoxFreqCorrection.setMaximum(1000)
        self.spinBoxFreqCorrection.setProperty("value", 1)
        self.spinBoxFreqCorrection.setObjectName("spinBoxFreqCorrection")
        self.gridLayout.addWidget(self.spinBoxFreqCorrection, 12, 1, 1, 2)
        self.comboBoxDirectSampling = QtWidgets.QComboBox(
            self.scrollAreaWidgetContents_2)
        self.comboBoxDirectSampling.setObjectName("comboBoxDirectSampling")
        self.gridLayout.addWidget(self.comboBoxDirectSampling, 13, 1, 1, 2)
        self.spinbox_sniff_Noise = QtWidgets.QDoubleSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_Noise.setDecimals(4)
        self.spinbox_sniff_Noise.setMaximum(1.0)
        self.spinbox_sniff_Noise.setObjectName("spinbox_sniff_Noise")
        self.gridLayout.addWidget(self.spinbox_sniff_Noise, 15, 1, 1, 2)
        self.spinbox_sniff_Center = QtWidgets.QDoubleSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_Center.setDecimals(4)
        self.spinbox_sniff_Center.setMinimum(-3.14)
        self.spinbox_sniff_Center.setMaximum(3.14)
        self.spinbox_sniff_Center.setObjectName("spinbox_sniff_Center")
        self.gridLayout.addWidget(self.spinbox_sniff_Center, 16, 1, 1, 2)
        self.spinbox_sniff_ErrorTolerance = QtWidgets.QSpinBox(
            self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_ErrorTolerance.setMaximum(999999)
        self.spinbox_sniff_ErrorTolerance.setProperty("value", 5)
        self.spinbox_sniff_ErrorTolerance.setObjectName(
            "spinbox_sniff_ErrorTolerance")
        self.gridLayout.addWidget(self.spinbox_sniff_ErrorTolerance, 18, 1, 1,
                                  2)
        self.combox_sniff_Modulation = QtWidgets.QComboBox(
            self.scrollAreaWidgetContents_2)
        self.combox_sniff_Modulation.setObjectName("combox_sniff_Modulation")
        self.combox_sniff_Modulation.addItem("")
        self.combox_sniff_Modulation.addItem("")
        self.combox_sniff_Modulation.addItem("")
        self.gridLayout.addWidget(self.combox_sniff_Modulation, 19, 1, 1, 2)
        self.comboBox_sniff_viewtype = QtWidgets.QComboBox(
            self.scrollAreaWidgetContents_2)
        self.comboBox_sniff_viewtype.setObjectName("comboBox_sniff_viewtype")
        self.comboBox_sniff_viewtype.addItem("")
        self.comboBox_sniff_viewtype.addItem("")
        self.comboBox_sniff_viewtype.addItem("")
        self.gridLayout.addWidget(self.comboBox_sniff_viewtype, 20, 1, 1, 2)
        self.comboBox_sniff_encoding = QtWidgets.QComboBox(
            self.scrollAreaWidgetContents_2)
        self.comboBox_sniff_encoding.setObjectName("comboBox_sniff_encoding")
        self.gridLayout.addWidget(self.comboBox_sniff_encoding, 21, 1, 1, 2)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget)
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_receive = QtWidgets.QWidget()
        self.page_receive.setObjectName("page_receive")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_receive)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.graphicsViewReceive = LiveGraphicView(self.page_receive)
        self.graphicsViewReceive.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewReceive.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewReceive.setObjectName("graphicsViewReceive")
        self.verticalLayout_2.addWidget(self.graphicsViewReceive)
        self.stackedWidget.addWidget(self.page_receive)
        self.page_send = QtWidgets.QWidget()
        self.page_send.setObjectName("page_send")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_send)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.graphicsViewSend = EditableGraphicView(self.page_send)
        self.graphicsViewSend.setMouseTracking(True)
        self.graphicsViewSend.setRenderHints(QtGui.QPainter.Antialiasing
                                             | QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSend.setTransformationAnchor(
            QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setObjectName("graphicsViewSend")
        self.verticalLayout_3.addWidget(self.graphicsViewSend)
        self.label_7 = QtWidgets.QLabel(self.page_send)
        font = QtGui.QFont()
        font.setItalic(True)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.stackedWidget.addWidget(self.page_send)
        self.page_continuous_send = QtWidgets.QWidget()
        self.page_continuous_send.setObjectName("page_continuous_send")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(
            self.page_continuous_send)
        self.verticalLayout_6.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.graphicsViewContinuousSend = LiveGraphicView(
            self.page_continuous_send)
        self.graphicsViewContinuousSend.setRenderHints(
            QtGui.QPainter.Antialiasing | QtGui.QPainter.TextAntialiasing)
        self.graphicsViewContinuousSend.setObjectName(
            "graphicsViewContinuousSend")
        self.verticalLayout_6.addWidget(self.graphicsViewContinuousSend)
        self.stackedWidget.addWidget(self.page_continuous_send)
        self.page_sniff = QtWidgets.QWidget()
        self.page_sniff.setObjectName("page_sniff")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page_sniff)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.graphicsView_sniff_Preview = LiveGraphicView(self.page_sniff)
        self.graphicsView_sniff_Preview.setObjectName(
            "graphicsView_sniff_Preview")
        self.verticalLayout_4.addWidget(self.graphicsView_sniff_Preview)
        self.txtEd_sniff_Preview = QtWidgets.QPlainTextEdit(self.page_sniff)
        self.txtEd_sniff_Preview.setLineWrapMode(
            QtWidgets.QPlainTextEdit.NoWrap)
        self.txtEd_sniff_Preview.setReadOnly(True)
        self.txtEd_sniff_Preview.setMaximumBlockCount(100)
        self.txtEd_sniff_Preview.setObjectName("txtEd_sniff_Preview")
        self.verticalLayout_4.addWidget(self.txtEd_sniff_Preview)
        self.btnAccept = QtWidgets.QPushButton(self.page_sniff)
        self.btnAccept.setAutoDefault(False)
        self.btnAccept.setObjectName("btnAccept")
        self.verticalLayout_4.addWidget(self.btnAccept)
        self.stackedWidget.addWidget(self.page_sniff)
        self.horizontalLayout_2.addWidget(self.stackedWidget)
        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_y_scale = QtWidgets.QLabel(self.layoutWidget)
        self.label_y_scale.setObjectName("label_y_scale")
        self.verticalLayout_5.addWidget(self.label_y_scale)
        self.sliderYscale = QtWidgets.QSlider(self.layoutWidget)
        self.sliderYscale.setMinimum(1)
        self.sliderYscale.setMaximum(1000)
        self.sliderYscale.setProperty("value", 1)
        self.sliderYscale.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale.setTickInterval(1)
        self.sliderYscale.setObjectName("sliderYscale")
        self.verticalLayout_5.addWidget(self.sliderYscale)
        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
        self.verticalLayout.addWidget(self.splitter)

        self.retranslateUi(SendRecvDialog)
        self.stackedWidget.setCurrentIndex(2)
        QtCore.QMetaObject.connectSlotsByName(SendRecvDialog)
        SendRecvDialog.setTabOrder(self.cbDevice, self.lineEditDeviceArgs)
        SendRecvDialog.setTabOrder(self.lineEditDeviceArgs, self.lineEditIP)
        SendRecvDialog.setTabOrder(self.lineEditIP, self.spinBoxPort)
        SendRecvDialog.setTabOrder(self.spinBoxPort, self.spinBoxFreq)
        SendRecvDialog.setTabOrder(self.spinBoxFreq, self.spinBoxSampleRate)
        SendRecvDialog.setTabOrder(self.spinBoxSampleRate,
                                   self.spinBoxBandwidth)
        SendRecvDialog.setTabOrder(self.spinBoxBandwidth, self.btnLockBWSR)
        SendRecvDialog.setTabOrder(self.btnLockBWSR, self.spinBoxGain)
        SendRecvDialog.setTabOrder(self.spinBoxGain, self.sliderGain)
        SendRecvDialog.setTabOrder(self.sliderGain, self.sliderIFGain)
        SendRecvDialog.setTabOrder(self.sliderIFGain, self.spinBoxIFGain)
        SendRecvDialog.setTabOrder(self.spinBoxIFGain, self.sliderBasebandGain)
        SendRecvDialog.setTabOrder(self.sliderBasebandGain,
                                   self.spinBoxBasebandGain)
        SendRecvDialog.setTabOrder(self.spinBoxBasebandGain,
                                   self.spinBoxFreqCorrection)
        SendRecvDialog.setTabOrder(self.spinBoxFreqCorrection,
                                   self.comboBoxDirectSampling)
        SendRecvDialog.setTabOrder(self.comboBoxDirectSampling,
                                   self.spinBoxNRepeat)
        SendRecvDialog.setTabOrder(self.spinBoxNRepeat,
                                   self.spinbox_sniff_BitLen)
        SendRecvDialog.setTabOrder(self.spinbox_sniff_BitLen,
                                   self.spinbox_sniff_ErrorTolerance)
        SendRecvDialog.setTabOrder(self.spinbox_sniff_ErrorTolerance,
                                   self.combox_sniff_Modulation)
        SendRecvDialog.setTabOrder(self.combox_sniff_Modulation,
                                   self.comboBox_sniff_viewtype)
        SendRecvDialog.setTabOrder(self.comboBox_sniff_viewtype,
                                   self.lineEdit_sniff_OutputFile)
        SendRecvDialog.setTabOrder(self.lineEdit_sniff_OutputFile,
                                   self.btnStart)
        SendRecvDialog.setTabOrder(self.btnStart, self.btnStop)
        SendRecvDialog.setTabOrder(self.btnStop, self.btnSave)
        SendRecvDialog.setTabOrder(self.btnSave, self.btnClear)
        SendRecvDialog.setTabOrder(self.btnClear, self.txtEd_sniff_Preview)
        SendRecvDialog.setTabOrder(self.txtEd_sniff_Preview, self.sliderYscale)
        SendRecvDialog.setTabOrder(self.sliderYscale, self.txtEditErrors)
        SendRecvDialog.setTabOrder(self.txtEditErrors, self.graphicsViewSend)
        SendRecvDialog.setTabOrder(self.graphicsViewSend,
                                   self.graphicsViewReceive)
        SendRecvDialog.setTabOrder(self.graphicsViewReceive, self.btnAccept)

    def retranslateUi(self, SendRecvDialog):
        _translate = QtCore.QCoreApplication.translate
        SendRecvDialog.setWindowTitle(
            _translate("SendRecvDialog", "Record Signal"))
        self.label_3.setText(_translate("SendRecvDialog", "Device:"))
        self.labelDeviceArgs.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>If you only have one USRP connected you may leave this field empty, so your USRP gets detected automatically.</p><p>If you have multiple USRPs connected or need better control, enter a device identifier of your USRP here.</p><p>You may also enter other device arguments here.</p></body></html>"
            ))
        self.labelDeviceArgs.setText(
            _translate("SendRecvDialog", "Device arguments:"))
        self.lineEditDeviceArgs.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>If you only have one USRP connected you may leave this field empty, so your USRP gets detected automatically.</p><p>If you have multiple USRPs connected or need better control, enter a device identifier of your USRP here.</p><p>You may also enter other device arguments here.</p></body></html>"
            ))
        self.labelChannel.setText(_translate("SendRecvDialog", "Channel:"))
        self.labelAntenna.setText(_translate("SendRecvDialog", "Antenna:"))
        self.labelIP.setText(_translate("SendRecvDialog", "IP address:"))
        self.lineEditIP.setText(_translate("SendRecvDialog", "127.0.0.1"))
        self.labelPort.setText(_translate("SendRecvDialog", "Port number:"))
        self.labelFreq.setText(_translate("SendRecvDialog", "Frequency (Hz):"))
        self.labelSampleRate.setText(
            _translate("SendRecvDialog", "Sample rate (Sps):"))
        self.btnLockBWSR.setText(_translate("SendRecvDialog", "..."))
        self.labelBandwidth.setText(
            _translate("SendRecvDialog", "Bandwidth (Hz):"))
        self.labelGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The gain (more exactly RF gain) is the gain applied to the RF signal. This amplifies the high frequent signal arriving at the antenna of your Software Defined Radio.</p></body></html>"
            ))
        self.labelGain.setText(_translate("SendRecvDialog", "Gain:"))
        self.sliderGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The gain (more exactly RF gain) is the gain applied to the RF signal. This amplifies the high frequent signal arriving at the antenna of your Software Defined Radio.</p></body></html>"
            ))
        self.spinBoxGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The gain (more exactly RF gain) is the gain applied to the RF signal. This amplifies the high frequent signal arriving at the antenna of your Software Defined Radio.</p></body></html>"
            ))
        self.labelIFGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The IF Gain is applied to the Intermediate Frequency signal in your Software Defined Radio. An IF signal has a lower frequency than the high frequent RF signal, so signal processing can be applied more efficiently.</p></body></html>"
            ))
        self.labelIFGain.setText(_translate("SendRecvDialog", "IF Gain:"))
        self.sliderIFGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The IF Gain is applied to the Intermediate Frequency signal in your Software Defined Radio. An IF signal has a lower frequency than the high frequent RF signal, so signal processing can be applied more efficiently.</p></body></html>"
            ))
        self.spinBoxIFGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The IF Gain is applied to the Intermediate Frequency signal in your Software Defined Radio. An IF signal has a lower frequency than the high frequent RF signal, so signal processing can be applied more efficiently.</p></body></html>"
            ))
        self.labelBasebandGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The baseband gain is applied to the baseband signal in your software defined radio. The baseband signal is at low frequency and gathered from the RF signal by <span style=\" font-weight:600;\">complex downsampling</span>.</p></body></html>"
            ))
        self.labelBasebandGain.setText(
            _translate("SendRecvDialog", "Baseband gain:"))
        self.sliderBasebandGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The baseband gain is applied to the baseband signal in your software defined radio. The baseband signal is at low frequency and gathered from the RF signal by <span style=\" font-weight:600;\">complex downsampling</span>.</p></body></html>"
            ))
        self.spinBoxBasebandGain.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>The baseband gain is applied to the baseband signal in your software defined radio. The baseband signal is at low frequency and gathered from the RF signal by <span style=\" font-weight:600;\">complex downsampling</span>.</p></body></html>"
            ))
        self.labelFreqCorrection.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>Set the frequency correction in <span style=\" font-weight:600;\">ppm</span>. If you do not know what to enter here, just leave it to one.</p></body></html>"
            ))
        self.labelFreqCorrection.setText(
            _translate("SendRecvDialog", "Frequency correction:"))
        self.labelDirectSampling.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>Set the direct sampling mode. If you do not know what to choose here, just set it to disabled. The<span style=\" font-weight:600;\"> native backend</span> is recommended, when using this setting.</p></body></html>"
            ))
        self.labelDirectSampling.setText(
            _translate("SendRecvDialog", "Direct sampling:"))
        self.labelNRepeat.setText(_translate("SendRecvDialog", "Repeat:"))
        self.spinBoxNRepeat.setSpecialValueText(
            _translate("SendRecvDialog", "Infinite"))
        self.label_sniff_Noise.setText(_translate("SendRecvDialog", "Noise:"))
        self.label_sniff_Center.setText(_translate("SendRecvDialog",
                                                   "Center:"))
        self.label_sniff_BitLength.setText(
            _translate("SendRecvDialog", "Bit Length:"))
        self.label_sniff_Tolerance.setText(
            _translate("SendRecvDialog", "Error Tolerance:"))
        self.label_sniff_Modulation.setText(
            _translate("SendRecvDialog", "Modulation:"))
        self.label_sniff_viewtype.setText(_translate("SendRecvDialog",
                                                     "View:"))
        self.label_sniff_encoding.setText(
            _translate("SendRecvDialog", "Encoding:"))
        self.label_sniff_OutputFile.setText(
            _translate("SendRecvDialog", "Write bitstream to file:"))
        self.lineEdit_sniff_OutputFile.setPlaceholderText(
            _translate("SendRecvDialog", "None"))
        self.lReceiveBufferFullText.setText(
            _translate("SendRecvDialog", "Receive buffer full:"))
        self.progressBar.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.lSamplesSentText.setText(
            _translate("SendRecvDialog", "Samples sent:"))
        self.lTimeText.setText(
            _translate("SendRecvDialog", "Time (in seconds):"))
        self.lSamplesCapturedText.setText(
            _translate("SendRecvDialog", "Samples captured:"))
        self.btnStart.setToolTip(_translate("SendRecvDialog", "Record signal"))
        self.btnStop.setToolTip(_translate("SendRecvDialog", "Stop recording"))
        self.btnSave.setText(_translate("SendRecvDialog", "Save..."))
        self.btnClear.setToolTip(_translate("SendRecvDialog", "Clear"))
        self.lSignalSizeText.setText(
            _translate("SendRecvDialog", "Signal size (in MiB):"))
        self.lSamplesCaptured.setText(_translate("SendRecvDialog", "0"))
        self.lTime.setText(_translate("SendRecvDialog", "0"))
        self.lSignalSize.setText(_translate("SendRecvDialog", "0"))
        self.lblRepeatText.setText(
            _translate("SendRecvDialog", "Current iteration:"))
        self.lblCurrentRepeatValue.setText(_translate("SendRecvDialog", "0"))
        self.labelReceiveBufferFull.setText(_translate("SendRecvDialog", "0%"))
        self.cbDevice.setItemText(0, _translate("SendRecvDialog", "USRP"))
        self.cbDevice.setItemText(1, _translate("SendRecvDialog", "HackRF"))
        self.spinBoxFreqCorrection.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>Set the frequency correction in <span style=\" font-weight:600;\">ppm</span>. If you do not know what to enter here, just leave it to one.</p></body></html>"
            ))
        self.comboBoxDirectSampling.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>Set the direct sampling mode. If you do not know what to choose here, just set it to disabled. The<span style=\" font-weight:600;\"> native backend</span> is recommended, when using this setting.</p></body></html>"
            ))
        self.combox_sniff_Modulation.setItemText(
            0, _translate("SendRecvDialog", "ASK"))
        self.combox_sniff_Modulation.setItemText(
            1, _translate("SendRecvDialog", "FSK"))
        self.combox_sniff_Modulation.setItemText(
            2, _translate("SendRecvDialog", "PSK"))
        self.comboBox_sniff_viewtype.setItemText(
            0, _translate("SendRecvDialog", "Bit"))
        self.comboBox_sniff_viewtype.setItemText(
            1, _translate("SendRecvDialog", "Hex"))
        self.comboBox_sniff_viewtype.setItemText(
            2, _translate("SendRecvDialog", "ASCII"))
        self.label_7.setText(
            _translate("SendRecvDialog",
                       "Hint: You can edit the raw signal before sending."))
        self.btnAccept.setToolTip(
            _translate(
                "SendRecvDialog",
                "<html><head/><body><p>Accept the sniffed data and load it into <span style=\" font-weight:600;\">Analysis</span> tab.</p></body></html>"
            ))
        self.btnAccept.setText(
            _translate("SendRecvDialog", "Accept data (Open in Analysis)"))
        self.label_y_scale.setText(_translate("SendRecvDialog", "Y-Scale"))
Exemplo n.º 3
0
class Ui_SendRecvDialog(object):
    def setupUi(self, SendRecvDialog):
        SendRecvDialog.setObjectName("SendRecvDialog")
        SendRecvDialog.setWindowModality(QtCore.Qt.NonModal)
        SendRecvDialog.resize(1246, 1123)
        SendRecvDialog.setMouseTracking(False)
        self.verticalLayout = QtWidgets.QVBoxLayout(SendRecvDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter = QtWidgets.QSplitter(SendRecvDialog)
        self.splitter.setStyleSheet("QSplitter::handle:horizontal {\n"
"margin: 4px 0px;\n"
"    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n"
"stop:0 rgba(255, 255, 255, 0), \n"
"stop:0.5 rgba(100, 100, 100, 100), \n"
"stop:1 rgba(255, 255, 255, 0));\n"
"image: url(:/icons/icons/splitter_handle_vertical.svg);\n"
"}")
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.scrollArea = QtWidgets.QScrollArea(self.splitter)
        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 621, 1101))
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_2)
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.groupBox = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_2)
        self.groupBox.setStyleSheet("QGroupBox\n"
"{\n"
" border: none;\n"
"}")
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.progressBarMessage = QtWidgets.QProgressBar(self.groupBox)
        self.progressBarMessage.setProperty("value", 0)
        self.progressBarMessage.setObjectName("progressBarMessage")
        self.gridLayout_2.addWidget(self.progressBarMessage, 19, 0, 1, 1)
        self.labelCurrentMessage = QtWidgets.QLabel(self.groupBox)
        self.labelCurrentMessage.setObjectName("labelCurrentMessage")
        self.gridLayout_2.addWidget(self.labelCurrentMessage, 18, 0, 1, 1)
        self.lReceiveBufferFullText = QtWidgets.QLabel(self.groupBox)
        self.lReceiveBufferFullText.setObjectName("lReceiveBufferFullText")
        self.gridLayout_2.addWidget(self.lReceiveBufferFullText, 7, 0, 1, 1)
        self.progressBarSample = QtWidgets.QProgressBar(self.groupBox)
        self.progressBarSample.setProperty("value", 0)
        self.progressBarSample.setObjectName("progressBarSample")
        self.gridLayout_2.addWidget(self.progressBarSample, 21, 0, 1, 1)
        self.lSamplesSentText = QtWidgets.QLabel(self.groupBox)
        self.lSamplesSentText.setObjectName("lSamplesSentText")
        self.gridLayout_2.addWidget(self.lSamplesSentText, 20, 0, 1, 1)
        self.lTimeText = QtWidgets.QLabel(self.groupBox)
        self.lTimeText.setObjectName("lTimeText")
        self.gridLayout_2.addWidget(self.lTimeText, 12, 0, 1, 1)
        self.lSamplesCapturedText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCapturedText.sizePolicy().hasHeightForWidth())
        self.lSamplesCapturedText.setSizePolicy(sizePolicy)
        self.lSamplesCapturedText.setObjectName("lSamplesCapturedText")
        self.gridLayout_2.addWidget(self.lSamplesCapturedText, 5, 0, 1, 1)
        self.lSignalSizeText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSizeText.sizePolicy().hasHeightForWidth())
        self.lSignalSizeText.setSizePolicy(sizePolicy)
        self.lSignalSizeText.setObjectName("lSignalSizeText")
        self.gridLayout_2.addWidget(self.lSignalSizeText, 9, 0, 1, 1)
        self.lSamplesCaptured = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCaptured.sizePolicy().hasHeightForWidth())
        self.lSamplesCaptured.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSamplesCaptured.setFont(font)
        self.lSamplesCaptured.setAlignment(QtCore.Qt.AlignCenter)
        self.lSamplesCaptured.setObjectName("lSamplesCaptured")
        self.gridLayout_2.addWidget(self.lSamplesCaptured, 6, 0, 1, 2)
        self.lTime = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lTime.setFont(font)
        self.lTime.setAlignment(QtCore.Qt.AlignCenter)
        self.lTime.setObjectName("lTime")
        self.gridLayout_2.addWidget(self.lTime, 15, 0, 1, 2)
        self.lSignalSize = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSize.sizePolicy().hasHeightForWidth())
        self.lSignalSize.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSize.setFont(font)
        self.lSignalSize.setAlignment(QtCore.Qt.AlignCenter)
        self.lSignalSize.setObjectName("lSignalSize")
        self.gridLayout_2.addWidget(self.lSignalSize, 11, 0, 1, 2)
        self.lblRepeatText = QtWidgets.QLabel(self.groupBox)
        self.lblRepeatText.setObjectName("lblRepeatText")
        self.gridLayout_2.addWidget(self.lblRepeatText, 16, 0, 1, 1)
        self.lblCurrentRepeatValue = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lblCurrentRepeatValue.setFont(font)
        self.lblCurrentRepeatValue.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCurrentRepeatValue.setObjectName("lblCurrentRepeatValue")
        self.gridLayout_2.addWidget(self.lblCurrentRepeatValue, 17, 0, 1, 1)
        self.labelReceiveBufferFull = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.labelReceiveBufferFull.sizePolicy().hasHeightForWidth())
        self.labelReceiveBufferFull.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.labelReceiveBufferFull.setFont(font)
        self.labelReceiveBufferFull.setAlignment(QtCore.Qt.AlignCenter)
        self.labelReceiveBufferFull.setObjectName("labelReceiveBufferFull")
        self.gridLayout_2.addWidget(self.labelReceiveBufferFull, 8, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.btnStart = QtWidgets.QToolButton(self.groupBox)
        self.btnStart.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("media-record")
        self.btnStart.setIcon(icon)
        self.btnStart.setIconSize(QtCore.QSize(32, 32))
        self.btnStart.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnStart.setObjectName("btnStart")
        self.horizontalLayout.addWidget(self.btnStart)
        self.btnStop = QtWidgets.QToolButton(self.groupBox)
        self.btnStop.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("media-playback-stop")
        self.btnStop.setIcon(icon)
        self.btnStop.setIconSize(QtCore.QSize(32, 32))
        self.btnStop.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnStop.setObjectName("btnStop")
        self.horizontalLayout.addWidget(self.btnStop)
        self.btnSave = QtWidgets.QToolButton(self.groupBox)
        self.btnSave.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setIconSize(QtCore.QSize(32, 32))
        self.btnSave.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnClear = QtWidgets.QToolButton(self.groupBox)
        self.btnClear.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("view-refresh")
        self.btnClear.setIcon(icon)
        self.btnClear.setIconSize(QtCore.QSize(32, 32))
        self.btnClear.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnClear.setObjectName("btnClear")
        self.horizontalLayout.addWidget(self.btnClear)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
        spacerItem2 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.gridLayout_2.addItem(spacerItem2, 2, 0, 1, 1)
        self.verticalLayout_8.addWidget(self.groupBox)
        self.txtEditErrors = QtWidgets.QTextEdit(self.scrollAreaWidgetContents_2)
        self.txtEditErrors.setReadOnly(True)
        self.txtEditErrors.setObjectName("txtEditErrors")
        self.verticalLayout_8.addWidget(self.txtEditErrors)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget)
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_receive = QtWidgets.QWidget()
        self.page_receive.setObjectName("page_receive")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_receive)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.graphicsViewReceive = LiveGraphicView(self.page_receive)
        self.graphicsViewReceive.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewReceive.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewReceive.setObjectName("graphicsViewReceive")
        self.verticalLayout_2.addWidget(self.graphicsViewReceive)
        self.stackedWidget.addWidget(self.page_receive)
        self.page_send = QtWidgets.QWidget()
        self.page_send.setObjectName("page_send")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_send)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.graphicsViewSend = EditableGraphicView(self.page_send)
        self.graphicsViewSend.setMouseTracking(True)
        self.graphicsViewSend.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSend.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setObjectName("graphicsViewSend")
        self.verticalLayout_3.addWidget(self.graphicsViewSend)
        self.label_7 = QtWidgets.QLabel(self.page_send)
        font = QtGui.QFont()
        font.setItalic(True)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.stackedWidget.addWidget(self.page_send)
        self.page_continuous_send = QtWidgets.QWidget()
        self.page_continuous_send.setObjectName("page_continuous_send")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.page_continuous_send)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.graphicsViewContinuousSend = LiveGraphicView(self.page_continuous_send)
        self.graphicsViewContinuousSend.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewContinuousSend.setObjectName("graphicsViewContinuousSend")
        self.verticalLayout_6.addWidget(self.graphicsViewContinuousSend)
        self.stackedWidget.addWidget(self.page_continuous_send)
        self.page_spectrum = QtWidgets.QWidget()
        self.page_spectrum.setObjectName("page_spectrum")
        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.page_spectrum)
        self.verticalLayout_7.setObjectName("verticalLayout_7")
        self.graphicsViewFFT = LiveGraphicView(self.page_spectrum)
        self.graphicsViewFFT.setObjectName("graphicsViewFFT")
        self.verticalLayout_7.addWidget(self.graphicsViewFFT)
        self.graphicsViewSpectrogram = QtWidgets.QGraphicsView(self.page_spectrum)
        self.graphicsViewSpectrogram.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewSpectrogram.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewSpectrogram.setRenderHints(QtGui.QPainter.SmoothPixmapTransform|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSpectrogram.setCacheMode(QtWidgets.QGraphicsView.CacheNone)
        self.graphicsViewSpectrogram.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate)
        self.graphicsViewSpectrogram.setObjectName("graphicsViewSpectrogram")
        self.verticalLayout_7.addWidget(self.graphicsViewSpectrogram)
        self.verticalLayout_7.setStretch(0, 1)
        self.verticalLayout_7.setStretch(1, 1)
        self.stackedWidget.addWidget(self.page_spectrum)
        self.page_sniff = QtWidgets.QWidget()
        self.page_sniff.setObjectName("page_sniff")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page_sniff)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.graphicsView_sniff_Preview = LiveGraphicView(self.page_sniff)
        self.graphicsView_sniff_Preview.setObjectName("graphicsView_sniff_Preview")
        self.verticalLayout_4.addWidget(self.graphicsView_sniff_Preview)
        self.txtEd_sniff_Preview = QtWidgets.QPlainTextEdit(self.page_sniff)
        self.txtEd_sniff_Preview.setLineWrapMode(QtWidgets.QPlainTextEdit.NoWrap)
        self.txtEd_sniff_Preview.setReadOnly(True)
        self.txtEd_sniff_Preview.setMaximumBlockCount(100)
        self.txtEd_sniff_Preview.setObjectName("txtEd_sniff_Preview")
        self.verticalLayout_4.addWidget(self.txtEd_sniff_Preview)
        self.btnAccept = QtWidgets.QPushButton(self.page_sniff)
        self.btnAccept.setAutoDefault(False)
        self.btnAccept.setObjectName("btnAccept")
        self.verticalLayout_4.addWidget(self.btnAccept)
        self.stackedWidget.addWidget(self.page_sniff)
        self.horizontalLayout_2.addWidget(self.stackedWidget)
        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_y_scale = QtWidgets.QLabel(self.layoutWidget)
        self.label_y_scale.setObjectName("label_y_scale")
        self.verticalLayout_5.addWidget(self.label_y_scale)
        self.sliderYscale = QtWidgets.QSlider(self.layoutWidget)
        self.sliderYscale.setMinimum(1)
        self.sliderYscale.setMaximum(1000)
        self.sliderYscale.setProperty("value", 1)
        self.sliderYscale.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale.setTickInterval(1)
        self.sliderYscale.setObjectName("sliderYscale")
        self.verticalLayout_5.addWidget(self.sliderYscale)
        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
        self.verticalLayout.addWidget(self.splitter)

        self.retranslateUi(SendRecvDialog)
        self.stackedWidget.setCurrentIndex(4)
        QtCore.QMetaObject.connectSlotsByName(SendRecvDialog)
        SendRecvDialog.setTabOrder(self.btnStart, self.btnStop)
        SendRecvDialog.setTabOrder(self.btnStop, self.btnSave)
        SendRecvDialog.setTabOrder(self.btnSave, self.btnClear)
        SendRecvDialog.setTabOrder(self.btnClear, self.txtEd_sniff_Preview)
        SendRecvDialog.setTabOrder(self.txtEd_sniff_Preview, self.sliderYscale)
        SendRecvDialog.setTabOrder(self.sliderYscale, self.txtEditErrors)
        SendRecvDialog.setTabOrder(self.txtEditErrors, self.graphicsViewSend)
        SendRecvDialog.setTabOrder(self.graphicsViewSend, self.graphicsViewReceive)
        SendRecvDialog.setTabOrder(self.graphicsViewReceive, self.btnAccept)

    def retranslateUi(self, SendRecvDialog):
        _translate = QtCore.QCoreApplication.translate
        SendRecvDialog.setWindowTitle(_translate("SendRecvDialog", "Record Signal"))
        self.progressBarMessage.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.labelCurrentMessage.setText(_translate("SendRecvDialog", "Current message:"))
        self.lReceiveBufferFullText.setText(_translate("SendRecvDialog", "Receive buffer full:"))
        self.progressBarSample.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.lSamplesSentText.setText(_translate("SendRecvDialog", "Current sample:"))
        self.lTimeText.setText(_translate("SendRecvDialog", "Time (in seconds):"))
        self.lSamplesCapturedText.setText(_translate("SendRecvDialog", "Samples captured:"))
        self.lSignalSizeText.setText(_translate("SendRecvDialog", "Signal size (in MiB):"))
        self.lSamplesCaptured.setText(_translate("SendRecvDialog", "0"))
        self.lTime.setText(_translate("SendRecvDialog", "0"))
        self.lSignalSize.setText(_translate("SendRecvDialog", "0"))
        self.lblRepeatText.setText(_translate("SendRecvDialog", "Current iteration:"))
        self.lblCurrentRepeatValue.setText(_translate("SendRecvDialog", "0"))
        self.labelReceiveBufferFull.setText(_translate("SendRecvDialog", "0%"))
        self.btnStart.setToolTip(_translate("SendRecvDialog", "Record signal"))
        self.btnStart.setText(_translate("SendRecvDialog", "Start"))
        self.btnStop.setToolTip(_translate("SendRecvDialog", "Stop recording"))
        self.btnStop.setText(_translate("SendRecvDialog", "Stop"))
        self.btnSave.setText(_translate("SendRecvDialog", "Save..."))
        self.btnClear.setToolTip(_translate("SendRecvDialog", "Clear"))
        self.btnClear.setText(_translate("SendRecvDialog", "Clear"))
        self.label_7.setText(_translate("SendRecvDialog", "Hint: You can edit the raw signal before sending."))
        self.btnAccept.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>Accept the sniffed data and load it into <span style=\" font-weight:600;\">Analysis</span> tab.</p></body></html>"))
        self.btnAccept.setText(_translate("SendRecvDialog", "Accept data (Open in Analysis)"))
        self.label_y_scale.setText(_translate("SendRecvDialog", "Y-Scale"))
Exemplo n.º 4
0
class Ui_SendRecvDialog(object):
    def setupUi(self, SendRecvDialog):
        SendRecvDialog.setObjectName("SendRecvDialog")
        SendRecvDialog.setWindowModality(QtCore.Qt.NonModal)
        SendRecvDialog.resize(868, 628)
        self.gridLayout_3 = QtWidgets.QGridLayout(SendRecvDialog)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.label_3 = QtWidgets.QLabel(SendRecvDialog)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
        self.cbDevice = QtWidgets.QComboBox(SendRecvDialog)
        self.cbDevice.setObjectName("cbDevice")
        self.cbDevice.addItem("")
        self.cbDevice.addItem("")
        self.gridLayout.addWidget(self.cbDevice, 0, 1, 1, 1)
        self.label_4 = QtWidgets.QLabel(SendRecvDialog)
        self.label_4.setObjectName("label_4")
        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
        self.label = QtWidgets.QLabel(SendRecvDialog)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
        self.label_2 = QtWidgets.QLabel(SendRecvDialog)
        self.label_2.setObjectName("label_2")
        self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
        self.spinBoxGain = QtWidgets.QSpinBox(SendRecvDialog)
        self.spinBoxGain.setMinimum(1)
        self.spinBoxGain.setProperty("value", 40)
        self.spinBoxGain.setObjectName("spinBoxGain")
        self.gridLayout.addWidget(self.spinBoxGain, 5, 1, 1, 1)
        self.label_5 = QtWidgets.QLabel(SendRecvDialog)
        self.label_5.setObjectName("label_5")
        self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1)
        self.lineEditIP = QtWidgets.QLineEdit(SendRecvDialog)
        self.lineEditIP.setObjectName("lineEditIP")
        self.gridLayout.addWidget(self.lineEditIP, 1, 1, 1, 1)
        self.labelIP = QtWidgets.QLabel(SendRecvDialog)
        self.labelIP.setObjectName("labelIP")
        self.gridLayout.addWidget(self.labelIP, 1, 0, 1, 1)
        self.spinBoxNRepeat = QtWidgets.QSpinBox(SendRecvDialog)
        self.spinBoxNRepeat.setMaximum(999999999)
        self.spinBoxNRepeat.setObjectName("spinBoxNRepeat")
        self.gridLayout.addWidget(self.spinBoxNRepeat, 6, 1, 1, 1)
        self.labelNRepeat = QtWidgets.QLabel(SendRecvDialog)
        self.labelNRepeat.setObjectName("labelNRepeat")
        self.gridLayout.addWidget(self.labelNRepeat, 6, 0, 1, 1)
        self.spinBoxFreq = KillerDoubleSpinBox(SendRecvDialog)
        self.spinBoxFreq.setMinimum(0.01)
        self.spinBoxFreq.setMaximum(1000000000000.0)
        self.spinBoxFreq.setObjectName("spinBoxFreq")
        self.gridLayout.addWidget(self.spinBoxFreq, 2, 1, 1, 1)
        self.spinBoxSampleRate = KillerDoubleSpinBox(SendRecvDialog)
        self.spinBoxSampleRate.setMinimum(0.01)
        self.spinBoxSampleRate.setMaximum(1000000000000.0)
        self.spinBoxSampleRate.setObjectName("spinBoxSampleRate")
        self.gridLayout.addWidget(self.spinBoxSampleRate, 3, 1, 1, 1)
        self.spinBoxBandwidth = KillerDoubleSpinBox(SendRecvDialog)
        self.spinBoxBandwidth.setMinimum(0.01)
        self.spinBoxBandwidth.setMaximum(1000000000000.0)
        self.spinBoxBandwidth.setObjectName("spinBoxBandwidth")
        self.gridLayout.addWidget(self.spinBoxBandwidth, 4, 1, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout)
        self.groupBox = QtWidgets.QGroupBox(SendRecvDialog)
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.progressBar = QtWidgets.QProgressBar(self.groupBox)
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName("progressBar")
        self.gridLayout_2.addWidget(self.progressBar, 14, 0, 1, 1)
        self.lSamplesSentText = QtWidgets.QLabel(self.groupBox)
        self.lSamplesSentText.setObjectName("lSamplesSentText")
        self.gridLayout_2.addWidget(self.lSamplesSentText, 13, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.gridLayout_2.addItem(spacerItem, 2, 0, 1, 1)
        self.lTimeText = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.lTimeText.setFont(font)
        self.lTimeText.setObjectName("lTimeText")
        self.gridLayout_2.addWidget(self.lTimeText, 7, 0, 1, 1)
        self.lSamplesCapturedText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCapturedText.sizePolicy().hasHeightForWidth())
        self.lSamplesCapturedText.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.lSamplesCapturedText.setFont(font)
        self.lSamplesCapturedText.setObjectName("lSamplesCapturedText")
        self.gridLayout_2.addWidget(self.lSamplesCapturedText, 3, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.btnStart = QtWidgets.QToolButton(self.groupBox)
        self.btnStart.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStart.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStart.setText("")
        icon = QtGui.QIcon.fromTheme("media-record")
        self.btnStart.setIcon(icon)
        self.btnStart.setIconSize(QtCore.QSize(32, 32))
        self.btnStart.setObjectName("btnStart")
        self.horizontalLayout.addWidget(self.btnStart)
        self.btnStop = QtWidgets.QToolButton(self.groupBox)
        self.btnStop.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStop.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStop.setText("")
        icon = QtGui.QIcon.fromTheme("media-playback-stop")
        self.btnStop.setIcon(icon)
        self.btnStop.setIconSize(QtCore.QSize(32, 32))
        self.btnStop.setObjectName("btnStop")
        self.horizontalLayout.addWidget(self.btnStop)
        self.btnSave = QtWidgets.QToolButton(self.groupBox)
        self.btnSave.setMinimumSize(QtCore.QSize(42, 42))
        self.btnSave.setMaximumSize(QtCore.QSize(42, 42))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setIconSize(QtCore.QSize(32, 32))
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnClear = QtWidgets.QToolButton(self.groupBox)
        self.btnClear.setMinimumSize(QtCore.QSize(42, 42))
        self.btnClear.setMaximumSize(QtCore.QSize(42, 42))
        self.btnClear.setText("")
        icon = QtGui.QIcon.fromTheme("view-refresh")
        self.btnClear.setIcon(icon)
        self.btnClear.setIconSize(QtCore.QSize(32, 32))
        self.btnClear.setObjectName("btnClear")
        self.horizontalLayout.addWidget(self.btnClear)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
        self.lSignalSizeText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSizeText.sizePolicy().hasHeightForWidth())
        self.lSignalSizeText.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.lSignalSizeText.setFont(font)
        self.lSignalSizeText.setObjectName("lSignalSizeText")
        self.gridLayout_2.addWidget(self.lSignalSizeText, 5, 0, 1, 1)
        self.lSamplesCaptured = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCaptured.sizePolicy().hasHeightForWidth())
        self.lSamplesCaptured.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSamplesCaptured.setFont(font)
        self.lSamplesCaptured.setAlignment(QtCore.Qt.AlignCenter)
        self.lSamplesCaptured.setObjectName("lSamplesCaptured")
        self.gridLayout_2.addWidget(self.lSamplesCaptured, 4, 0, 1, 2)
        self.lTime = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lTime.setFont(font)
        self.lTime.setAlignment(QtCore.Qt.AlignCenter)
        self.lTime.setObjectName("lTime")
        self.gridLayout_2.addWidget(self.lTime, 10, 0, 1, 2)
        self.lSignalSize = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSize.sizePolicy().hasHeightForWidth())
        self.lSignalSize.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSize.setFont(font)
        self.lSignalSize.setAlignment(QtCore.Qt.AlignCenter)
        self.lSignalSize.setObjectName("lSignalSize")
        self.gridLayout_2.addWidget(self.lSignalSize, 6, 0, 1, 2)
        self.lblRepeatText = QtWidgets.QLabel(self.groupBox)
        self.lblRepeatText.setObjectName("lblRepeatText")
        self.gridLayout_2.addWidget(self.lblRepeatText, 11, 0, 1, 1)
        self.lblCurrentRepeatValue = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lblCurrentRepeatValue.setFont(font)
        self.lblCurrentRepeatValue.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCurrentRepeatValue.setObjectName("lblCurrentRepeatValue")
        self.gridLayout_2.addWidget(self.lblCurrentRepeatValue, 12, 0, 1, 1)
        self.verticalLayout.addWidget(self.groupBox)
        self.txtEditErrors = QtWidgets.QTextEdit(SendRecvDialog)
        self.txtEditErrors.setReadOnly(True)
        self.txtEditErrors.setObjectName("txtEditErrors")
        self.verticalLayout.addWidget(self.txtEditErrors)
        self.gridLayout_3.addLayout(self.verticalLayout, 0, 0, 2, 1)
        self.graphicsView = LiveGraphicView(SendRecvDialog)
        self.graphicsView.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
        self.graphicsView.setObjectName("graphicsView")
        self.gridLayout_3.addWidget(self.graphicsView, 0, 1, 2, 1)
        self.label_6 = QtWidgets.QLabel(SendRecvDialog)
        self.label_6.setObjectName("label_6")
        self.gridLayout_3.addWidget(self.label_6, 0, 2, 1, 1)
        self.sliderYscale = QtWidgets.QSlider(SendRecvDialog)
        self.sliderYscale.setMinimum(1)
        self.sliderYscale.setMaximum(10)
        self.sliderYscale.setProperty("value", 5)
        self.sliderYscale.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale.setObjectName("sliderYscale")
        self.gridLayout_3.addWidget(self.sliderYscale, 1, 2, 1, 1)
        self.gridLayout_3.setColumnStretch(0, 1)
        self.gridLayout_3.setColumnStretch(1, 3)
        self.gridLayout_3.setColumnStretch(2, 1)

        self.retranslateUi(SendRecvDialog)
        QtCore.QMetaObject.connectSlotsByName(SendRecvDialog)
        SendRecvDialog.setTabOrder(self.cbDevice, self.spinBoxGain)
        SendRecvDialog.setTabOrder(self.spinBoxGain, self.graphicsView)

    def retranslateUi(self, SendRecvDialog):
        _translate = QtCore.QCoreApplication.translate
        SendRecvDialog.setWindowTitle(_translate("SendRecvDialog", "Record Signal"))
        self.label_3.setText(_translate("SendRecvDialog", "Device:"))
        self.cbDevice.setItemText(0, _translate("SendRecvDialog", "USRP"))
        self.cbDevice.setItemText(1, _translate("SendRecvDialog", "HackRF"))
        self.label_4.setText(_translate("SendRecvDialog", "Gain:"))
        self.label.setText(_translate("SendRecvDialog", "Frequency (Hz):"))
        self.label_2.setText(_translate("SendRecvDialog", "Sample rate (Sps):"))
        self.label_5.setText(_translate("SendRecvDialog", "Bandwidth (Hz):"))
        self.lineEditIP.setText(_translate("SendRecvDialog", "192.168.10.2"))
        self.labelIP.setText(_translate("SendRecvDialog", "IP address:"))
        self.spinBoxNRepeat.setSpecialValueText(_translate("SendRecvDialog", "Infinite"))
        self.labelNRepeat.setText(_translate("SendRecvDialog", "Repeat:"))
        self.progressBar.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.lSamplesSentText.setText(_translate("SendRecvDialog", "Samples sent:"))
        self.lTimeText.setText(_translate("SendRecvDialog", "Time (in seconds):"))
        self.lSamplesCapturedText.setText(_translate("SendRecvDialog", "Samples captured:"))
        self.btnStart.setToolTip(_translate("SendRecvDialog", "Record signal"))
        self.btnStop.setToolTip(_translate("SendRecvDialog", "Stop recording"))
        self.btnSave.setText(_translate("SendRecvDialog", "Save..."))
        self.btnClear.setToolTip(_translate("SendRecvDialog", "Clear"))
        self.lSignalSizeText.setText(_translate("SendRecvDialog", "Signal size (in MiB):"))
        self.lSamplesCaptured.setText(_translate("SendRecvDialog", "0"))
        self.lTime.setText(_translate("SendRecvDialog", "0"))
        self.lSignalSize.setText(_translate("SendRecvDialog", "0"))
        self.lblRepeatText.setText(_translate("SendRecvDialog", "Current iteration:"))
        self.lblCurrentRepeatValue.setText(_translate("SendRecvDialog", "0"))
        self.label_6.setText(_translate("SendRecvDialog", "Y-Scale"))
Exemplo n.º 5
0
class Ui_SendRecvDialog(object):
    def setupUi(self, SendRecvDialog):
        SendRecvDialog.setObjectName("SendRecvDialog")
        SendRecvDialog.setWindowModality(QtCore.Qt.NonModal)
        SendRecvDialog.resize(850, 886)
        SendRecvDialog.setMouseTracking(False)
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(SendRecvDialog)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.spinbox_sniff_Noise = QtWidgets.QDoubleSpinBox(SendRecvDialog)
        self.spinbox_sniff_Noise.setDecimals(4)
        self.spinbox_sniff_Noise.setMaximum(1.0)
        self.spinbox_sniff_Noise.setObjectName("spinbox_sniff_Noise")
        self.gridLayout.addWidget(self.spinbox_sniff_Noise, 10, 1, 1, 1)
        self.lineEditIP = QtWidgets.QLineEdit(SendRecvDialog)
        self.lineEditIP.setObjectName("lineEditIP")
        self.gridLayout.addWidget(self.lineEditIP, 1, 1, 1, 1)
        self.spinBoxGain = QtWidgets.QSpinBox(SendRecvDialog)
        self.spinBoxGain.setMinimum(1)
        self.spinBoxGain.setMaximum(500)
        self.spinBoxGain.setProperty("value", 40)
        self.spinBoxGain.setObjectName("spinBoxGain")
        self.gridLayout.addWidget(self.spinBoxGain, 6, 1, 1, 1)
        self.labelGain = QtWidgets.QLabel(SendRecvDialog)
        self.labelGain.setObjectName("labelGain")
        self.gridLayout.addWidget(self.labelGain, 6, 0, 1, 1)
        self.labelBandWidth = QtWidgets.QLabel(SendRecvDialog)
        self.labelBandWidth.setObjectName("labelBandWidth")
        self.gridLayout.addWidget(self.labelBandWidth, 5, 0, 1, 1)
        self.cbDevice = QtWidgets.QComboBox(SendRecvDialog)
        self.cbDevice.setObjectName("cbDevice")
        self.cbDevice.addItem("")
        self.cbDevice.addItem("")
        self.gridLayout.addWidget(self.cbDevice, 0, 1, 1, 1)
        self.label_3 = QtWidgets.QLabel(SendRecvDialog)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
        self.labelSampleRate = QtWidgets.QLabel(SendRecvDialog)
        self.labelSampleRate.setObjectName("labelSampleRate")
        self.gridLayout.addWidget(self.labelSampleRate, 4, 0, 1, 1)
        self.labelIP = QtWidgets.QLabel(SendRecvDialog)
        self.labelIP.setObjectName("labelIP")
        self.gridLayout.addWidget(self.labelIP, 1, 0, 1, 1)
        self.labelPort = QtWidgets.QLabel(SendRecvDialog)
        self.labelPort.setObjectName("labelPort")
        self.gridLayout.addWidget(self.labelPort, 2, 0, 1, 1)
        self.spinBoxPort = QtWidgets.QSpinBox(SendRecvDialog)
        self.spinBoxPort.setMinimum(1)
        self.spinBoxPort.setMaximum(65535)
        self.spinBoxPort.setProperty("value", 1234)
        self.spinBoxPort.setObjectName("spinBoxPort")
        self.gridLayout.addWidget(self.spinBoxPort, 2, 1, 1, 1)
        self.spinBoxNRepeat = QtWidgets.QSpinBox(SendRecvDialog)
        self.spinBoxNRepeat.setMaximum(999999999)
        self.spinBoxNRepeat.setObjectName("spinBoxNRepeat")
        self.gridLayout.addWidget(self.spinBoxNRepeat, 7, 1, 1, 1)
        self.labelFreq = QtWidgets.QLabel(SendRecvDialog)
        self.labelFreq.setObjectName("labelFreq")
        self.gridLayout.addWidget(self.labelFreq, 3, 0, 1, 1)
        self.labelNRepeat = QtWidgets.QLabel(SendRecvDialog)
        self.labelNRepeat.setObjectName("labelNRepeat")
        self.gridLayout.addWidget(self.labelNRepeat, 7, 0, 1, 1)
        self.spinBoxFreq = KillerDoubleSpinBox(SendRecvDialog)
        self.spinBoxFreq.setDecimals(3)
        self.spinBoxFreq.setMinimum(0.001)
        self.spinBoxFreq.setMaximum(1000000000000.0)
        self.spinBoxFreq.setObjectName("spinBoxFreq")
        self.gridLayout.addWidget(self.spinBoxFreq, 3, 1, 1, 1)
        self.spinBoxSampleRate = KillerDoubleSpinBox(SendRecvDialog)
        self.spinBoxSampleRate.setDecimals(3)
        self.spinBoxSampleRate.setMinimum(0.001)
        self.spinBoxSampleRate.setMaximum(1000000000000.0)
        self.spinBoxSampleRate.setObjectName("spinBoxSampleRate")
        self.gridLayout.addWidget(self.spinBoxSampleRate, 4, 1, 1, 1)
        self.spinBoxBandwidth = KillerDoubleSpinBox(SendRecvDialog)
        self.spinBoxBandwidth.setDecimals(3)
        self.spinBoxBandwidth.setMinimum(0.001)
        self.spinBoxBandwidth.setMaximum(1000000000000.0)
        self.spinBoxBandwidth.setObjectName("spinBoxBandwidth")
        self.gridLayout.addWidget(self.spinBoxBandwidth, 5, 1, 1, 1)
        self.btnLockBWSR = QtWidgets.QToolButton(SendRecvDialog)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icons/data/icons/lock.svg"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnLockBWSR.setIcon(icon)
        self.btnLockBWSR.setCheckable(True)
        self.btnLockBWSR.setChecked(True)
        self.btnLockBWSR.setObjectName("btnLockBWSR")
        self.gridLayout.addWidget(self.btnLockBWSR, 4, 2, 2, 1)
        self.spinbox_sniff_Center = QtWidgets.QDoubleSpinBox(SendRecvDialog)
        self.spinbox_sniff_Center.setDecimals(4)
        self.spinbox_sniff_Center.setMinimum(-3.14)
        self.spinbox_sniff_Center.setMaximum(3.14)
        self.spinbox_sniff_Center.setObjectName("spinbox_sniff_Center")
        self.gridLayout.addWidget(self.spinbox_sniff_Center, 9, 1, 1, 1)
        self.label_sniff_Noise = QtWidgets.QLabel(SendRecvDialog)
        self.label_sniff_Noise.setObjectName("label_sniff_Noise")
        self.gridLayout.addWidget(self.label_sniff_Noise, 10, 0, 1, 1)
        self.label_sniff_Center = QtWidgets.QLabel(SendRecvDialog)
        self.label_sniff_Center.setObjectName("label_sniff_Center")
        self.gridLayout.addWidget(self.label_sniff_Center, 9, 0, 1, 1)
        self.label_sniff_Modulation = QtWidgets.QLabel(SendRecvDialog)
        self.label_sniff_Modulation.setObjectName("label_sniff_Modulation")
        self.gridLayout.addWidget(self.label_sniff_Modulation, 12, 0, 1, 1)
        self.combox_sniff_Modulation = QtWidgets.QComboBox(SendRecvDialog)
        self.combox_sniff_Modulation.setObjectName("combox_sniff_Modulation")
        self.combox_sniff_Modulation.addItem("")
        self.combox_sniff_Modulation.addItem("")
        self.combox_sniff_Modulation.addItem("")
        self.gridLayout.addWidget(self.combox_sniff_Modulation, 12, 1, 1, 1)
        self.label_sniff_OutputFile = QtWidgets.QLabel(SendRecvDialog)
        self.label_sniff_OutputFile.setObjectName("label_sniff_OutputFile")
        self.gridLayout.addWidget(self.label_sniff_OutputFile, 14, 0, 1, 1)
        self.lineEdit_sniff_OutputFile = QtWidgets.QLineEdit(SendRecvDialog)
        self.lineEdit_sniff_OutputFile.setReadOnly(False)
        self.lineEdit_sniff_OutputFile.setProperty("clearButtonEnabled", True)
        self.lineEdit_sniff_OutputFile.setObjectName(
            "lineEdit_sniff_OutputFile")
        self.gridLayout.addWidget(self.lineEdit_sniff_OutputFile, 14, 1, 1, 1)
        self.label_sniff_BitLength = QtWidgets.QLabel(SendRecvDialog)
        self.label_sniff_BitLength.setObjectName("label_sniff_BitLength")
        self.gridLayout.addWidget(self.label_sniff_BitLength, 8, 0, 1, 1)
        self.spinbox_sniff_BitLen = QtWidgets.QSpinBox(SendRecvDialog)
        self.spinbox_sniff_BitLen.setMinimum(1)
        self.spinbox_sniff_BitLen.setMaximum(999999999)
        self.spinbox_sniff_BitLen.setObjectName("spinbox_sniff_BitLen")
        self.gridLayout.addWidget(self.spinbox_sniff_BitLen, 8, 1, 1, 1)
        self.label_sniff_Tolerance = QtWidgets.QLabel(SendRecvDialog)
        self.label_sniff_Tolerance.setObjectName("label_sniff_Tolerance")
        self.gridLayout.addWidget(self.label_sniff_Tolerance, 11, 0, 1, 1)
        self.spinbox_sniff_ErrorTolerance = QtWidgets.QSpinBox(SendRecvDialog)
        self.spinbox_sniff_ErrorTolerance.setMaximum(999999)
        self.spinbox_sniff_ErrorTolerance.setProperty("value", 5)
        self.spinbox_sniff_ErrorTolerance.setObjectName(
            "spinbox_sniff_ErrorTolerance")
        self.gridLayout.addWidget(self.spinbox_sniff_ErrorTolerance, 11, 1, 1,
                                  1)
        self.comboBox_sniff_viewtype = QtWidgets.QComboBox(SendRecvDialog)
        self.comboBox_sniff_viewtype.setObjectName("comboBox_sniff_viewtype")
        self.comboBox_sniff_viewtype.addItem("")
        self.comboBox_sniff_viewtype.addItem("")
        self.comboBox_sniff_viewtype.addItem("")
        self.gridLayout.addWidget(self.comboBox_sniff_viewtype, 12, 1, 1, 1)
        self.label_sniff_viewtype = QtWidgets.QLabel(SendRecvDialog)
        self.label_sniff_viewtype.setObjectName("label_sniff_viewtype")
        self.gridLayout.addWidget(self.label_sniff_viewtype, 12, 0, 1, 1)
        self.verticalLayout.addLayout(self.gridLayout)
        self.groupBox = QtWidgets.QGroupBox(SendRecvDialog)
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.progressBar = QtWidgets.QProgressBar(self.groupBox)
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName("progressBar")
        self.gridLayout_2.addWidget(self.progressBar, 14, 0, 1, 1)
        self.lSamplesSentText = QtWidgets.QLabel(self.groupBox)
        self.lSamplesSentText.setObjectName("lSamplesSentText")
        self.gridLayout_2.addWidget(self.lSamplesSentText, 13, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 10,
                                           QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        self.gridLayout_2.addItem(spacerItem, 2, 0, 1, 1)
        self.lTimeText = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.lTimeText.setFont(font)
        self.lTimeText.setObjectName("lTimeText")
        self.gridLayout_2.addWidget(self.lTimeText, 7, 0, 1, 1)
        self.lSamplesCapturedText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSamplesCapturedText.sizePolicy().hasHeightForWidth())
        self.lSamplesCapturedText.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.lSamplesCapturedText.setFont(font)
        self.lSamplesCapturedText.setObjectName("lSamplesCapturedText")
        self.gridLayout_2.addWidget(self.lSamplesCapturedText, 3, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.btnStart = QtWidgets.QToolButton(self.groupBox)
        self.btnStart.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStart.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStart.setText("")
        icon = QtGui.QIcon.fromTheme("media-record")
        self.btnStart.setIcon(icon)
        self.btnStart.setIconSize(QtCore.QSize(32, 32))
        self.btnStart.setObjectName("btnStart")
        self.horizontalLayout.addWidget(self.btnStart)
        self.btnStop = QtWidgets.QToolButton(self.groupBox)
        self.btnStop.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStop.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStop.setText("")
        icon = QtGui.QIcon.fromTheme("media-playback-stop")
        self.btnStop.setIcon(icon)
        self.btnStop.setIconSize(QtCore.QSize(32, 32))
        self.btnStop.setObjectName("btnStop")
        self.horizontalLayout.addWidget(self.btnStop)
        self.btnSave = QtWidgets.QToolButton(self.groupBox)
        self.btnSave.setMinimumSize(QtCore.QSize(42, 42))
        self.btnSave.setMaximumSize(QtCore.QSize(42, 42))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setIconSize(QtCore.QSize(32, 32))
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnClear = QtWidgets.QToolButton(self.groupBox)
        self.btnClear.setMinimumSize(QtCore.QSize(42, 42))
        self.btnClear.setMaximumSize(QtCore.QSize(42, 42))
        self.btnClear.setText("")
        icon = QtGui.QIcon.fromTheme("view-refresh")
        self.btnClear.setIcon(icon)
        self.btnClear.setIconSize(QtCore.QSize(32, 32))
        self.btnClear.setObjectName("btnClear")
        self.horizontalLayout.addWidget(self.btnClear)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
        self.lSignalSizeText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSignalSizeText.sizePolicy().hasHeightForWidth())
        self.lSignalSizeText.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(False)
        font.setWeight(50)
        self.lSignalSizeText.setFont(font)
        self.lSignalSizeText.setObjectName("lSignalSizeText")
        self.gridLayout_2.addWidget(self.lSignalSizeText, 5, 0, 1, 1)
        self.lSamplesCaptured = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSamplesCaptured.sizePolicy().hasHeightForWidth())
        self.lSamplesCaptured.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSamplesCaptured.setFont(font)
        self.lSamplesCaptured.setAlignment(QtCore.Qt.AlignCenter)
        self.lSamplesCaptured.setObjectName("lSamplesCaptured")
        self.gridLayout_2.addWidget(self.lSamplesCaptured, 4, 0, 1, 2)
        self.lTime = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lTime.setFont(font)
        self.lTime.setAlignment(QtCore.Qt.AlignCenter)
        self.lTime.setObjectName("lTime")
        self.gridLayout_2.addWidget(self.lTime, 10, 0, 1, 2)
        self.lSignalSize = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.lSignalSize.sizePolicy().hasHeightForWidth())
        self.lSignalSize.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSize.setFont(font)
        self.lSignalSize.setAlignment(QtCore.Qt.AlignCenter)
        self.lSignalSize.setObjectName("lSignalSize")
        self.gridLayout_2.addWidget(self.lSignalSize, 6, 0, 1, 2)
        self.lblRepeatText = QtWidgets.QLabel(self.groupBox)
        self.lblRepeatText.setObjectName("lblRepeatText")
        self.gridLayout_2.addWidget(self.lblRepeatText, 11, 0, 1, 1)
        self.lblCurrentRepeatValue = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lblCurrentRepeatValue.setFont(font)
        self.lblCurrentRepeatValue.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCurrentRepeatValue.setObjectName("lblCurrentRepeatValue")
        self.gridLayout_2.addWidget(self.lblCurrentRepeatValue, 12, 0, 1, 1)
        self.verticalLayout.addWidget(self.groupBox)
        self.txtEditErrors = QtWidgets.QTextEdit(SendRecvDialog)
        self.txtEditErrors.setReadOnly(True)
        self.txtEditErrors.setObjectName("txtEditErrors")
        self.verticalLayout.addWidget(self.txtEditErrors)
        self.horizontalLayout_3.addLayout(self.verticalLayout)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.stackedWidget = QtWidgets.QStackedWidget(SendRecvDialog)
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_receive = QtWidgets.QWidget()
        self.page_receive.setObjectName("page_receive")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_receive)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.graphicsViewReceive = LiveGraphicView(self.page_receive)
        self.graphicsViewReceive.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewReceive.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewReceive.setObjectName("graphicsViewReceive")
        self.verticalLayout_2.addWidget(self.graphicsViewReceive)
        self.stackedWidget.addWidget(self.page_receive)
        self.page_send = QtWidgets.QWidget()
        self.page_send.setObjectName("page_send")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_send)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.graphicsViewSend = EditableGraphicView(self.page_send)
        self.graphicsViewSend.setMouseTracking(True)
        self.graphicsViewSend.setRenderHints(QtGui.QPainter.Antialiasing
                                             | QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSend.setTransformationAnchor(
            QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setObjectName("graphicsViewSend")
        self.verticalLayout_3.addWidget(self.graphicsViewSend)
        self.label_7 = QtWidgets.QLabel(self.page_send)
        font = QtGui.QFont()
        font.setItalic(True)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.stackedWidget.addWidget(self.page_send)
        self.page = QtWidgets.QWidget()
        self.page.setObjectName("page")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.txtEd_sniff_Preview = QtWidgets.QPlainTextEdit(self.page)
        self.txtEd_sniff_Preview.setLineWrapMode(
            QtWidgets.QPlainTextEdit.NoWrap)
        self.txtEd_sniff_Preview.setReadOnly(True)
        self.txtEd_sniff_Preview.setMaximumBlockCount(100)
        self.txtEd_sniff_Preview.setObjectName("txtEd_sniff_Preview")
        self.verticalLayout_4.addWidget(self.txtEd_sniff_Preview)
        self.btnAccept = QtWidgets.QPushButton(self.page)
        self.btnAccept.setAutoDefault(False)
        self.btnAccept.setObjectName("btnAccept")
        self.verticalLayout_4.addWidget(self.btnAccept)
        self.stackedWidget.addWidget(self.page)
        self.horizontalLayout_2.addWidget(self.stackedWidget)
        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_y_scale = QtWidgets.QLabel(SendRecvDialog)
        self.label_y_scale.setObjectName("label_y_scale")
        self.verticalLayout_5.addWidget(self.label_y_scale)
        self.sliderYscale = QtWidgets.QSlider(SendRecvDialog)
        self.sliderYscale.setMinimum(1)
        self.sliderYscale.setMaximum(1000)
        self.sliderYscale.setProperty("value", 1)
        self.sliderYscale.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale.setTickInterval(1)
        self.sliderYscale.setObjectName("sliderYscale")
        self.verticalLayout_5.addWidget(self.sliderYscale)
        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
        self.horizontalLayout_3.addLayout(self.horizontalLayout_2)
        self.horizontalLayout_3.setStretch(0, 1)
        self.horizontalLayout_3.setStretch(1, 10)
        self.horizontalLayout_4.addLayout(self.horizontalLayout_3)

        self.retranslateUi(SendRecvDialog)
        self.stackedWidget.setCurrentIndex(2)
        QtCore.QMetaObject.connectSlotsByName(SendRecvDialog)
        SendRecvDialog.setTabOrder(self.cbDevice, self.lineEditIP)
        SendRecvDialog.setTabOrder(self.lineEditIP, self.spinBoxFreq)
        SendRecvDialog.setTabOrder(self.spinBoxFreq, self.spinBoxSampleRate)
        SendRecvDialog.setTabOrder(self.spinBoxSampleRate,
                                   self.spinBoxBandwidth)
        SendRecvDialog.setTabOrder(self.spinBoxBandwidth, self.spinBoxGain)
        SendRecvDialog.setTabOrder(self.spinBoxGain, self.spinBoxNRepeat)
        SendRecvDialog.setTabOrder(self.spinBoxNRepeat, self.btnStart)
        SendRecvDialog.setTabOrder(self.btnStart, self.btnStop)
        SendRecvDialog.setTabOrder(self.btnStop, self.btnSave)
        SendRecvDialog.setTabOrder(self.btnSave, self.btnClear)
        SendRecvDialog.setTabOrder(self.btnClear, self.sliderYscale)
        SendRecvDialog.setTabOrder(self.sliderYscale, self.txtEditErrors)

    def retranslateUi(self, SendRecvDialog):
        _translate = QtCore.QCoreApplication.translate
        SendRecvDialog.setWindowTitle(
            _translate("SendRecvDialog", "Record Signal"))
        self.lineEditIP.setText(_translate("SendRecvDialog", "192.168.10.2"))
        self.labelGain.setText(_translate("SendRecvDialog", "Gain:"))
        self.labelBandWidth.setText(
            _translate("SendRecvDialog", "Bandwidth (Hz):"))
        self.cbDevice.setItemText(0, _translate("SendRecvDialog", "USRP"))
        self.cbDevice.setItemText(1, _translate("SendRecvDialog", "HackRF"))
        self.label_3.setText(_translate("SendRecvDialog", "Device:"))
        self.labelSampleRate.setText(
            _translate("SendRecvDialog", "Sample rate (Sps):"))
        self.labelIP.setText(_translate("SendRecvDialog", "IP address:"))
        self.labelPort.setText(_translate("SendRecvDialog", "Port number:"))
        self.spinBoxNRepeat.setSpecialValueText(
            _translate("SendRecvDialog", "Infinite"))
        self.labelFreq.setText(_translate("SendRecvDialog", "Frequency (Hz):"))
        self.labelNRepeat.setText(_translate("SendRecvDialog", "Repeat:"))
        self.btnLockBWSR.setText(_translate("SendRecvDialog", "..."))
        self.label_sniff_Noise.setText(_translate("SendRecvDialog", "Noise:"))
        self.label_sniff_Center.setText(_translate("SendRecvDialog",
                                                   "Center:"))
        self.label_sniff_Modulation.setText(
            _translate("SendRecvDialog", "Modulation:"))
        self.combox_sniff_Modulation.setItemText(
            0, _translate("SendRecvDialog", "ASK"))
        self.combox_sniff_Modulation.setItemText(
            1, _translate("SendRecvDialog", "FSK"))
        self.combox_sniff_Modulation.setItemText(
            2, _translate("SendRecvDialog", "PSK"))
        self.label_sniff_OutputFile.setText(
            _translate("SendRecvDialog", "Output file:"))
        self.lineEdit_sniff_OutputFile.setPlaceholderText(
            _translate("SendRecvDialog", "None"))
        self.label_sniff_BitLength.setText(
            _translate("SendRecvDialog", "Bit Length:"))
        self.label_sniff_Tolerance.setText(
            _translate("SendRecvDialog", "Error Tolerance:"))
        self.comboBox_sniff_viewtype.setItemText(
            0, _translate("SendRecvDialog", "Bit"))
        self.comboBox_sniff_viewtype.setItemText(
            1, _translate("SendRecvDialog", "Hex"))
        self.comboBox_sniff_viewtype.setItemText(
            2, _translate("SendRecvDialog", "ASCII"))
        self.label_sniff_viewtype.setText(_translate("SendRecvDialog",
                                                     "View:"))
        self.progressBar.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.lSamplesSentText.setText(
            _translate("SendRecvDialog", "Samples sent:"))
        self.lTimeText.setText(
            _translate("SendRecvDialog", "Time (in seconds):"))
        self.lSamplesCapturedText.setText(
            _translate("SendRecvDialog", "Samples captured:"))
        self.btnStart.setToolTip(_translate("SendRecvDialog", "Record signal"))
        self.btnStop.setToolTip(_translate("SendRecvDialog", "Stop recording"))
        self.btnSave.setText(_translate("SendRecvDialog", "Save..."))
        self.btnClear.setToolTip(_translate("SendRecvDialog", "Clear"))
        self.lSignalSizeText.setText(
            _translate("SendRecvDialog", "Signal size (in MiB):"))
        self.lSamplesCaptured.setText(_translate("SendRecvDialog", "0"))
        self.lTime.setText(_translate("SendRecvDialog", "0"))
        self.lSignalSize.setText(_translate("SendRecvDialog", "0"))
        self.lblRepeatText.setText(
            _translate("SendRecvDialog", "Current iteration:"))
        self.lblCurrentRepeatValue.setText(_translate("SendRecvDialog", "0"))
        self.label_7.setText(
            _translate("SendRecvDialog",
                       "Hint: You can edit the raw signal before sending."))
        self.btnAccept.setText(_translate("SendRecvDialog", "Accept data"))
        self.label_y_scale.setText(_translate("SendRecvDialog", "Y-Scale"))
Exemplo n.º 6
0
class Ui_SendRecvDialog(object):
    def setupUi(self, SendRecvDialog):
        SendRecvDialog.setObjectName("SendRecvDialog")
        SendRecvDialog.setWindowModality(QtCore.Qt.NonModal)
        SendRecvDialog.resize(1246, 1123)
        SendRecvDialog.setMouseTracking(False)
        self.verticalLayout = QtWidgets.QVBoxLayout(SendRecvDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter = QtWidgets.QSplitter(SendRecvDialog)
        self.splitter.setStyleSheet("QSplitter::handle:horizontal {\n"
"margin: 4px 0px;\n"
"    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n"
"stop:0 rgba(255, 255, 255, 0), \n"
"stop:0.5 rgba(100, 100, 100, 100), \n"
"stop:1 rgba(255, 255, 255, 0));\n"
"image: url(:/icons/icons/splitter_handle_vertical.svg);\n"
"}")
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.scrollArea = QtWidgets.QScrollArea(self.splitter)
        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 621, 1101))
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_2)
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.groupBox = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_2)
        self.groupBox.setStyleSheet("QGroupBox\n"
"{\n"
" border: none;\n"
"}")
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.progressBarMessage = QtWidgets.QProgressBar(self.groupBox)
        self.progressBarMessage.setProperty("value", 0)
        self.progressBarMessage.setObjectName("progressBarMessage")
        self.gridLayout_2.addWidget(self.progressBarMessage, 19, 0, 1, 1)
        self.labelCurrentMessage = QtWidgets.QLabel(self.groupBox)
        self.labelCurrentMessage.setObjectName("labelCurrentMessage")
        self.gridLayout_2.addWidget(self.labelCurrentMessage, 18, 0, 1, 1)
        self.lReceiveBufferFullText = QtWidgets.QLabel(self.groupBox)
        self.lReceiveBufferFullText.setObjectName("lReceiveBufferFullText")
        self.gridLayout_2.addWidget(self.lReceiveBufferFullText, 7, 0, 1, 1)
        self.progressBarSample = QtWidgets.QProgressBar(self.groupBox)
        self.progressBarSample.setProperty("value", 0)
        self.progressBarSample.setObjectName("progressBarSample")
        self.gridLayout_2.addWidget(self.progressBarSample, 21, 0, 1, 1)
        self.lSamplesSentText = QtWidgets.QLabel(self.groupBox)
        self.lSamplesSentText.setObjectName("lSamplesSentText")
        self.gridLayout_2.addWidget(self.lSamplesSentText, 20, 0, 1, 1)
        self.lTimeText = QtWidgets.QLabel(self.groupBox)
        self.lTimeText.setObjectName("lTimeText")
        self.gridLayout_2.addWidget(self.lTimeText, 12, 0, 1, 1)
        self.lSamplesCapturedText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCapturedText.sizePolicy().hasHeightForWidth())
        self.lSamplesCapturedText.setSizePolicy(sizePolicy)
        self.lSamplesCapturedText.setObjectName("lSamplesCapturedText")
        self.gridLayout_2.addWidget(self.lSamplesCapturedText, 5, 0, 1, 1)
        self.lSignalSizeText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSizeText.sizePolicy().hasHeightForWidth())
        self.lSignalSizeText.setSizePolicy(sizePolicy)
        self.lSignalSizeText.setObjectName("lSignalSizeText")
        self.gridLayout_2.addWidget(self.lSignalSizeText, 9, 0, 1, 1)
        self.lSamplesCaptured = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCaptured.sizePolicy().hasHeightForWidth())
        self.lSamplesCaptured.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSamplesCaptured.setFont(font)
        self.lSamplesCaptured.setAlignment(QtCore.Qt.AlignCenter)
        self.lSamplesCaptured.setObjectName("lSamplesCaptured")
        self.gridLayout_2.addWidget(self.lSamplesCaptured, 6, 0, 1, 2)
        self.lTime = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lTime.setFont(font)
        self.lTime.setAlignment(QtCore.Qt.AlignCenter)
        self.lTime.setObjectName("lTime")
        self.gridLayout_2.addWidget(self.lTime, 15, 0, 1, 2)
        self.lSignalSize = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSize.sizePolicy().hasHeightForWidth())
        self.lSignalSize.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSize.setFont(font)
        self.lSignalSize.setAlignment(QtCore.Qt.AlignCenter)
        self.lSignalSize.setObjectName("lSignalSize")
        self.gridLayout_2.addWidget(self.lSignalSize, 11, 0, 1, 2)
        self.lblRepeatText = QtWidgets.QLabel(self.groupBox)
        self.lblRepeatText.setObjectName("lblRepeatText")
        self.gridLayout_2.addWidget(self.lblRepeatText, 16, 0, 1, 1)
        self.lblCurrentRepeatValue = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lblCurrentRepeatValue.setFont(font)
        self.lblCurrentRepeatValue.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCurrentRepeatValue.setObjectName("lblCurrentRepeatValue")
        self.gridLayout_2.addWidget(self.lblCurrentRepeatValue, 17, 0, 1, 1)
        self.labelReceiveBufferFull = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.labelReceiveBufferFull.sizePolicy().hasHeightForWidth())
        self.labelReceiveBufferFull.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.labelReceiveBufferFull.setFont(font)
        self.labelReceiveBufferFull.setAlignment(QtCore.Qt.AlignCenter)
        self.labelReceiveBufferFull.setObjectName("labelReceiveBufferFull")
        self.gridLayout_2.addWidget(self.labelReceiveBufferFull, 8, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.btnStart = QtWidgets.QToolButton(self.groupBox)
        self.btnStart.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("media-record")
        self.btnStart.setIcon(icon)
        self.btnStart.setIconSize(QtCore.QSize(32, 32))
        self.btnStart.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnStart.setObjectName("btnStart")
        self.horizontalLayout.addWidget(self.btnStart)
        self.btnStop = QtWidgets.QToolButton(self.groupBox)
        self.btnStop.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("media-playback-stop")
        self.btnStop.setIcon(icon)
        self.btnStop.setIconSize(QtCore.QSize(32, 32))
        self.btnStop.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnStop.setObjectName("btnStop")
        self.horizontalLayout.addWidget(self.btnStop)
        self.btnSave = QtWidgets.QToolButton(self.groupBox)
        self.btnSave.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setIconSize(QtCore.QSize(32, 32))
        self.btnSave.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnClear = QtWidgets.QToolButton(self.groupBox)
        self.btnClear.setMinimumSize(QtCore.QSize(64, 64))
        icon = QtGui.QIcon.fromTheme("view-refresh")
        self.btnClear.setIcon(icon)
        self.btnClear.setIconSize(QtCore.QSize(32, 32))
        self.btnClear.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
        self.btnClear.setObjectName("btnClear")
        self.horizontalLayout.addWidget(self.btnClear)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
        spacerItem2 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.gridLayout_2.addItem(spacerItem2, 2, 0, 1, 1)
        self.verticalLayout_8.addWidget(self.groupBox)
        self.txtEditErrors = QtWidgets.QTextEdit(self.scrollAreaWidgetContents_2)
        self.txtEditErrors.setReadOnly(True)
        self.txtEditErrors.setObjectName("txtEditErrors")
        self.verticalLayout_8.addWidget(self.txtEditErrors)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget)
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_receive = QtWidgets.QWidget()
        self.page_receive.setObjectName("page_receive")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_receive)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.graphicsViewReceive = LiveGraphicView(self.page_receive)
        self.graphicsViewReceive.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewReceive.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewReceive.setObjectName("graphicsViewReceive")
        self.verticalLayout_2.addWidget(self.graphicsViewReceive)
        self.stackedWidget.addWidget(self.page_receive)
        self.page_send = QtWidgets.QWidget()
        self.page_send.setObjectName("page_send")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_send)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.graphicsViewSend = EditableGraphicView(self.page_send)
        self.graphicsViewSend.setMouseTracking(True)
        self.graphicsViewSend.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSend.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setObjectName("graphicsViewSend")
        self.verticalLayout_3.addWidget(self.graphicsViewSend)
        self.label_7 = QtWidgets.QLabel(self.page_send)
        font = QtGui.QFont()
        font.setItalic(True)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.stackedWidget.addWidget(self.page_send)
        self.page_continuous_send = QtWidgets.QWidget()
        self.page_continuous_send.setObjectName("page_continuous_send")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.page_continuous_send)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.graphicsViewContinuousSend = LiveGraphicView(self.page_continuous_send)
        self.graphicsViewContinuousSend.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewContinuousSend.setObjectName("graphicsViewContinuousSend")
        self.verticalLayout_6.addWidget(self.graphicsViewContinuousSend)
        self.stackedWidget.addWidget(self.page_continuous_send)
        self.page_spectrum = QtWidgets.QWidget()
        self.page_spectrum.setObjectName("page_spectrum")
        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.page_spectrum)
        self.verticalLayout_7.setObjectName("verticalLayout_7")
        self.graphicsViewFFT = LiveGraphicView(self.page_spectrum)
        self.graphicsViewFFT.setObjectName("graphicsViewFFT")
        self.verticalLayout_7.addWidget(self.graphicsViewFFT)
        self.graphicsViewSpectrogram = QtWidgets.QGraphicsView(self.page_spectrum)
        self.graphicsViewSpectrogram.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewSpectrogram.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewSpectrogram.setRenderHints(QtGui.QPainter.SmoothPixmapTransform|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSpectrogram.setCacheMode(QtWidgets.QGraphicsView.CacheNone)
        self.graphicsViewSpectrogram.setViewportUpdateMode(QtWidgets.QGraphicsView.MinimalViewportUpdate)
        self.graphicsViewSpectrogram.setObjectName("graphicsViewSpectrogram")
        self.verticalLayout_7.addWidget(self.graphicsViewSpectrogram)
        self.verticalLayout_7.setStretch(0, 1)
        self.verticalLayout_7.setStretch(1, 1)
        self.stackedWidget.addWidget(self.page_spectrum)
        self.page_sniff = QtWidgets.QWidget()
        self.page_sniff.setObjectName("page_sniff")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page_sniff)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.graphicsView_sniff_Preview = LiveGraphicView(self.page_sniff)
        self.graphicsView_sniff_Preview.setObjectName("graphicsView_sniff_Preview")
        self.verticalLayout_4.addWidget(self.graphicsView_sniff_Preview)
        self.txtEd_sniff_Preview = QtWidgets.QPlainTextEdit(self.page_sniff)
        self.txtEd_sniff_Preview.setLineWrapMode(QtWidgets.QPlainTextEdit.NoWrap)
        self.txtEd_sniff_Preview.setReadOnly(True)
        self.txtEd_sniff_Preview.setMaximumBlockCount(100)
        self.txtEd_sniff_Preview.setObjectName("txtEd_sniff_Preview")
        self.verticalLayout_4.addWidget(self.txtEd_sniff_Preview)
        self.btnAccept = QtWidgets.QPushButton(self.page_sniff)
        self.btnAccept.setAutoDefault(False)
        self.btnAccept.setObjectName("btnAccept")
        self.verticalLayout_4.addWidget(self.btnAccept)
        self.stackedWidget.addWidget(self.page_sniff)
        self.horizontalLayout_2.addWidget(self.stackedWidget)
        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_y_scale = QtWidgets.QLabel(self.layoutWidget)
        self.label_y_scale.setObjectName("label_y_scale")
        self.verticalLayout_5.addWidget(self.label_y_scale)
        self.sliderYscale = QtWidgets.QSlider(self.layoutWidget)
        self.sliderYscale.setMinimum(1)
        self.sliderYscale.setMaximum(1000)
        self.sliderYscale.setProperty("value", 1)
        self.sliderYscale.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale.setTickInterval(1)
        self.sliderYscale.setObjectName("sliderYscale")
        self.verticalLayout_5.addWidget(self.sliderYscale)
        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
        self.verticalLayout.addWidget(self.splitter)

        self.retranslateUi(SendRecvDialog)
        self.stackedWidget.setCurrentIndex(4)
        SendRecvDialog.setTabOrder(self.btnStart, self.btnStop)
        SendRecvDialog.setTabOrder(self.btnStop, self.btnSave)
        SendRecvDialog.setTabOrder(self.btnSave, self.btnClear)
        SendRecvDialog.setTabOrder(self.btnClear, self.txtEd_sniff_Preview)
        SendRecvDialog.setTabOrder(self.txtEd_sniff_Preview, self.sliderYscale)
        SendRecvDialog.setTabOrder(self.sliderYscale, self.txtEditErrors)
        SendRecvDialog.setTabOrder(self.txtEditErrors, self.graphicsViewSend)
        SendRecvDialog.setTabOrder(self.graphicsViewSend, self.graphicsViewReceive)
        SendRecvDialog.setTabOrder(self.graphicsViewReceive, self.btnAccept)

    def retranslateUi(self, SendRecvDialog):
        _translate = QtCore.QCoreApplication.translate
        SendRecvDialog.setWindowTitle(_translate("SendRecvDialog", "Record Signal"))
        self.progressBarMessage.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.labelCurrentMessage.setText(_translate("SendRecvDialog", "Current message:"))
        self.lReceiveBufferFullText.setText(_translate("SendRecvDialog", "Receive buffer full:"))
        self.progressBarSample.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.lSamplesSentText.setText(_translate("SendRecvDialog", "Current sample:"))
        self.lTimeText.setText(_translate("SendRecvDialog", "Time (in seconds):"))
        self.lSamplesCapturedText.setText(_translate("SendRecvDialog", "Samples captured:"))
        self.lSignalSizeText.setText(_translate("SendRecvDialog", "Signal size (in MiB):"))
        self.lSamplesCaptured.setText(_translate("SendRecvDialog", "0"))
        self.lTime.setText(_translate("SendRecvDialog", "0"))
        self.lSignalSize.setText(_translate("SendRecvDialog", "0"))
        self.lblRepeatText.setText(_translate("SendRecvDialog", "Current iteration:"))
        self.lblCurrentRepeatValue.setText(_translate("SendRecvDialog", "0"))
        self.labelReceiveBufferFull.setText(_translate("SendRecvDialog", "0%"))
        self.btnStart.setToolTip(_translate("SendRecvDialog", "Record signal"))
        self.btnStart.setText(_translate("SendRecvDialog", "Start"))
        self.btnStop.setToolTip(_translate("SendRecvDialog", "Stop recording"))
        self.btnStop.setText(_translate("SendRecvDialog", "Stop"))
        self.btnSave.setText(_translate("SendRecvDialog", "Save..."))
        self.btnClear.setToolTip(_translate("SendRecvDialog", "Clear"))
        self.btnClear.setText(_translate("SendRecvDialog", "Clear"))
        self.label_7.setText(_translate("SendRecvDialog", "Hint: You can edit the raw signal before sending."))
        self.btnAccept.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>Accept the sniffed data and load it into <span style=\" font-weight:600;\">Analysis</span> tab.</p></body></html>"))
        self.btnAccept.setText(_translate("SendRecvDialog", "Accept data (Open in Analysis)"))
        self.label_y_scale.setText(_translate("SendRecvDialog", "Y-Scale"))
Exemplo n.º 7
0
class Ui_SendRecvDialog(object):
    def setupUi(self, SendRecvDialog):
        SendRecvDialog.setObjectName("SendRecvDialog")
        SendRecvDialog.setWindowModality(QtCore.Qt.NonModal)
        SendRecvDialog.resize(921, 716)
        SendRecvDialog.setMouseTracking(False)
        self.verticalLayout = QtWidgets.QVBoxLayout(SendRecvDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.splitter = QtWidgets.QSplitter(SendRecvDialog)
        self.splitter.setStyleSheet("QSplitter::handle:horizontal {\n"
"margin: 4px 0px;\n"
"    background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, \n"
"stop:0 rgba(255, 255, 255, 0), \n"
"stop:0.5 rgba(100, 100, 100, 100), \n"
"stop:1 rgba(255, 255, 255, 0));\n"
"image: url(:/icons/data/icons/splitter_handle_vertical.svg);\n"
"}")
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.scrollArea = QtWidgets.QScrollArea(self.splitter)
        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 426, 1238))
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2)
        self.gridLayout.setContentsMargins(0, 0, 0, 0)
        self.gridLayout.setObjectName("gridLayout")
        self.label_3 = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 0, 0, 1, 1)
        self.labelDeviceArgs = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelDeviceArgs.setToolTipDuration(-1)
        self.labelDeviceArgs.setStyleSheet("")
        self.labelDeviceArgs.setObjectName("labelDeviceArgs")
        self.gridLayout.addWidget(self.labelDeviceArgs, 1, 0, 1, 1)
        self.lineEditDeviceArgs = QtWidgets.QLineEdit(self.scrollAreaWidgetContents_2)
        self.lineEditDeviceArgs.setObjectName("lineEditDeviceArgs")
        self.gridLayout.addWidget(self.lineEditDeviceArgs, 1, 1, 1, 2)
        self.labelChannel = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelChannel.setObjectName("labelChannel")
        self.gridLayout.addWidget(self.labelChannel, 2, 0, 1, 1)
        self.labelAntenna = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelAntenna.setObjectName("labelAntenna")
        self.gridLayout.addWidget(self.labelAntenna, 3, 0, 1, 1)
        self.labelIP = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelIP.setObjectName("labelIP")
        self.gridLayout.addWidget(self.labelIP, 4, 0, 1, 1)
        self.lineEditIP = QtWidgets.QLineEdit(self.scrollAreaWidgetContents_2)
        self.lineEditIP.setObjectName("lineEditIP")
        self.gridLayout.addWidget(self.lineEditIP, 4, 1, 1, 2)
        self.labelPort = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelPort.setObjectName("labelPort")
        self.gridLayout.addWidget(self.labelPort, 5, 0, 1, 1)
        self.labelFreq = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelFreq.setObjectName("labelFreq")
        self.gridLayout.addWidget(self.labelFreq, 6, 0, 1, 1)
        self.spinBoxFreq = KillerDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxFreq.setDecimals(3)
        self.spinBoxFreq.setMinimum(0.001)
        self.spinBoxFreq.setMaximum(1000000000000.0)
        self.spinBoxFreq.setObjectName("spinBoxFreq")
        self.gridLayout.addWidget(self.spinBoxFreq, 6, 1, 1, 2)
        self.labelSampleRate = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelSampleRate.setObjectName("labelSampleRate")
        self.gridLayout.addWidget(self.labelSampleRate, 7, 0, 1, 1)
        self.spinBoxSampleRate = KillerDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxSampleRate.setDecimals(3)
        self.spinBoxSampleRate.setMinimum(0.001)
        self.spinBoxSampleRate.setMaximum(1000000000000.0)
        self.spinBoxSampleRate.setObjectName("spinBoxSampleRate")
        self.gridLayout.addWidget(self.spinBoxSampleRate, 7, 1, 1, 2)
        self.btnLockBWSR = QtWidgets.QToolButton(self.scrollAreaWidgetContents_2)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icons/data/icons/lock.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btnLockBWSR.setIcon(icon)
        self.btnLockBWSR.setCheckable(True)
        self.btnLockBWSR.setChecked(True)
        self.btnLockBWSR.setObjectName("btnLockBWSR")
        self.gridLayout.addWidget(self.btnLockBWSR, 7, 3, 2, 1)
        self.labelBandwidth = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelBandwidth.setObjectName("labelBandwidth")
        self.gridLayout.addWidget(self.labelBandwidth, 8, 0, 1, 1)
        self.spinBoxBandwidth = KillerDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxBandwidth.setDecimals(3)
        self.spinBoxBandwidth.setMinimum(0.001)
        self.spinBoxBandwidth.setMaximum(1000000000000.0)
        self.spinBoxBandwidth.setObjectName("spinBoxBandwidth")
        self.gridLayout.addWidget(self.spinBoxBandwidth, 8, 1, 1, 2)
        self.labelGain = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelGain.setObjectName("labelGain")
        self.gridLayout.addWidget(self.labelGain, 9, 0, 1, 1)
        self.sliderGain = QtWidgets.QSlider(self.scrollAreaWidgetContents_2)
        self.sliderGain.setMaximum(100)
        self.sliderGain.setSingleStep(1)
        self.sliderGain.setOrientation(QtCore.Qt.Horizontal)
        self.sliderGain.setObjectName("sliderGain")
        self.gridLayout.addWidget(self.sliderGain, 9, 1, 1, 1)
        self.spinBoxGain = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.spinBoxGain.sizePolicy().hasHeightForWidth())
        self.spinBoxGain.setSizePolicy(sizePolicy)
        self.spinBoxGain.setMinimum(0)
        self.spinBoxGain.setMaximum(99)
        self.spinBoxGain.setProperty("value", 40)
        self.spinBoxGain.setObjectName("spinBoxGain")
        self.gridLayout.addWidget(self.spinBoxGain, 9, 2, 1, 1)
        self.labelIFGain = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelIFGain.setObjectName("labelIFGain")
        self.gridLayout.addWidget(self.labelIFGain, 10, 0, 1, 1)
        self.sliderIFGain = QtWidgets.QSlider(self.scrollAreaWidgetContents_2)
        self.sliderIFGain.setOrientation(QtCore.Qt.Horizontal)
        self.sliderIFGain.setObjectName("sliderIFGain")
        self.gridLayout.addWidget(self.sliderIFGain, 10, 1, 1, 1)
        self.spinBoxIFGain = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.spinBoxIFGain.sizePolicy().hasHeightForWidth())
        self.spinBoxIFGain.setSizePolicy(sizePolicy)
        self.spinBoxIFGain.setObjectName("spinBoxIFGain")
        self.gridLayout.addWidget(self.spinBoxIFGain, 10, 2, 1, 1)
        self.labelBasebandGain = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelBasebandGain.setObjectName("labelBasebandGain")
        self.gridLayout.addWidget(self.labelBasebandGain, 11, 0, 1, 1)
        self.sliderBasebandGain = QtWidgets.QSlider(self.scrollAreaWidgetContents_2)
        self.sliderBasebandGain.setSliderPosition(0)
        self.sliderBasebandGain.setOrientation(QtCore.Qt.Horizontal)
        self.sliderBasebandGain.setInvertedAppearance(False)
        self.sliderBasebandGain.setInvertedControls(False)
        self.sliderBasebandGain.setTickPosition(QtWidgets.QSlider.NoTicks)
        self.sliderBasebandGain.setTickInterval(0)
        self.sliderBasebandGain.setObjectName("sliderBasebandGain")
        self.gridLayout.addWidget(self.sliderBasebandGain, 11, 1, 1, 1)
        self.spinBoxBasebandGain = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.spinBoxBasebandGain.sizePolicy().hasHeightForWidth())
        self.spinBoxBasebandGain.setSizePolicy(sizePolicy)
        self.spinBoxBasebandGain.setObjectName("spinBoxBasebandGain")
        self.gridLayout.addWidget(self.spinBoxBasebandGain, 11, 2, 1, 1)
        self.labelFreqCorrection = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelFreqCorrection.setObjectName("labelFreqCorrection")
        self.gridLayout.addWidget(self.labelFreqCorrection, 12, 0, 1, 1)
        self.labelDirectSampling = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelDirectSampling.setObjectName("labelDirectSampling")
        self.gridLayout.addWidget(self.labelDirectSampling, 13, 0, 1, 1)
        self.labelNRepeat = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.labelNRepeat.setObjectName("labelNRepeat")
        self.gridLayout.addWidget(self.labelNRepeat, 14, 0, 1, 1)
        self.spinBoxNRepeat = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxNRepeat.setMaximum(999999999)
        self.spinBoxNRepeat.setObjectName("spinBoxNRepeat")
        self.gridLayout.addWidget(self.spinBoxNRepeat, 14, 1, 1, 2)
        self.label_sniff_Noise = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_Noise.setObjectName("label_sniff_Noise")
        self.gridLayout.addWidget(self.label_sniff_Noise, 15, 0, 1, 1)
        self.label_sniff_Center = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_Center.setObjectName("label_sniff_Center")
        self.gridLayout.addWidget(self.label_sniff_Center, 16, 0, 1, 1)
        self.label_sniff_BitLength = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_BitLength.setObjectName("label_sniff_BitLength")
        self.gridLayout.addWidget(self.label_sniff_BitLength, 17, 0, 1, 1)
        self.spinbox_sniff_BitLen = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_BitLen.setMinimum(1)
        self.spinbox_sniff_BitLen.setMaximum(999999999)
        self.spinbox_sniff_BitLen.setObjectName("spinbox_sniff_BitLen")
        self.gridLayout.addWidget(self.spinbox_sniff_BitLen, 17, 1, 1, 2)
        self.label_sniff_Tolerance = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_Tolerance.setObjectName("label_sniff_Tolerance")
        self.gridLayout.addWidget(self.label_sniff_Tolerance, 18, 0, 1, 1)
        self.label_sniff_Modulation = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_Modulation.setObjectName("label_sniff_Modulation")
        self.gridLayout.addWidget(self.label_sniff_Modulation, 19, 0, 1, 1)
        self.label_sniff_viewtype = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_viewtype.setObjectName("label_sniff_viewtype")
        self.gridLayout.addWidget(self.label_sniff_viewtype, 20, 0, 1, 1)
        self.label_sniff_encoding = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_encoding.setObjectName("label_sniff_encoding")
        self.gridLayout.addWidget(self.label_sniff_encoding, 21, 0, 1, 1)
        self.label_sniff_OutputFile = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
        self.label_sniff_OutputFile.setObjectName("label_sniff_OutputFile")
        self.gridLayout.addWidget(self.label_sniff_OutputFile, 22, 0, 1, 1)
        self.lineEdit_sniff_OutputFile = QtWidgets.QLineEdit(self.scrollAreaWidgetContents_2)
        self.lineEdit_sniff_OutputFile.setReadOnly(False)
        self.lineEdit_sniff_OutputFile.setClearButtonEnabled(True)
        self.lineEdit_sniff_OutputFile.setObjectName("lineEdit_sniff_OutputFile")
        self.gridLayout.addWidget(self.lineEdit_sniff_OutputFile, 22, 1, 1, 2)
        self.groupBox = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_2)
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.lReceiveBufferFullText = QtWidgets.QLabel(self.groupBox)
        self.lReceiveBufferFullText.setObjectName("lReceiveBufferFullText")
        self.gridLayout_2.addWidget(self.lReceiveBufferFullText, 7, 0, 1, 1)
        self.progressBar = QtWidgets.QProgressBar(self.groupBox)
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName("progressBar")
        self.gridLayout_2.addWidget(self.progressBar, 19, 0, 1, 1)
        self.lSamplesSentText = QtWidgets.QLabel(self.groupBox)
        self.lSamplesSentText.setObjectName("lSamplesSentText")
        self.gridLayout_2.addWidget(self.lSamplesSentText, 18, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.gridLayout_2.addItem(spacerItem, 2, 0, 1, 1)
        self.lTimeText = QtWidgets.QLabel(self.groupBox)
        self.lTimeText.setObjectName("lTimeText")
        self.gridLayout_2.addWidget(self.lTimeText, 12, 0, 1, 1)
        self.lSamplesCapturedText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCapturedText.sizePolicy().hasHeightForWidth())
        self.lSamplesCapturedText.setSizePolicy(sizePolicy)
        self.lSamplesCapturedText.setObjectName("lSamplesCapturedText")
        self.gridLayout_2.addWidget(self.lSamplesCapturedText, 5, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.btnStart = QtWidgets.QToolButton(self.groupBox)
        self.btnStart.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStart.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStart.setText("")
        icon = QtGui.QIcon.fromTheme("media-record")
        self.btnStart.setIcon(icon)
        self.btnStart.setIconSize(QtCore.QSize(32, 32))
        self.btnStart.setObjectName("btnStart")
        self.horizontalLayout.addWidget(self.btnStart)
        self.btnStop = QtWidgets.QToolButton(self.groupBox)
        self.btnStop.setMinimumSize(QtCore.QSize(42, 42))
        self.btnStop.setMaximumSize(QtCore.QSize(42, 42))
        self.btnStop.setText("")
        icon = QtGui.QIcon.fromTheme("media-playback-stop")
        self.btnStop.setIcon(icon)
        self.btnStop.setIconSize(QtCore.QSize(32, 32))
        self.btnStop.setObjectName("btnStop")
        self.horizontalLayout.addWidget(self.btnStop)
        self.btnSave = QtWidgets.QToolButton(self.groupBox)
        self.btnSave.setMinimumSize(QtCore.QSize(42, 42))
        self.btnSave.setMaximumSize(QtCore.QSize(42, 42))
        icon = QtGui.QIcon.fromTheme("document-save")
        self.btnSave.setIcon(icon)
        self.btnSave.setIconSize(QtCore.QSize(32, 32))
        self.btnSave.setObjectName("btnSave")
        self.horizontalLayout.addWidget(self.btnSave)
        self.btnClear = QtWidgets.QToolButton(self.groupBox)
        self.btnClear.setMinimumSize(QtCore.QSize(42, 42))
        self.btnClear.setMaximumSize(QtCore.QSize(42, 42))
        self.btnClear.setText("")
        icon = QtGui.QIcon.fromTheme("view-refresh")
        self.btnClear.setIcon(icon)
        self.btnClear.setIconSize(QtCore.QSize(32, 32))
        self.btnClear.setObjectName("btnClear")
        self.horizontalLayout.addWidget(self.btnClear)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.gridLayout_2.addLayout(self.horizontalLayout, 1, 0, 1, 2)
        self.lSignalSizeText = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSizeText.sizePolicy().hasHeightForWidth())
        self.lSignalSizeText.setSizePolicy(sizePolicy)
        self.lSignalSizeText.setObjectName("lSignalSizeText")
        self.gridLayout_2.addWidget(self.lSignalSizeText, 9, 0, 1, 1)
        self.lSamplesCaptured = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSamplesCaptured.sizePolicy().hasHeightForWidth())
        self.lSamplesCaptured.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSamplesCaptured.setFont(font)
        self.lSamplesCaptured.setAlignment(QtCore.Qt.AlignCenter)
        self.lSamplesCaptured.setObjectName("lSamplesCaptured")
        self.gridLayout_2.addWidget(self.lSamplesCaptured, 6, 0, 1, 2)
        self.lTime = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lTime.setFont(font)
        self.lTime.setAlignment(QtCore.Qt.AlignCenter)
        self.lTime.setObjectName("lTime")
        self.gridLayout_2.addWidget(self.lTime, 15, 0, 1, 2)
        self.lSignalSize = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lSignalSize.sizePolicy().hasHeightForWidth())
        self.lSignalSize.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lSignalSize.setFont(font)
        self.lSignalSize.setAlignment(QtCore.Qt.AlignCenter)
        self.lSignalSize.setObjectName("lSignalSize")
        self.gridLayout_2.addWidget(self.lSignalSize, 11, 0, 1, 2)
        self.lblRepeatText = QtWidgets.QLabel(self.groupBox)
        self.lblRepeatText.setObjectName("lblRepeatText")
        self.gridLayout_2.addWidget(self.lblRepeatText, 16, 0, 1, 1)
        self.lblCurrentRepeatValue = QtWidgets.QLabel(self.groupBox)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.lblCurrentRepeatValue.setFont(font)
        self.lblCurrentRepeatValue.setAlignment(QtCore.Qt.AlignCenter)
        self.lblCurrentRepeatValue.setObjectName("lblCurrentRepeatValue")
        self.gridLayout_2.addWidget(self.lblCurrentRepeatValue, 17, 0, 1, 1)
        self.labelReceiveBufferFull = QtWidgets.QLabel(self.groupBox)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.labelReceiveBufferFull.sizePolicy().hasHeightForWidth())
        self.labelReceiveBufferFull.setSizePolicy(sizePolicy)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.labelReceiveBufferFull.setFont(font)
        self.labelReceiveBufferFull.setAlignment(QtCore.Qt.AlignCenter)
        self.labelReceiveBufferFull.setObjectName("labelReceiveBufferFull")
        self.gridLayout_2.addWidget(self.labelReceiveBufferFull, 8, 0, 1, 1)
        self.gridLayout.addWidget(self.groupBox, 23, 0, 1, 3)
        self.txtEditErrors = QtWidgets.QTextEdit(self.scrollAreaWidgetContents_2)
        self.txtEditErrors.setReadOnly(True)
        self.txtEditErrors.setObjectName("txtEditErrors")
        self.gridLayout.addWidget(self.txtEditErrors, 24, 0, 1, 4)
        self.cbDevice = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.cbDevice.setObjectName("cbDevice")
        self.cbDevice.addItem("")
        self.cbDevice.addItem("")
        self.gridLayout.addWidget(self.cbDevice, 0, 1, 1, 2)
        self.comboBoxChannel = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.comboBoxChannel.setObjectName("comboBoxChannel")
        self.gridLayout.addWidget(self.comboBoxChannel, 2, 1, 1, 2)
        self.comboBoxAntenna = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.comboBoxAntenna.setObjectName("comboBoxAntenna")
        self.gridLayout.addWidget(self.comboBoxAntenna, 3, 1, 1, 2)
        self.spinBoxPort = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxPort.setMinimum(1)
        self.spinBoxPort.setMaximum(65535)
        self.spinBoxPort.setProperty("value", 1234)
        self.spinBoxPort.setObjectName("spinBoxPort")
        self.gridLayout.addWidget(self.spinBoxPort, 5, 1, 1, 2)
        self.spinBoxFreqCorrection = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        self.spinBoxFreqCorrection.setMinimum(-1000)
        self.spinBoxFreqCorrection.setMaximum(1000)
        self.spinBoxFreqCorrection.setProperty("value", 1)
        self.spinBoxFreqCorrection.setObjectName("spinBoxFreqCorrection")
        self.gridLayout.addWidget(self.spinBoxFreqCorrection, 12, 1, 1, 2)
        self.comboBoxDirectSampling = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.comboBoxDirectSampling.setObjectName("comboBoxDirectSampling")
        self.gridLayout.addWidget(self.comboBoxDirectSampling, 13, 1, 1, 2)
        self.spinbox_sniff_Noise = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_Noise.setDecimals(4)
        self.spinbox_sniff_Noise.setMaximum(1.0)
        self.spinbox_sniff_Noise.setObjectName("spinbox_sniff_Noise")
        self.gridLayout.addWidget(self.spinbox_sniff_Noise, 15, 1, 1, 2)
        self.spinbox_sniff_Center = QtWidgets.QDoubleSpinBox(self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_Center.setDecimals(4)
        self.spinbox_sniff_Center.setMinimum(-3.14)
        self.spinbox_sniff_Center.setMaximum(3.14)
        self.spinbox_sniff_Center.setObjectName("spinbox_sniff_Center")
        self.gridLayout.addWidget(self.spinbox_sniff_Center, 16, 1, 1, 2)
        self.spinbox_sniff_ErrorTolerance = QtWidgets.QSpinBox(self.scrollAreaWidgetContents_2)
        self.spinbox_sniff_ErrorTolerance.setMaximum(999999)
        self.spinbox_sniff_ErrorTolerance.setProperty("value", 5)
        self.spinbox_sniff_ErrorTolerance.setObjectName("spinbox_sniff_ErrorTolerance")
        self.gridLayout.addWidget(self.spinbox_sniff_ErrorTolerance, 18, 1, 1, 2)
        self.combox_sniff_Modulation = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.combox_sniff_Modulation.setObjectName("combox_sniff_Modulation")
        self.combox_sniff_Modulation.addItem("")
        self.combox_sniff_Modulation.addItem("")
        self.combox_sniff_Modulation.addItem("")
        self.gridLayout.addWidget(self.combox_sniff_Modulation, 19, 1, 1, 2)
        self.comboBox_sniff_viewtype = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.comboBox_sniff_viewtype.setObjectName("comboBox_sniff_viewtype")
        self.comboBox_sniff_viewtype.addItem("")
        self.comboBox_sniff_viewtype.addItem("")
        self.comboBox_sniff_viewtype.addItem("")
        self.gridLayout.addWidget(self.comboBox_sniff_viewtype, 20, 1, 1, 2)
        self.comboBox_sniff_encoding = QtWidgets.QComboBox(self.scrollAreaWidgetContents_2)
        self.comboBox_sniff_encoding.setObjectName("comboBox_sniff_encoding")
        self.gridLayout.addWidget(self.comboBox_sniff_encoding, 21, 1, 1, 2)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
        self.layoutWidget = QtWidgets.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.stackedWidget = QtWidgets.QStackedWidget(self.layoutWidget)
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_receive = QtWidgets.QWidget()
        self.page_receive.setObjectName("page_receive")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.page_receive)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.graphicsViewReceive = LiveGraphicView(self.page_receive)
        self.graphicsViewReceive.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.graphicsViewReceive.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.graphicsViewReceive.setObjectName("graphicsViewReceive")
        self.verticalLayout_2.addWidget(self.graphicsViewReceive)
        self.stackedWidget.addWidget(self.page_receive)
        self.page_send = QtWidgets.QWidget()
        self.page_send.setObjectName("page_send")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.page_send)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.graphicsViewSend = EditableGraphicView(self.page_send)
        self.graphicsViewSend.setMouseTracking(True)
        self.graphicsViewSend.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewSend.setTransformationAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setResizeAnchor(QtWidgets.QGraphicsView.NoAnchor)
        self.graphicsViewSend.setObjectName("graphicsViewSend")
        self.verticalLayout_3.addWidget(self.graphicsViewSend)
        self.label_7 = QtWidgets.QLabel(self.page_send)
        font = QtGui.QFont()
        font.setItalic(True)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_3.addWidget(self.label_7)
        self.stackedWidget.addWidget(self.page_send)
        self.page_continuous_send = QtWidgets.QWidget()
        self.page_continuous_send.setObjectName("page_continuous_send")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.page_continuous_send)
        self.verticalLayout_6.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.graphicsViewContinuousSend = LiveGraphicView(self.page_continuous_send)
        self.graphicsViewContinuousSend.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.TextAntialiasing)
        self.graphicsViewContinuousSend.setObjectName("graphicsViewContinuousSend")
        self.verticalLayout_6.addWidget(self.graphicsViewContinuousSend)
        self.stackedWidget.addWidget(self.page_continuous_send)
        self.page_sniff = QtWidgets.QWidget()
        self.page_sniff.setObjectName("page_sniff")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.page_sniff)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.graphicsView_sniff_Preview = LiveGraphicView(self.page_sniff)
        self.graphicsView_sniff_Preview.setObjectName("graphicsView_sniff_Preview")
        self.verticalLayout_4.addWidget(self.graphicsView_sniff_Preview)
        self.txtEd_sniff_Preview = QtWidgets.QPlainTextEdit(self.page_sniff)
        self.txtEd_sniff_Preview.setLineWrapMode(QtWidgets.QPlainTextEdit.NoWrap)
        self.txtEd_sniff_Preview.setReadOnly(True)
        self.txtEd_sniff_Preview.setMaximumBlockCount(100)
        self.txtEd_sniff_Preview.setObjectName("txtEd_sniff_Preview")
        self.verticalLayout_4.addWidget(self.txtEd_sniff_Preview)
        self.btnAccept = QtWidgets.QPushButton(self.page_sniff)
        self.btnAccept.setAutoDefault(False)
        self.btnAccept.setObjectName("btnAccept")
        self.verticalLayout_4.addWidget(self.btnAccept)
        self.stackedWidget.addWidget(self.page_sniff)
        self.horizontalLayout_2.addWidget(self.stackedWidget)
        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_y_scale = QtWidgets.QLabel(self.layoutWidget)
        self.label_y_scale.setObjectName("label_y_scale")
        self.verticalLayout_5.addWidget(self.label_y_scale)
        self.sliderYscale = QtWidgets.QSlider(self.layoutWidget)
        self.sliderYscale.setMinimum(1)
        self.sliderYscale.setMaximum(1000)
        self.sliderYscale.setProperty("value", 1)
        self.sliderYscale.setOrientation(QtCore.Qt.Vertical)
        self.sliderYscale.setTickInterval(1)
        self.sliderYscale.setObjectName("sliderYscale")
        self.verticalLayout_5.addWidget(self.sliderYscale)
        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
        self.verticalLayout.addWidget(self.splitter)

        self.retranslateUi(SendRecvDialog)
        self.stackedWidget.setCurrentIndex(2)
        QtCore.QMetaObject.connectSlotsByName(SendRecvDialog)
        SendRecvDialog.setTabOrder(self.cbDevice, self.lineEditDeviceArgs)
        SendRecvDialog.setTabOrder(self.lineEditDeviceArgs, self.lineEditIP)
        SendRecvDialog.setTabOrder(self.lineEditIP, self.spinBoxPort)
        SendRecvDialog.setTabOrder(self.spinBoxPort, self.spinBoxFreq)
        SendRecvDialog.setTabOrder(self.spinBoxFreq, self.spinBoxSampleRate)
        SendRecvDialog.setTabOrder(self.spinBoxSampleRate, self.spinBoxBandwidth)
        SendRecvDialog.setTabOrder(self.spinBoxBandwidth, self.btnLockBWSR)
        SendRecvDialog.setTabOrder(self.btnLockBWSR, self.spinBoxGain)
        SendRecvDialog.setTabOrder(self.spinBoxGain, self.sliderGain)
        SendRecvDialog.setTabOrder(self.sliderGain, self.sliderIFGain)
        SendRecvDialog.setTabOrder(self.sliderIFGain, self.spinBoxIFGain)
        SendRecvDialog.setTabOrder(self.spinBoxIFGain, self.sliderBasebandGain)
        SendRecvDialog.setTabOrder(self.sliderBasebandGain, self.spinBoxBasebandGain)
        SendRecvDialog.setTabOrder(self.spinBoxBasebandGain, self.spinBoxFreqCorrection)
        SendRecvDialog.setTabOrder(self.spinBoxFreqCorrection, self.comboBoxDirectSampling)
        SendRecvDialog.setTabOrder(self.comboBoxDirectSampling, self.spinBoxNRepeat)
        SendRecvDialog.setTabOrder(self.spinBoxNRepeat, self.spinbox_sniff_BitLen)
        SendRecvDialog.setTabOrder(self.spinbox_sniff_BitLen, self.spinbox_sniff_ErrorTolerance)
        SendRecvDialog.setTabOrder(self.spinbox_sniff_ErrorTolerance, self.combox_sniff_Modulation)
        SendRecvDialog.setTabOrder(self.combox_sniff_Modulation, self.comboBox_sniff_viewtype)
        SendRecvDialog.setTabOrder(self.comboBox_sniff_viewtype, self.lineEdit_sniff_OutputFile)
        SendRecvDialog.setTabOrder(self.lineEdit_sniff_OutputFile, self.btnStart)
        SendRecvDialog.setTabOrder(self.btnStart, self.btnStop)
        SendRecvDialog.setTabOrder(self.btnStop, self.btnSave)
        SendRecvDialog.setTabOrder(self.btnSave, self.btnClear)
        SendRecvDialog.setTabOrder(self.btnClear, self.txtEd_sniff_Preview)
        SendRecvDialog.setTabOrder(self.txtEd_sniff_Preview, self.sliderYscale)
        SendRecvDialog.setTabOrder(self.sliderYscale, self.txtEditErrors)
        SendRecvDialog.setTabOrder(self.txtEditErrors, self.graphicsViewSend)
        SendRecvDialog.setTabOrder(self.graphicsViewSend, self.graphicsViewReceive)
        SendRecvDialog.setTabOrder(self.graphicsViewReceive, self.btnAccept)

    def retranslateUi(self, SendRecvDialog):
        _translate = QtCore.QCoreApplication.translate
        SendRecvDialog.setWindowTitle(_translate("SendRecvDialog", "Record Signal"))
        self.label_3.setText(_translate("SendRecvDialog", "Device:"))
        self.labelDeviceArgs.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>If you only have one USRP connected you may leave this field empty, so your USRP gets detected automatically.</p><p>If you have multiple USRPs connected or need better control, enter a device identifier of your USRP here.</p><p>You may also enter other device arguments here.</p></body></html>"))
        self.labelDeviceArgs.setText(_translate("SendRecvDialog", "Device arguments:"))
        self.lineEditDeviceArgs.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>If you only have one USRP connected you may leave this field empty, so your USRP gets detected automatically.</p><p>If you have multiple USRPs connected or need better control, enter a device identifier of your USRP here.</p><p>You may also enter other device arguments here.</p></body></html>"))
        self.labelChannel.setText(_translate("SendRecvDialog", "Channel:"))
        self.labelAntenna.setText(_translate("SendRecvDialog", "Antenna:"))
        self.labelIP.setText(_translate("SendRecvDialog", "IP address:"))
        self.lineEditIP.setText(_translate("SendRecvDialog", "127.0.0.1"))
        self.labelPort.setText(_translate("SendRecvDialog", "Port number:"))
        self.labelFreq.setText(_translate("SendRecvDialog", "Frequency (Hz):"))
        self.labelSampleRate.setText(_translate("SendRecvDialog", "Sample rate (Sps):"))
        self.btnLockBWSR.setText(_translate("SendRecvDialog", "..."))
        self.labelBandwidth.setText(_translate("SendRecvDialog", "Bandwidth (Hz):"))
        self.labelGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The gain (more exactly RF gain) is the gain applied to the RF signal. This amplifies the high frequent signal arriving at the antenna of your Software Defined Radio.</p></body></html>"))
        self.labelGain.setText(_translate("SendRecvDialog", "Gain:"))
        self.sliderGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The gain (more exactly RF gain) is the gain applied to the RF signal. This amplifies the high frequent signal arriving at the antenna of your Software Defined Radio.</p></body></html>"))
        self.spinBoxGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The gain (more exactly RF gain) is the gain applied to the RF signal. This amplifies the high frequent signal arriving at the antenna of your Software Defined Radio.</p></body></html>"))
        self.labelIFGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The IF Gain is applied to the Intermediate Frequency signal in your Software Defined Radio. An IF signal has a lower frequency than the high frequent RF signal, so signal processing can be applied more efficiently.</p></body></html>"))
        self.labelIFGain.setText(_translate("SendRecvDialog", "IF Gain:"))
        self.sliderIFGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The IF Gain is applied to the Intermediate Frequency signal in your Software Defined Radio. An IF signal has a lower frequency than the high frequent RF signal, so signal processing can be applied more efficiently.</p></body></html>"))
        self.spinBoxIFGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The IF Gain is applied to the Intermediate Frequency signal in your Software Defined Radio. An IF signal has a lower frequency than the high frequent RF signal, so signal processing can be applied more efficiently.</p></body></html>"))
        self.labelBasebandGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The baseband gain is applied to the baseband signal in your software defined radio. The baseband signal is at low frequency and gathered from the RF signal by <span style=\" font-weight:600;\">complex downsampling</span>.</p></body></html>"))
        self.labelBasebandGain.setText(_translate("SendRecvDialog", "Baseband gain:"))
        self.sliderBasebandGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The baseband gain is applied to the baseband signal in your software defined radio. The baseband signal is at low frequency and gathered from the RF signal by <span style=\" font-weight:600;\">complex downsampling</span>.</p></body></html>"))
        self.spinBoxBasebandGain.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>The baseband gain is applied to the baseband signal in your software defined radio. The baseband signal is at low frequency and gathered from the RF signal by <span style=\" font-weight:600;\">complex downsampling</span>.</p></body></html>"))
        self.labelFreqCorrection.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>Set the frequency correction in <span style=\" font-weight:600;\">ppm</span>. If you do not know what to enter here, just leave it to one.</p></body></html>"))
        self.labelFreqCorrection.setText(_translate("SendRecvDialog", "Frequency correction:"))
        self.labelDirectSampling.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>Set the direct sampling mode. If you do not know what to choose here, just set it to disabled. The<span style=\" font-weight:600;\"> native backend</span> is recommended, when using this setting.</p></body></html>"))
        self.labelDirectSampling.setText(_translate("SendRecvDialog", "Direct sampling:"))
        self.labelNRepeat.setText(_translate("SendRecvDialog", "Repeat:"))
        self.spinBoxNRepeat.setSpecialValueText(_translate("SendRecvDialog", "Infinite"))
        self.label_sniff_Noise.setText(_translate("SendRecvDialog", "Noise:"))
        self.label_sniff_Center.setText(_translate("SendRecvDialog", "Center:"))
        self.label_sniff_BitLength.setText(_translate("SendRecvDialog", "Bit Length:"))
        self.label_sniff_Tolerance.setText(_translate("SendRecvDialog", "Error Tolerance:"))
        self.label_sniff_Modulation.setText(_translate("SendRecvDialog", "Modulation:"))
        self.label_sniff_viewtype.setText(_translate("SendRecvDialog", "View:"))
        self.label_sniff_encoding.setText(_translate("SendRecvDialog", "Encoding:"))
        self.label_sniff_OutputFile.setText(_translate("SendRecvDialog", "Write bitstream to file:"))
        self.lineEdit_sniff_OutputFile.setPlaceholderText(_translate("SendRecvDialog", "None"))
        self.lReceiveBufferFullText.setText(_translate("SendRecvDialog", "Receive buffer full:"))
        self.progressBar.setFormat(_translate("SendRecvDialog", "%v/%m"))
        self.lSamplesSentText.setText(_translate("SendRecvDialog", "Samples sent:"))
        self.lTimeText.setText(_translate("SendRecvDialog", "Time (in seconds):"))
        self.lSamplesCapturedText.setText(_translate("SendRecvDialog", "Samples captured:"))
        self.btnStart.setToolTip(_translate("SendRecvDialog", "Record signal"))
        self.btnStop.setToolTip(_translate("SendRecvDialog", "Stop recording"))
        self.btnSave.setText(_translate("SendRecvDialog", "Save..."))
        self.btnClear.setToolTip(_translate("SendRecvDialog", "Clear"))
        self.lSignalSizeText.setText(_translate("SendRecvDialog", "Signal size (in MiB):"))
        self.lSamplesCaptured.setText(_translate("SendRecvDialog", "0"))
        self.lTime.setText(_translate("SendRecvDialog", "0"))
        self.lSignalSize.setText(_translate("SendRecvDialog", "0"))
        self.lblRepeatText.setText(_translate("SendRecvDialog", "Current iteration:"))
        self.lblCurrentRepeatValue.setText(_translate("SendRecvDialog", "0"))
        self.labelReceiveBufferFull.setText(_translate("SendRecvDialog", "0%"))
        self.cbDevice.setItemText(0, _translate("SendRecvDialog", "USRP"))
        self.cbDevice.setItemText(1, _translate("SendRecvDialog", "HackRF"))
        self.spinBoxFreqCorrection.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>Set the frequency correction in <span style=\" font-weight:600;\">ppm</span>. If you do not know what to enter here, just leave it to one.</p></body></html>"))
        self.comboBoxDirectSampling.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>Set the direct sampling mode. If you do not know what to choose here, just set it to disabled. The<span style=\" font-weight:600;\"> native backend</span> is recommended, when using this setting.</p></body></html>"))
        self.combox_sniff_Modulation.setItemText(0, _translate("SendRecvDialog", "ASK"))
        self.combox_sniff_Modulation.setItemText(1, _translate("SendRecvDialog", "FSK"))
        self.combox_sniff_Modulation.setItemText(2, _translate("SendRecvDialog", "PSK"))
        self.comboBox_sniff_viewtype.setItemText(0, _translate("SendRecvDialog", "Bit"))
        self.comboBox_sniff_viewtype.setItemText(1, _translate("SendRecvDialog", "Hex"))
        self.comboBox_sniff_viewtype.setItemText(2, _translate("SendRecvDialog", "ASCII"))
        self.label_7.setText(_translate("SendRecvDialog", "Hint: You can edit the raw signal before sending."))
        self.btnAccept.setToolTip(_translate("SendRecvDialog", "<html><head/><body><p>Accept the sniffed data and load it into <span style=\" font-weight:600;\">Analysis</span> tab.</p></body></html>"))
        self.btnAccept.setText(_translate("SendRecvDialog", "Accept data (Open in Analysis)"))
        self.label_y_scale.setText(_translate("SendRecvDialog", "Y-Scale"))