2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								///////////////////////////////////////////////////////////////////////////////////
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// written by Christian Daniel                                                   //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//                                                                               //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// This program is free software; you can redistribute it and/or modify          //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// it under the terms of the GNU General Public License as published by          //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// the Free Software Foundation as version 3 of the License, or                  //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//                                                                               //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// This program is distributed in the hope that it will be useful,               //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// but WITHOUT ANY WARRANTY; without even the implied warranty of                //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                  //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// GNU General Public License V3 for more details.                               //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//                                                                               //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// You should have received a copy of the GNU General Public License             //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// along with this program. If not, see <http://www.gnu.org/licenses/>.          //
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								///////////////////////////////////////////////////////////////////////////////////
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <QInputDialog> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <QMessageBox> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <QLabel> 
  
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  <QComboBox> 
  
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  "mainwindow.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "ui_mainwindow.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "audio/audiodeviceinfo.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/indicator.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/presetitem.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/addpresetdialog.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/pluginsdialog.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/preferencesdialog.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/aboutdialog.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/rollupwidget.h" 
  
						 
					
						
							
								
									
										
										
										
											2015-10-08 02:40:31 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "gui/channelwindow.h" 
  
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  "dsp/dspengine.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "dsp/spectrumvis.h" 
  
						 
					
						
							
								
									
										
										
										
											2015-07-28 23:54:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "dsp/filesink.h" 
  
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  "dsp/dspcommands.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "plugin/plugingui.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "plugin/pluginapi.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "plugin/plugingui.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "gui/glspectrum.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "gui/glspectrumgui.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-28 23:54:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  <string> 
  
						 
					
						
							
								
									
										
										
										
											2015-08-09 10:33:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  <QDebug> 
  
						 
					
						
							
								
									
										
										
										
											2015-06-07 03:30:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								MainWindow : : MainWindow ( QWidget *  parent )  :  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									QMainWindow ( parent ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui ( new  Ui : : MainWindow ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_audioDeviceInfo ( new  AudioDeviceInfo ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_settings ( ) , 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_dspEngine ( DSPEngine : : instance ( ) ) , 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-15 04:05:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_lastEngineState ( ( DSPDeviceEngine : : State ) - 1 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									m_startOsmoSDRUpdateAfterStop ( false ) , 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_inputGUI ( 0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									m_sampleRate ( 0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_centerFrequency ( 0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-29 22:42:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_sampleFileName ( std : : string ( " ./test.sdriq " ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: start " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-29 22:42:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_pluginManager  =  new  PluginManager ( this ,  m_dspEngine ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-12 09:03:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									connect ( m_dspEngine - > getOutputMessageQueue ( ) ,  SIGNAL ( messageEnqueued ( ) ) ,  this ,  SLOT ( handleDSPMessages ( ) ) ,  Qt : : QueuedConnection ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_dspEngine - > start ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									ui - > setupUi ( this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									createStatusBar ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									setCorner ( Qt : : TopLeftCorner ,  Qt : : LeftDockWidgetArea ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									setCorner ( Qt : : BottomLeftCorner ,  Qt : : LeftDockWidgetArea ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									setCorner ( Qt : : TopRightCorner ,  Qt : : RightDockWidgetArea ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									setCorner ( Qt : : BottomRightCorner ,  Qt : : RightDockWidgetArea ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// work around broken Qt dock widget ordering
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									removeDockWidget ( ui - > inputDock ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-03 03:56:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									removeDockWidget ( ui - > spectraDisplayDock ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									removeDockWidget ( ui - > presetDock ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									removeDockWidget ( ui - > channelDock ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									addDockWidget ( Qt : : LeftDockWidgetArea ,  ui - > inputDock ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-03 03:56:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									addDockWidget ( Qt : : LeftDockWidgetArea ,  ui - > spectraDisplayDock ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									addDockWidget ( Qt : : LeftDockWidgetArea ,  ui - > presetDock ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									addDockWidget ( Qt : : RightDockWidgetArea ,  ui - > channelDock ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									ui - > inputDock - > show ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-03 03:56:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ui - > spectraDisplayDock - > show ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									ui - > presetDock - > show ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > channelDock - > show ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > menu_Window - > addAction ( ui - > inputDock - > toggleViewAction ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-03 03:56:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ui - > menu_Window - > addAction ( ui - > spectraDisplayDock - > toggleViewAction ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									ui - > menu_Window - > addAction ( ui - > presetDock - > toggleViewAction ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > menu_Window - > addAction ( ui - > channelDock - > toggleViewAction ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 02:47:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									connect ( & m_inputMessageQueue ,  SIGNAL ( messageEnqueued ( ) ) ,  this ,  SLOT ( handleMessages ( ) ) ,  Qt : : QueuedConnection ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									connect ( & m_statusTimer ,  SIGNAL ( timeout ( ) ) ,  this ,  SLOT ( updateStatus ( ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_statusTimer . start ( 500 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-01 03:33:07 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_masterTimer . start ( 50 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-26 02:03:20 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: m_pluginManager->loadPlugins ... " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									m_pluginManager - > loadPlugins ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//bool sampleSourceSignalsBlocked = ui->sampleSource->blockSignals(true);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//m_pluginManager->fillSampleSourceSelector(ui->sampleSource);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//ui->sampleSource->blockSignals(sampleSourceSignalsBlocked);
 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//m_rxSpectrumVis = new SpectrumVis(ui->rxSpectrum);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//ui->rxSpectrum->connectTimer(m_masterTimer);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//ui->rxSpectrumGUI->setBuddies(m_rxSpectrumVis->getInputMessageQueue(), m_rxSpectrumVis, ui->rxSpectrum);
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//m_dspEngine->
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-10 05:13:41 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// TODO: This will go in a create new device tab method:
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . push_back ( new  DeviceUISet ( m_masterTimer ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									ui - > tabSpectra - > addTab ( m_deviceUIs . back ( ) - > m_spectrum ,  " X0 " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > tabSpectraGUI - > addTab ( m_deviceUIs . back ( ) - > m_spectrumGUI ,  " X0 " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_dspEngine - > addSink ( m_deviceUIs . back ( ) - > m_spectrumVis ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > tabChannels - > addTab ( m_deviceUIs . back ( ) - > m_channelWindow ,  " X0 " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									bool  sampleSourceSignalsBlocked  =  m_deviceUIs . back ( ) - > m_sampleSource - > blockSignals ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_pluginManager - > fillSampleSourceSelector ( m_deviceUIs . back ( ) - > m_sampleSource ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-10 05:13:41 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									connect ( m_deviceUIs . back ( ) - > m_sampleSource ,  SIGNAL ( currentIndexChanged ( int ) ) ,  this ,  SLOT ( on_sampleSource_currentIndexChanged ( int ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . back ( ) - > m_sampleSource - > blockSignals ( sampleSourceSignalsBlocked ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > tabInputs - > addTab ( m_deviceUIs . back ( ) - > m_sampleSource ,  " X0 " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-03 03:56:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-28 23:54:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_fileSink  =  new  FileSink ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_dspEngine - > addSink ( m_fileSink ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-19 01:02:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: loadSettings... " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									loadSettings ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-19 01:02:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: select SampleSource from settings... " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 02:22:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									int  sampleSourceIndex  =  m_settings . getSourceIndex ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 14:19:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									sampleSourceIndex  =  m_pluginManager - > selectSampleSourceByIndex ( sampleSourceIndex ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 14:19:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( sampleSourceIndex  > =  0 ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										//bool sampleSourceSignalsBlocked = ui->sampleSource->blockSignals(true);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										//ui->sampleSource->setCurrentIndex(sampleSourceIndex);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										//ui->sampleSource->blockSignals(sampleSourceSignalsBlocked);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										bool  sampleSourceSignalsBlocked  =  m_deviceUIs . back ( ) - > m_sampleSource - > blockSignals ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										m_deviceUIs . back ( ) - > m_sampleSource - > setCurrentIndex ( sampleSourceIndex ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										m_deviceUIs . back ( ) - > m_sampleSource - > blockSignals ( sampleSourceSignalsBlocked ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: load current preset settings... " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 02:22:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									loadPresetSettings ( m_settings . getWorkingPreset ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-19 01:02:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: apply settings... " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									applySettings ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: update preset controls... " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									updatePresetControls ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::MainWindow: end " ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								MainWindow : : ~ MainWindow ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_dspEngine - > stopAcquistion ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									saveSettings ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_pluginManager - > freeAll ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									for  ( int  i  =  0 ;  i  <  m_deviceUIs . size ( ) ;  i + + ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										delete  m_deviceUIs [ i ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-28 23:54:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_dspEngine - > removeSink ( m_fileSink ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//m_dspEngine->removeSink(m_rxSpectrumVis);
 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-28 23:54:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									delete  m_fileSink ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//delete m_rxSpectrumVis;
 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									delete  m_pluginManager ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_dspEngine - > stop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									delete  ui ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : addChannelCreateAction ( QAction *  action )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > menu_Channels - > addAction ( action ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : addChannelRollup ( QWidget *  widget )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . back ( ) - > m_channelWindow - > addRollupWidget ( widget ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//((ChannelWindow*)ui->rxChannels)->addRollupWidget(widget);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//((ChannelWindow*)ui->channelDock->widget())->addRollupWidget(widget);
 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									ui - > channelDock - > show ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > channelDock - > raise ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : addViewAction ( QAction *  action )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > menu_Window - > addAction ( action ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : addChannelMarker ( ChannelMarker *  channelMarker )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//ui->rxSpectrum->addChannelMarker(channelMarker);
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . back ( ) - > m_spectrum - > addChannelMarker ( channelMarker ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : removeChannelMarker ( ChannelMarker *  channelMarker )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//ui->rxSpectrum->removeChannelMarker(channelMarker);
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . back ( ) - > m_spectrum - > removeChannelMarker ( channelMarker ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : setInputGUI ( QWidget *  gui )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( m_inputGUI  ! =  0 ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										ui - > inputDock - > widget ( ) - > layout ( ) - > removeWidget ( m_inputGUI ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( gui  ! =  0 ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										ui - > inputDock - > widget ( ) - > layout ( ) - > addWidget ( gui ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_inputGUI  =  gui ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : loadSettings ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-08-09 10:33:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::loadSettings " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-18 09:24:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-07 03:30:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    m_settings . load ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-07 03:30:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    for ( int  i  =  0 ;  i  <  m_settings . getPresetCount ( ) ;  + + i ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    	addPresetToTree ( m_settings . getPreset ( i ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 04:04:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  MainWindow : : loadPresetSettings ( const  Preset *  preset )  
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-02 02:22:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( " MainWindow::loadPresetSettings: preset [%s | %s] " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										qPrintable ( preset - > getGroup ( ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										qPrintable ( preset - > getDescription ( ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//ui->rxSpectrumGUI->deserialize(preset->getSpectrumConfig());
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . back ( ) - > m_spectrumGUI - > deserialize ( preset - > getSpectrumConfig ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									m_pluginManager - > loadSettings ( preset ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// has to be last step
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									restoreState ( preset - > getLayout ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : saveSettings ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-08-09 10:33:04 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::saveSettings " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-07 03:30:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 02:22:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									savePresetSettings ( m_settings . getWorkingPreset ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									m_settings . save ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  MainWindow : : savePresetSettings ( Preset *  preset )  
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-02 02:22:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( " MainWindow::savePresetSettings: preset [%s | %s] " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										qPrintable ( preset - > getGroup ( ) ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										qPrintable ( preset - > getDescription ( ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-07 03:30:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//preset->setSpectrumConfig(ui->rxSpectrumGUI->serialize());
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									preset - > setSpectrumConfig ( m_deviceUIs . back ( ) - > m_spectrumGUI - > serialize ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 04:04:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									preset - > clearChannels ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-06-07 03:30:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    m_pluginManager - > saveSettings ( preset ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-06-07 03:30:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    preset - > setLayout ( saveState ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : createStatusBar ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_sampleRateWidget  =  new  QLabel ( tr ( " Rate: 0 kHz " ) ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_sampleRateWidget - > setToolTip ( tr ( " Sample Rate " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									statusBar ( ) - > addPermanentWidget ( m_sampleRateWidget ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-28 23:54:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_recording  =  new  Indicator ( tr ( " Rec " ) ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_recording - > setToolTip ( tr ( " Recording " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									statusBar ( ) - > addPermanentWidget ( m_recording ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									m_engineIdle  =  new  Indicator ( tr ( " Idle " ) ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_engineIdle - > setToolTip ( tr ( " DSP engine is idle " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									statusBar ( ) - > addPermanentWidget ( m_engineIdle ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_engineRunning  =  new  Indicator ( tr ( " Run " ) ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_engineRunning - > setToolTip ( tr ( " DSP engine is running " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									statusBar ( ) - > addPermanentWidget ( m_engineRunning ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_engineError  =  new  Indicator ( tr ( " Err " ) ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_engineError - > setToolTip ( tr ( " DSP engine failed " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									statusBar ( ) - > addPermanentWidget ( m_engineError ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : closeEvent ( QCloseEvent * )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : updateCenterFreqDisplay ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//ui->rxSpectrum->setCenterFrequency(m_centerFrequency);
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . back ( ) - > m_spectrum - > setCenterFrequency ( m_centerFrequency ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : updateSampleRate ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-07 03:53:25 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//ui->rxSpectrum->setSampleRate(m_sampleRate);
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_deviceUIs . back ( ) - > m_spectrum - > setSampleRate ( m_sampleRate ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									m_sampleRateWidget - > setText ( tr ( " Rate: %1 kHz " ) . arg ( ( float ) m_sampleRate  /  1000 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  MainWindow : : updatePresetControls ( )  
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > presetTree - > resizeColumnToContents ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( ui - > presetTree - > currentItem ( )  ! =  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										ui - > presetDelete - > setEnabled ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ui - > presetLoad - > setEnabled ( true ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										ui - > presetDelete - > setEnabled ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ui - > presetLoad - > setEnabled ( false ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								QTreeWidgetItem *  MainWindow : : addPresetToTree ( const  Preset *  preset )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									QTreeWidgetItem *  group  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-09 01:50:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( int  i  =  0 ;  i  <  ui - > presetTree - > topLevelItemCount ( ) ;  i + + ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( ui - > presetTree - > topLevelItem ( i ) - > text ( 0 )  = =  preset - > getGroup ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											group  =  ui - > presetTree - > topLevelItem ( i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-09 01:50:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( group  = =  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										QStringList  sl ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										sl . append ( preset - > getGroup ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										group  =  new  QTreeWidgetItem ( ui - > presetTree ,  sl ,  PGroup ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										group - > setFirstColumnSpanned ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										group - > setExpanded ( true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ui - > presetTree - > sortByColumn ( 0 ,  Qt : : AscendingOrder ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-09 01:50:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									QStringList  sl ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									sl . append ( QString ( " %1 kHz " ) . arg ( preset - > getCenterFrequency ( )  /  1000 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									sl . append ( preset - > getDescription ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									PresetItem *  item  =  new  PresetItem ( group ,  sl ,  preset - > getCenterFrequency ( ) ,  PItem ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									item - > setTextAlignment ( 0 ,  Qt : : AlignRight ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									item - > setData ( 0 ,  Qt : : UserRole ,  qVariantFromValue ( preset ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									ui - > presetTree - > resizeColumnToContents ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									updatePresetControls ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									return  item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : applySettings ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									updateCenterFreqDisplay ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									updateSampleRate ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  MainWindow : : handleDSPMessages ( )  
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Message *  message ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-30 23:22:18 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									while  ( ( message  =  m_dspEngine - > getOutputMessageQueue ( ) - > pop ( ) )  ! =  0 ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-30 23:22:18 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										qDebug ( " Message: %s " ,  message - > getIdentifier ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										std : : cerr  < <  " MainWindow::handleDSPMessages:  "  < <  message - > getIdentifier ( )  < <  std : : endl ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-19 09:24:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( DSPSignalNotification : : match ( * message ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-19 09:24:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											DSPSignalNotification *  notif  =  ( DSPSignalNotification * )  message ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											m_sampleRate  =  notif - > getSampleRate ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-19 22:12:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											m_centerFrequency  =  notif - > getCenterFrequency ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											qDebug ( " SampleRate:%d, CenterFrequency:%llu " ,  notif - > getSampleRate ( ) ,  notif - > getCenterFrequency ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											updateCenterFreqDisplay ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											updateSampleRate ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-19 09:24:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											qDebug ( )  < <  " MainWindow::handleDSPMessages: forward to file sink " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											m_fileSink - > handleMessage ( * notif ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 05:00:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-26 02:03:20 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											delete  message ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : handleMessages ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Message *  message ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-30 23:22:18 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									while  ( ( message  =  m_inputMessageQueue . pop ( ) )  ! =  0 ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-30 23:22:18 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										qDebug ( " Message: %s " ,  message - > getIdentifier ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										std : : cerr  < <  " MainWindow::handleMessages:  "  < <  message - > getIdentifier ( )  < <  std : : endl ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-09 04:09:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-30 23:22:18 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( ! m_pluginManager - > handleMessage ( * message ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-14 05:00:28 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											delete  message ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : updateStatus ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  state  =  m_dspEngine - > state ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( m_lastEngineState  ! =  state )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										switch ( state )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-15 04:05:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											case  DSPDeviceEngine : : StNotStarted : 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												m_engineIdle - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineRunning - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineError - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												statusBar ( ) - > clearMessage ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-15 04:05:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											case  DSPDeviceEngine : : StIdle : 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												m_engineIdle - > setColor ( Qt : : cyan ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineRunning - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineError - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												statusBar ( ) - > clearMessage ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-15 04:05:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											case  DSPDeviceEngine : : StRunning : 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												m_engineIdle - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineRunning - > setColor ( Qt : : green ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineError - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-12 09:03:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												statusBar ( ) - > showMessage ( tr ( " Sampling from %1 " ) . arg ( m_dspEngine - > sourceDeviceDescription ( ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-15 04:05:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											case  DSPDeviceEngine : : StError : 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												m_engineIdle - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineRunning - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												m_engineError - > setColor ( Qt : : red ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												statusBar ( ) - > showMessage ( tr ( " Error: %1 " ) . arg ( m_dspEngine - > errorMessage ( ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										m_lastEngineState  =  state ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_action_Start_triggered ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-08-12 09:03:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( m_dspEngine - > initAcquisition ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										m_dspEngine - > startAcquisition ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_action_Stop_triggered ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_dspEngine - > stopAcquistion ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-28 23:54:17 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  MainWindow : : on_action_Start_Recording_triggered ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_recording - > setColor ( Qt : : red ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_fileSink - > startRecording ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_action_Stop_Recording_triggered ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_recording - > setColor ( Qt : : gray ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_fileSink - > stopRecording ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_action_View_Fullscreen_toggled ( bool  checked )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( checked ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										showFullScreen ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									else  showNormal ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_presetSave_clicked ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									QStringList  groups ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									QString  group ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									QString  description  =  " " ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									for ( int  i  =  0 ;  i  <  ui - > presetTree - > topLevelItemCount ( ) ;  i + + ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										groups . append ( ui - > presetTree - > topLevelItem ( i ) - > text ( 0 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									QTreeWidgetItem *  item  =  ui - > presetTree - > currentItem ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( item  ! =  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										if ( item - > type ( )  = =  PGroup ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											group  =  item - > text ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										else  if ( item - > type ( )  = =  PItem )  { 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											group  =  item - > parent ( ) - > text ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											description  =  item - > text ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									AddPresetDialog  dlg ( groups ,  group ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( description . length ( )  >  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										dlg . setDescription ( description ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									if ( dlg . exec ( )  = =  QDialog : : Accepted )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Preset *  preset  =  m_settings . newPreset ( dlg . group ( ) ,  dlg . description ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										savePresetSettings ( preset ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ui - > presetTree - > setCurrentItem ( addPresetToTree ( preset ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  MainWindow : : on_presetUpdate_clicked ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									QTreeWidgetItem *  item  =  ui - > presetTree - > currentItem ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( item  ! =  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( item - > type ( )  = =  PItem )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											const  Preset *  preset  =  qvariant_cast < const  Preset * > ( item - > data ( 0 ,  Qt : : UserRole ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( preset  ! =  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Preset *  preset_mod  =  const_cast < Preset * > ( preset ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												savePresetSettings ( preset_mod ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-03 02:14:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								void  MainWindow : : on_settingsSave_clicked ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									saveSettings ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_presetLoad_clicked ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-08-13 08:51:33 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									qDebug ( )  < <  " MainWindow::on_presetLoad_clicked " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									QTreeWidgetItem *  item  =  ui - > presetTree - > currentItem ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 02:06:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( item  = =  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 04:04:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										qDebug ( " MainWindow::on_presetLoad_clicked: item null " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										updatePresetControls ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 02:06:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 04:04:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									const  Preset *  preset  =  qvariant_cast < const  Preset * > ( item - > data ( 0 ,  Qt : : UserRole ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 02:06:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( preset  = =  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 04:04:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										qDebug ( " MainWindow::on_presetLoad_clicked: preset null " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									loadPresetSettings ( preset ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									applySettings ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_presetDelete_clicked ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									QTreeWidgetItem *  item  =  ui - > presetTree - > currentItem ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( item  = =  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										updatePresetControls ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									const  Preset *  preset  =  qvariant_cast < const  Preset * > ( item - > data ( 0 ,  Qt : : UserRole ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-05-09 10:51:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( preset  = =  0 ) 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( QMessageBox : : question ( this ,  tr ( " Delete Preset " ) ,  tr ( " Do you want to delete preset '%1'? " ) . arg ( preset - > getDescription ( ) ) ,  QMessageBox : : No  |  QMessageBox : : Yes ,  QMessageBox : : No )  = =  QMessageBox : : Yes )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										delete  item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										m_settings . deletePreset ( preset ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_presetTree_currentItemChanged ( QTreeWidgetItem  * current ,  QTreeWidgetItem  * previous )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-08-24 00:51:27 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									updatePresetControls ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_presetTree_itemActivated ( QTreeWidgetItem  * item ,  int  column )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									on_presetLoad_clicked ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_action_Loaded_Plugins_triggered ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									PluginsDialog  pluginsDialog ( m_pluginManager ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									pluginsDialog . exec ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_action_Preferences_triggered ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									PreferencesDialog  preferencesDialog ( m_audioDeviceInfo ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									preferencesDialog . exec ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_sampleSource_currentIndexChanged ( int  index )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-02 04:04:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_pluginManager - > saveSourceSettings ( m_settings . getWorkingPreset ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:39:40 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//m_pluginManager->selectSampleSourceByIndex(ui->sampleSource->currentIndex());
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//m_settings.setSourceIndex(ui->sampleSource->currentIndex());
 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:39:40 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_pluginManager - > selectSampleSourceByIndex ( m_deviceUIs . back ( ) - > m_sampleSource - > currentIndex ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_settings . setSourceIndex ( m_deviceUIs . back ( ) - > m_sampleSource - > currentIndex ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-02 04:04:38 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_pluginManager - > loadSourceSettings ( m_settings . getWorkingPreset ( ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2014-05-18 16:52:39 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								void  MainWindow : : on_action_About_triggered ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									AboutDialog  dlg ( this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									dlg . exec ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								MainWindow : : DeviceUISet : : DeviceUISet ( QTimer &  timer )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_spectrum  =  new  GLSpectrum ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_spectrumVis  =  new  SpectrumVis ( m_spectrum ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_spectrum - > connectTimer ( timer ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_spectrumGUI  =  new  GLSpectrumGUI ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_spectrumGUI - > setBuddies ( m_spectrumVis - > getInputMessageQueue ( ) ,  m_spectrumVis ,  m_spectrum ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m_channelWindow  =  new  ChannelWindow ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									m_sampleSource  =  new  QComboBox ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-12 06:13:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// m_spectrum needs to have its font to be set since it cannot be inherited from the main window
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									QFont  font ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    font . setFamily ( QStringLiteral ( " Sans Serif " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    font . setPointSize ( 9 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    m_spectrum - > setFont ( font ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								MainWindow : : DeviceUISet : : ~ DeviceUISet ( )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-10-07 23:27:56 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									delete  m_sampleSource ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-07 09:27:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									delete  m_channelWindow ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									delete  m_spectrumGUI ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									delete  m_spectrumVis ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									delete  m_spectrum ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}