#pragma once #include #include "ui_QtSoundModem.h" #include "ui_calibrateDialog.h" #include "ui_devicesDialog.h" #include "ui_filterWindow.h" #include "ui_ModemDialog.h" #include "QThread" #include #include #include #include #include #include #include "tcpCode.h" class QtSoundModem : public QMainWindow { Q_OBJECT public: QtSoundModem(QWidget *parent = Q_NULLPTR); void changeEvent(QEvent * e); void closeEvent(QCloseEvent * event); ~QtSoundModem(); void RefreshWaterfall(int snd_ch, unsigned char * Data); void initWaterfall(int state); void show_grid(); void checkforCWID(); public slots: private slots: void CWIDTimer(); void doDevices(); void mysetstyle(); void updateFont(); void MinimizetoTray(); void TrayActivated(QSystemTrayIcon::ActivationReason reason); void MyTimerSlot(); void returnPressed(); void clickedSlotI(int i); void doModems(); void doFilter(int Chan, int Filter); void SoundModeChanged(bool State); void DualPTTChanged(bool State); void CATChanged(bool State); void PTTPortChanged(int); void deviceaccept(); void devicereject(); void modemaccept(); void modemSave(); void modemreject(); void doRSIDA(); void doRSIDB(); void doRSIDC(); void doRSIDD(); void handleButton(int Port, int Act); void doCalibrate(); void RefreshSpectrum(unsigned char * Data); void doAbout(); void doRestartWF(); void doupdateDCD(int, int); void sendtoTrace(char * Msg, int tx); void preEmphAllAChanged(int); void preEmphAllBChanged(int); void preEmphAllCChanged(int state); void preEmphAllDChanged(int state); void menuChecked(); void onTEselectionChanged(); void clickedSlot(); void startCWIDTimerSlot(); protected: bool eventFilter(QObject * obj, QEvent * evt); void resizeEvent(QResizeEvent *event) override; private: Ui::QtSoundModemClass ui; QTableWidget* sessionTable; QStringList m_TableHeader; QMenu *setupMenu; QMenu *viewMenu; QAction *actDevices; QAction *actModems; QAction *actFont; QAction *actMintoTray; QAction *actCalib; QAction *actAbout; QAction *actRestartWF; QAction *actWaterfall1; QAction *actWaterfall2; signals: }; class myResize : public QObject { Q_OBJECT protected: bool eventFilter(QObject *obj, QEvent *event) override; }; #define WaterfallDisplayPixels 80 #define WaterfallHeaderPixels 38 #define WaterfallTotalPixels WaterfallDisplayPixels + WaterfallHeaderPixels #define WaterfallImageHeight (WaterfallTotalPixels + WaterfallTotalPixels)