summaryrefslogtreecommitdiff
path: root/noncore/unsupported/gsmtool/gsmtool.cpp
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/gsmtool/gsmtool.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.cpp47
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,12 +1,13 @@
#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>
@@ -128,12 +129,58 @@ void GSMTool::timerEvent( QTimerEvent * )
}
}
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()
{