@ -293,11 +293,6 @@ QWidget * network_panel(QWidget * parent) { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					void  SettingsWindow : : setActivePanel ( )  {  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  auto  * btn  =  qobject_cast < QPushButton  * > ( nav_btns - > checkedButton ( ) ) ;   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  panel_layout - > setCurrentWidget ( panels [ btn - > text ( ) ] ) ;   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					SettingsWindow : : SettingsWindow ( QWidget  * parent )  :  QFrame ( parent )  {  
					 
					 
					 
					SettingsWindow : : SettingsWindow ( QWidget  * parent )  :  QFrame ( parent )  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  // setup two main layouts
   
					 
					 
					 
					  // setup two main layouts
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  QVBoxLayout  * sidebar_layout  =  new  QVBoxLayout ( ) ;   
					 
					 
					 
					  QVBoxLayout  * sidebar_layout  =  new  QVBoxLayout ( ) ;   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -319,17 +314,17 @@ SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  QObject : : connect ( close_btn ,  SIGNAL ( released ( ) ) ,  this ,  SIGNAL ( closeSettings ( ) ) ) ;   
					 
					 
					 
					  QObject : : connect ( close_btn ,  SIGNAL ( released ( ) ) ,  this ,  SIGNAL ( closeSettings ( ) ) ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  // setup panels
   
					 
					 
					 
					  // setup panels
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  panels  =  {   
					 
					 
					 
					  QPair < QString ,  QWidget  * >  panels [ ]  =  {   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    { " Developer " ,  developer_panel ( ) } ,   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    { " Device " ,  device_panel ( ) } ,   
					 
					 
					 
					    { " Device " ,  device_panel ( ) } ,   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    { " Network " ,  network_panel ( this ) } ,   
					 
					 
					 
					    { " Network " ,  network_panel ( this ) } ,   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    { " Toggles " ,  toggles_panel ( ) } ,   
					 
					 
					 
					    { " Toggles " ,  toggles_panel ( ) } ,   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					    { " Developer " ,  developer_panel ( ) } ,   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  } ;   
					 
					 
					 
					  } ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  sidebar_layout - > addSpacing ( 45 ) ;   
					 
					 
					 
					  sidebar_layout - > addSpacing ( 45 ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  nav_btns  =  new  QButtonGroup ( ) ;   
					 
					 
					 
					  nav_btns  =  new  QButtonGroup ( ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  for  ( auto  & panel   :  panels )  {   
					 
					 
					 
					  for  ( auto  & [ name ,  panel ]  :  panels )  {   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    QPushButton  * btn  =  new  QPushButton ( pa nel . first ) ;   
					 
					 
					 
					    QPushButton  * btn  =  new  QPushButton ( nam e ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    btn - > setCheckable ( true ) ;   
					 
					 
					 
					    btn - > setCheckable ( true ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    btn - > setStyleSheet ( R " (   
					 
					 
					 
					    btn - > setStyleSheet ( R " (   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					      *  {   
					 
					 
					 
					      *  {   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -348,9 +343,9 @@ SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    nav_btns - > addButton ( btn ) ;   
					 
					 
					 
					    nav_btns - > addButton ( btn ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    sidebar_layout - > addWidget ( btn ,  0 ,  Qt : : AlignRight ) ;   
					 
					 
					 
					    sidebar_layout - > addWidget ( btn ,  0 ,  Qt : : AlignRight ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    panel_layout - > addWidget ( panel . second ) ;   
					 
					 
					 
					
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    QObject : : connect ( btn ,  SIGNAL ( released ( ) ) ,  this ,  SLOT ( setActivePanel ( ) ) ) ;   
					 
					 
					 
					    panel_layout - > addWidget ( panel ) ;   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    QObject : : connect ( btn ,  & QPushButton : : released ,  [ = ] ( ) { emit  sidebarPressed ( ) ; } ) ;   
					 
					 
					 
					    QObject : : connect ( btn ,  & QPushButton : : released ,  [ = ,  w  =  panel ] ( )  {  panel_layout - > setCurrentWidget ( w  ) ;   } ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					  }   
					 
					 
					 
					  }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  qobject_cast < QPushButton  * > ( nav_btns - > buttons ( ) [ 0 ] ) - > setChecked ( true ) ;   
					 
					 
					 
					  qobject_cast < QPushButton  * > ( nav_btns - > buttons ( ) [ 0 ] ) - > setChecked ( true ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  sidebar_layout - > setContentsMargins ( 50 ,  50 ,  100 ,  50 ) ;   
					 
					 
					 
					  sidebar_layout - > setContentsMargins ( 50 ,  50 ,  100 ,  50 ) ;