Diffstat (limited to 'noncore/unsupported/gsmtool/gsmtool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/gsmtool/gsmtool.cpp | 47 |
1 files changed, 47 insertions, 0 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,18 +1,19 @@ #include "gsmtool.h" #include <qpushbutton.h> #include <qcombobox.h> #include <qlineedit.h> #include <qlabel.h> #include <qtabwidget.h> +#include <qlistview.h> #include <termios.h> #include <gsmlib/gsm_me_ta.h> #include <gsmlib/gsm_unix_serial.h> using namespace gsmlib; /* * Constructs a GSMTool which is a child of 'parent', with the * name 'name' and widget flags set to 'f' @@ -122,24 +123,70 @@ void GSMTool::timerEvent( QTimerEvent * ) char buf[6]; sprintf(buf, "%d", -113 + (2*csq)); SigStrText->setText(buf); dB->setEnabled(TRUE); SigStrLabel->setEnabled(TRUE); } } } void GSMTool::doScanButton() { qDebug("ScanButton"); + + NetworkList->setEnabled(FALSE); + AvailNetsLabel->setEnabled(FALSE); + NetworkList->clear(); + new QListViewItem(NetworkList, "Scanning..."); + + vector<OPInfo> opis; + + try { + opis = me->getAvailableOPInfo(); + } catch (GsmException) { + NetworkList->clear(); + new QListViewItem(NetworkList, "Scan failed..."); + return; + } + + NetworkList->clear(); + for (vector<OPInfo>::iterator i = opis.begin(); i != opis.end(); ++i) { + char *statustext; + switch (i->_status) { + + case UnknownOPStatus: + statustext = "unknown"; + break; + + case CurrentOPStatus: + statustext = "current"; + break; + + case AvailableOPStatus: + statustext = "available"; + break; + + case ForbiddenOPStatus: + statustext = "forbidden"; + break; + + default: + statustext = "(ERROR)"; + } + char num[7]; + snprintf(num, 6, "%d", i->_numericName); + new QListViewItem(NetworkList, i->_longName.c_str(), statustext, num, i->_shortName.c_str()); + } + NetworkList->setEnabled(TRUE); + AvailNetsLabel->setEnabled(TRUE); } /* * A simple slot... not very interesting. */ void GSMTool::doConnectButton() { gsmlib::Port *port; speed_t rate; devicename = strdup(DeviceName->currentText().local8Bit().data()); rate = baudrates[BaudRate->currentItem()]; |