@ -16,6 +16,7 @@ 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# include  "selfdrive/ui/qt/widgets/ssh_keys.h"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# include  "selfdrive/ui/qt/widgets/toggle.h"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# include  "selfdrive/ui/ui.h"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# include  "selfdrive/ui/qt/util.h"  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					TogglesPanel : : TogglesPanel ( QWidget  * parent )  :  QWidget ( parent )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  QVBoxLayout  * toggles_list  =  new  QVBoxLayout ( ) ;   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -214,13 +215,32 @@ void DeveloperPanel::showEvent(QShowEvent *event) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  Params  params  =  Params ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  std : : string  brand  =  params . getBool ( " Passive " )  ?  " dashcam "  :  " openpilot " ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  QList < QPair < QString ,  std : : string > >  dev_params  =  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    { " Version " ,  brand  +  "  v "  +  params . get ( " Version " ,  false ) . substr ( 0 ,  14 ) } ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    { " Git Branch " ,  params . get ( " GitBranch " ,  false ) } ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    { " Git Commit " ,  params . get ( " GitCommit " ,  false ) . substr ( 0 ,  10 ) } ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    { " Panda Firmware " ,  params . get ( " PandaFirmwareHex " ,  false ) } ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    { " OS Version " ,  Hardware : : get_os_version ( ) } ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  } ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  QString  version  =  QString : : fromStdString ( brand  +  "  v "  +  params . get ( " Version " ,  false ) . substr ( 0 ,  14 ) ) . trimmed ( ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  QDateTime  lastUpdateDate  =  QDateTime : : fromString ( QString : : fromStdString ( params . get ( " LastUpdateTime " ,  false ) ) ,  Qt : : ISODate ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  QString  lastUpdateTime  =  timeAgo ( lastUpdateDate ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  if  ( labels . size ( )  <  dev_params . size ( ) )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    versionLbl  =  new  LabelControl ( " Version " ,  version ,  QString : : fromStdString ( params . get ( " ReleaseNotes " ,  false ) ) . trimmed ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    layout ( ) - > addWidget ( versionLbl ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    layout ( ) - > addWidget ( horizontal_line ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    lastUpdateTimeLbl  =  new  LabelControl ( " Last Update Check " ,  lastUpdateTime ,  " The last time openpilot checked for an update. " ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    connect ( lastUpdateTimeLbl ,  & LabelControl : : showDescription ,  [ = ] ( )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      std : : system ( " pkill -1 -f selfdrive.updated " ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    layout ( ) - > addWidget ( lastUpdateTimeLbl ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    layout ( ) - > addWidget ( horizontal_line ( ) ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  }  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    versionLbl - > setText ( version ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    lastUpdateTimeLbl - > setText ( lastUpdateTime ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					  for  ( int  i  =  0 ;  i  <  dev_params . size ( ) ;  i + + )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    const  auto  & [ name ,  value ]  =  dev_params [ i ] ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    QString  val  =  QString : : fromStdString ( value ) . trimmed ( ) ;