summaryrefslogtreecommitdiff
path: root/noncore/applets/wirelessapplet
Unidiff
Diffstat (limited to 'noncore/applets/wirelessapplet') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/wirelessapplet/wireless.cpp62
1 files changed, 44 insertions, 18 deletions
diff --git a/noncore/applets/wirelessapplet/wireless.cpp b/noncore/applets/wirelessapplet/wireless.cpp
index 649cf20..fb9522a 100644
--- a/noncore/applets/wirelessapplet/wireless.cpp
+++ b/noncore/applets/wirelessapplet/wireless.cpp
@@ -51,9 +51,9 @@
51 51
52#define STYLE_BARS 0 52#define STYLE_BARS 0
53#define STYLE_ANTENNA 1 53#define STYLE_ANTENNA 1
54 54
55//#define MDEBUG 0 55//#define MDEBUG
56#undef MDEBUG 56#undef MDEBUG
57 57
58WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const char *name ) 58WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const char *name )
59 : QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), applet( applet ) 59 : QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), applet( applet )
@@ -61,14 +61,14 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const
61 61
62 readConfig(); 62 readConfig();
63 writeConfigEntry( "UpdateFrequency", updateFrequency ); 63 writeConfigEntry( "UpdateFrequency", updateFrequency );
64 writeConfigEntry( "DisplayStyle", displayStyle ); 64 writeConfigEntry( "DisplayStyle", displayStyle );
65 65
66 setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); 66 setFrameStyle( QFrame::PopupPanel | QFrame::Raised );
67 QGridLayout *grid = new QGridLayout( this, 3, 2, 6, 2, "top layout" ); 67 QGridLayout *grid = new QGridLayout( this, 3, 2, 6, 2, "top layout" );
68 68
69 /* status label */ 69 /* status label */
70 70
71 statusLabel = new QLabel( this, "statuslabel" ); 71 statusLabel = new QLabel( this, "statuslabel" );
72 QString text( "Wireless Status:<br>" 72 QString text( "Wireless Status:<br>"
73 "*** Unknown ***<br>" 73 "*** Unknown ***<br>"
74 "Card not inserted ?<br>" 74 "Card not inserted ?<br>"
@@ -83,9 +83,9 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const
83 statusLabel->setFixedSize( statusLabel->sizeHint() ); 83 statusLabel->setFixedSize( statusLabel->sizeHint() );
84 grid->addWidget( statusLabel, 0, 0 ); 84 grid->addWidget( statusLabel, 0, 0 );
85 85
86 /* visualization group box */ 86 /* visualization group box */
87 87
88 QButtonGroup* group = new QButtonGroup( 1, Qt::Horizontal, "Visualization", this ); 88 QButtonGroup* group = new QButtonGroup( 1, Qt::Horizontal, "Visualization", this );
89 QRadioButton* r1 = new QRadioButton( "Color Bars", group ); 89 QRadioButton* r1 = new QRadioButton( "Color Bars", group );
90 QRadioButton* r2 = new QRadioButton( "Antenna", group ); 90 QRadioButton* r2 = new QRadioButton( "Antenna", group );
91 r1->setFocusPolicy( QWidget::NoFocus ); 91 r1->setFocusPolicy( QWidget::NoFocus );
@@ -94,33 +94,33 @@ WirelessControl::WirelessControl( WirelessApplet *applet, QWidget *parent, const
94 group->setButton( displayStyle ); 94 group->setButton( displayStyle );
95 grid->addWidget( group, 0, 1 ); 95 grid->addWidget( group, 0, 1 );
96 96
97 /* quality graph */ 97 /* quality graph */
98 98
99 mgraph = new MGraph( this ); 99 mgraph = new MGraph( this );
100 mgraph->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 100 mgraph->setFrameStyle( QFrame::Panel | QFrame::Sunken );
101 mgraph->setMin( 0 ); 101 mgraph->setMin( 0 );
102 mgraph->setMax( 92 ); 102 mgraph->setMax( 92 );
103 grid->addWidget( mgraph, 1, 0 ); 103 grid->addWidget( mgraph, 1, 0 );
104 mgraph->setFocusPolicy( QWidget::NoFocus ); 104 mgraph->setFocusPolicy( QWidget::NoFocus );
105 105
106 /* advanced configuration Button */ 106 /* advanced configuration Button */
107 107
108 QPushButton* advanced = new QPushButton( "Advanced...", this ); 108 QPushButton* advanced = new QPushButton( "Advanced...", this );
109 advanced->setFocusPolicy( QWidget::NoFocus ); 109 advanced->setFocusPolicy( QWidget::NoFocus );
110 grid->addWidget( advanced, 2, 0, Qt::AlignCenter ); 110 grid->addWidget( advanced, 2, 0, Qt::AlignCenter );
111 connect( advanced, SIGNAL( clicked() ), 111 connect( advanced, SIGNAL( clicked() ),
112 this, SLOT( advancedConfigClicked() ) ); 112 this, SLOT( advancedConfigClicked() ) );
113 113
114 /* update Frequency Label */ 114 /* update Frequency Label */
115 115
116 updateLabel = new QLabel( this ); 116 updateLabel = new QLabel( this );
117 text.sprintf( "Update every %d s", updateFrequency ); 117 text.sprintf( "Update every %d s", updateFrequency );
118 updateLabel->setText( text ); 118 updateLabel->setText( text );
119 grid->addWidget( updateLabel, 2, 1 ); 119 grid->addWidget( updateLabel, 2, 1 );
120 120
121 /* update Frequency Slider */ 121 /* update Frequency Slider */
122 122
123 QSlider* updateSlider = new QSlider( QSlider::Horizontal, this ); 123 QSlider* updateSlider = new QSlider( QSlider::Horizontal, this );
124 updateSlider->setRange( 0, 9 ); 124 updateSlider->setRange( 0, 9 );
125 updateSlider->setValue( updateFrequency ); 125 updateSlider->setValue( updateFrequency );
126 updateSlider->setTickmarks( QSlider::Both ); 126 updateSlider->setTickmarks( QSlider::Both );
@@ -232,10 +232,10 @@ void WirelessApplet::checkInterface()
232#ifdef MDEBUG 232#ifdef MDEBUG
233 qDebug( "WIFIAPPLET: D'oh! No Wireless interface present... :(" ); 233 qDebug( "WIFIAPPLET: D'oh! No Wireless interface present... :(" );
234#endif 234#endif
235 hide(); 235 hide();
236 } 236 }
237} 237}
238 238
239void WirelessApplet::renewDHCP() 239void WirelessApplet::renewDHCP()
240{ 240{
241#ifdef MDEBUG 241#ifdef MDEBUG
@@ -245,24 +245,50 @@ void WirelessApplet::renewDHCP()
245 QString pidfile; 245 QString pidfile;
246 if ( !interface ) 246 if ( !interface )
247 return; 247 return;
248 QString ifacename( interface->getName() ); 248 QString ifacename( interface->getName() );
249
250 // At first we are trying dhcpcd
251
249 pidfile.sprintf( "/var/run/dhcpcd-%s.pid", (const char* ) ifacename ); 252 pidfile.sprintf( "/var/run/dhcpcd-%s.pid", (const char* ) ifacename );
250#ifdef MDEBUG 253#ifdef MDEBUG
251 qDebug( "WIFIAPPLET: pidfile is '%s'", (const char*) pidfile ); 254 qDebug( "WIFIAPPLET: dhcpcd pidfile is '%s'", (const char*) pidfile );
252#endif 255#endif
253 int pid; 256 int pid;
254 QFile pfile( pidfile ); 257 QFile pfile( pidfile );
255 bool hasFile = pfile.open( IO_ReadOnly ); 258 bool hasFile = pfile.open( IO_ReadOnly );
256 QTextStream s( &pfile ); 259 QTextStream s( &pfile );
257 if ( hasFile ) 260 if ( hasFile )
261 {
258 s >> pid; 262 s >> pid;
259#ifdef MDEBUG 263#ifdef MDEBUG
260 qDebug( "WIFIAPPLET: sent -14 to pid %d", pid ); 264 qDebug( "WIFIAPPLET: sent SIGALARM to pid %d", pid );
261#endif 265#endif
262 kill( pid, -14 ); 266 kill( pid, SIGALRM );
267 return;
268 }
263 269
264} 270 // No dhcpcd, so we are trying udhcpc
271#ifdef MDEBUG
272 qDebug( "WIFIAPPLET: dhcpcd not available." );
273#endif
274 pidfile.sprintf( "/var/run/udhcpc.%s.pid", (const char*) ifacename );
275#ifdef MDEBUG
276 qDebug( "WIFIAPPLET: udhcpc pidfile is '%s'", (const char*) pidfile );
277#endif
278 QFile pfile2( pidfile );
279 hasFile = pfile2.open( IO_ReadOnly );
280 QTextStream s2( &pfile2 );
281 if ( hasFile )
282 {
283 s2 >> pid;
284#ifdef MDEBUG
285 qDebug( "WIFIAPPLET: sent SIGUSR1 to pid %d", pid );
286#endif
287 kill( pid, SIGUSR1 );
288 return;
289 }
290}
265 291
266void WirelessApplet::updateDHCPConfig( bool ESSID, bool FREQ, bool AP, bool MODE ) 292void WirelessApplet::updateDHCPConfig( bool ESSID, bool FREQ, bool AP, bool MODE )
267{ 293{
268 rocESSID = ESSID; 294 rocESSID = ESSID;