 be1514a3e9
			
		
	
	
		be1514a3e9
		
	
	
	
	
		
			
			This updates the license notification to use only the BSD license. The changes were acknowledged by email (Kel Modderman <kel@otaku42.de>, Mon, 2 Jul 2012 20:02:37 +1000). Signed-hostap: Jouni Malinen <j@w1.fi>
		
			
				
	
	
		
			58 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * wpa_gui - SignalBar class
 | |
|  * Copyright (c) 2011, Kel Modderman <kel@otaku42.de>
 | |
|  *
 | |
|  * This software may be distributed under the terms of the BSD license.
 | |
|  * See README for more details.
 | |
|  */
 | |
| 
 | |
| #include <cstdio>
 | |
| #include <qapplication.h>
 | |
| 
 | |
| #include "signalbar.h"
 | |
| 
 | |
| 
 | |
| SignalBar::SignalBar(QObject *parent)
 | |
| 	: QStyledItemDelegate(parent)
 | |
| {
 | |
| }
 | |
| 
 | |
| 
 | |
| SignalBar::~SignalBar()
 | |
| {
 | |
| }
 | |
| 
 | |
| 
 | |
| void SignalBar::paint(QPainter *painter,
 | |
| 		      const QStyleOptionViewItem &option,
 | |
| 		      const QModelIndex &index) const
 | |
| {
 | |
| 	QStyleOptionProgressBar opts;
 | |
| 	int signal;
 | |
| 
 | |
| 	if (index.column() != 3) {
 | |
| 		QStyledItemDelegate::paint(painter, option, index);
 | |
| 		return;
 | |
| 	}
 | |
| 
 | |
| 	if (index.data().toInt() > 0)
 | |
| 		signal = 0 - (256 - index.data().toInt());
 | |
| 	else
 | |
| 		signal = index.data().toInt();
 | |
| 
 | |
| 	opts.minimum = -95;
 | |
| 	opts.maximum = -35;
 | |
| 	if (signal < opts.minimum)
 | |
| 		opts.progress = opts.minimum;
 | |
| 	else if (signal > opts.maximum)
 | |
| 		opts.progress = opts.maximum;
 | |
| 	else
 | |
| 		opts.progress = signal;
 | |
| 
 | |
| 	opts.text = QString::number(signal) + " dBm";
 | |
| 	opts.textVisible = true;
 | |
| 	opts.rect = option.rect;
 | |
| 
 | |
| 	QApplication::style()->drawControl(QStyle::CE_ProgressBar,
 | |
| 					   &opts, painter);
 | |
| }
 |