summaryrefslogtreecommitdiff
path: root/noncore/unsupported/gsmtool/gsmtool.cpp
authordwmw2 <dwmw2>2002-04-04 14:08:17 (UTC)
committer dwmw2 <dwmw2>2002-04-04 14:08:17 (UTC)
commitd3ef7996a0c857451395fcdd2eed63399100586a (patch) (unidiff)
tree054563aae8769f9bf584fab3beee2c63f880c869 /noncore/unsupported/gsmtool/gsmtool.cpp
parent351f962d07ad32ab3cc3442f85b9fd20fe621b4c (diff)
downloadopie-d3ef7996a0c857451395fcdd2eed63399100586a.zip
opie-d3ef7996a0c857451395fcdd2eed63399100586a.tar.gz
opie-d3ef7996a0c857451395fcdd2eed63399100586a.tar.bz2
SMS sending
Diffstat (limited to 'noncore/unsupported/gsmtool/gsmtool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.cpp129
1 files changed, 120 insertions, 9 deletions
diff --git a/noncore/unsupported/gsmtool/gsmtool.cpp b/noncore/unsupported/gsmtool/gsmtool.cpp
index 8273461..6fea596 100644
--- a/noncore/unsupported/gsmtool/gsmtool.cpp
+++ b/noncore/unsupported/gsmtool/gsmtool.cpp
@@ -33,2 +33,7 @@ GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl )
33 connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton())); 33 connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton()));
34 connect(SMSDeleteButton, SIGNAL(clicked()), this, SLOT(doSMSDeleteButton()));
35 connect(SMSSendButton, SIGNAL(clicked()), this, SLOT(doSMSSendButton()));
36 connect(NewSMSClearButton, SIGNAL(clicked()), this, SLOT(doNewSMSClearButton()));
37 connect(NewSMSSaveButton, SIGNAL(clicked()), this, SLOT(doNewSMSSaveButton()));
38 connect(NewSMSSendButton, SIGNAL(clicked()), this, SLOT(doNewSMSSendButton()));
34 connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton())); 39 connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton()));
@@ -71,2 +76,3 @@ void GSMTool::setConnected( bool conn )
71 TabWidget2->setTabEnabled(tab_3, conn); 76 TabWidget2->setTabEnabled(tab_3, conn);
77 TabWidget2->setTabEnabled(tab_4, conn);
72 MfrLabel->setEnabled(conn); 78 MfrLabel->setEnabled(conn);
@@ -146,3 +152,4 @@ void GSMTool::doSMSStoreChanged()
146 } else try { 152 } else try {
147 sms_store = me->getSMSStore(storename); 153 sms_store = new SortedSMSStore(me->getSMSStore(storename));
154 sms_store->setSortOrder(ByIndex);
148 155
@@ -155,2 +162,3 @@ void GSMTool::doSMSStoreChanged()
155 SMSList->setEnabled(!(sms_store == NULL)); 162 SMSList->setEnabled(!(sms_store == NULL));
163 NewSMSSaveButton->setEnabled(!(sms_store == NULL));
156 doSMSTypeChanged(); 164 doSMSTypeChanged();
@@ -162,2 +170,6 @@ void GSMTool::doSMSTypeChanged()
162 qDebug("direction %s\n", direction?"outgoing":"incoming"); 170 qDebug("direction %s\n", direction?"outgoing":"incoming");
171 if (direction)
172 SMSSendButton->setText("Send");
173 else
174 SMSSendButton->setText("Reply");
163 175
@@ -168,10 +180,11 @@ void GSMTool::doSMSTypeChanged()
168 return; 180 return;
169 for (int i = 0; i < sms_store->size(); i++) { 181 for (SortedSMSStore::iterator e = sms_store->begin();
170 qDebug("Message %d", i); 182 e != sms_store->end(); e++) {
171 qDebug("Is%sempty", sms_store()[i].empty()?" ":" not "); 183 // qDebug("Message %d", i);
172 if (sms_store()[i].empty()) 184 qDebug("Is%sempty", e->empty()?" ":" not ");
185 if (e->empty())
173 continue; 186 continue;
174 187
175 qDebug("Status %d", sms_store()[i].status()); 188 qDebug("Status %d", e->status());
176 SMSMessageRef message = sms_store()[i].message(); 189 SMSMessageRef message = e->message();
177 qDebug("Got message."); 190 qDebug("Got message.");
@@ -182,3 +195,3 @@ void GSMTool::doSMSTypeChanged()
182 char buf[3]; 195 char buf[3];
183 snprintf(buf, 3, "%d", i); 196 snprintf(buf, 3, "%d", e->index());
184 new QListViewItem(SMSList, message->address()._number.c_str(), message->serviceCentreTimestamp().toString().c_str(), buf); 197 new QListViewItem(SMSList, message->address()._number.c_str(), message->serviceCentreTimestamp().toString().c_str(), buf);
@@ -209,3 +222,3 @@ void GSMTool::doSelectedSMSChanged(QListViewItem *item)
209 qDebug("index %d\n", index); 222 qDebug("index %d\n", index);
210 SMSMessageRef message = sms_store()[index].message(); 223 SMSMessageRef message = sms_store->find(index)->message();
211 224
@@ -217,2 +230,100 @@ void GSMTool::doSelectedSMSChanged(QListViewItem *item)
217} 230}
231
232void GSMTool::doSMSSendButton()
233{
234 qDebug("SMSSendButton");
235
236 QListViewItem *item = SMSList->currentItem();
237 if (!item)
238 return;
239
240 int index = atoi(item->text(2).ascii());
241 qDebug("index %d\n", index);
242
243 int direction = SMSViewType->currentItem();
244 qDebug("direction %s\n", direction?"outgoing":"incoming");
245
246 SMSMessageRef message = sms_store->find(index)->message();
247
248 if (direction)
249 NewSMSText->setText(message->userData().c_str());
250 else
251 NewSMSText->setText("");
252 NewSMSToBox->insertItem(message->address()._number.c_str(), 0);
253 TabWidget2->setCurrentPage(3);
254
255}
256
257void GSMTool::doNewSMSClearButton()
258{
259 NewSMSText->setText("");
260}
261
262void GSMTool::doNewSMSSaveButton()
263{
264 qDebug("NewSMSSaveButton");
265 const char *msgtext = strdup(NewSMSText->text().local8Bit());
266 const char *dest = NewSMSToBox->currentText().ascii();
267
268 NewSMSStatusLabel->setText("Sending...");
269 me->setMessageService(1);
270
271 qDebug("NewSMSSendButton: '%s' to '%s'", msgtext, dest);
272
273 SMSMessageRef m = new SMSSubmitMessage (msgtext, dest);
274 sms_store->insert(m);
275 free((void *)msgtext);
276
277}
278void GSMTool::doNewSMSSendButton()
279{
280 const char *msgtext = strdup(NewSMSText->text().local8Bit());
281 const char *dest = NewSMSToBox->currentText().ascii();
282
283 NewSMSStatusLabel->setText("Sending...");
284 me->setMessageService(1);
285
286 qDebug("NewSMSSendButton: '%s' to '%s'", msgtext, dest);
287
288 SMSSubmitMessage m(msgtext, dest);
289 try {
290 Ref<SMSMessage> ackPDU;
291 m.setAt(new GsmAt(*me));
292 m.send(ackPDU);
293
294 // print acknowledgement if available
295 if (! ackPDU.isnull())
296 cout << ackPDU->toString();
297 NewSMSStatusLabel->setText("Message sent.");
298 } catch (GsmException &ge) {
299 NewSMSStatusLabel->setText("Failed.");
300 qDebug(ge.what());
301 }
302 free((void *)msgtext);
303
304
305}
306
307
308void GSMTool::doSMSDeleteButton()
309{
310 QListViewItem *item = SMSList->currentItem();
311 if (!item)
312 return;
313
314 int index = atoi(item->text(2).ascii());
315 qDebug("delete SMS with index %d\n", index);
316
317
318
319 SortedSMSStore::iterator e = sms_store->find(index);
320
321 if (e != sms_store->end()) {
322 qDebug("message is %s\n", e->message()->userData().c_str());
323 sms_store->erase(e);
324
325 }
326 doSMSTypeChanged();
327}
328
218void GSMTool::doScanButton() 329void GSMTool::doScanButton()