mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8466 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // -*- Mode: C++ -*-
 | |
| #ifndef ASTRO_H
 | |
| #define ASTRO_H
 | |
| 
 | |
| #include <QDialog>
 | |
| #include <QScopedPointer>
 | |
| 
 | |
| #include "Radio.hpp"
 | |
| 
 | |
| class QSettings;
 | |
| class Configuration;
 | |
| namespace Ui {
 | |
|   class Astro;
 | |
| }
 | |
| 
 | |
| class Astro final
 | |
|   : public QDialog
 | |
| {
 | |
|   Q_OBJECT;
 | |
| 
 | |
| public:
 | |
|   using Frequency = Radio::Frequency;
 | |
|   using FrequencyDelta = Radio::FrequencyDelta;
 | |
| 
 | |
|   explicit Astro(QSettings * settings, Configuration const *, QWidget * parent = nullptr);
 | |
|   ~Astro ();
 | |
| 
 | |
|   struct Correction
 | |
|   {
 | |
|     Correction ()
 | |
|       : rx {0}
 | |
|       , tx {0}
 | |
|     {}
 | |
|     Correction (Correction const&) = default;
 | |
|     Correction& operator = (Correction const&) = default;
 | |
| 
 | |
|     FrequencyDelta rx;
 | |
|     FrequencyDelta tx;
 | |
|   };
 | |
|   Correction astroUpdate(QDateTime const& t,
 | |
|                          QString const& mygrid,
 | |
|                          QString const& hisgrid,
 | |
|                          Frequency frequency,
 | |
|                          bool dx_is_self,
 | |
|                          bool bTx,
 | |
|                          bool no_tx_QSY,
 | |
|                          int TR_period);
 | |
| 
 | |
|   bool doppler_tracking () const;
 | |
|   Q_SLOT void nominal_frequency (Frequency rx, Frequency tx);
 | |
|   Q_SIGNAL void tracking_update () const;
 | |
| 
 | |
| protected:
 | |
|   void hideEvent (QHideEvent *) override;
 | |
|   void closeEvent (QCloseEvent *) override;
 | |
| 
 | |
| private slots:
 | |
|   void on_rbConstFreqOnMoon_clicked();
 | |
|   void on_rbFullTrack_clicked();
 | |
|   void on_rbOwnEcho_clicked();
 | |
|   void on_rbNoDoppler_clicked();
 | |
|   void on_rbOnDxEcho_clicked(bool);
 | |
|   void on_rbCallDx_clicked();
 | |
|   void on_cbDopplerTracking_toggled(bool);
 | |
| 
 | |
| private:
 | |
|   void read_settings ();
 | |
|   void write_settings ();
 | |
|   void check_split ();
 | |
| 
 | |
|   QSettings * settings_;
 | |
|   Configuration const * configuration_;
 | |
|   QScopedPointer<Ui::Astro> ui_;
 | |
| 
 | |
|   qint32 m_DopplerMethod;
 | |
|   int m_dop;
 | |
|   int m_dop00;
 | |
|   int m_dx_two_way_dop;
 | |
| };
 | |
| 
 | |
| inline
 | |
| bool operator == (Astro::Correction const& lhs, Astro::Correction const& rhs)
 | |
| {
 | |
|   return lhs.rx == rhs.rx && lhs.tx == rhs.tx;
 | |
| }
 | |
| 
 | |
| inline
 | |
| bool operator != (Astro::Correction const& lhs, Astro::Correction const& rhs)
 | |
| {
 | |
|   return !(lhs == rhs);
 | |
| }
 | |
| 
 | |
| #endif // ASTRO_H
 |