From 0ffdfb93cd33ae975822701e16421990e416c218 Mon Sep 17 00:00:00 2001 From: dwmw2 Date: Thu, 04 Apr 2002 10:23:47 +0000 Subject: Wheee. Now shows SMS messages --- 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 @@ -6,6 +6,8 @@ #include #include #include +#include + #include #include @@ -33,7 +35,7 @@ GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl ) connect(TabWidget2, SIGNAL(currentChanged(QWidget *)), this, SLOT(doTabChanged())); connect(SMSStoreList, SIGNAL(activated(int)), this, SLOT(doSMSStoreChanged())); connect(SMSViewType, SIGNAL(activated(int)), this, SLOT(doSMSTypeChanged())); - + connect(SMSList, SIGNAL(selectionChanged(QListViewItem *)), this, SLOT(doSelectedSMSChanged(QListViewItem *))); timerid = -1; // Is this not possible normally? } @@ -139,7 +141,9 @@ void GSMTool::doSMSStoreChanged() { const char *storename = SMSStoreList->currentText().ascii(); qDebug("Store Changed to '%s'", storename); - try { + if (!strcmp(storename, "None")) { + sms_store = NULL; + } else try { sms_store = me->getSMSStore(storename); qDebug("got store of size %d", sms_store->size()); @@ -147,6 +151,8 @@ void GSMTool::doSMSStoreChanged() sms_store = NULL; qDebug("get store failed"); } + + SMSList->setEnabled(!(sms_store == NULL)); doSMSTypeChanged(); } @@ -156,6 +162,8 @@ void GSMTool::doSMSTypeChanged() qDebug("direction %s\n", direction?"outgoing":"incoming"); SMSList->clear(); + doSelectedSMSChanged(NULL); + if (sms_store == NULL) return; for (int i = 0; i < sms_store->size(); i++) { @@ -168,16 +176,45 @@ void GSMTool::doSMSTypeChanged() SMSMessageRef message = sms_store()[i].message(); qDebug("Got message."); -#if 0 // WTF does this die? Did I mention that gsmlib needs rewriting in a sane language? - qDebug(message->toString().c_str()); + // qDebug(message->toString().c_str()); if (direction == message->messageType()) { qDebug("yes\n"); - new QListViewItem(SMSList, "xx", message->address()._number.c_str()); - } else qDebug("no. dir %d, type %d\n", direction, message->messageType()); -#endif + char buf[3]; + snprintf(buf, 3, "%d", i); + new QListViewItem(SMSList, message->address()._number.c_str(), message->serviceCentreTimestamp().toString().c_str(), buf); + } } } +void GSMTool::doSelectedSMSChanged(QListViewItem *item) +{ + qDebug("message changed\n"); + + if (!item || sms_store == NULL) { + SMSText->setText(""); + SMSText->setEnabled(FALSE); + SMSDeleteButton->setEnabled(FALSE); + SMSSendButton->setEnabled(FALSE); + return; + } + /* ARGH. This sucks. Surely there's an app-private pointer in the + QListViewItem that I've failed to notice? + + SMSMessageRef message = *(SMSMessageRef*)item->private; + */ + qDebug("item %p\n", item); + + qDebug("text(2) is %s\n", item->text(2).ascii()); + int index = atoi(item->text(2).ascii()); + qDebug("index %d\n", index); + SMSMessageRef message = sms_store()[index].message(); + + SMSText->setText(message->userData().c_str()); + SMSText->setEnabled(TRUE); + SMSDeleteButton->setEnabled(TRUE); + SMSSendButton->setEnabled(TRUE); + +} void GSMTool::doScanButton() { qDebug("ScanButton"); 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 @@ -23,6 +23,7 @@ private slots: void doTabChanged(); void doSMSStoreChanged(); void doSMSTypeChanged(); + void doSelectedSMSChanged(QListViewItem *); private: static const speed_t baudrates[]; 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 @@ -11,7 +11,7 @@ 0 0 - 309 + 371 390 @@ -666,6 +666,10 @@ 7 + + allColumnsShowFocus + true + QLayoutWidget @@ -739,7 +743,7 @@ title SMS - + margin 11 @@ -748,7 +752,7 @@ spacing 6 - + QLayoutWidget name @@ -823,12 +827,12 @@ - + QListView text - Date + Number clickable @@ -842,7 +846,7 @@ text - Number + Date clickable @@ -857,8 +861,16 @@ name SMSList + + enabled + false + + + allColumnsShowFocus + true + - + QLayoutWidget name @@ -911,14 +923,26 @@ - - QTextBrowser + + QMultiLineEdit name SMSText + + enabled + false + + + wordWrap + WidgetWidth + + + readOnly + true + - + -- cgit v0.9.0.2