|  |  | @ -4,6 +4,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | #include <QStyleOption> |  |  |  | #include <QStyleOption> | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | #include "selfdrive/common/params.h" |  |  |  | #include "selfdrive/common/params.h" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | #include "selfdrive/common/swaglog.h" | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | QString getBrand() { |  |  |  | QString getBrand() { | 
			
		
	
		
		
			
				
					
					|  |  |  |   return Params().getBool("Passive") ? "dashcam" : "openpilot"; |  |  |  |   return Params().getBool("Passive") ? "dashcam" : "openpilot"; | 
			
		
	
	
		
		
			
				
					|  |  | @ -79,3 +80,22 @@ void ClickableWidget::paintEvent(QPaintEvent *) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   QPainter p(this); |  |  |  |   QPainter p(this); | 
			
		
	
		
		
			
				
					
					|  |  |  |   style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); |  |  |  |   style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | void swagLogMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   static std::map<QtMsgType, int> levels = { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     {QtMsgType::QtDebugMsg, 10}, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     {QtMsgType::QtInfoMsg, 20}, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     {QtMsgType::QtWarningMsg, 30}, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     {QtMsgType::QtCriticalMsg, 40}, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     {QtMsgType::QtSystemMsg, 40}, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     {QtMsgType::QtFatalMsg, 50}, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   }; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   std::string file, function; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   if (context.file != nullptr) file = context.file; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   if (context.function != nullptr) function = context.function; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   auto bts = msg.toUtf8(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   cloudlog_e(levels[type], file.c_str(), context.line, function.c_str(), "%s", bts.constData()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |