-rw-r--r-- | noncore/unsupported/gsmtool/gsmtool.cpp | 47 | ||||
-rw-r--r-- | noncore/unsupported/gsmtool/gsmtoolbase.ui | 16 |
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,30 +1,31 @@ #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' */ GSMTool::GSMTool( QWidget* parent, const char* name, WFlags fl ) : GSMToolBase( parent, name, fl ) { devicelocked = 0; me = NULL; setConnected(FALSE); /* FIXME: Persistent settings for device/baudrate */ connect(ConnectButton, SIGNAL(clicked()), this, SLOT(doConnectButton())); connect(ScanButton, SIGNAL(clicked()), this, SLOT(doScanButton())); connect(TabWidget2, SIGNAL(currentChanged(QWidget *)), this, SLOT(doTabChanged())); timerid = -1; // Is this not possible normally? @@ -110,48 +111,94 @@ void GSMTool::timerEvent( QTimerEvent * ) qDebug("get sig str"); int csq = me->getSignalStrength(); if (csq == 0) { SigStrText->setText("<= -113"); dB->setEnabled(TRUE); SigStrLabel->setEnabled(TRUE); } else if (csq == 99) { SigStrText->setText("Unknown"); dB->setEnabled(FALSE); SigStrLabel->setEnabled(FALSE); } else { 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()]; qDebug("Connect Button Pressed"); MfrText->setText("Opening..."); ModelText->setText(""); RevisionText->setText(""); SerialText->setText(""); setConnected(FALSE); if (me) { me = NULL; } if (lockDevice()) { 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,39 +1,39 @@ <!DOCTYPE UI><UI> <class>GSMToolBase</class> <widget> <class>QWidget</class> <property stdset="1"> <name>name</name> <cstring>GSM Tool</cstring> </property> <property stdset="1"> <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>272</width> - <height>366</height> + <width>388</width> + <height>502</height> </rect> </property> <property stdset="1"> <name>caption</name> <string>GSM Tool</string> </property> <property> <name>layoutMargin</name> </property> <property> <name>layoutSpacing</name> </property> <vbox> <property stdset="1"> <name>margin</name> <number>2</number> </property> <property stdset="1"> <name>spacing</name> <number>1</number> </property> <widget> <class>QTabWidget</class> <property stdset="1"> @@ -531,53 +531,53 @@ </hbox> </widget> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout9</cstring> </property> <property> <name>layoutMargin</name> </property> <hbox> <property stdset="1"> <name>margin</name> <number>0</number> </property> <property stdset="1"> <name>spacing</name> <number>1</number> </property> <widget> <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>AltNetsLabel</cstring> + <cstring>AvailNetsLabel</cstring> </property> <property stdset="1"> <name>text</name> - <string>Alternative Networks:</string> + <string>Available Networks:</string> </property> </widget> <spacer> <property> <name>name</name> <cstring>Spacer13</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Horizontal</enum> </property> <property stdset="1"> <name>sizeType</name> <enum>Expanding</enum> </property> <property> <name>sizeHint</name> <size> <width>20</width> <height>20</height> </size> </property> </spacer> <widget> @@ -635,48 +635,52 @@ <property> <name>resizeable</name> <bool>true</bool> </property> </column> <column> <property> <name>text</name> <string>Shortname</string> </property> <property> <name>clickable</name> <bool>true</bool> </property> <property> <name>resizeable</name> <bool>true</bool> </property> </column> <property stdset="1"> <name>name</name> <cstring>NetworkList</cstring> </property> <property stdset="1"> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>7</hsizetype> <vsizetype>7</vsizetype> </sizepolicy> </property> </widget> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout11</cstring> </property> <hbox> <property stdset="1"> <name>margin</name> <number>2</number> </property> <property stdset="1"> <name>spacing</name> <number>1</number> </property> <spacer> <property> @@ -685,48 +689,52 @@ </property> <property stdset="1"> <name>orientation</name> <enum>Horizontal</enum> </property> <property stdset="1"> <name>sizeType</name> <enum>Expanding</enum> </property> <property> <name>sizeHint</name> <size> <width>20</width> <height>20</height> </size> </property> </spacer> <widget> <class>QPushButton</class> <property stdset="1"> <name>name</name> <cstring>RegisterButton</cstring> </property> <property stdset="1"> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>7</hsizetype> <vsizetype>0</vsizetype> </sizepolicy> </property> <property stdset="1"> <name>text</name> <string>Register</string> </property> </widget> </hbox> </widget> </vbox> </widget> <widget> <class>QWidget</class> <property stdset="1"> <name>name</name> <cstring>tab</cstring> </property> <attribute> <name>title</name> <string>SMS</string> |