summaryrefslogtreecommitdiff
authordwmw2 <dwmw2>2002-04-04 10:23:47 (UTC)
committer dwmw2 <dwmw2>2002-04-04 10:23:47 (UTC)
commit0ffdfb93cd33ae975822701e16421990e416c218 (patch) (side-by-side diff)
tree0682d5e14c53c7fc9d0171160a92161e249de473
parent431ff3f7fd9996236c6d82a3644b3915bd4c7b38 (diff)
downloadopie-0ffdfb93cd33ae975822701e16421990e416c218.zip
opie-0ffdfb93cd33ae975822701e16421990e416c218.tar.gz
opie-0ffdfb93cd33ae975822701e16421990e416c218.tar.bz2
Wheee. Now shows SMS messages
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.cpp51
-rw-r--r--noncore/unsupported/gsmtool/gsmtool.h1
-rw-r--r--noncore/unsupported/gsmtool/gsmtoolbase.ui44
3 files changed, 79 insertions, 17 deletions
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
@@ -1,312 +1,349 @@
#include "gsmtool.h"
#include <qpushbutton.h>
#include <qcombobox.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qtabwidget.h>
#include <qlistview.h>
#include <qtextbrowser.h>
+#include <qmultilineedit.h>
+
#include <termios.h>
#include <gsmlib/gsm_me_ta.h>
#include <gsmlib/gsm_unix_serial.h>
#include <gsmlib/gsm_sms.h>
#include <gsmlib/gsm_sorted_sms_store.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;
sms_store = 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()));
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?
}
/*
* Destroys the object and frees any allocated resources
*/
GSMTool::~GSMTool()
{
// no need to delete child widgets, Qt does it all for us
if (devicelocked)
unlockDevice();
}
const speed_t GSMTool::baudrates[12] = {
B300, B600, B1200, B2400, B4800, B9600, B19200,
B38400, B57600, B115200, B230400, B460800
};
int GSMTool::lockDevice( )
{
devicelocked = 1;
/* FIXME */
return 0;
}
void GSMTool::unlockDevice( )
{
devicelocked = 0;
}
void GSMTool::setConnected( bool conn )
{
TabWidget2->setTabEnabled(tab_2, conn);
TabWidget2->setTabEnabled(tab_3, conn);
MfrLabel->setEnabled(conn);
MfrText->setEnabled(conn);
ModelLabel->setEnabled(conn);
ModelText->setEnabled(conn);
RevisionLabel->setEnabled(conn);
RevisionText->setEnabled(conn);
SerialLabel->setEnabled(conn);
SerialText->setEnabled(conn);
}
void GSMTool::doTabChanged()
{
int index = TabWidget2->currentPageIndex();
qDebug("tab changed to %d", index);
if (index == 1) {
timerid = startTimer(5000);
timerEvent(NULL);
} else if (timerid != -1) {
killTimer(timerid);
timerid = -1;
}
}
void GSMTool::timerEvent( QTimerEvent * )
{
OPInfo opi;
opi = me->getCurrentOPInfo();
if (opi._numericName == NOT_SET) {
NetStatText->setText("No network");
NetworkLabel->setEnabled(FALSE);
NetworkText->setEnabled(FALSE);
NetworkText->setText("");
SigStrText->setEnabled(FALSE);
SigStrText->setText("");
dB->setEnabled(FALSE);
SigStrLabel->setEnabled(FALSE);
} else {
// FIXME: Add 'roaming' info from AT+CFUN
qDebug("network");
NetStatText->setText("Registered");
NetworkLabel->setEnabled(TRUE);
NetworkText->setEnabled(TRUE);
NetworkText->setText(opi._longName.c_str());
SigStrText->setEnabled(TRUE);
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::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());
} catch (GsmException) {
sms_store = NULL;
qDebug("get store failed");
}
+
+ SMSList->setEnabled(!(sms_store == NULL));
doSMSTypeChanged();
}
void GSMTool::doSMSTypeChanged()
{
int direction = SMSViewType->currentItem();
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++) {
qDebug("Message %d", i);
qDebug("Is%sempty", sms_store()[i].empty()?" ":" not ");
if (sms_store()[i].empty())
continue;
qDebug("Status %d", sms_store()[i].status());
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");
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()) {
qDebug("lockDevice() failed\n");
MfrText->setText("Lock port failed");
};
qDebug("Device name is %s\n", devicename);
try {
port = new UnixSerialPort(devicename, rate, DEFAULT_INIT_STRING, 0);
} catch (GsmException) {
qDebug("port failed");
MfrText->setText("Open port failed");
return;
}
MfrText->setText("Initialising...");
qDebug("got port");
try {
me = new MeTa(port);
} catch (GsmException) {
qDebug("meta failed");
MfrText->setText("Initialise GSM unit failed");
me = NULL;
unlockDevice();
return;
}
qDebug("Opened");
MEInfo ifo;
MfrText->setText("Querying...");
try {
ifo = me->getMEInfo();
} catch (GsmException) {
qDebug("getMEInfo failed");
MfrText->setText("Query GSM unit failed");
me = NULL;
unlockDevice();
return;
}
MfrText->setText(ifo._manufacturer.c_str());
ModelText->setText(ifo._model.c_str());
RevisionText->setText(ifo._revision.c_str());
SerialText->setText(ifo._serialNumber.c_str());
setConnected(TRUE);
SMSStoreList->clear();
SMSStoreList->insertItem("None");
vector<string> storenames = me->getSMSStoreNames();
for (vector<string>::iterator i = storenames.begin(); i != storenames.end(); ++i) {
SMSStoreList->insertItem(i->c_str());
}
SMSList->clear();
SMSText->setText("");
sms_store = NULL;
}
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
@@ -1,44 +1,45 @@
#ifndef EXAMPLE_H
#define EXAMPLE_H
#include "gsmtoolbase.h"
#include <termios.h>
#include <gsmlib/gsm_me_ta.h>
class GSMTool : public GSMToolBase
{
Q_OBJECT
public:
GSMTool( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~GSMTool();
protected:
void timerEvent(QTimerEvent *te );
private slots:
void doConnectButton();
void doScanButton();
void doTabChanged();
void doSMSStoreChanged();
void doSMSTypeChanged();
+ void doSelectedSMSChanged(QListViewItem *);
private:
static const speed_t baudrates[];
int devicelocked;
int timerid;
gsmlib::MeTa *me;
gsmlib::SMSStoreRef sms_store;
char *devicename;
speed_t baudrate;
int lockDevice( );
void unlockDevice( );
void setConnected( bool conn );
};
#endif // EXAMPLE_H
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
@@ -1,926 +1,950 @@
<!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>309</width>
+ <width>371</width>
<height>390</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">
<name>name</name>
<cstring>TabWidget2</cstring>
</property>
<property stdset="1">
<name>sizePolicy</name>
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>7</vsizetype>
</sizepolicy>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
<name>layoutSpacing</name>
</property>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
<string>Device</string>
</attribute>
<vbox>
<property stdset="1">
<name>margin</name>
<number>2</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>1</number>
</property>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>DeviceLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Modem Device:</string>
</property>
</widget>
<widget>
<class>QComboBox</class>
<item>
<property>
<name>text</name>
<string>/dev/ircomm0</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>/dev/ttySA0</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>/dev/ttyS0</string>
</property>
</item>
<property stdset="1">
<name>name</name>
<cstring>DeviceName</cstring>
</property>
<property stdset="1">
<name>editable</name>
<bool>true</bool>
</property>
<property stdset="1">
<name>currentItem</name>
<number>0</number>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>BaudLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Baud Rate:</string>
</property>
</widget>
<widget>
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout8</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>QComboBox</class>
<item>
<property>
<name>text</name>
<string>300</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>600</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>1200</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>2400</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>4800</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>9600</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>19200</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>38400</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>57600</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>115200</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>230400</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>460800</string>
</property>
</item>
<property stdset="1">
<name>name</name>
<cstring>BaudRate</cstring>
</property>
<property stdset="1">
<name>editable</name>
<bool>false</bool>
</property>
<property stdset="1">
<name>currentItem</name>
<number>6</number>
</property>
</widget>
<spacer>
<property>
<name>name</name>
<cstring>Spacer5</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>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>ConnectButton</cstring>
</property>
<property stdset="1">
<name>sizePolicy</name>
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>1</vsizetype>
</sizepolicy>
</property>
<property stdset="1">
<name>text</name>
<string>Connect</string>
</property>
</widget>
</hbox>
</widget>
<widget>
<class>Line</class>
<property stdset="1">
<name>name</name>
<cstring>Line1</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Horizontal</enum>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>MfrLabel</cstring>
</property>
<property stdset="1">
<name>enabled</name>
<bool>true</bool>
</property>
<property stdset="1">
<name>text</name>
<string>Manufacturer:</string>
</property>
</widget>
<widget>
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>MfrText</cstring>
</property>
<property stdset="1">
<name>sizePolicy</name>
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>0</vsizetype>
</sizepolicy>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
<property stdset="1">
<name>text</name>
<string></string>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>ModelLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Model:</string>
</property>
</widget>
<widget>
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>ModelText</cstring>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>RevisionLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Revision:</string>
</property>
</widget>
<widget>
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>RevisionText</cstring>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>SerialLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Serial Number:</string>
</property>
</widget>
<widget>
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>SerialText</cstring>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
</widget>
<spacer>
<property>
<name>name</name>
<cstring>Spacer6</cstring>
</property>
<property stdset="1">
<name>orientation</name>
<enum>Vertical</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>
</vbox>
</widget>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
<string>Network</string>
</attribute>
<vbox>
<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>NetStatLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Network Status:</string>
</property>
</widget>
<widget>
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>NetStatText</cstring>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>NetworkLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Current Network:</string>
</property>
</widget>
<widget>
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>NetworkText</cstring>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
</widget>
<widget>
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout7</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>SigStrLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Signal Strength:</string>
</property>
</widget>
<widget>
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>SigStrText</cstring>
</property>
<property stdset="1">
<name>focusPolicy</name>
<enum>NoFocus</enum>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>dB</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>dBm</string>
</property>
</widget>
</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>AvailNetsLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<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>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>ScanButton</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Scan</string>
</property>
</widget>
</hbox>
</widget>
<widget>
<class>QListView</class>
<column>
<property>
<name>text</name>
<string>Network Name</string>
</property>
<property>
<name>clickable</name>
<bool>true</bool>
</property>
<property>
<name>resizeable</name>
<bool>true</bool>
</property>
</column>
<column>
<property>
<name>text</name>
<string>Status</string>
</property>
<property>
<name>clickable</name>
<bool>true</bool>
</property>
<property>
<name>resizeable</name>
<bool>true</bool>
</property>
</column>
<column>
<property>
<name>text</name>
<string>No.</string>
</property>
<property>
<name>clickable</name>
<bool>true</bool>
</property>
<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>
+ <property stdset="1">
+ <name>allColumnsShowFocus</name>
+ <bool>true</bool>
+ </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>
<name>name</name>
<cstring>Spacer14</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>
<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>
</attribute>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
<number>11</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
- <widget>
+ <widget row="0" column="0" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout6</cstring>
</property>
<hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>SMSStoreLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Store:</string>
</property>
</widget>
<widget>
<class>QComboBox</class>
<item>
<property>
<name>text</name>
<string>None</string>
</property>
</item>
<property stdset="1">
<name>name</name>
<cstring>SMSStoreList</cstring>
</property>
<property stdset="1">
<name>enabled</name>
<bool>true</bool>
</property>
</widget>
<widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
<cstring>SMSTypeLabel</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Type:</string>
</property>
</widget>
<widget>
<class>QComboBox</class>
<item>
<property>
<name>text</name>
<string>Incoming</string>
</property>
</item>
<item>
<property>
<name>text</name>
<string>Outgoing</string>
</property>
</item>
<property stdset="1">
<name>name</name>
<cstring>SMSViewType</cstring>
</property>
</widget>
</hbox>
</widget>
- <widget>
+ <widget row="1" column="0" >
<class>QListView</class>
<column>
<property>
<name>text</name>
- <string>Date</string>
+ <string>Number</string>
</property>
<property>
<name>clickable</name>
<bool>true</bool>
</property>
<property>
<name>resizeable</name>
<bool>true</bool>
</property>
</column>
<column>
<property>
<name>text</name>
- <string>Number</string>
+ <string>Date</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>SMSList</cstring>
</property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ <property stdset="1">
+ <name>allColumnsShowFocus</name>
+ <bool>true</bool>
+ </property>
</widget>
- <widget>
+ <widget row="2" column="0" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout15</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>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>SMSDeleteButton</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Delete</string>
</property>
</widget>
<widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>SMSSendButton</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>Send</string>
</property>
</widget>
<widget>
<class>QPushButton</class>
<property stdset="1">
<name>name</name>
<cstring>SMSNewButton</cstring>
</property>
<property stdset="1">
<name>text</name>
<string>New</string>
</property>
</widget>
</hbox>
</widget>
- <widget>
- <class>QTextBrowser</class>
+ <widget row="3" column="0" >
+ <class>QMultiLineEdit</class>
<property stdset="1">
<name>name</name>
<cstring>SMSText</cstring>
</property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ <property stdset="1">
+ <name>wordWrap</name>
+ <enum>WidgetWidth</enum>
+ </property>
+ <property stdset="1">
+ <name>readOnly</name>
+ <bool>true</bool>
+ </property>
</widget>
- </vbox>
+ </grid>
</widget>
</widget>
</vbox>
</widget>
</UI>