summaryrefslogtreecommitdiff
authorharlekin <harlekin>2003-03-09 23:16:17 (UTC)
committer harlekin <harlekin>2003-03-09 23:16:17 (UTC)
commita552546244601de73a4bdab071cb780309ed3c67 (patch) (unidiff)
tree22a1ca9b06dbd9d254da7c99f59ca191c9de93b8
parent57e77709dcf3967c2ca4f83f7206b14c51ed3b03 (diff)
downloadopie-a552546244601de73a4bdab071cb780309ed3c67.zip
opie-a552546244601de73a4bdab071cb780309ed3c67.tar.gz
opie-a552546244601de73a4bdab071cb780309ed3c67.tar.bz2
stop bluetooth when exiting opie
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/applet/bluezapplet.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/noncore/net/opietooth/applet/bluezapplet.cpp b/noncore/net/opietooth/applet/bluezapplet.cpp
index 3fdbde0..f1618ae 100644
--- a/noncore/net/opietooth/applet/bluezapplet.cpp
+++ b/noncore/net/opietooth/applet/bluezapplet.cpp
@@ -1,160 +1,163 @@
1/* 1/*
2               =. This file is part of the OPIE Project 2               =. This file is part of the OPIE Project
3             .=l. Copyright (c) 2002 Maximilian Reiss <max.reiss@gmx.de> 3             .=l. Copyright (c) 2002 Maximilian Reiss <max.reiss@gmx.de>
4           .>+-= 4           .>+-=
5 _;:,     .>    :=|. This library is free software; you can 5 _;:,     .>    :=|. This library is free software; you can
6.> <,   >  .   <= redistribute it and/or modify it under 6.> <,   >  .   <= redistribute it and/or modify it under
7:=1 )Y*s>-.--   : the terms of the GNU Library General Public 7:=1 )Y*s>-.--   : the terms of the GNU Library General Public
8.="- .-=="i,     .._ License as published by the Free Software 8.="- .-=="i,     .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License, 9 - .   .-<_>     .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version. 10     ._= =}       : or (at your option) any later version.
11    .%+i>       _;_. 11    .%+i>       _;_.
12    .i_,=:_.      -<s. This library is distributed in the hope that 12    .i_,=:_.      -<s. This library is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of 14    : ..    .:,     . . . without even the implied warranty of
15    =_        +     =;=| MERCHANTABILITY or FITNESS FOR A 15    =_        +     =;=| MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>: PARTICULAR PURPOSE. See the GNU 16  _.=:.       :    :=>: PARTICULAR PURPOSE. See the GNU
17..}^=.=       =       ; Library General Public License for more 17..}^=.=       =       ; Library General Public License for more
18++=   -.     .     .: details. 18++=   -.     .     .: details.
19 :     =  ...= . :.=- 19 :     =  ...= . :.=-
20 -.   .:....=;==+<; You should have received a copy of the GNU 20 -.   .:....=;==+<; You should have received a copy of the GNU
21  -_. . .   )=.  = Library General Public License along with 21  -_. . .   )=.  = Library General Public License along with
22    --        :-= this library; see the file COPYING.LIB. 22    --        :-= this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation, 23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, 24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29 29
30#include "bluezapplet.h" 30#include "bluezapplet.h"
31#include <qapplication.h> 31#include <qapplication.h>
32 32
33#include <qpe/resource.h> 33#include <qpe/resource.h>
34#include <qpe/qcopenvelope_qws.h> 34#include <qpe/qcopenvelope_qws.h>
35#include <qpe/resource.h> 35#include <qpe/resource.h>
36#include <qpe/config.h> 36#include <qpe/config.h>
37 37
38#include <qpoint.h> 38#include <qpoint.h>
39#include <qpainter.h> 39#include <qpainter.h>
40#include <qlayout.h> 40#include <qlayout.h>
41#include <qframe.h> 41#include <qframe.h>
42#include <qpixmap.h> 42#include <qpixmap.h>
43#include <qstring.h> 43#include <qstring.h>
44#include <qtimer.h> 44#include <qtimer.h>
45#include <qpopupmenu.h> 45#include <qpopupmenu.h>
46 46
47#include <device.h> 47#include <device.h>
48 48
49namespace OpieTooth { 49namespace OpieTooth {
50 50
51 BluezApplet::BluezApplet( QWidget *parent, const char *name ) : QWidget( parent, name ) { 51 BluezApplet::BluezApplet( QWidget *parent, const char *name ) : QWidget( parent, name ) {
52 setFixedHeight( 18 ); 52 setFixedHeight( 18 );
53 setFixedWidth( 14 ); 53 setFixedWidth( 14 );
54 bluezOnPixmap = Resource::loadPixmap( "bluetoothapplet/bluezon" ); 54 bluezOnPixmap = Resource::loadPixmap( "bluetoothapplet/bluezon" );
55 bluezOffPixmap = Resource::loadPixmap( "bluetoothapplet/bluezoff" ); 55 bluezOffPixmap = Resource::loadPixmap( "bluetoothapplet/bluezoff" );
56 // bluezDiscoveryOnPixmap = Resource::loadPixmap( "bluetoothapplet/magglass" ); 56 // bluezDiscoveryOnPixmap = Resource::loadPixmap( "bluetoothapplet/magglass" );
57 startTimer(4000); 57 startTimer(4000);
58 btDevice = 0; 58 btDevice = 0;
59 bluezactive = false; 59 bluezactive = false;
60 bluezDiscoveryActive = false; 60 bluezDiscoveryActive = false;
61 61
62 } 62 }
63 63
64 BluezApplet::~BluezApplet() { 64 BluezApplet::~BluezApplet() {
65 if ( btDevice ) {
66 delete btDevice;
67 }
65 } 68 }
66 69
67 bool BluezApplet::checkBluezStatus() { 70 bool BluezApplet::checkBluezStatus() {
68 if (btDevice) { 71 if (btDevice) {
69 if (btDevice->isLoaded() ) { 72 if (btDevice->isLoaded() ) {
70 return true; 73 return true;
71 } else { 74 } else {
72 return false; 75 return false;
73 } 76 }
74 } else { 77 } else {
75 return false; 78 return false;
76 } 79 }
77 } 80 }
78 81
79 int BluezApplet::setBluezStatus(int c) { 82 int BluezApplet::setBluezStatus(int c) {
80 83
81 if (c == 1) { 84 if (c == 1) {
82 btDevice = new Device("/dev/ttySB0", "bcsp", "230400" ); 85 btDevice = new Device("/dev/ttySB0", "bcsp", "230400" );
83 } else { 86 } else {
84 if (btDevice) { 87 if (btDevice) {
85 delete btDevice; 88 delete btDevice;
86 btDevice = 0; 89 btDevice = 0;
87 } 90 }
88 } 91 }
89 return 0; 92 return 0;
90 } 93 }
91 94
92 int BluezApplet::checkBluezDiscoveryStatus() { 95 int BluezApplet::checkBluezDiscoveryStatus() {
93 } 96 }
94 97
95 int BluezApplet::setBluezDiscoveryStatus(int d) { 98 int BluezApplet::setBluezDiscoveryStatus(int d) {
96 } 99 }
97 100
98 void BluezApplet::mousePressEvent( QMouseEvent *) { 101 void BluezApplet::mousePressEvent( QMouseEvent *) {
99 102
100 QPopupMenu *menu = new QPopupMenu(); 103 QPopupMenu *menu = new QPopupMenu();
101 QPopupMenu *signal = new QPopupMenu(); 104 QPopupMenu *signal = new QPopupMenu();
102 int ret=0; 105 int ret=0;
103 106
104 /* Refresh active state */ 107 /* Refresh active state */
105 timerEvent( 0 ); 108 timerEvent( 0 );
106 109
107 110
108 if (bluezactive) { 111 if (bluezactive) {
109 menu->insertItem( tr("Disable Bluetooth"), 0 ); 112 menu->insertItem( tr("Disable Bluetooth"), 0 );
110 } else { 113 } else {
111 menu->insertItem( tr("Enable Bluetooth"), 1 ); 114 menu->insertItem( tr("Enable Bluetooth"), 1 );
112 } 115 }
113 116
114 menu->insertItem( tr("Launch manager"), 2 ); 117 menu->insertItem( tr("Launch manager"), 2 );
115 118
116 menu->insertSeparator(6); 119 menu->insertSeparator(6);
117 menu->insertItem( tr("Signal strength"), signal, 5); 120 menu->insertItem( tr("Signal strength"), signal, 5);
118 menu->insertSeparator(8); 121 menu->insertSeparator(8);
119 122
120 if (bluezDiscoveryActive) { 123 if (bluezDiscoveryActive) {
121 menu->insertItem( tr("Disable discovery"), 3 ); 124 menu->insertItem( tr("Disable discovery"), 3 );
122 } else { 125 } else {
123 menu->insertItem( tr("Enable discovery"), 4 ); 126 menu->insertItem( tr("Enable discovery"), 4 );
124 } 127 }
125 128
126 129
127 QPoint p = mapToGlobal( QPoint(1, -menu->sizeHint().height()-1) ); 130 QPoint p = mapToGlobal( QPoint(1, -menu->sizeHint().height()-1) );
128 ret = menu->exec(p, 0); 131 ret = menu->exec(p, 0);
129 132
130 switch(ret) { 133 switch(ret) {
131 case 0: 134 case 0:
132 setBluezStatus(0); 135 setBluezStatus(0);
133 timerEvent( 0 ); 136 timerEvent( 0 );
134 break; 137 break;
135 case 1: 138 case 1:
136 setBluezStatus(1); 139 setBluezStatus(1);
137 timerEvent( 0 ); 140 timerEvent( 0 );
138 break; 141 break;
139 case 2: 142 case 2:
140 // start bluetoothmanager 143 // start bluetoothmanager
141 launchManager(); 144 launchManager();
142 timerEvent( 0 ); 145 timerEvent( 0 );
143 break; 146 break;
144 case 3: 147 case 3:
145 setBluezDiscoveryStatus(0); 148 setBluezDiscoveryStatus(0);
146 timerEvent( 0 ); 149 timerEvent( 0 );
147 break; 150 break;
148 case 4: 151 case 4:
149 setBluezDiscoveryStatus(1); 152 setBluezDiscoveryStatus(1);
150 timerEvent(0 ); 153 timerEvent(0 );
151 break; 154 break;
152 //case 7: 155 //case 7:
153 // With table of currently-detected devices. 156 // With table of currently-detected devices.
154 } 157 }
155 158
156 delete signal; 159 delete signal;
157 delete menu; 160 delete menu;
158 } 161 }
159 162
160 163