summaryrefslogtreecommitdiff
authordwmw2 <dwmw2>2002-04-04 10:23:47 (UTC)
committer dwmw2 <dwmw2>2002-04-04 10:23:47 (UTC)
commit0ffdfb93cd33ae975822701e16421990e416c218 (patch) (unidiff)
tree0682d5e14c53c7fc9d0171160a92161e249de473
parent431ff3f7fd9996236c6d82a3644b3915bd4c7b38 (diff)
downloadopie-0ffdfb93cd33ae975822701e16421990e416c218.zip
opie-0ffdfb93cd33ae975822701e16421990e416c218.tar.gz
opie-0ffdfb93cd33ae975822701e16421990e416c218.tar.bz2
Wheee. Now shows SMS messages
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.cpp51
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.h1
-rw-r--r--noncore/unsupported/gsmtool/gsmtoolbase.ui44
3 files changed, 79 insertions, 17 deletions
diff --git a/noncore/unsupported/gsmtool/gsmtool.cpp b/noncore/unsupported/gsmtool/gsmtool.cpp
index c3f9482..8273461 100644
--- a/noncore/unsupported/gsmtool/gsmtool.cpp
+++ b/noncore/unsupported/gsmtool/gsmtool.cpp
@@ -1,312 +1,349 @@
1#include "gsmtool.h" 1#include "gsmtool.h"
2#include <qpushbutton.h> 2#include <qpushbutton.h>
3#include <qcombobox.h> 3#include <qcombobox.h>
4#include <qlineedit.h> 4#include <qlineedit.h>
5#include <qlabel.h> 5#include <qlabel.h>
6#include <qtabwidget.h> 6#include <qtabwidget.h>
7#include <qlistview.h> 7#include <qlistview.h>
8#include <qtextbrowser.h> 8#include <qtextbrowser.h>
9#include <qmultilineedit.h>
10
9#include <termios.h> 11#include <termios.h>
10 12
11#include <gsmlib/gsm_me_ta.h> 13#include <gsmlib/gsm_me_ta.h>
12#include <gsmlib/gsm_unix_serial.h> 14#include <gsmlib/gsm_unix_serial.h>
13#include <gsmlib/gsm_sms.h> 15#include <gsmlib/gsm_sms.h>
14#include <gsmlib/gsm_sorted_sms_store.h> 16#include <gsmlib/gsm_sorted_sms_store.h>
15 17
16using namespace gsmlib; 18using namespace gsmlib;
17 19
18 20
19/* 21/*
20 * Constructs a GSMTool which is a child of 'parent', with the 22 * Constructs a GSMTool which is a child of 'parent', with the
21 * name 'name' and widget flags set to 'f' 23 * name 'name' and widget flags set to 'f'
22 */ 24 */
23GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl ) 25GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl )
24 : GSMToolBase( parent, name, fl ) 26 : GSMToolBase( parent, name, fl )
25{ 27{
26 devicelocked = 0; 28 devicelocked = 0;
27 me = NULL; 29 me = NULL;
28 sms_store = NULL; 30 sms_store = NULL;
29 setConnected(FALSE); 31 setConnected(FALSE);
30 /* FIXME: Persistent settings for device/baudrate */ 32 /* FIXME: Persistent settings for device/baudrate */
31 connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton())); 33 connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton()));
32 connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton())); 34 connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton()));
33 connect(TabWidget2, SIGNAL(currentChanged(QWidget *)), this, SLOT(doTabChanged())); 35 connect(TabWidget2, SIGNAL(currentChanged(QWidget *)), this, SLOT(doTabChanged()));
34 connect(SMSStoreList, SIGNAL(activated(int)), this, SLOT(doSMSStoreChanged())); 36 connect(SMSStoreList, SIGNAL(activated(int)), this, SLOT(doSMSStoreChanged()));
35 connect(SMSViewType, SIGNAL(activated(int)), this, SLOT(doSMSTypeChanged())); 37 connect(SMSViewType, SIGNAL(activated(int)), this, SLOT(doSMSTypeChanged()));
36 38 connect(SMSList, SIGNAL(selectionChanged(QListViewItem *)), this, SLOT(doSelectedSMSChanged(QListViewItem *)));
37 timerid = -1; // Is this not possible normally? 39 timerid = -1; // Is this not possible normally?
38} 40}
39 41
40/* 42/*
41 * Destroys the object and frees any allocated resources 43 * Destroys the object and frees any allocated resources
42 */ 44 */
43GSMTool::~GSMTool() 45GSMTool::~GSMTool()
44{ 46{
45 // no need to delete child widgets, Qt does it all for us 47 // no need to delete child widgets, Qt does it all for us
46 if (devicelocked) 48 if (devicelocked)
47 unlockDevice(); 49 unlockDevice();
48} 50}
49const speed_t GSMTool::baudrates[12] = { 51const speed_t GSMTool::baudrates[12] = {
50 B300, B600, B1200, B2400, B4800, B9600, B19200, 52 B300, B600, B1200, B2400, B4800, B9600, B19200,
51 B38400, B57600, B115200, B230400, B460800 53 B38400, B57600, B115200, B230400, B460800
52}; 54};
53 55
54int GSMTool::lockDevice( ) 56int GSMTool::lockDevice( )
55{ 57{
56 devicelocked = 1; 58 devicelocked = 1;
57 /* FIXME */ 59 /* FIXME */
58 return 0; 60 return 0;
59} 61}
60 62
61void GSMTool::unlockDevice( ) 63void GSMTool::unlockDevice( )
62{ 64{
63 devicelocked = 0; 65 devicelocked = 0;
64} 66}
65 67
66void GSMTool::setConnected( bool conn ) 68void GSMTool::setConnected( bool conn )
67{ 69{
68 TabWidget2->setTabEnabled(tab_2, conn); 70 TabWidget2->setTabEnabled(tab_2, conn);
69 TabWidget2->setTabEnabled(tab_3, conn); 71 TabWidget2->setTabEnabled(tab_3, conn);
70 MfrLabel->setEnabled(conn); 72 MfrLabel->setEnabled(conn);
71 MfrText->setEnabled(conn); 73 MfrText->setEnabled(conn);
72 ModelLabel->setEnabled(conn); 74 ModelLabel->setEnabled(conn);
73 ModelText->setEnabled(conn); 75 ModelText->setEnabled(conn);
74 RevisionLabel->setEnabled(conn); 76 RevisionLabel->setEnabled(conn);
75 RevisionText->setEnabled(conn); 77 RevisionText->setEnabled(conn);
76 SerialLabel->setEnabled(conn); 78 SerialLabel->setEnabled(conn);
77 SerialText->setEnabled(conn); 79 SerialText->setEnabled(conn);
78 80
79} 81}
80void GSMTool::doTabChanged() 82void GSMTool::doTabChanged()
81{ 83{
82 int index = TabWidget2->currentPageIndex(); 84 int index = TabWidget2->currentPageIndex();
83 qDebug("tab changed to %d", index); 85 qDebug("tab changed to %d", index);
84 86
85 if (index == 1) { 87 if (index == 1) {
86 timerid = startTimer(5000); 88 timerid = startTimer(5000);
87 timerEvent(NULL); 89 timerEvent(NULL);
88 } else if (timerid != -1) { 90 } else if (timerid != -1) {
89 killTimer(timerid); 91 killTimer(timerid);
90 timerid = -1; 92 timerid = -1;
91 } 93 }
92} 94}
93 95
94void GSMTool::timerEvent( QTimerEvent * ) 96void GSMTool::timerEvent( QTimerEvent * )
95{ 97{
96 OPInfo opi; 98 OPInfo opi;
97 99
98 opi = me->getCurrentOPInfo(); 100 opi = me->getCurrentOPInfo();
99 101
100 if (opi._numericName == NOT_SET) { 102 if (opi._numericName == NOT_SET) {
101 NetStatText->setText("No network"); 103 NetStatText->setText("No network");
102 NetworkLabel->setEnabled(FALSE); 104 NetworkLabel->setEnabled(FALSE);
103 NetworkText->setEnabled(FALSE); 105 NetworkText->setEnabled(FALSE);
104 NetworkText->setText(""); 106 NetworkText->setText("");
105 SigStrText->setEnabled(FALSE); 107 SigStrText->setEnabled(FALSE);
106 SigStrText->setText(""); 108 SigStrText->setText("");
107 dB->setEnabled(FALSE); 109 dB->setEnabled(FALSE);
108 SigStrLabel->setEnabled(FALSE); 110 SigStrLabel->setEnabled(FALSE);
109 } else { 111 } else {
110 // FIXME: Add 'roaming' info from AT+CFUN 112 // FIXME: Add 'roaming' info from AT+CFUN
111 qDebug("network"); 113 qDebug("network");
112 NetStatText->setText("Registered"); 114 NetStatText->setText("Registered");
113 NetworkLabel->setEnabled(TRUE); 115 NetworkLabel->setEnabled(TRUE);
114 NetworkText->setEnabled(TRUE); 116 NetworkText->setEnabled(TRUE);
115 NetworkText->setText(opi._longName.c_str()); 117 NetworkText->setText(opi._longName.c_str());
116 SigStrText->setEnabled(TRUE); 118 SigStrText->setEnabled(TRUE);
117 119
118 qDebug("get sig str"); 120 qDebug("get sig str");
119 int csq = me->getSignalStrength(); 121 int csq = me->getSignalStrength();
120 if (csq == 0) { 122 if (csq == 0) {
121 SigStrText->setText("<= -113"); 123 SigStrText->setText("<= -113");
122 dB->setEnabled(TRUE); 124 dB->setEnabled(TRUE);
123 SigStrLabel->setEnabled(TRUE); 125 SigStrLabel->setEnabled(TRUE);
124 } else if (csq == 99) { 126 } else if (csq == 99) {
125 SigStrText->setText("Unknown"); 127 SigStrText->setText("Unknown");
126 dB->setEnabled(FALSE); 128 dB->setEnabled(FALSE);
127 SigStrLabel->setEnabled(FALSE); 129 SigStrLabel->setEnabled(FALSE);
128 } else { 130 } else {
129 char buf[6]; 131 char buf[6];
130 sprintf(buf, "%d", -113 + (2*csq)); 132 sprintf(buf, "%d", -113 + (2*csq));
131 SigStrText->setText(buf); 133 SigStrText->setText(buf);
132 dB->setEnabled(TRUE); 134 dB->setEnabled(TRUE);
133 SigStrLabel->setEnabled(TRUE); 135 SigStrLabel->setEnabled(TRUE);
134 } 136 }
135 } 137 }
136} 138}
137 139
138void GSMTool::doSMSStoreChanged() 140void GSMTool::doSMSStoreChanged()
139{ 141{
140 const char *storename = SMSStoreList->currentText().ascii(); 142 const char *storename = SMSStoreList->currentText().ascii();
141 qDebug("Store Changed to '%s'", storename); 143 qDebug("Store Changed to '%s'", storename);
142 try { 144 if (!strcmp(storename, "None")) {
145 sms_store = NULL;
146 } else try {
143 sms_store = me->getSMSStore(storename); 147 sms_store = me->getSMSStore(storename);
144 148
145 qDebug("got store of size %d", sms_store->size()); 149 qDebug("got store of size %d", sms_store->size());
146 } catch (GsmException) { 150 } catch (GsmException) {
147 sms_store = NULL; 151 sms_store = NULL;
148 qDebug("get store failed"); 152 qDebug("get store failed");
149 } 153 }
154
155 SMSList->setEnabled(!(sms_store == NULL));
150 doSMSTypeChanged(); 156 doSMSTypeChanged();
151} 157}
152 158
153void GSMTool::doSMSTypeChanged() 159void GSMTool::doSMSTypeChanged()
154{ 160{
155 int direction = SMSViewType->currentItem(); 161 int direction = SMSViewType->currentItem();
156 qDebug("direction %s\n", direction?"outgoing":"incoming"); 162 qDebug("direction %s\n", direction?"outgoing":"incoming");
157 163
158 SMSList->clear(); 164 SMSList->clear();
165 doSelectedSMSChanged(NULL);
166
159 if (sms_store == NULL) 167 if (sms_store == NULL)
160 return; 168 return;
161 for (int i = 0; i < sms_store->size(); i++) { 169 for (int i = 0; i < sms_store->size(); i++) {
162 qDebug("Message %d", i); 170 qDebug("Message %d", i);
163 qDebug("Is%sempty", sms_store()[i].empty()?" ":" not "); 171 qDebug("Is%sempty", sms_store()[i].empty()?" ":" not ");
164 if (sms_store()[i].empty()) 172 if (sms_store()[i].empty())
165 continue; 173 continue;
166 174
167 qDebug("Status %d", sms_store()[i].status()); 175 qDebug("Status %d", sms_store()[i].status());
168 SMSMessageRef message = sms_store()[i].message(); 176 SMSMessageRef message = sms_store()[i].message();
169 qDebug("Got message."); 177 qDebug("Got message.");
170 178
171#if 0 // WTF does this die? Did I mention that gsmlib needs rewriting in a sane language? 179 // qDebug(message->toString().c_str());
172 qDebug(message->toString().c_str());
173 if (direction == message->messageType()) { 180 if (direction == message->messageType()) {
174 qDebug("yes\n"); 181 qDebug("yes\n");
175 new QListViewItem(SMSList, "xx", message->address()._number.c_str()); 182 char buf[3];
176 } else qDebug("no. dir %d, type %d\n", direction, message->messageType()); 183 snprintf(buf, 3, "%d", i);
177#endif 184 new QListViewItem(SMSList, message->address()._number.c_str(), message->serviceCentreTimestamp().toString().c_str(), buf);
185 }
178 } 186 }
179} 187}
180 188
189void GSMTool::doSelectedSMSChanged(QListViewItem *item)
190{
191 qDebug("message changed\n");
192
193 if (!item || sms_store == NULL) {
194 SMSText->setText("");
195 SMSText->setEnabled(FALSE);
196 SMSDeleteButton->setEnabled(FALSE);
197 SMSSendButton->setEnabled(FALSE);
198 return;
199 }
200 /* ARGH. This sucks. Surely there's an app-private pointer in the
201 QListViewItem that I've failed to notice?
202
203 SMSMessageRef message = *(SMSMessageRef*)item->private;
204 */
205 qDebug("item %p\n", item);
206
207 qDebug("text(2) is %s\n", item->text(2).ascii());
208 int index = atoi(item->text(2).ascii());
209 qDebug("index %d\n", index);
210 SMSMessageRef message = sms_store()[index].message();
211
212 SMSText->setText(message->userData().c_str());
213 SMSText->setEnabled(TRUE);
214 SMSDeleteButton->setEnabled(TRUE);
215 SMSSendButton->setEnabled(TRUE);
216
217}
181void GSMTool::doScanButton() 218void GSMTool::doScanButton()
182{ 219{
183 qDebug("ScanButton"); 220 qDebug("ScanButton");
184 221
185 NetworkList->setEnabled(FALSE); 222 NetworkList->setEnabled(FALSE);
186 AvailNetsLabel->setEnabled(FALSE); 223 AvailNetsLabel->setEnabled(FALSE);
187 NetworkList->clear(); 224 NetworkList->clear();
188 new QListViewItem(NetworkList, "Scanning..."); 225 new QListViewItem(NetworkList, "Scanning...");
189 226
190 vector<OPInfo> opis; 227 vector<OPInfo> opis;
191 228
192 try { 229 try {
193 opis = me->getAvailableOPInfo(); 230 opis = me->getAvailableOPInfo();
194 } catch (GsmException) { 231 } catch (GsmException) {
195 NetworkList->clear(); 232 NetworkList->clear();
196 new QListViewItem(NetworkList, "Scan failed..."); 233 new QListViewItem(NetworkList, "Scan failed...");
197 return; 234 return;
198 } 235 }
199 236
200 NetworkList->clear(); 237 NetworkList->clear();
201 for (vector<OPInfo>::iterator i = opis.begin(); i != opis.end(); ++i) { 238 for (vector<OPInfo>::iterator i = opis.begin(); i != opis.end(); ++i) {
202 char *statustext; 239 char *statustext;
203 switch (i->_status) { 240 switch (i->_status) {
204 241
205 case UnknownOPStatus: 242 case UnknownOPStatus:
206 statustext = "unknown"; 243 statustext = "unknown";
207 break; 244 break;
208 245
209 case CurrentOPStatus: 246 case CurrentOPStatus:
210 statustext = "current"; 247 statustext = "current";
211 break; 248 break;
212 249
213 case AvailableOPStatus: 250 case AvailableOPStatus:
214 statustext = "available"; 251 statustext = "available";
215 break; 252 break;
216 253
217 case ForbiddenOPStatus: 254 case ForbiddenOPStatus:
218 statustext = "forbidden"; 255 statustext = "forbidden";
219 break; 256 break;
220 257
221 default: 258 default:
222 statustext = "(ERROR)"; 259 statustext = "(ERROR)";
223 } 260 }
224 char num[7]; 261 char num[7];
225 snprintf(num, 6, "%d", i->_numericName); 262 snprintf(num, 6, "%d", i->_numericName);
226 new QListViewItem(NetworkList, i->_longName.c_str(), statustext, num, i->_shortName.c_str()); 263 new QListViewItem(NetworkList, i->_longName.c_str(), statustext, num, i->_shortName.c_str());
227 } 264 }
228 NetworkList->setEnabled(TRUE); 265 NetworkList->setEnabled(TRUE);
229 AvailNetsLabel->setEnabled(TRUE); 266 AvailNetsLabel->setEnabled(TRUE);
230} 267}
231/* 268/*
232 * A simple slot... not very interesting. 269 * A simple slot... not very interesting.
233 */ 270 */
234void GSMTool::doConnectButton() 271void GSMTool::doConnectButton()
235{ 272{
236 gsmlib::Port *port; 273 gsmlib::Port *port;
237 274
238 speed_t rate; 275 speed_t rate;
239 devicename = strdup(DeviceName->currentText().local8Bit().data()); 276 devicename = strdup(DeviceName->currentText().local8Bit().data());
240 rate = baudrates[BaudRate->currentItem()]; 277 rate = baudrates[BaudRate->currentItem()];
241 278
242 qDebug("Connect Button Pressed"); 279 qDebug("Connect Button Pressed");
243 MfrText->setText("Opening..."); 280 MfrText->setText("Opening...");
244 ModelText->setText(""); 281 ModelText->setText("");
245 RevisionText->setText(""); 282 RevisionText->setText("");
246 SerialText->setText(""); 283 SerialText->setText("");
247 284
248 setConnected(FALSE); 285 setConnected(FALSE);
249 if (me) { 286 if (me) {
250 me = NULL; 287 me = NULL;
251 } 288 }
252 289
253 if (lockDevice()) { 290 if (lockDevice()) {
254 qDebug("lockDevice() failed\n"); 291 qDebug("lockDevice() failed\n");
255 MfrText->setText("Lock port failed"); 292 MfrText->setText("Lock port failed");
256 }; 293 };
257 294
258 qDebug("Device name is %s\n", devicename); 295 qDebug("Device name is %s\n", devicename);
259 296
260 try { 297 try {
261 port = new UnixSerialPort(devicename, rate, DEFAULT_INIT_STRING, 0); 298 port = new UnixSerialPort(devicename, rate, DEFAULT_INIT_STRING, 0);
262 } catch (GsmException) { 299 } catch (GsmException) {
263 qDebug("port failed"); 300 qDebug("port failed");
264 MfrText->setText("Open port failed"); 301 MfrText->setText("Open port failed");
265 return; 302 return;
266 } 303 }
267 MfrText->setText("Initialising..."); 304 MfrText->setText("Initialising...");
268 qDebug("got port"); 305 qDebug("got port");
269 try { 306 try {
270 me = new MeTa(port); 307 me = new MeTa(port);
271 } catch (GsmException) { 308 } catch (GsmException) {
272 qDebug("meta failed"); 309 qDebug("meta failed");
273 MfrText->setText("Initialise GSM unit failed"); 310 MfrText->setText("Initialise GSM unit failed");
274 me = NULL; 311 me = NULL;
275 unlockDevice(); 312 unlockDevice();
276 return; 313 return;
277 } 314 }
278 315
279 qDebug("Opened"); 316 qDebug("Opened");
280 317
281 MEInfo ifo; 318 MEInfo ifo;
282 319
283 MfrText->setText("Querying..."); 320 MfrText->setText("Querying...");
284 321
285 try { 322 try {
286 ifo = me->getMEInfo(); 323 ifo = me->getMEInfo();
287 } catch (GsmException) { 324 } catch (GsmException) {
288 qDebug("getMEInfo failed"); 325 qDebug("getMEInfo failed");
289 MfrText->setText("Query GSM unit failed"); 326 MfrText->setText("Query GSM unit failed");
290 me = NULL; 327 me = NULL;
291 unlockDevice(); 328 unlockDevice();
292 return; 329 return;
293 } 330 }
294 331
295 MfrText->setText(ifo._manufacturer.c_str()); 332 MfrText->setText(ifo._manufacturer.c_str());
296 ModelText->setText(ifo._model.c_str()); 333 ModelText->setText(ifo._model.c_str());
297 RevisionText->setText(ifo._revision.c_str()); 334 RevisionText->setText(ifo._revision.c_str());
298 SerialText->setText(ifo._serialNumber.c_str()); 335 SerialText->setText(ifo._serialNumber.c_str());
299 setConnected(TRUE); 336 setConnected(TRUE);
300 337
301 SMSStoreList->clear(); 338 SMSStoreList->clear();
302 SMSStoreList->insertItem("None"); 339 SMSStoreList->insertItem("None");
303 340
304 vector<string> storenames = me->getSMSStoreNames(); 341 vector<string> storenames = me->getSMSStoreNames();
305 342
306 for (vector<string>::iterator i = storenames.begin(); i != storenames.end(); ++i) { 343 for (vector<string>::iterator i = storenames.begin(); i != storenames.end(); ++i) {
307 SMSStoreList->insertItem(i->c_str()); 344 SMSStoreList->insertItem(i->c_str());
308 } 345 }
309 SMSList->clear(); 346 SMSList->clear();
310 SMSText->setText(""); 347 SMSText->setText("");
311 sms_store = NULL; 348 sms_store = NULL;
312} 349}
diff --git a/noncore/unsupported/gsmtool/gsmtool.h b/noncore/unsupported/gsmtool/gsmtool.h
index 49387d9..b8d9a86 100644
--- a/noncore/unsupported/gsmtool/gsmtool.h
+++ b/noncore/unsupported/gsmtool/gsmtool.h
@@ -1,44 +1,45 @@
1#ifndef EXAMPLE_H 1#ifndef EXAMPLE_H
2#define EXAMPLE_H 2#define EXAMPLE_H
3#include "gsmtoolbase.h" 3#include "gsmtoolbase.h"
4 4
5#include <termios.h> 5#include <termios.h>
6 6
7#include <gsmlib/gsm_me_ta.h> 7#include <gsmlib/gsm_me_ta.h>
8 8
9class GSMTool : public GSMToolBase 9class GSMTool : public GSMToolBase
10{ 10{
11 Q_OBJECT 11 Q_OBJECT
12 12
13public: 13public:
14 GSMTool( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 14 GSMTool( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
15 ~GSMTool(); 15 ~GSMTool();
16 16
17protected: 17protected:
18 void timerEvent(QTimerEvent *te ); 18 void timerEvent(QTimerEvent *te );
19 19
20private slots: 20private slots:
21 void doConnectButton(); 21 void doConnectButton();
22 void doScanButton(); 22 void doScanButton();
23 void doTabChanged(); 23 void doTabChanged();
24 void doSMSStoreChanged(); 24 void doSMSStoreChanged();
25 void doSMSTypeChanged(); 25 void doSMSTypeChanged();
26 void doSelectedSMSChanged(QListViewItem *);
26 27
27private: 28private:
28 static const speed_t baudrates[]; 29 static const speed_t baudrates[];
29 int devicelocked; 30 int devicelocked;
30 int timerid; 31 int timerid;
31 32
32 gsmlib::MeTa *me; 33 gsmlib::MeTa *me;
33 gsmlib::SMSStoreRef sms_store; 34 gsmlib::SMSStoreRef sms_store;
34 35
35 char *devicename; 36 char *devicename;
36 speed_t baudrate; 37 speed_t baudrate;
37 38
38 int lockDevice( ); 39 int lockDevice( );
39 void unlockDevice( ); 40 void unlockDevice( );
40 41
41 void setConnected( bool conn ); 42 void setConnected( bool conn );
42}; 43};
43 44
44#endif // EXAMPLE_H 45#endif // EXAMPLE_H
diff --git a/noncore/unsupported/gsmtool/gsmtoolbase.ui b/noncore/unsupported/gsmtool/gsmtoolbase.ui
index 340f26c..69480cd 100644
--- a/noncore/unsupported/gsmtool/gsmtoolbase.ui
+++ b/noncore/unsupported/gsmtool/gsmtoolbase.ui
@@ -1,206 +1,206 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>GSMToolBase</class> 2<class>GSMToolBase</class>
3<widget> 3<widget>
4 <class>QWidget</class> 4 <class>QWidget</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>GSM Tool</cstring> 7 <cstring>GSM Tool</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>309</width> 14 <width>371</width>
15 <height>390</height> 15 <height>390</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>GSM Tool</string> 20 <string>GSM Tool</string>
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <property> 25 <property>
26 <name>layoutSpacing</name> 26 <name>layoutSpacing</name>
27 </property> 27 </property>
28 <vbox> 28 <vbox>
29 <property stdset="1"> 29 <property stdset="1">
30 <name>margin</name> 30 <name>margin</name>
31 <number>2</number> 31 <number>2</number>
32 </property> 32 </property>
33 <property stdset="1"> 33 <property stdset="1">
34 <name>spacing</name> 34 <name>spacing</name>
35 <number>1</number> 35 <number>1</number>
36 </property> 36 </property>
37 <widget> 37 <widget>
38 <class>QTabWidget</class> 38 <class>QTabWidget</class>
39 <property stdset="1"> 39 <property stdset="1">
40 <name>name</name> 40 <name>name</name>
41 <cstring>TabWidget2</cstring> 41 <cstring>TabWidget2</cstring>
42 </property> 42 </property>
43 <property stdset="1"> 43 <property stdset="1">
44 <name>sizePolicy</name> 44 <name>sizePolicy</name>
45 <sizepolicy> 45 <sizepolicy>
46 <hsizetype>7</hsizetype> 46 <hsizetype>7</hsizetype>
47 <vsizetype>7</vsizetype> 47 <vsizetype>7</vsizetype>
48 </sizepolicy> 48 </sizepolicy>
49 </property> 49 </property>
50 <property stdset="1"> 50 <property stdset="1">
51 <name>focusPolicy</name> 51 <name>focusPolicy</name>
52 <enum>NoFocus</enum> 52 <enum>NoFocus</enum>
53 </property> 53 </property>
54 <property> 54 <property>
55 <name>layoutMargin</name> 55 <name>layoutMargin</name>
56 </property> 56 </property>
57 <property> 57 <property>
58 <name>layoutSpacing</name> 58 <name>layoutSpacing</name>
59 </property> 59 </property>
60 <widget> 60 <widget>
61 <class>QWidget</class> 61 <class>QWidget</class>
62 <property stdset="1"> 62 <property stdset="1">
63 <name>name</name> 63 <name>name</name>
64 <cstring>tab</cstring> 64 <cstring>tab</cstring>
65 </property> 65 </property>
66 <attribute> 66 <attribute>
67 <name>title</name> 67 <name>title</name>
68 <string>Device</string> 68 <string>Device</string>
69 </attribute> 69 </attribute>
70 <vbox> 70 <vbox>
71 <property stdset="1"> 71 <property stdset="1">
72 <name>margin</name> 72 <name>margin</name>
73 <number>2</number> 73 <number>2</number>
74 </property> 74 </property>
75 <property stdset="1"> 75 <property stdset="1">
76 <name>spacing</name> 76 <name>spacing</name>
77 <number>1</number> 77 <number>1</number>
78 </property> 78 </property>
79 <widget> 79 <widget>
80 <class>QLabel</class> 80 <class>QLabel</class>
81 <property stdset="1"> 81 <property stdset="1">
82 <name>name</name> 82 <name>name</name>
83 <cstring>DeviceLabel</cstring> 83 <cstring>DeviceLabel</cstring>
84 </property> 84 </property>
85 <property stdset="1"> 85 <property stdset="1">
86 <name>text</name> 86 <name>text</name>
87 <string>Modem Device:</string> 87 <string>Modem Device:</string>
88 </property> 88 </property>
89 </widget> 89 </widget>
90 <widget> 90 <widget>
91 <class>QComboBox</class> 91 <class>QComboBox</class>
92 <item> 92 <item>
93 <property> 93 <property>
94 <name>text</name> 94 <name>text</name>
95 <string>/dev/ircomm0</string> 95 <string>/dev/ircomm0</string>
96 </property> 96 </property>
97 </item> 97 </item>
98 <item> 98 <item>
99 <property> 99 <property>
100 <name>text</name> 100 <name>text</name>
101 <string>/dev/ttySA0</string> 101 <string>/dev/ttySA0</string>
102 </property> 102 </property>
103 </item> 103 </item>
104 <item> 104 <item>
105 <property> 105 <property>
106 <name>text</name> 106 <name>text</name>
107 <string>/dev/ttyS0</string> 107 <string>/dev/ttyS0</string>
108 </property> 108 </property>
109 </item> 109 </item>
110 <property stdset="1"> 110 <property stdset="1">
111 <name>name</name> 111 <name>name</name>
112 <cstring>DeviceName</cstring> 112 <cstring>DeviceName</cstring>
113 </property> 113 </property>
114 <property stdset="1"> 114 <property stdset="1">
115 <name>editable</name> 115 <name>editable</name>
116 <bool>true</bool> 116 <bool>true</bool>
117 </property> 117 </property>
118 <property stdset="1"> 118 <property stdset="1">
119 <name>currentItem</name> 119 <name>currentItem</name>
120 <number>0</number> 120 <number>0</number>
121 </property> 121 </property>
122 </widget> 122 </widget>
123 <widget> 123 <widget>
124 <class>QLabel</class> 124 <class>QLabel</class>
125 <property stdset="1"> 125 <property stdset="1">
126 <name>name</name> 126 <name>name</name>
127 <cstring>BaudLabel</cstring> 127 <cstring>BaudLabel</cstring>
128 </property> 128 </property>
129 <property stdset="1"> 129 <property stdset="1">
130 <name>text</name> 130 <name>text</name>
131 <string>Baud Rate:</string> 131 <string>Baud Rate:</string>
132 </property> 132 </property>
133 </widget> 133 </widget>
134 <widget> 134 <widget>
135 <class>QLayoutWidget</class> 135 <class>QLayoutWidget</class>
136 <property stdset="1"> 136 <property stdset="1">
137 <name>name</name> 137 <name>name</name>
138 <cstring>Layout8</cstring> 138 <cstring>Layout8</cstring>
139 </property> 139 </property>
140 <property> 140 <property>
141 <name>layoutMargin</name> 141 <name>layoutMargin</name>
142 </property> 142 </property>
143 <hbox> 143 <hbox>
144 <property stdset="1"> 144 <property stdset="1">
145 <name>margin</name> 145 <name>margin</name>
146 <number>0</number> 146 <number>0</number>
147 </property> 147 </property>
148 <property stdset="1"> 148 <property stdset="1">
149 <name>spacing</name> 149 <name>spacing</name>
150 <number>1</number> 150 <number>1</number>
151 </property> 151 </property>
152 <widget> 152 <widget>
153 <class>QComboBox</class> 153 <class>QComboBox</class>
154 <item> 154 <item>
155 <property> 155 <property>
156 <name>text</name> 156 <name>text</name>
157 <string>300</string> 157 <string>300</string>
158 </property> 158 </property>
159 </item> 159 </item>
160 <item> 160 <item>
161 <property> 161 <property>
162 <name>text</name> 162 <name>text</name>
163 <string>600</string> 163 <string>600</string>
164 </property> 164 </property>
165 </item> 165 </item>
166 <item> 166 <item>
167 <property> 167 <property>
168 <name>text</name> 168 <name>text</name>
169 <string>1200</string> 169 <string>1200</string>
170 </property> 170 </property>
171 </item> 171 </item>
172 <item> 172 <item>
173 <property> 173 <property>
174 <name>text</name> 174 <name>text</name>
175 <string>2400</string> 175 <string>2400</string>
176 </property> 176 </property>
177 </item> 177 </item>
178 <item> 178 <item>
179 <property> 179 <property>
180 <name>text</name> 180 <name>text</name>
181 <string>4800</string> 181 <string>4800</string>
182 </property> 182 </property>
183 </item> 183 </item>
184 <item> 184 <item>
185 <property> 185 <property>
186 <name>text</name> 186 <name>text</name>
187 <string>9600</string> 187 <string>9600</string>
188 </property> 188 </property>
189 </item> 189 </item>
190 <item> 190 <item>
191 <property> 191 <property>
192 <name>text</name> 192 <name>text</name>
193 <string>19200</string> 193 <string>19200</string>
194 </property> 194 </property>
195 </item> 195 </item>
196 <item> 196 <item>
197 <property> 197 <property>
198 <name>text</name> 198 <name>text</name>
199 <string>38400</string> 199 <string>38400</string>
200 </property> 200 </property>
201 </item> 201 </item>
202 <item> 202 <item>
203 <property> 203 <property>
204 <name>text</name> 204 <name>text</name>
205 <string>57600</string> 205 <string>57600</string>
206 </property> 206 </property>
@@ -477,450 +477,474 @@
477 <enum>NoFocus</enum> 477 <enum>NoFocus</enum>
478 </property> 478 </property>
479 </widget> 479 </widget>
480 <widget> 480 <widget>
481 <class>QLayoutWidget</class> 481 <class>QLayoutWidget</class>
482 <property stdset="1"> 482 <property stdset="1">
483 <name>name</name> 483 <name>name</name>
484 <cstring>Layout7</cstring> 484 <cstring>Layout7</cstring>
485 </property> 485 </property>
486 <property> 486 <property>
487 <name>layoutMargin</name> 487 <name>layoutMargin</name>
488 </property> 488 </property>
489 <hbox> 489 <hbox>
490 <property stdset="1"> 490 <property stdset="1">
491 <name>margin</name> 491 <name>margin</name>
492 <number>0</number> 492 <number>0</number>
493 </property> 493 </property>
494 <property stdset="1"> 494 <property stdset="1">
495 <name>spacing</name> 495 <name>spacing</name>
496 <number>1</number> 496 <number>1</number>
497 </property> 497 </property>
498 <widget> 498 <widget>
499 <class>QLabel</class> 499 <class>QLabel</class>
500 <property stdset="1"> 500 <property stdset="1">
501 <name>name</name> 501 <name>name</name>
502 <cstring>SigStrLabel</cstring> 502 <cstring>SigStrLabel</cstring>
503 </property> 503 </property>
504 <property stdset="1"> 504 <property stdset="1">
505 <name>text</name> 505 <name>text</name>
506 <string>Signal Strength:</string> 506 <string>Signal Strength:</string>
507 </property> 507 </property>
508 </widget> 508 </widget>
509 <widget> 509 <widget>
510 <class>QLineEdit</class> 510 <class>QLineEdit</class>
511 <property stdset="1"> 511 <property stdset="1">
512 <name>name</name> 512 <name>name</name>
513 <cstring>SigStrText</cstring> 513 <cstring>SigStrText</cstring>
514 </property> 514 </property>
515 <property stdset="1"> 515 <property stdset="1">
516 <name>focusPolicy</name> 516 <name>focusPolicy</name>
517 <enum>NoFocus</enum> 517 <enum>NoFocus</enum>
518 </property> 518 </property>
519 </widget> 519 </widget>
520 <widget> 520 <widget>
521 <class>QLabel</class> 521 <class>QLabel</class>
522 <property stdset="1"> 522 <property stdset="1">
523 <name>name</name> 523 <name>name</name>
524 <cstring>dB</cstring> 524 <cstring>dB</cstring>
525 </property> 525 </property>
526 <property stdset="1"> 526 <property stdset="1">
527 <name>text</name> 527 <name>text</name>
528 <string>dBm</string> 528 <string>dBm</string>
529 </property> 529 </property>
530 </widget> 530 </widget>
531 </hbox> 531 </hbox>
532 </widget> 532 </widget>
533 <widget> 533 <widget>
534 <class>QLayoutWidget</class> 534 <class>QLayoutWidget</class>
535 <property stdset="1"> 535 <property stdset="1">
536 <name>name</name> 536 <name>name</name>
537 <cstring>Layout9</cstring> 537 <cstring>Layout9</cstring>
538 </property> 538 </property>
539 <property> 539 <property>
540 <name>layoutMargin</name> 540 <name>layoutMargin</name>
541 </property> 541 </property>
542 <hbox> 542 <hbox>
543 <property stdset="1"> 543 <property stdset="1">
544 <name>margin</name> 544 <name>margin</name>
545 <number>0</number> 545 <number>0</number>
546 </property> 546 </property>
547 <property stdset="1"> 547 <property stdset="1">
548 <name>spacing</name> 548 <name>spacing</name>
549 <number>1</number> 549 <number>1</number>
550 </property> 550 </property>
551 <widget> 551 <widget>
552 <class>QLabel</class> 552 <class>QLabel</class>
553 <property stdset="1"> 553 <property stdset="1">
554 <name>name</name> 554 <name>name</name>
555 <cstring>AvailNetsLabel</cstring> 555 <cstring>AvailNetsLabel</cstring>
556 </property> 556 </property>
557 <property stdset="1"> 557 <property stdset="1">
558 <name>text</name> 558 <name>text</name>
559 <string>Available Networks:</string> 559 <string>Available Networks:</string>
560 </property> 560 </property>
561 </widget> 561 </widget>
562 <spacer> 562 <spacer>
563 <property> 563 <property>
564 <name>name</name> 564 <name>name</name>
565 <cstring>Spacer13</cstring> 565 <cstring>Spacer13</cstring>
566 </property> 566 </property>
567 <property stdset="1"> 567 <property stdset="1">
568 <name>orientation</name> 568 <name>orientation</name>
569 <enum>Horizontal</enum> 569 <enum>Horizontal</enum>
570 </property> 570 </property>
571 <property stdset="1"> 571 <property stdset="1">
572 <name>sizeType</name> 572 <name>sizeType</name>
573 <enum>Expanding</enum> 573 <enum>Expanding</enum>
574 </property> 574 </property>
575 <property> 575 <property>
576 <name>sizeHint</name> 576 <name>sizeHint</name>
577 <size> 577 <size>
578 <width>20</width> 578 <width>20</width>
579 <height>20</height> 579 <height>20</height>
580 </size> 580 </size>
581 </property> 581 </property>
582 </spacer> 582 </spacer>
583 <widget> 583 <widget>
584 <class>QPushButton</class> 584 <class>QPushButton</class>
585 <property stdset="1"> 585 <property stdset="1">
586 <name>name</name> 586 <name>name</name>
587 <cstring>ScanButton</cstring> 587 <cstring>ScanButton</cstring>
588 </property> 588 </property>
589 <property stdset="1"> 589 <property stdset="1">
590 <name>text</name> 590 <name>text</name>
591 <string>Scan</string> 591 <string>Scan</string>
592 </property> 592 </property>
593 </widget> 593 </widget>
594 </hbox> 594 </hbox>
595 </widget> 595 </widget>
596 <widget> 596 <widget>
597 <class>QListView</class> 597 <class>QListView</class>
598 <column> 598 <column>
599 <property> 599 <property>
600 <name>text</name> 600 <name>text</name>
601 <string>Network Name</string> 601 <string>Network Name</string>
602 </property> 602 </property>
603 <property> 603 <property>
604 <name>clickable</name> 604 <name>clickable</name>
605 <bool>true</bool> 605 <bool>true</bool>
606 </property> 606 </property>
607 <property> 607 <property>
608 <name>resizeable</name> 608 <name>resizeable</name>
609 <bool>true</bool> 609 <bool>true</bool>
610 </property> 610 </property>
611 </column> 611 </column>
612 <column> 612 <column>
613 <property> 613 <property>
614 <name>text</name> 614 <name>text</name>
615 <string>Status</string> 615 <string>Status</string>
616 </property> 616 </property>
617 <property> 617 <property>
618 <name>clickable</name> 618 <name>clickable</name>
619 <bool>true</bool> 619 <bool>true</bool>
620 </property> 620 </property>
621 <property> 621 <property>
622 <name>resizeable</name> 622 <name>resizeable</name>
623 <bool>true</bool> 623 <bool>true</bool>
624 </property> 624 </property>
625 </column> 625 </column>
626 <column> 626 <column>
627 <property> 627 <property>
628 <name>text</name> 628 <name>text</name>
629 <string>No.</string> 629 <string>No.</string>
630 </property> 630 </property>
631 <property> 631 <property>
632 <name>clickable</name> 632 <name>clickable</name>
633 <bool>true</bool> 633 <bool>true</bool>
634 </property> 634 </property>
635 <property> 635 <property>
636 <name>resizeable</name> 636 <name>resizeable</name>
637 <bool>true</bool> 637 <bool>true</bool>
638 </property> 638 </property>
639 </column> 639 </column>
640 <column> 640 <column>
641 <property> 641 <property>
642 <name>text</name> 642 <name>text</name>
643 <string>Shortname</string> 643 <string>Shortname</string>
644 </property> 644 </property>
645 <property> 645 <property>
646 <name>clickable</name> 646 <name>clickable</name>
647 <bool>true</bool> 647 <bool>true</bool>
648 </property> 648 </property>
649 <property> 649 <property>
650 <name>resizeable</name> 650 <name>resizeable</name>
651 <bool>true</bool> 651 <bool>true</bool>
652 </property> 652 </property>
653 </column> 653 </column>
654 <property stdset="1"> 654 <property stdset="1">
655 <name>name</name> 655 <name>name</name>
656 <cstring>NetworkList</cstring> 656 <cstring>NetworkList</cstring>
657 </property> 657 </property>
658 <property stdset="1"> 658 <property stdset="1">
659 <name>enabled</name> 659 <name>enabled</name>
660 <bool>false</bool> 660 <bool>false</bool>
661 </property> 661 </property>
662 <property stdset="1"> 662 <property stdset="1">
663 <name>sizePolicy</name> 663 <name>sizePolicy</name>
664 <sizepolicy> 664 <sizepolicy>
665 <hsizetype>7</hsizetype> 665 <hsizetype>7</hsizetype>
666 <vsizetype>7</vsizetype> 666 <vsizetype>7</vsizetype>
667 </sizepolicy> 667 </sizepolicy>
668 </property> 668 </property>
669 <property stdset="1">
670 <name>allColumnsShowFocus</name>
671 <bool>true</bool>
672 </property>
669 </widget> 673 </widget>
670 <widget> 674 <widget>
671 <class>QLayoutWidget</class> 675 <class>QLayoutWidget</class>
672 <property stdset="1"> 676 <property stdset="1">
673 <name>name</name> 677 <name>name</name>
674 <cstring>Layout11</cstring> 678 <cstring>Layout11</cstring>
675 </property> 679 </property>
676 <hbox> 680 <hbox>
677 <property stdset="1"> 681 <property stdset="1">
678 <name>margin</name> 682 <name>margin</name>
679 <number>2</number> 683 <number>2</number>
680 </property> 684 </property>
681 <property stdset="1"> 685 <property stdset="1">
682 <name>spacing</name> 686 <name>spacing</name>
683 <number>1</number> 687 <number>1</number>
684 </property> 688 </property>
685 <spacer> 689 <spacer>
686 <property> 690 <property>
687 <name>name</name> 691 <name>name</name>
688 <cstring>Spacer14</cstring> 692 <cstring>Spacer14</cstring>
689 </property> 693 </property>
690 <property stdset="1"> 694 <property stdset="1">
691 <name>orientation</name> 695 <name>orientation</name>
692 <enum>Horizontal</enum> 696 <enum>Horizontal</enum>
693 </property> 697 </property>
694 <property stdset="1"> 698 <property stdset="1">
695 <name>sizeType</name> 699 <name>sizeType</name>
696 <enum>Expanding</enum> 700 <enum>Expanding</enum>
697 </property> 701 </property>
698 <property> 702 <property>
699 <name>sizeHint</name> 703 <name>sizeHint</name>
700 <size> 704 <size>
701 <width>20</width> 705 <width>20</width>
702 <height>20</height> 706 <height>20</height>
703 </size> 707 </size>
704 </property> 708 </property>
705 </spacer> 709 </spacer>
706 <widget> 710 <widget>
707 <class>QPushButton</class> 711 <class>QPushButton</class>
708 <property stdset="1"> 712 <property stdset="1">
709 <name>name</name> 713 <name>name</name>
710 <cstring>RegisterButton</cstring> 714 <cstring>RegisterButton</cstring>
711 </property> 715 </property>
712 <property stdset="1"> 716 <property stdset="1">
713 <name>enabled</name> 717 <name>enabled</name>
714 <bool>false</bool> 718 <bool>false</bool>
715 </property> 719 </property>
716 <property stdset="1"> 720 <property stdset="1">
717 <name>sizePolicy</name> 721 <name>sizePolicy</name>
718 <sizepolicy> 722 <sizepolicy>
719 <hsizetype>7</hsizetype> 723 <hsizetype>7</hsizetype>
720 <vsizetype>0</vsizetype> 724 <vsizetype>0</vsizetype>
721 </sizepolicy> 725 </sizepolicy>
722 </property> 726 </property>
723 <property stdset="1"> 727 <property stdset="1">
724 <name>text</name> 728 <name>text</name>
725 <string>Register</string> 729 <string>Register</string>
726 </property> 730 </property>
727 </widget> 731 </widget>
728 </hbox> 732 </hbox>
729 </widget> 733 </widget>
730 </vbox> 734 </vbox>
731 </widget> 735 </widget>
732 <widget> 736 <widget>
733 <class>QWidget</class> 737 <class>QWidget</class>
734 <property stdset="1"> 738 <property stdset="1">
735 <name>name</name> 739 <name>name</name>
736 <cstring>tab</cstring> 740 <cstring>tab</cstring>
737 </property> 741 </property>
738 <attribute> 742 <attribute>
739 <name>title</name> 743 <name>title</name>
740 <string>SMS</string> 744 <string>SMS</string>
741 </attribute> 745 </attribute>
742 <vbox> 746 <grid>
743 <property stdset="1"> 747 <property stdset="1">
744 <name>margin</name> 748 <name>margin</name>
745 <number>11</number> 749 <number>11</number>
746 </property> 750 </property>
747 <property stdset="1"> 751 <property stdset="1">
748 <name>spacing</name> 752 <name>spacing</name>
749 <number>6</number> 753 <number>6</number>
750 </property> 754 </property>
751 <widget> 755 <widget row="0" column="0" >
752 <class>QLayoutWidget</class> 756 <class>QLayoutWidget</class>
753 <property stdset="1"> 757 <property stdset="1">
754 <name>name</name> 758 <name>name</name>
755 <cstring>Layout6</cstring> 759 <cstring>Layout6</cstring>
756 </property> 760 </property>
757 <hbox> 761 <hbox>
758 <property stdset="1"> 762 <property stdset="1">
759 <name>margin</name> 763 <name>margin</name>
760 <number>0</number> 764 <number>0</number>
761 </property> 765 </property>
762 <property stdset="1"> 766 <property stdset="1">
763 <name>spacing</name> 767 <name>spacing</name>
764 <number>6</number> 768 <number>6</number>
765 </property> 769 </property>
766 <widget> 770 <widget>
767 <class>QLabel</class> 771 <class>QLabel</class>
768 <property stdset="1"> 772 <property stdset="1">
769 <name>name</name> 773 <name>name</name>
770 <cstring>SMSStoreLabel</cstring> 774 <cstring>SMSStoreLabel</cstring>
771 </property> 775 </property>
772 <property stdset="1"> 776 <property stdset="1">
773 <name>text</name> 777 <name>text</name>
774 <string>Store:</string> 778 <string>Store:</string>
775 </property> 779 </property>
776 </widget> 780 </widget>
777 <widget> 781 <widget>
778 <class>QComboBox</class> 782 <class>QComboBox</class>
779 <item> 783 <item>
780 <property> 784 <property>
781 <name>text</name> 785 <name>text</name>
782 <string>None</string> 786 <string>None</string>
783 </property> 787 </property>
784 </item> 788 </item>
785 <property stdset="1"> 789 <property stdset="1">
786 <name>name</name> 790 <name>name</name>
787 <cstring>SMSStoreList</cstring> 791 <cstring>SMSStoreList</cstring>
788 </property> 792 </property>
789 <property stdset="1"> 793 <property stdset="1">
790 <name>enabled</name> 794 <name>enabled</name>
791 <bool>true</bool> 795 <bool>true</bool>
792 </property> 796 </property>
793 </widget> 797 </widget>
794 <widget> 798 <widget>
795 <class>QLabel</class> 799 <class>QLabel</class>
796 <property stdset="1"> 800 <property stdset="1">
797 <name>name</name> 801 <name>name</name>
798 <cstring>SMSTypeLabel</cstring> 802 <cstring>SMSTypeLabel</cstring>
799 </property> 803 </property>
800 <property stdset="1"> 804 <property stdset="1">
801 <name>text</name> 805 <name>text</name>
802 <string>Type:</string> 806 <string>Type:</string>
803 </property> 807 </property>
804 </widget> 808 </widget>
805 <widget> 809 <widget>
806 <class>QComboBox</class> 810 <class>QComboBox</class>
807 <item> 811 <item>
808 <property> 812 <property>
809 <name>text</name> 813 <name>text</name>
810 <string>Incoming</string> 814 <string>Incoming</string>
811 </property> 815 </property>
812 </item> 816 </item>
813 <item> 817 <item>
814 <property> 818 <property>
815 <name>text</name> 819 <name>text</name>
816 <string>Outgoing</string> 820 <string>Outgoing</string>
817 </property> 821 </property>
818 </item> 822 </item>
819 <property stdset="1"> 823 <property stdset="1">
820 <name>name</name> 824 <name>name</name>
821 <cstring>SMSViewType</cstring> 825 <cstring>SMSViewType</cstring>
822 </property> 826 </property>
823 </widget> 827 </widget>
824 </hbox> 828 </hbox>
825 </widget> 829 </widget>
826 <widget> 830 <widget row="1" column="0" >
827 <class>QListView</class> 831 <class>QListView</class>
828 <column> 832 <column>
829 <property> 833 <property>
830 <name>text</name> 834 <name>text</name>
831 <string>Date</string> 835 <string>Number</string>
832 </property> 836 </property>
833 <property> 837 <property>
834 <name>clickable</name> 838 <name>clickable</name>
835 <bool>true</bool> 839 <bool>true</bool>
836 </property> 840 </property>
837 <property> 841 <property>
838 <name>resizeable</name> 842 <name>resizeable</name>
839 <bool>true</bool> 843 <bool>true</bool>
840 </property> 844 </property>
841 </column> 845 </column>
842 <column> 846 <column>
843 <property> 847 <property>
844 <name>text</name> 848 <name>text</name>
845 <string>Number</string> 849 <string>Date</string>
846 </property> 850 </property>
847 <property> 851 <property>
848 <name>clickable</name> 852 <name>clickable</name>
849 <bool>true</bool> 853 <bool>true</bool>
850 </property> 854 </property>
851 <property> 855 <property>
852 <name>resizeable</name> 856 <name>resizeable</name>
853 <bool>true</bool> 857 <bool>true</bool>
854 </property> 858 </property>
855 </column> 859 </column>
856 <property stdset="1"> 860 <property stdset="1">
857 <name>name</name> 861 <name>name</name>
858 <cstring>SMSList</cstring> 862 <cstring>SMSList</cstring>
859 </property> 863 </property>
864 <property stdset="1">
865 <name>enabled</name>
866 <bool>false</bool>
867 </property>
868 <property stdset="1">
869 <name>allColumnsShowFocus</name>
870 <bool>true</bool>
871 </property>
860 </widget> 872 </widget>
861 <widget> 873 <widget row="2" column="0" >
862 <class>QLayoutWidget</class> 874 <class>QLayoutWidget</class>
863 <property stdset="1"> 875 <property stdset="1">
864 <name>name</name> 876 <name>name</name>
865 <cstring>Layout15</cstring> 877 <cstring>Layout15</cstring>
866 </property> 878 </property>
867 <property> 879 <property>
868 <name>layoutMargin</name> 880 <name>layoutMargin</name>
869 </property> 881 </property>
870 <hbox> 882 <hbox>
871 <property stdset="1"> 883 <property stdset="1">
872 <name>margin</name> 884 <name>margin</name>
873 <number>0</number> 885 <number>0</number>
874 </property> 886 </property>
875 <property stdset="1"> 887 <property stdset="1">
876 <name>spacing</name> 888 <name>spacing</name>
877 <number>1</number> 889 <number>1</number>
878 </property> 890 </property>
879 <widget> 891 <widget>
880 <class>QPushButton</class> 892 <class>QPushButton</class>
881 <property stdset="1"> 893 <property stdset="1">
882 <name>name</name> 894 <name>name</name>
883 <cstring>SMSDeleteButton</cstring> 895 <cstring>SMSDeleteButton</cstring>
884 </property> 896 </property>
885 <property stdset="1"> 897 <property stdset="1">
886 <name>text</name> 898 <name>text</name>
887 <string>Delete</string> 899 <string>Delete</string>
888 </property> 900 </property>
889 </widget> 901 </widget>
890 <widget> 902 <widget>
891 <class>QPushButton</class> 903 <class>QPushButton</class>
892 <property stdset="1"> 904 <property stdset="1">
893 <name>name</name> 905 <name>name</name>
894 <cstring>SMSSendButton</cstring> 906 <cstring>SMSSendButton</cstring>
895 </property> 907 </property>
896 <property stdset="1"> 908 <property stdset="1">
897 <name>text</name> 909 <name>text</name>
898 <string>Send</string> 910 <string>Send</string>
899 </property> 911 </property>
900 </widget> 912 </widget>
901 <widget> 913 <widget>
902 <class>QPushButton</class> 914 <class>QPushButton</class>
903 <property stdset="1"> 915 <property stdset="1">
904 <name>name</name> 916 <name>name</name>
905 <cstring>SMSNewButton</cstring> 917 <cstring>SMSNewButton</cstring>
906 </property> 918 </property>
907 <property stdset="1"> 919 <property stdset="1">
908 <name>text</name> 920 <name>text</name>
909 <string>New</string> 921 <string>New</string>
910 </property> 922 </property>
911 </widget> 923 </widget>
912 </hbox> 924 </hbox>
913 </widget> 925 </widget>
914 <widget> 926 <widget row="3" column="0" >
915 <class>QTextBrowser</class> 927 <class>QMultiLineEdit</class>
916 <property stdset="1"> 928 <property stdset="1">
917 <name>name</name> 929 <name>name</name>
918 <cstring>SMSText</cstring> 930 <cstring>SMSText</cstring>
919 </property> 931 </property>
932 <property stdset="1">
933 <name>enabled</name>
934 <bool>false</bool>
935 </property>
936 <property stdset="1">
937 <name>wordWrap</name>
938 <enum>WidgetWidth</enum>
939 </property>
940 <property stdset="1">
941 <name>readOnly</name>
942 <bool>true</bool>
943 </property>
920 </widget> 944 </widget>
921 </vbox> 945 </grid>
922 </widget> 946 </widget>
923 </widget> 947 </widget>
924 </vbox> 948 </vbox>
925</widget> 949</widget>
926</UI> 950</UI>