Diffstat (limited to 'noncore/apps/opie-console/profileeditordialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/profileeditordialog.cpp | 52 |
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 | |||
@@ -10,48 +10,68 @@ | |||
10 | #include "qmessagebox.h" | 10 | #include "qmessagebox.h" |
11 | #include "qbuttongroup.h" | 11 | #include "qbuttongroup.h" |
12 | #include "qstringlist.h" | 12 | #include "qstringlist.h" |
13 | 13 | ||
14 | #include "metafactory.h" | 14 | #include "metafactory.h" |
15 | 15 | ||
16 | static QWidget *factory_serial(QWidget *parent) | 16 | static QWidget *factory_serial(QWidget *parent) |
17 | { | 17 | { |
18 | QFrame *device_frame = new QFrame(parent); | 18 | QFrame *device_frame = new QFrame(parent); |
19 | device_frame->setFrameStyle(QFrame::Panel | QFrame::Sunken); | 19 | device_frame->setFrameStyle(QFrame::Panel | QFrame::Sunken); |
20 | 20 | ||
21 | QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame); | 21 | QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame); |
22 | QLabel *frame_number = new QLabel(QObject::tr("Phone number"), device_frame); | ||
23 | frame_number->hide(); | ||
24 | 22 | ||
25 | QLineEdit *frame_device_line = new QLineEdit("/dev/ttyS0", device_frame); | 23 | QLineEdit *frame_device_line = new QLineEdit("/dev/ttyS0", device_frame); |
26 | QLineEdit *frame_number_line = new QLineEdit(device_frame); | ||
27 | frame_number_line->hide(); | ||
28 | 24 | ||
29 | QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2); | 25 | QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2); |
30 | vbox_frame->add(frame_device); | 26 | vbox_frame->add(frame_device); |
31 | vbox_frame->add(frame_device_line); | 27 | vbox_frame->add(frame_device_line); |
32 | vbox_frame->add(frame_number); | ||
33 | vbox_frame->add(frame_number_line); | ||
34 | 28 | ||
35 | return device_frame; | 29 | return device_frame; |
36 | } | 30 | } |
37 | 31 | ||
38 | static QWidget *factory_irda(QWidget *parent) | 32 | static QWidget *factory_irda(QWidget *parent) |
39 | { | 33 | { |
40 | return NULL; | 34 | QFrame *device_frame = new QFrame(parent); |
35 | device_frame->setFrameStyle(QFrame::Panel | QFrame::Sunken); | ||
36 | |||
37 | QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame); | ||
38 | |||
39 | QLineEdit *frame_device_line = new QLineEdit("/dev/ircomm0", device_frame); | ||
40 | |||
41 | QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2); | ||
42 | vbox_frame->add(frame_device); | ||
43 | vbox_frame->add(frame_device_line); | ||
44 | |||
45 | return device_frame; | ||
41 | } | 46 | } |
42 | 47 | ||
43 | static QWidget *factory_modem(QWidget *parent) | 48 | static QWidget *factory_modem(QWidget *parent) |
44 | { | 49 | { |
45 | return NULL; | 50 | QFrame *device_frame = new QFrame(parent); |
51 | device_frame->setFrameStyle(QFrame::Panel | QFrame::Sunken); | ||
52 | |||
53 | QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame); | ||
54 | QLabel *frame_number = new QLabel(QObject::tr("Phone number"), device_frame); | ||
55 | |||
56 | QLineEdit *frame_device_line = new QLineEdit("/dev/ttyS0", device_frame); | ||
57 | QLineEdit *frame_number_line = new QLineEdit(device_frame); | ||
58 | |||
59 | QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2); | ||
60 | vbox_frame->add(frame_device); | ||
61 | vbox_frame->add(frame_device_line); | ||
62 | vbox_frame->add(frame_number); | ||
63 | vbox_frame->add(frame_number_line); | ||
64 | |||
65 | return device_frame; | ||
46 | } | 66 | } |
47 | 67 | ||
48 | ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact, | 68 | ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact, |
49 | const Profile& prof ) | 69 | const Profile& prof ) |
50 | : QTabDialog(0, 0, TRUE), m_fact( fact ), m_prof( prof ) | 70 | : QTabDialog(0, 0, TRUE), m_fact( fact ), m_prof( prof ) |
51 | { | 71 | { |
52 | // initUI(); | 72 | // initUI(); |
53 | /* now set the widgets */ | 73 | /* now set the widgets */ |
54 | 74 | ||
55 | } | 75 | } |
56 | 76 | ||
57 | ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) | 77 | ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) |
@@ -77,25 +97,29 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) | |||
77 | 97 | ||
78 | // connection tab, fixed part | 98 | // connection tab, fixed part |
79 | 99 | ||
80 | QLabel *device = new QLabel(QObject::tr("Device"), tabconn); | 100 | QLabel *device = new QLabel(QObject::tr("Device"), tabconn); |
81 | 101 | ||
82 | device_box = new QComboBox(tabconn); | 102 | device_box = new QComboBox(tabconn); |
83 | 103 | ||
84 | QStringList w = m_fact->configWidgets(); | 104 | QStringList w = m_fact->configWidgets(); |
85 | for(QStringList::Iterator it = w.begin(); it != w.end(); it++) | 105 | for(QStringList::Iterator it = w.begin(); it != w.end(); it++) |
86 | device_box->insertItem(m_fact->name((*it))); | 106 | device_box->insertItem(m_fact->name((*it))); |
87 | 107 | ||
88 | // connection tab, factory part | 108 | // connection tab, factory part |
89 | QFrame *device_frame = static_cast<QFrame*>(factory_serial(tabconn)); | 109 | plugin_base = new QWidget(tabconn); |
110 | plugin_layout = new QHBoxLayout(plugin_base, 0); | ||
111 | |||
112 | plugin_plugin = m_fact->newConfigWidget("serial", plugin_base); | ||
113 | plugin_layout->add(plugin_plugin); | ||
90 | 114 | ||
91 | // connection tab, general part | 115 | // connection tab, general part |
92 | 116 | ||
93 | speed_box = new QComboBox(tabconn); | 117 | speed_box = new QComboBox(tabconn); |
94 | speed_box->insertItem("115200 baud"); | 118 | speed_box->insertItem("115200 baud"); |
95 | speed_box->insertItem("57600 baud"); | 119 | speed_box->insertItem("57600 baud"); |
96 | speed_box->insertItem("38400 baud"); | 120 | speed_box->insertItem("38400 baud"); |
97 | speed_box->insertItem("19200 baud"); | 121 | speed_box->insertItem("19200 baud"); |
98 | speed_box->insertItem("9600 baud"); | 122 | speed_box->insertItem("9600 baud"); |
99 | 123 | ||
100 | QLabel *speed = new QLabel(QObject::tr("Speed"), tabconn); | 124 | QLabel *speed = new QLabel(QObject::tr("Speed"), tabconn); |
101 | QLabel *flow = new QLabel(QObject::tr("Flow control"), tabconn); | 125 | QLabel *flow = new QLabel(QObject::tr("Flow control"), tabconn); |
@@ -151,25 +175,25 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) | |||
151 | QCheckBox *conv_outbound = new QCheckBox(QObject::tr("Outbound"), tabterm); | 175 | QCheckBox *conv_outbound = new QCheckBox(QObject::tr("Outbound"), tabterm); |
152 | 176 | ||
153 | // layouting | 177 | // layouting |
154 | 178 | ||
155 | QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2); | 179 | QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2); |
156 | vbox3->add(name); | 180 | vbox3->add(name); |
157 | vbox3->add(name_line); | 181 | vbox3->add(name_line); |
158 | vbox3->addStretch(1); | 182 | vbox3->addStretch(1); |
159 | 183 | ||
160 | QVBoxLayout *vbox = new QVBoxLayout(tabconn, 2); | 184 | QVBoxLayout *vbox = new QVBoxLayout(tabconn, 2); |
161 | vbox->add(device); | 185 | vbox->add(device); |
162 | vbox->add(device_box); | 186 | vbox->add(device_box); |
163 | vbox->add(device_frame); | 187 | vbox->add(plugin_base); |
164 | vbox->add(speed); | 188 | vbox->add(speed); |
165 | vbox->add(speed_box); | 189 | vbox->add(speed_box); |
166 | vbox->add(flow); | 190 | vbox->add(flow); |
167 | QHBoxLayout *hbox = new QHBoxLayout(vbox, 2); | 191 | QHBoxLayout *hbox = new QHBoxLayout(vbox, 2); |
168 | hbox->add(flow_hw); | 192 | hbox->add(flow_hw); |
169 | hbox->add(flow_sw); | 193 | hbox->add(flow_sw); |
170 | //vbox->add(group_flow); | 194 | //vbox->add(group_flow); |
171 | vbox->add(parity); | 195 | vbox->add(parity); |
172 | QHBoxLayout *hbox2 = new QHBoxLayout(vbox, 2); | 196 | QHBoxLayout *hbox2 = new QHBoxLayout(vbox, 2); |
173 | hbox2->add(parity_odd); | 197 | hbox2->add(parity_odd); |
174 | hbox2->add(parity_even); | 198 | hbox2->add(parity_even); |
175 | //vbox->add(group_parity); | 199 | //vbox->add(group_parity); |
@@ -205,30 +229,30 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) | |||
205 | connect(this, SIGNAL(defaultButtonPressed()), SLOT(slotOk())); | 229 | connect(this, SIGNAL(defaultButtonPressed()), SLOT(slotOk())); |
206 | connect(this, SIGNAL(cancelButtonPressed()), SLOT(slotCancel())); | 230 | connect(this, SIGNAL(cancelButtonPressed()), SLOT(slotCancel())); |
207 | 231 | ||
208 | connect(device_box, SIGNAL(activated(int)), SLOT(slotDevice(int))); | 232 | connect(device_box, SIGNAL(activated(int)), SLOT(slotDevice(int))); |
209 | } | 233 | } |
210 | 234 | ||
211 | ProfileEditorDialog::~ProfileEditorDialog() { | 235 | ProfileEditorDialog::~ProfileEditorDialog() { |
212 | 236 | ||
213 | } | 237 | } |
214 | 238 | ||
215 | void ProfileEditorDialog::slotDevice(int id) | 239 | void ProfileEditorDialog::slotDevice(int id) |
216 | { | 240 | { |
217 | MetaFactory::configWidget c; | 241 | delete plugin_plugin; |
218 | 242 | ||
219 | //c = m_fact->; | 243 | plugin_plugin = m_fact->newConfigWidget(prof_type(), plugin_base); |
220 | c = factory_serial; | 244 | plugin_layout->add(plugin_plugin); |
221 | 245 | ||
222 | QFrame *device_frame = static_cast<QFrame*>(c(NULL)); | 246 | plugin_plugin->show(); |
223 | } | 247 | } |
224 | 248 | ||
225 | void ProfileEditorDialog::slotOk() | 249 | void ProfileEditorDialog::slotOk() |
226 | { | 250 | { |
227 | if(prof_name().isEmpty()) | 251 | if(prof_name().isEmpty()) |
228 | { | 252 | { |
229 | QMessageBox::information(this, | 253 | QMessageBox::information(this, |
230 | QObject::tr("Invalid profile"), | 254 | QObject::tr("Invalid profile"), |
231 | QObject::tr("Please enter a profile name.")); | 255 | QObject::tr("Please enter a profile name.")); |
232 | return; | 256 | return; |
233 | } | 257 | } |
234 | 258 | ||