summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2002-08-15 21:47:53 (UTC)
committer mickeyl <mickeyl>2002-08-15 21:47:53 (UTC)
commit596a6985c33b825462b8da70a9dc390306589f4b (patch) (unidiff)
treecabccedf268f19317fd67a8321a54786cdcb2062
parenta7f51d623fd3419cb70c8911e54405c978836330 (diff)
downloadopie-596a6985c33b825462b8da70a9dc390306589f4b.zip
opie-596a6985c33b825462b8da70a9dc390306589f4b.tar.gz
opie-596a6985c33b825462b8da70a9dc390306589f4b.tar.bz2
Changed update scale from milliseconds to seconds. Defaulting now to 2 seconds. All settings are saved via Config.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/wirelessapplet/wireless.cpp70
-rw-r--r--noncore/applets/wirelessapplet/wireless.h12
2 files changed, 60 insertions, 22 deletions
diff --git a/noncore/applets/wirelessapplet/wireless.cpp b/noncore/applets/wirelessapplet/wireless.cpp
index 15ccc58..183aab8 100644
--- a/noncore/applets/wirelessapplet/wireless.cpp
+++ b/noncore/applets/wirelessapplet/wireless.cpp
@@ -12,16 +12,17 @@
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#include "wireless.h" 16#include "wireless.h"
17 17
18#include <qapplication.h> 18#include <qapplication.h>
19#include <qpe/qpeapplication.h> 19#include <qpe/qpeapplication.h>
20#include <qpe/config.h>
20 21
21#include <qpoint.h> 22#include <qpoint.h>
22#include <qradiobutton.h> 23#include <qradiobutton.h>
23#include <qcheckbox.h> 24#include <qcheckbox.h>
24#include <qpainter.h> 25#include <qpainter.h>
25#include <qlabel.h> 26#include <qlabel.h>
26#include <qslider.h> 27#include <qslider.h>
27#include <qbuttongroup.h> 28#include <qbuttongroup.h>
@@ -44,16 +45,20 @@
44 45
45#define STYLE_BARS 0 46#define STYLE_BARS 0
46#define STYLE_ANTENNA 1 47#define STYLE_ANTENNA 1
47 48
48WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const char *name ) 49WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const char *name )
49 : QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), applet( applet ) 50 : QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), applet( applet )
50{ 51{
51 52
53 readConfig();
54 writeConfigEntry( "UpdateFrequency", updateFrequency );
55 writeConfigEntry( "DisplayStyle", displayStyle );
56
52 setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); 57 setFrameStyle( QFrame::PopupPanel | QFrame::Raised );
53 QGridLayout *grid = new QGridLayout( this, 3, 2, 6, 2, "top layout" ); 58 QGridLayout *grid = new QGridLayout( this, 3, 2, 6, 2, "top layout" );
54 59
55 /* status label */ 60 /* status label */
56 61
57 statusLabel = new QLabel( this, "statuslabel" ); 62 statusLabel = new QLabel( this, "statuslabel" );
58 QString text( "Wireless Status:<br>" 63 QString text( "Wireless Status:<br>"
59 "*** Unknown ***<br>" 64 "*** Unknown ***<br>"
@@ -72,17 +77,17 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const
72 /* visualization group box */ 77 /* visualization group box */
73 78
74 QButtonGroup* group = new QButtonGroup( 1, Qt::Horizontal, "Visualization", this ); 79 QButtonGroup* group = new QButtonGroup( 1, Qt::Horizontal, "Visualization", this );
75 QRadioButton* r1 = new QRadioButton( "Color Bars", group ); 80 QRadioButton* r1 = new QRadioButton( "Color Bars", group );
76 QRadioButton* r2 = new QRadioButton( "Antenna", group ); 81 QRadioButton* r2 = new QRadioButton( "Antenna", group );
77 r1->setFocusPolicy( QWidget::NoFocus ); 82 r1->setFocusPolicy( QWidget::NoFocus );
78 r2->setFocusPolicy( QWidget::NoFocus ); 83 r2->setFocusPolicy( QWidget::NoFocus );
79 group->setFocusPolicy( QWidget::NoFocus ); 84 group->setFocusPolicy( QWidget::NoFocus );
80 group->setButton( STYLE_ANTENNA ); 85 group->setButton( displayStyle );
81 grid->addWidget( group, 0, 1 ); 86 grid->addWidget( group, 0, 1 );
82 87
83 /* quality graph */ 88 /* quality graph */
84 89
85 mgraph = new MGraph( this ); 90 mgraph = new MGraph( this );
86 mgraph->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 91 mgraph->setFrameStyle( QFrame::Panel | QFrame::Sunken );
87 mgraph->setMin( 0 ); 92 mgraph->setMin( 0 );
88 mgraph->setMax( 92 ); 93 mgraph->setMax( 92 );
@@ -94,75 +99,98 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const
94 //FIXME: under construction 99 //FIXME: under construction
95 //QCheckBox* dhcpCheckBox = new QCheckBox( "DHCP renew", this ); 100 //QCheckBox* dhcpCheckBox = new QCheckBox( "DHCP renew", this );
96 //dhcpCheckBox->setFocusPolicy( QWidget::NoFocus ); 101 //dhcpCheckBox->setFocusPolicy( QWidget::NoFocus );
97 //grid->addWidget( dhcpCheckBox, 2, 0, Qt::AlignCenter ); 102 //grid->addWidget( dhcpCheckBox, 2, 0, Qt::AlignCenter );
98 103
99 /* update Frequency Label */ 104 /* update Frequency Label */
100 105
101 updateLabel = new QLabel( this ); 106 updateLabel = new QLabel( this );
102 updateLabel->setText( "Update every 500 ms" ); 107 text.sprintf( "Update every %d s", updateFrequency );
108 updateLabel->setText( text );
103 grid->addWidget( updateLabel, 2, 1 ); 109 grid->addWidget( updateLabel, 2, 1 );
104 110
105 /* update Frequency Slider */ 111 /* update Frequency Slider */
106 112
107 QSlider* updateSlider = new QSlider( QSlider::Horizontal, this ); 113 QSlider* updateSlider = new QSlider( QSlider::Horizontal, this );
108 updateSlider->setRange( 50, 999 ); 114 updateSlider->setRange( 0, 9 );
109 updateSlider->setValue( 500 ); 115 updateSlider->setValue( updateFrequency );
110 updateSlider->setTickmarks( QSlider::Both ); 116 updateSlider->setTickmarks( QSlider::Both );
111 updateSlider->setTickInterval( 100 ); 117 updateSlider->setTickInterval( 1 );
112 updateSlider->setSteps( 50, 50 ); 118 updateSlider->setSteps( 1, 1 );
113 updateSlider->setFocusPolicy( QWidget::NoFocus ); 119 updateSlider->setFocusPolicy( QWidget::NoFocus );
114 grid->addWidget( updateSlider, 1, 1 ); 120 grid->addWidget( updateSlider, 1, 1 );
115 connect( updateSlider, SIGNAL( valueChanged( int ) ), 121 connect( updateSlider, SIGNAL( valueChanged( int ) ),
116 this, SLOT( updateDelayChange( int ) ) ); 122 this, SLOT( updateDelayChange( int ) ) );
117 123
118 setFixedSize( sizeHint() ); 124 setFixedSize( sizeHint() );
119 setFocusPolicy( QWidget::NoFocus ); 125 setFocusPolicy( QWidget::NoFocus );
120 126
127 applet->displayStyleChange( displayStyle );
128 applet->updateDelayChange( updateFrequency );
129
121 connect( group, SIGNAL( clicked( int ) ), 130 connect( group, SIGNAL( clicked( int ) ),
122 applet, SLOT( styleChange( int ) ) ); 131 this, SLOT( displayStyleChange( int ) ) );
123
124} 132}
125 133
126void WirelessControl::updateDelayChange( int delay ) 134void WirelessControl::updateDelayChange( int delay )
127{ 135{
128 QString text; 136 QString text;
129 text.sprintf( "Update every %3d ms", delay ); 137 text.sprintf( "Update every %d s", delay );
130 updateLabel->setText( text ); 138 updateLabel->setText( text );
131 applet->updateDelayChange( delay ); 139 applet->updateDelayChange( delay );
140 writeConfigEntry( "UpdateFrequency", delay );
141}
142
143void WirelessControl::displayStyleChange( int style )
144{
145 applet->displayStyleChange( style );
146 writeConfigEntry( "DisplayStyle", style );
132} 147}
133 148
134void WirelessControl::show ( bool ) 149void WirelessControl::show ( bool )
135{ 150{
136 QPoint curPos = applet->mapToGlobal( QPoint ( 0, 0 ) ); 151 QPoint curPos = applet->mapToGlobal( QPoint ( 0, 0 ) );
137 152
138 int w = sizeHint().width(); 153 int w = sizeHint().width();
139 int x = curPos.x() - ( w / 2 ); 154 int x = curPos.x() - ( w / 2 );
140 155
141 if ( ( x + w ) > QPEApplication::desktop()->width() ) 156 if ( ( x + w ) > QPEApplication::desktop()->width() )
142 x = QPEApplication::desktop ( )-> width ( ) - w; 157 x = QPEApplication::desktop ( )-> width ( ) - w;
143 158
144 move( x, curPos.y () - sizeHint().height () ); 159 move( x, curPos.y () - sizeHint().height () );
145 QFrame::show(); 160 QFrame::show();
146} 161}
147 162
163void WirelessControl::readConfig()
164{
165 Config cfg( "qpe" );
166 cfg.setGroup( "Wireless" );
167
168 updateFrequency = cfg.readNumEntry( "UpdateFrequency", 2 );
169 displayStyle = cfg. readNumEntry( "DisplayStyle", STYLE_ANTENNA );
170}
148 171
172void WirelessControl::writeConfigEntry( const char *entry, int val )
173{
174 Config cfg( "qpe" );
175 cfg.setGroup( "Wireless" );
176 cfg.writeEntry( entry, val );
177}
178
149//=========================================================================== 179//===========================================================================
150 180
151WirelessApplet::WirelessApplet( QWidget *parent, const char *name ) 181WirelessApplet::WirelessApplet( QWidget *parent, const char *name )
152 : QWidget( parent, name ), visualStyle( STYLE_ANTENNA ), interface( 0 ) 182 : QWidget( parent, name ), visualStyle( STYLE_ANTENNA ),
183 timer( 0 ), interface( 0 )
153{ 184{
154 setFixedHeight( 18 ); 185 setFixedHeight( 18 );
155 setFixedWidth( 14 ); 186 setFixedWidth( 14 );
156 status = new WirelessControl( this, 0, "wireless status" );
157
158 network = new MWirelessNetwork(); 187 network = new MWirelessNetwork();
159 188 status = new WirelessControl( this, 0, "wireless status" );
160 timer = startTimer( 500 );
161} 189}
162 190
163void WirelessApplet::checkInterface() 191void WirelessApplet::checkInterface()
164{ 192{
165 interface = network->getFirstInterface(); 193 interface = network->getFirstInterface();
166 if ( interface ) 194 if ( interface )
167 { 195 {
168 qDebug( "WIFIAPPLET: using interface '%s'", (const char*) 196 qDebug( "WIFIAPPLET: using interface '%s'", (const char*)
@@ -171,28 +199,32 @@ void WirelessApplet::checkInterface()
171 else 199 else
172 { 200 {
173 qDebug( "WIFIAPPLET: D'oh! No Wireless interface present... :(" ); 201 qDebug( "WIFIAPPLET: D'oh! No Wireless interface present... :(" );
174 } 202 }
175} 203}
176 204
177void WirelessApplet::updateDelayChange( int delay ) 205void WirelessApplet::updateDelayChange( int delay )
178{ 206{
179 killTimer( timer ); 207 if ( timer )
208 killTimer( timer );
209 delay *= 1000;
210 if ( delay == 0 )
211 delay = 50;
180 timer = startTimer( delay ); 212 timer = startTimer( delay );
181} 213}
182 214
183WirelessApplet::~WirelessApplet() 215void WirelessApplet::displayStyleChange( int style )
184{ 216{
217 visualStyle = style;
218 repaint();
185} 219}
186 220
187void WirelessApplet::styleChange( int style ) 221WirelessApplet::~WirelessApplet()
188{ 222{
189 visualStyle = style;
190 repaint();
191} 223}
192 224
193void WirelessApplet::timerEvent( QTimerEvent* ) 225void WirelessApplet::timerEvent( QTimerEvent* )
194{ 226{
195 MWirelessNetworkInterface* iface = ( MWirelessNetworkInterface* ) interface; 227 MWirelessNetworkInterface* iface = ( MWirelessNetworkInterface* ) interface;
196 228
197 if ( iface ) 229 if ( iface )
198 { 230 {
diff --git a/noncore/applets/wirelessapplet/wireless.h b/noncore/applets/wirelessapplet/wireless.h
index d45ac68..45c519d 100644
--- a/noncore/applets/wirelessapplet/wireless.h
+++ b/noncore/applets/wirelessapplet/wireless.h
@@ -29,41 +29,47 @@ class WirelessApplet;
29class MGraph; 29class MGraph;
30 30
31class WirelessControl : public QFrame 31class WirelessControl : public QFrame
32{ 32{
33 Q_OBJECT 33 Q_OBJECT
34public: 34public:
35 WirelessControl( WirelessApplet* icon, QWidget *parent=0, const char *name=0 ); 35 WirelessControl( WirelessApplet* icon, QWidget *parent=0, const char *name=0 );
36 void show( bool ); 36 void show( bool );
37
38 void readConfig();
39 void writeConfigEntry( const char* entry, int val );
37 40
38 MGraph* mgraph; 41 MGraph* mgraph;
39 QLabel* statusLabel; 42 QLabel* statusLabel;
40 QLabel* updateLabel; 43 QLabel* updateLabel;
41 44
42public slots: 45public slots:
43 void updateDelayChange( int ); 46 void updateDelayChange( int );
47 void displayStyleChange( int );
44 48
45private: 49private:
46 WirelessApplet* applet; 50 WirelessApplet* applet;
51
52 int displayStyle;
53 int updateFrequency;
54
47}; 55};
48 56
49class WirelessApplet : public QWidget 57class WirelessApplet : public QWidget
50{ 58{
51 Q_OBJECT 59 Q_OBJECT
52public: 60public:
53 WirelessApplet( QWidget *parent = 0, const char *name=0 ); 61 WirelessApplet( QWidget *parent = 0, const char *name=0 );
54 ~WirelessApplet(); 62 ~WirelessApplet();
55 WirelessControl* status; 63 WirelessControl* status;
56 64
57 virtual void timerEvent( QTimerEvent* ); 65 virtual void timerEvent( QTimerEvent* );
58 void updateDelayChange( int delay ); 66 void updateDelayChange( int delay );
59 67 void displayStyleChange( int style );
60public slots:
61 void styleChange( int );
62 68
63private: 69private:
64 void mousePressEvent( QMouseEvent * ); 70 void mousePressEvent( QMouseEvent * );
65 void paintEvent( QPaintEvent* ); 71 void paintEvent( QPaintEvent* );
66 void checkInterface(); 72 void checkInterface();
67 73
68 bool mustRepaint(); 74 bool mustRepaint();
69 void updatePopupWindow(); 75 void updatePopupWindow();