summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/profileeditordialog.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-console/profileeditordialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp52
1 files changed, 38 insertions, 14 deletions
diff --git a/noncore/apps/opie-console/profileeditordialog.cpp b/noncore/apps/opie-console/profileeditordialog.cpp
index 859abdd..374844e 100644
--- a/noncore/apps/opie-console/profileeditordialog.cpp
+++ b/noncore/apps/opie-console/profileeditordialog.cpp
@@ -16,36 +16,56 @@
static QWidget *factory_serial(QWidget *parent)
{
QFrame *device_frame = new QFrame(parent);
device_frame->setFrameStyle(QFrame::Panel | QFrame::Sunken);
QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame);
- QLabel *frame_number = new QLabel(QObject::tr("Phone number"), device_frame);
- frame_number->hide();
QLineEdit *frame_device_line = new QLineEdit("/dev/ttyS0", device_frame);
- QLineEdit *frame_number_line = new QLineEdit(device_frame);
- frame_number_line->hide();
QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2);
vbox_frame->add(frame_device);
vbox_frame->add(frame_device_line);
- vbox_frame->add(frame_number);
- vbox_frame->add(frame_number_line);
return device_frame;
}
static QWidget *factory_irda(QWidget *parent)
{
- return NULL;
+ QFrame *device_frame = new QFrame(parent);
+ device_frame->setFrameStyle(QFrame::Panel | QFrame::Sunken);
+
+ QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame);
+
+ QLineEdit *frame_device_line = new QLineEdit("/dev/ircomm0", device_frame);
+
+ QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2);
+ vbox_frame->add(frame_device);
+ vbox_frame->add(frame_device_line);
+
+ return device_frame;
}
static QWidget *factory_modem(QWidget *parent)
{
- return NULL;
+ QFrame *device_frame = new QFrame(parent);
+ device_frame->setFrameStyle(QFrame::Panel | QFrame::Sunken);
+
+ QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame);
+ QLabel *frame_number = new QLabel(QObject::tr("Phone number"), device_frame);
+
+ QLineEdit *frame_device_line = new QLineEdit("/dev/ttyS0", device_frame);
+ QLineEdit *frame_number_line = new QLineEdit(device_frame);
+
+ QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2);
+ vbox_frame->add(frame_device);
+ vbox_frame->add(frame_device_line);
+ vbox_frame->add(frame_number);
+ vbox_frame->add(frame_number_line);
+
+ return device_frame;
}
ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact,
const Profile& prof )
: QTabDialog(0, 0, TRUE), m_fact( fact ), m_prof( prof )
{
@@ -83,13 +103,17 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
QStringList w = m_fact->configWidgets();
for(QStringList::Iterator it = w.begin(); it != w.end(); it++)
device_box->insertItem(m_fact->name((*it)));
// connection tab, factory part
- QFrame *device_frame = static_cast<QFrame*>(factory_serial(tabconn));
+ plugin_base = new QWidget(tabconn);
+ plugin_layout = new QHBoxLayout(plugin_base, 0);
+
+ plugin_plugin = m_fact->newConfigWidget("serial", plugin_base);
+ plugin_layout->add(plugin_plugin);
// connection tab, general part
speed_box = new QComboBox(tabconn);
speed_box->insertItem("115200 baud");
speed_box->insertItem("57600 baud");
@@ -157,13 +181,13 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
vbox3->add(name_line);
vbox3->addStretch(1);
QVBoxLayout *vbox = new QVBoxLayout(tabconn, 2);
vbox->add(device);
vbox->add(device_box);
- vbox->add(device_frame);
+ vbox->add(plugin_base);
vbox->add(speed);
vbox->add(speed_box);
vbox->add(flow);
QHBoxLayout *hbox = new QHBoxLayout(vbox, 2);
hbox->add(flow_hw);
hbox->add(flow_sw);
@@ -211,18 +235,18 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
ProfileEditorDialog::~ProfileEditorDialog() {
}
void ProfileEditorDialog::slotDevice(int id)
{
- MetaFactory::configWidget c;
+ delete plugin_plugin;
- //c = m_fact->;
- c = factory_serial;
+ plugin_plugin = m_fact->newConfigWidget(prof_type(), plugin_base);
+ plugin_layout->add(plugin_plugin);
- QFrame *device_frame = static_cast<QFrame*>(c(NULL));
+ plugin_plugin->show();
}
void ProfileEditorDialog::slotOk()
{
if(prof_name().isEmpty())
{