summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/metafactory.cpp11
-rw-r--r--noncore/apps/opie-console/metafactory.h1
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp52
-rw-r--r--noncore/apps/opie-console/profileeditordialog.h2
4 files changed, 52 insertions, 14 deletions
diff --git a/noncore/apps/opie-console/metafactory.cpp b/noncore/apps/opie-console/metafactory.cpp
index 04f1cbe..ea7f739 100644
--- a/noncore/apps/opie-console/metafactory.cpp
+++ b/noncore/apps/opie-console/metafactory.cpp
@@ -46,2 +46,3 @@ QStringList MetaFactory::fileTransferLayers()const {
}
+
IOLayer* MetaFactory::newIOLayer( const QString& str,const Profile& prof ) {
@@ -61,2 +62,12 @@ IOLayer* MetaFactory::newIOLayer( const QString& str,const Profile& prof ) {
+QWidget *MetaFactory::newConfigWidget ( const QString& str, QWidget* parent) {
+ QWidget *w = NULL;
+ configWidget c;
+
+ c = m_confFact[str];
+ if(c) w = c(parent);
+
+ return w;
+}
+
QString MetaFactory::name( const QString& str ) {
diff --git a/noncore/apps/opie-console/metafactory.h b/noncore/apps/opie-console/metafactory.h
index 7fa53c6..2245231 100644
--- a/noncore/apps/opie-console/metafactory.h
+++ b/noncore/apps/opie-console/metafactory.h
@@ -37,2 +37,3 @@ public:
IOLayer* newIOLayer( const QString&,const Profile& );
+ QWidget *newConfigWidget ( const QString&, QWidget* );
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
@@ -21,8 +21,4 @@ static QWidget *factory_serial(QWidget *parent)
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();
@@ -31,4 +27,2 @@ static QWidget *factory_serial(QWidget *parent)
vbox_frame->add(frame_device_line);
- vbox_frame->add(frame_number);
- vbox_frame->add(frame_number_line);
@@ -39,3 +33,14 @@ 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;
}
@@ -44,3 +49,18 @@ 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;
}
@@ -88,3 +108,7 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
// 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);
@@ -162,3 +186,3 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
vbox->add(device_box);
- vbox->add(device_frame);
+ vbox->add(plugin_base);
vbox->add(speed);
@@ -216,8 +240,8 @@ 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();
}
diff --git a/noncore/apps/opie-console/profileeditordialog.h b/noncore/apps/opie-console/profileeditordialog.h
index dfe4490..00f3c99 100644
--- a/noncore/apps/opie-console/profileeditordialog.h
+++ b/noncore/apps/opie-console/profileeditordialog.h
@@ -54,2 +54,4 @@ private:
QComboBox *terminal_box, *speed_box, *device_box;
+ QWidget *plugin_base, *plugin_plugin;
+ QHBoxLayout *plugin_layout;
};