summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.cpp47
-rw-r--r--noncore/unsupported/gsmtool/gsmtoolbase.ui16
2 files changed, 59 insertions, 4 deletions
diff --git a/noncore/unsupported/gsmtool/gsmtool.cpp b/noncore/unsupported/gsmtool/gsmtool.cpp
index 38c8c59..38baf45 100644
--- a/noncore/unsupported/gsmtool/gsmtool.cpp
+++ b/noncore/unsupported/gsmtool/gsmtool.cpp
@@ -1,204 +1,251 @@
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 8
8#include <termios.h> 9#include <termios.h>
9 10
10#include <gsmlib/gsm_me_ta.h> 11#include <gsmlib/gsm_me_ta.h>
11#include <gsmlib/gsm_unix_serial.h> 12#include <gsmlib/gsm_unix_serial.h>
12 13
13using namespace gsmlib; 14using namespace gsmlib;
14 15
15 16
16/* 17/*
17 * Constructs a GSMTool which is a child of 'parent', with the 18 * Constructs a GSMTool which is a child of 'parent', with the
18 * name 'name' and widget flags set to 'f' 19 * name 'name' and widget flags set to 'f'
19 */ 20 */
20GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl ) 21GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl )
21 : GSMToolBase( parent, name, fl ) 22 : GSMToolBase( parent, name, fl )
22{ 23{
23 devicelocked = 0; 24 devicelocked = 0;
24 me = NULL; 25 me = NULL;
25 setConnected(FALSE); 26 setConnected(FALSE);
26 /* FIXME: Persistent settings for device/baudrate */ 27 /* FIXME: Persistent settings for device/baudrate */
27 connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton())); 28 connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton()));
28 connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton())); 29 connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton()));
29 connect(TabWidget2, SIGNAL(currentChanged(QWidget *)), this, SLOT(doTabChanged())); 30 connect(TabWidget2, SIGNAL(currentChanged(QWidget *)), this, SLOT(doTabChanged()));
30 timerid = -1; // Is this not possible normally? 31 timerid = -1; // Is this not possible normally?
31} 32}
32 33
33/* 34/*
34 * Destroys the object and frees any allocated resources 35 * Destroys the object and frees any allocated resources
35 */ 36 */
36GSMTool::~GSMTool() 37GSMTool::~GSMTool()
37{ 38{
38 // no need to delete child widgets, Qt does it all for us 39 // no need to delete child widgets, Qt does it all for us
39 if (devicelocked) 40 if (devicelocked)
40 unlockDevice(); 41 unlockDevice();
41} 42}
42const speed_t GSMTool::baudrates[12] = { 43const speed_t GSMTool::baudrates[12] = {
43 B300, B600, B1200, B2400, B4800, B9600, B19200, 44 B300, B600, B1200, B2400, B4800, B9600, B19200,
44 B38400, B57600, B115200, B230400, B460800 45 B38400, B57600, B115200, B230400, B460800
45}; 46};
46 47
47int GSMTool::lockDevice( ) 48int GSMTool::lockDevice( )
48{ 49{
49 devicelocked = 1; 50 devicelocked = 1;
50 /* FIXME */ 51 /* FIXME */
51 return 0; 52 return 0;
52} 53}
53 54
54void GSMTool::unlockDevice( ) 55void GSMTool::unlockDevice( )
55{ 56{
56 devicelocked = 0; 57 devicelocked = 0;
57} 58}
58 59
59void GSMTool::setConnected( bool conn ) 60void GSMTool::setConnected( bool conn )
60{ 61{
61 TabWidget2->setTabEnabled(tab_2, conn); 62 TabWidget2->setTabEnabled(tab_2, conn);
62 TabWidget2->setTabEnabled(tab_3, conn); 63 TabWidget2->setTabEnabled(tab_3, conn);
63 MfrLabel->setEnabled(conn); 64 MfrLabel->setEnabled(conn);
64 MfrText->setEnabled(conn); 65 MfrText->setEnabled(conn);
65 ModelLabel->setEnabled(conn); 66 ModelLabel->setEnabled(conn);
66 ModelText->setEnabled(conn); 67 ModelText->setEnabled(conn);
67 RevisionLabel->setEnabled(conn); 68 RevisionLabel->setEnabled(conn);
68 RevisionText->setEnabled(conn); 69 RevisionText->setEnabled(conn);
69 SerialLabel->setEnabled(conn); 70 SerialLabel->setEnabled(conn);
70 SerialText->setEnabled(conn); 71 SerialText->setEnabled(conn);
71 72
72} 73}
73void GSMTool::doTabChanged() 74void GSMTool::doTabChanged()
74{ 75{
75 int index = TabWidget2->currentPageIndex(); 76 int index = TabWidget2->currentPageIndex();
76 qDebug("tab changed to %d", index); 77 qDebug("tab changed to %d", index);
77 78
78 if (index == 1) { 79 if (index == 1) {
79 timerid = startTimer(5000); 80 timerid = startTimer(5000);
80 timerEvent(NULL); 81 timerEvent(NULL);
81 } else if (timerid != -1) { 82 } else if (timerid != -1) {
82 killTimer(timerid); 83 killTimer(timerid);
83 timerid = -1; 84 timerid = -1;
84 } 85 }
85} 86}
86 87
87void GSMTool::timerEvent( QTimerEvent * ) 88void GSMTool::timerEvent( QTimerEvent * )
88{ 89{
89 OPInfo opi; 90 OPInfo opi;
90 91
91 opi = me->getCurrentOPInfo(); 92 opi = me->getCurrentOPInfo();
92 93
93 if (opi._numericName == NOT_SET) { 94 if (opi._numericName == NOT_SET) {
94 NetStatText->setText("No network"); 95 NetStatText->setText("No network");
95 NetworkLabel->setEnabled(FALSE); 96 NetworkLabel->setEnabled(FALSE);
96 NetworkText->setEnabled(FALSE); 97 NetworkText->setEnabled(FALSE);
97 NetworkText->setText(""); 98 NetworkText->setText("");
98 SigStrText->setEnabled(FALSE); 99 SigStrText->setEnabled(FALSE);
99 SigStrText->setText(""); 100 SigStrText->setText("");
100 dB->setEnabled(FALSE); 101 dB->setEnabled(FALSE);
101 SigStrLabel->setEnabled(FALSE); 102 SigStrLabel->setEnabled(FALSE);
102 } else { 103 } else {
103 // FIXME: Add 'roaming' info from AT+CFUN 104 // FIXME: Add 'roaming' info from AT+CFUN
104 qDebug("network"); 105 qDebug("network");
105 NetStatText->setText("Registered"); 106 NetStatText->setText("Registered");
106 NetworkLabel->setEnabled(TRUE); 107 NetworkLabel->setEnabled(TRUE);
107 NetworkText->setEnabled(TRUE); 108 NetworkText->setEnabled(TRUE);
108 NetworkText->setText(opi._longName.c_str()); 109 NetworkText->setText(opi._longName.c_str());
109 SigStrText->setEnabled(TRUE); 110 SigStrText->setEnabled(TRUE);
110 111
111 qDebug("get sig str"); 112 qDebug("get sig str");
112 int csq = me->getSignalStrength(); 113 int csq = me->getSignalStrength();
113 if (csq == 0) { 114 if (csq == 0) {
114 SigStrText->setText("<= -113"); 115 SigStrText->setText("<= -113");
115 dB->setEnabled(TRUE); 116 dB->setEnabled(TRUE);
116 SigStrLabel->setEnabled(TRUE); 117 SigStrLabel->setEnabled(TRUE);
117 } else if (csq == 99) { 118 } else if (csq == 99) {
118 SigStrText->setText("Unknown"); 119 SigStrText->setText("Unknown");
119 dB->setEnabled(FALSE); 120 dB->setEnabled(FALSE);
120 SigStrLabel->setEnabled(FALSE); 121 SigStrLabel->setEnabled(FALSE);
121 } else { 122 } else {
122 char buf[6]; 123 char buf[6];
123 sprintf(buf, "%d", -113 + (2*csq)); 124 sprintf(buf, "%d", -113 + (2*csq));
124 SigStrText->setText(buf); 125 SigStrText->setText(buf);
125 dB->setEnabled(TRUE); 126 dB->setEnabled(TRUE);
126 SigStrLabel->setEnabled(TRUE); 127 SigStrLabel->setEnabled(TRUE);
127 } 128 }
128 } 129 }
129} 130}
130 131
131void GSMTool::doScanButton() 132void GSMTool::doScanButton()
132{ 133{
133 qDebug("ScanButton"); 134 qDebug("ScanButton");
135
136 NetworkList->setEnabled(FALSE);
137 AvailNetsLabel->setEnabled(FALSE);
138 NetworkList->clear();
139 new QListViewItem(NetworkList, "Scanning...");
140
141 vector<OPInfo> opis;
142
143 try {
144 opis = me->getAvailableOPInfo();
145 } catch (GsmException) {
146 NetworkList->clear();
147 new QListViewItem(NetworkList, "Scan failed...");
148 return;
149 }
150
151 NetworkList->clear();
152 for (vector<OPInfo>::iterator i = opis.begin(); i != opis.end(); ++i) {
153 char *statustext;
154 switch (i->_status) {
155
156 case UnknownOPStatus:
157 statustext = "unknown";
158 break;
159
160 case CurrentOPStatus:
161 statustext = "current";
162 break;
163
164 case AvailableOPStatus:
165 statustext = "available";
166 break;
167
168 case ForbiddenOPStatus:
169 statustext = "forbidden";
170 break;
171
172 default:
173 statustext = "(ERROR)";
174 }
175 char num[7];
176 snprintf(num, 6, "%d", i->_numericName);
177 new QListViewItem(NetworkList, i->_longName.c_str(), statustext, num, i->_shortName.c_str());
178 }
179 NetworkList->setEnabled(TRUE);
180 AvailNetsLabel->setEnabled(TRUE);
134} 181}
135/* 182/*
136 * A simple slot... not very interesting. 183 * A simple slot... not very interesting.
137 */ 184 */
138void GSMTool::doConnectButton() 185void GSMTool::doConnectButton()
139{ 186{
140 gsmlib::Port *port; 187 gsmlib::Port *port;
141 188
142 speed_t rate; 189 speed_t rate;
143 devicename = strdup(DeviceName->currentText().local8Bit().data()); 190 devicename = strdup(DeviceName->currentText().local8Bit().data());
144 rate = baudrates[BaudRate->currentItem()]; 191 rate = baudrates[BaudRate->currentItem()];
145 192
146 qDebug("Connect Button Pressed"); 193 qDebug("Connect Button Pressed");
147 MfrText->setText("Opening..."); 194 MfrText->setText("Opening...");
148 ModelText->setText(""); 195 ModelText->setText("");
149 RevisionText->setText(""); 196 RevisionText->setText("");
150 SerialText->setText(""); 197 SerialText->setText("");
151 198
152 setConnected(FALSE); 199 setConnected(FALSE);
153 if (me) { 200 if (me) {
154 me = NULL; 201 me = NULL;
155 } 202 }
156 203
157 if (lockDevice()) { 204 if (lockDevice()) {
158 qDebug("lockDevice() failed\n"); 205 qDebug("lockDevice() failed\n");
159 MfrText->setText("Lock port failed"); 206 MfrText->setText("Lock port failed");
160 }; 207 };
161 208
162 qDebug("Device name is %s\n", devicename); 209 qDebug("Device name is %s\n", devicename);
163 210
164 try { 211 try {
165 port = new UnixSerialPort(devicename, rate, DEFAULT_INIT_STRING, 0); 212 port = new UnixSerialPort(devicename, rate, DEFAULT_INIT_STRING, 0);
166 } catch (GsmException) { 213 } catch (GsmException) {
167 qDebug("port failed"); 214 qDebug("port failed");
168 MfrText->setText("Open port failed"); 215 MfrText->setText("Open port failed");
169 return; 216 return;
170 } 217 }
171 MfrText->setText("Initialising..."); 218 MfrText->setText("Initialising...");
172 qDebug("got port"); 219 qDebug("got port");
173 try { 220 try {
174 me = new MeTa(port); 221 me = new MeTa(port);
175 } catch (GsmException) { 222 } catch (GsmException) {
176 qDebug("meta failed"); 223 qDebug("meta failed");
177 MfrText->setText("Initialise GSM unit failed"); 224 MfrText->setText("Initialise GSM unit failed");
178 me = NULL; 225 me = NULL;
179 unlockDevice(); 226 unlockDevice();
180 return; 227 return;
181 } 228 }
182 229
183 qDebug("Opened"); 230 qDebug("Opened");
184 231
185 MEInfo ifo; 232 MEInfo ifo;
186 233
187 MfrText->setText("Querying..."); 234 MfrText->setText("Querying...");
188 235
189 try { 236 try {
190 ifo = me->getMEInfo(); 237 ifo = me->getMEInfo();
191 } catch (GsmException) { 238 } catch (GsmException) {
192 qDebug("getMEInfo failed"); 239 qDebug("getMEInfo failed");
193 MfrText->setText("Query GSM unit failed"); 240 MfrText->setText("Query GSM unit failed");
194 me = NULL; 241 me = NULL;
195 unlockDevice(); 242 unlockDevice();
196 return; 243 return;
197 } 244 }
198 245
199 MfrText->setText(ifo._manufacturer.c_str()); 246 MfrText->setText(ifo._manufacturer.c_str());
200 ModelText->setText(ifo._model.c_str()); 247 ModelText->setText(ifo._model.c_str());
201 RevisionText->setText(ifo._revision.c_str()); 248 RevisionText->setText(ifo._revision.c_str());
202 SerialText->setText(ifo._serialNumber.c_str()); 249 SerialText->setText(ifo._serialNumber.c_str());
203 setConnected(TRUE); 250 setConnected(TRUE);
204} 251}
diff --git a/noncore/unsupported/gsmtool/gsmtoolbase.ui b/noncore/unsupported/gsmtool/gsmtoolbase.ui
index 36a3d8e..72c943a 100644
--- a/noncore/unsupported/gsmtool/gsmtoolbase.ui
+++ b/noncore/unsupported/gsmtool/gsmtoolbase.ui
@@ -1,143 +1,143 @@
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>272</width> 14 <width>388</width>
15 <height>366</height> 15 <height>502</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>
@@ -427,410 +427,418 @@
427 <vbox> 427 <vbox>
428 <property stdset="1"> 428 <property stdset="1">
429 <name>margin</name> 429 <name>margin</name>
430 <number>0</number> 430 <number>0</number>
431 </property> 431 </property>
432 <property stdset="1"> 432 <property stdset="1">
433 <name>spacing</name> 433 <name>spacing</name>
434 <number>1</number> 434 <number>1</number>
435 </property> 435 </property>
436 <widget> 436 <widget>
437 <class>QLabel</class> 437 <class>QLabel</class>
438 <property stdset="1"> 438 <property stdset="1">
439 <name>name</name> 439 <name>name</name>
440 <cstring>NetStatLabel</cstring> 440 <cstring>NetStatLabel</cstring>
441 </property> 441 </property>
442 <property stdset="1"> 442 <property stdset="1">
443 <name>text</name> 443 <name>text</name>
444 <string>Network Status:</string> 444 <string>Network Status:</string>
445 </property> 445 </property>
446 </widget> 446 </widget>
447 <widget> 447 <widget>
448 <class>QLineEdit</class> 448 <class>QLineEdit</class>
449 <property stdset="1"> 449 <property stdset="1">
450 <name>name</name> 450 <name>name</name>
451 <cstring>NetStatText</cstring> 451 <cstring>NetStatText</cstring>
452 </property> 452 </property>
453 <property stdset="1"> 453 <property stdset="1">
454 <name>focusPolicy</name> 454 <name>focusPolicy</name>
455 <enum>NoFocus</enum> 455 <enum>NoFocus</enum>
456 </property> 456 </property>
457 </widget> 457 </widget>
458 <widget> 458 <widget>
459 <class>QLabel</class> 459 <class>QLabel</class>
460 <property stdset="1"> 460 <property stdset="1">
461 <name>name</name> 461 <name>name</name>
462 <cstring>NetworkLabel</cstring> 462 <cstring>NetworkLabel</cstring>
463 </property> 463 </property>
464 <property stdset="1"> 464 <property stdset="1">
465 <name>text</name> 465 <name>text</name>
466 <string>Current Network:</string> 466 <string>Current Network:</string>
467 </property> 467 </property>
468 </widget> 468 </widget>
469 <widget> 469 <widget>
470 <class>QLineEdit</class> 470 <class>QLineEdit</class>
471 <property stdset="1"> 471 <property stdset="1">
472 <name>name</name> 472 <name>name</name>
473 <cstring>NetworkText</cstring> 473 <cstring>NetworkText</cstring>
474 </property> 474 </property>
475 <property stdset="1"> 475 <property stdset="1">
476 <name>focusPolicy</name> 476 <name>focusPolicy</name>
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>AltNetsLabel</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>Alternative 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>
660 <bool>false</bool>
661 </property>
662 <property stdset="1">
659 <name>sizePolicy</name> 663 <name>sizePolicy</name>
660 <sizepolicy> 664 <sizepolicy>
661 <hsizetype>7</hsizetype> 665 <hsizetype>7</hsizetype>
662 <vsizetype>7</vsizetype> 666 <vsizetype>7</vsizetype>
663 </sizepolicy> 667 </sizepolicy>
664 </property> 668 </property>
665 </widget> 669 </widget>
666 <widget> 670 <widget>
667 <class>QLayoutWidget</class> 671 <class>QLayoutWidget</class>
668 <property stdset="1"> 672 <property stdset="1">
669 <name>name</name> 673 <name>name</name>
670 <cstring>Layout11</cstring> 674 <cstring>Layout11</cstring>
671 </property> 675 </property>
672 <hbox> 676 <hbox>
673 <property stdset="1"> 677 <property stdset="1">
674 <name>margin</name> 678 <name>margin</name>
675 <number>2</number> 679 <number>2</number>
676 </property> 680 </property>
677 <property stdset="1"> 681 <property stdset="1">
678 <name>spacing</name> 682 <name>spacing</name>
679 <number>1</number> 683 <number>1</number>
680 </property> 684 </property>
681 <spacer> 685 <spacer>
682 <property> 686 <property>
683 <name>name</name> 687 <name>name</name>
684 <cstring>Spacer14</cstring> 688 <cstring>Spacer14</cstring>
685 </property> 689 </property>
686 <property stdset="1"> 690 <property stdset="1">
687 <name>orientation</name> 691 <name>orientation</name>
688 <enum>Horizontal</enum> 692 <enum>Horizontal</enum>
689 </property> 693 </property>
690 <property stdset="1"> 694 <property stdset="1">
691 <name>sizeType</name> 695 <name>sizeType</name>
692 <enum>Expanding</enum> 696 <enum>Expanding</enum>
693 </property> 697 </property>
694 <property> 698 <property>
695 <name>sizeHint</name> 699 <name>sizeHint</name>
696 <size> 700 <size>
697 <width>20</width> 701 <width>20</width>
698 <height>20</height> 702 <height>20</height>
699 </size> 703 </size>
700 </property> 704 </property>
701 </spacer> 705 </spacer>
702 <widget> 706 <widget>
703 <class>QPushButton</class> 707 <class>QPushButton</class>
704 <property stdset="1"> 708 <property stdset="1">
705 <name>name</name> 709 <name>name</name>
706 <cstring>RegisterButton</cstring> 710 <cstring>RegisterButton</cstring>
707 </property> 711 </property>
708 <property stdset="1"> 712 <property stdset="1">
713 <name>enabled</name>
714 <bool>false</bool>
715 </property>
716 <property stdset="1">
709 <name>sizePolicy</name> 717 <name>sizePolicy</name>
710 <sizepolicy> 718 <sizepolicy>
711 <hsizetype>7</hsizetype> 719 <hsizetype>7</hsizetype>
712 <vsizetype>0</vsizetype> 720 <vsizetype>0</vsizetype>
713 </sizepolicy> 721 </sizepolicy>
714 </property> 722 </property>
715 <property stdset="1"> 723 <property stdset="1">
716 <name>text</name> 724 <name>text</name>
717 <string>Register</string> 725 <string>Register</string>
718 </property> 726 </property>
719 </widget> 727 </widget>
720 </hbox> 728 </hbox>
721 </widget> 729 </widget>
722 </vbox> 730 </vbox>
723 </widget> 731 </widget>
724 <widget> 732 <widget>
725 <class>QWidget</class> 733 <class>QWidget</class>
726 <property stdset="1"> 734 <property stdset="1">
727 <name>name</name> 735 <name>name</name>
728 <cstring>tab</cstring> 736 <cstring>tab</cstring>
729 </property> 737 </property>
730 <attribute> 738 <attribute>
731 <name>title</name> 739 <name>title</name>
732 <string>SMS</string> 740 <string>SMS</string>
733 </attribute> 741 </attribute>
734 <grid> 742 <grid>
735 <property stdset="1"> 743 <property stdset="1">
736 <name>margin</name> 744 <name>margin</name>
737 <number>2</number> 745 <number>2</number>
738 </property> 746 </property>
739 <property stdset="1"> 747 <property stdset="1">
740 <name>spacing</name> 748 <name>spacing</name>
741 <number>1</number> 749 <number>1</number>
742 </property> 750 </property>
743 <widget row="0" column="1" > 751 <widget row="0" column="1" >
744 <class>QComboBox</class> 752 <class>QComboBox</class>
745 <item> 753 <item>
746 <property> 754 <property>
747 <name>text</name> 755 <name>text</name>
748 <string>None</string> 756 <string>None</string>
749 </property> 757 </property>
750 </item> 758 </item>
751 <item> 759 <item>
752 <property> 760 <property>
753 <name>text</name> 761 <name>text</name>
754 <string>Incoming</string> 762 <string>Incoming</string>
755 </property> 763 </property>
756 </item> 764 </item>
757 <item> 765 <item>
758 <property> 766 <property>
759 <name>text</name> 767 <name>text</name>
760 <string>Outgoing</string> 768 <string>Outgoing</string>
761 </property> 769 </property>
762 </item> 770 </item>
763 <property stdset="1"> 771 <property stdset="1">
764 <name>name</name> 772 <name>name</name>
765 <cstring>ComboBox11</cstring> 773 <cstring>ComboBox11</cstring>
766 </property> 774 </property>
767 <property stdset="1"> 775 <property stdset="1">
768 <name>enabled</name> 776 <name>enabled</name>
769 <bool>true</bool> 777 <bool>true</bool>
770 </property> 778 </property>
771 </widget> 779 </widget>
772 <widget row="0" column="0" > 780 <widget row="0" column="0" >
773 <class>QLabel</class> 781 <class>QLabel</class>
774 <property stdset="1"> 782 <property stdset="1">
775 <name>name</name> 783 <name>name</name>
776 <cstring>TextLabel4</cstring> 784 <cstring>TextLabel4</cstring>
777 </property> 785 </property>
778 <property stdset="1"> 786 <property stdset="1">
779 <name>text</name> 787 <name>text</name>
780 <string>Message Collection:</string> 788 <string>Message Collection:</string>
781 </property> 789 </property>
782 </widget> 790 </widget>
783 <widget row="1" column="0" rowspan="1" colspan="2" > 791 <widget row="1" column="0" rowspan="1" colspan="2" >
784 <class>QListView</class> 792 <class>QListView</class>
785 <column> 793 <column>
786 <property> 794 <property>
787 <name>text</name> 795 <name>text</name>
788 <string>Date</string> 796 <string>Date</string>
789 </property> 797 </property>
790 <property> 798 <property>
791 <name>clickable</name> 799 <name>clickable</name>
792 <bool>true</bool> 800 <bool>true</bool>
793 </property> 801 </property>
794 <property> 802 <property>
795 <name>resizeable</name> 803 <name>resizeable</name>
796 <bool>true</bool> 804 <bool>true</bool>
797 </property> 805 </property>
798 </column> 806 </column>
799 <column> 807 <column>
800 <property> 808 <property>
801 <name>text</name> 809 <name>text</name>
802 <string>Number</string> 810 <string>Number</string>
803 </property> 811 </property>
804 <property> 812 <property>
805 <name>clickable</name> 813 <name>clickable</name>
806 <bool>true</bool> 814 <bool>true</bool>
807 </property> 815 </property>
808 <property> 816 <property>
809 <name>resizeable</name> 817 <name>resizeable</name>
810 <bool>true</bool> 818 <bool>true</bool>
811 </property> 819 </property>
812 </column> 820 </column>
813 <property stdset="1"> 821 <property stdset="1">
814 <name>name</name> 822 <name>name</name>
815 <cstring>ListView3</cstring> 823 <cstring>ListView3</cstring>
816 </property> 824 </property>
817 </widget> 825 </widget>
818 <widget row="3" column="0" rowspan="1" colspan="2" > 826 <widget row="3" column="0" rowspan="1" colspan="2" >
819 <class>QMultiLineEdit</class> 827 <class>QMultiLineEdit</class>
820 <property stdset="1"> 828 <property stdset="1">
821 <name>name</name> 829 <name>name</name>
822 <cstring>MultiLineEdit3</cstring> 830 <cstring>MultiLineEdit3</cstring>
823 </property> 831 </property>
824 <property stdset="1"> 832 <property stdset="1">
825 <name>readOnly</name> 833 <name>readOnly</name>
826 <bool>true</bool> 834 <bool>true</bool>
827 </property> 835 </property>
828 </widget> 836 </widget>
829 <widget row="2" column="0" rowspan="1" colspan="2" > 837 <widget row="2" column="0" rowspan="1" colspan="2" >
830 <class>QLayoutWidget</class> 838 <class>QLayoutWidget</class>
831 <property stdset="1"> 839 <property stdset="1">
832 <name>name</name> 840 <name>name</name>
833 <cstring>Layout15</cstring> 841 <cstring>Layout15</cstring>
834 </property> 842 </property>
835 <property> 843 <property>
836 <name>layoutMargin</name> 844 <name>layoutMargin</name>