summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/metafactory.cpp2
-rw-r--r--noncore/apps/opie-console/metafactory.h4
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp14
-rw-r--r--noncore/apps/opie-console/profileeditorplugins.cpp102
-rw-r--r--noncore/apps/opie-console/profileeditorplugins.h10
5 files changed, 73 insertions, 59 deletions
diff --git a/noncore/apps/opie-console/metafactory.cpp b/noncore/apps/opie-console/metafactory.cpp
index c5e614d..b69d6da 100644
--- a/noncore/apps/opie-console/metafactory.cpp
+++ b/noncore/apps/opie-console/metafactory.cpp
@@ -59,9 +59,9 @@ IOLayer* MetaFactory::newIOLayer( const QString& str,const Profile& prof ) {
59 59
60 return lay; 60 return lay;
61} 61}
62 62
63ProfileEditorPlugin *MetaFactory::newConfigPlugin ( const QString& str, QWidget *parent, const Profile& prof) { 63ProfileEditorPlugin *MetaFactory::newConfigPlugin ( const QString& str, QWidget *parent, Profile *prof) {
64 ProfileEditorPlugin *p = NULL; 64 ProfileEditorPlugin *p = NULL;
65 configWidget c; 65 configWidget c;
66 66
67 c = m_confFact[str]; 67 c = m_confFact[str];
diff --git a/noncore/apps/opie-console/metafactory.h b/noncore/apps/opie-console/metafactory.h
index 8c714b3..216de03 100644
--- a/noncore/apps/opie-console/metafactory.h
+++ b/noncore/apps/opie-console/metafactory.h
@@ -17,9 +17,9 @@
17#include "profileeditorplugins.h" 17#include "profileeditorplugins.h"
18 18
19class MetaFactory { 19class MetaFactory {
20public: 20public:
21 typedef ProfileEditorPlugin* (*configWidget)(QWidget* parent, const Profile&); 21 typedef ProfileEditorPlugin* (*configWidget)(QWidget* parent, Profile* prof);
22 typedef IOLayer* (*iolayer)(const Profile& ); 22 typedef IOLayer* (*iolayer)(const Profile& );
23 typedef FileTransferLayer* (*filelayer)(IOLayer*); 23 typedef FileTransferLayer* (*filelayer)(IOLayer*);
24 24
25 MetaFactory(); 25 MetaFactory();
@@ -35,9 +35,9 @@ public:
35 QStringList ioLayers()const; 35 QStringList ioLayers()const;
36 QStringList configWidgets()const; 36 QStringList configWidgets()const;
37 QStringList fileTransferLayers()const; 37 QStringList fileTransferLayers()const;
38 IOLayer* newIOLayer( const QString&,const Profile& ); 38 IOLayer* newIOLayer( const QString&,const Profile& );
39 ProfileEditorPlugin *newConfigPlugin ( const QString&, QWidget*, const Profile& ); 39 ProfileEditorPlugin *newConfigPlugin ( const QString&, QWidget*, Profile* );
40 40
41 QString name( const QString& ); 41 QString name( const QString& );
42 42
43private: 43private:
diff --git a/noncore/apps/opie-console/profileeditordialog.cpp b/noncore/apps/opie-console/profileeditordialog.cpp
index d98e589..8e63429 100644
--- a/noncore/apps/opie-console/profileeditordialog.cpp
+++ b/noncore/apps/opie-console/profileeditordialog.cpp
@@ -72,9 +72,9 @@ void ProfileEditorDialog::initUI()
72 // connection tab, factory part 72 // connection tab, factory part
73 plugin_base = new QWidget(tabconn); 73 plugin_base = new QWidget(tabconn);
74 plugin_layout = new QHBoxLayout(plugin_base, 0); 74 plugin_layout = new QHBoxLayout(plugin_base, 0);
75 75
76 plugin_plugin = m_fact->newConfigPlugin("serial", plugin_base, m_prof); 76 plugin_plugin = m_fact->newConfigPlugin("serial", plugin_base, &m_prof);
77 plugin_layout->add(plugin_plugin->widget()); 77 plugin_layout->add(plugin_plugin->widget());
78 78
79 // connection tab, general part 79 // connection tab, general part
80 80
@@ -111,8 +111,17 @@ void ProfileEditorDialog::initUI()
111 111
112 // load profile values 112 // load profile values
113 113
114 name_line->setText(m_prof.name()); 114 name_line->setText(m_prof.name());
115 for(int i = 0; i < device_box->count(); i++)
116 {
117 device_box->setCurrentItem(i);
118 if(prof_type() == m_prof.ioLayerName())
119 {
120 slotDevice(i);
121 break;
122 }
123 }
115 124
116 // signals 125 // signals
117 126
118 connect(this, SIGNAL(cancelButtonPressed()), SLOT(slotCancel())); 127 connect(this, SIGNAL(cancelButtonPressed()), SLOT(slotCancel()));
@@ -126,9 +135,9 @@ ProfileEditorDialog::~ProfileEditorDialog() {
126void ProfileEditorDialog::slotDevice(int id) 135void ProfileEditorDialog::slotDevice(int id)
127{ 136{
128 delete plugin_plugin; 137 delete plugin_plugin;
129 138
130 plugin_plugin = m_fact->newConfigPlugin(prof_type(), plugin_base, m_prof); 139 plugin_plugin = m_fact->newConfigPlugin(prof_type(), plugin_base, &m_prof);
131 plugin_layout->add(plugin_plugin->widget()); 140 plugin_layout->add(plugin_plugin->widget());
132 141
133 // Reload profile associated to device, including e.g. conn_device() 142 // Reload profile associated to device, including e.g. conn_device()
134 // m_prof = plugin_plugin->profile() 143 // m_prof = plugin_plugin->profile()
@@ -151,8 +160,9 @@ void ProfileEditorDialog::accept()
151 if(plugin_plugin) plugin_plugin->save(); 160 if(plugin_plugin) plugin_plugin->save();
152 161
153 // Save general values 162 // Save general values
154 m_prof.setName(prof_name()); 163 m_prof.setName(prof_name());
164 m_prof.setIOLayer(prof_type());
155 165
156 QDialog::accept(); 166 QDialog::accept();
157} 167}
158 168
diff --git a/noncore/apps/opie-console/profileeditorplugins.cpp b/noncore/apps/opie-console/profileeditorplugins.cpp
index 32e8235..a0bcab8 100644
--- a/noncore/apps/opie-console/profileeditorplugins.cpp
+++ b/noncore/apps/opie-console/profileeditorplugins.cpp
@@ -14,9 +14,9 @@
14#include "io_serial.h" 14#include "io_serial.h"
15 15
16// Base class 16// Base class
17 17
18ProfileEditorPlugin::ProfileEditorPlugin(QWidget *parent, Profile p) 18ProfileEditorPlugin::ProfileEditorPlugin(QWidget *parent, Profile *p)
19{ 19{
20 m_parent = parent; 20 m_parent = parent;
21 m_profile = p; 21 m_profile = p;
22 m_widget = NULL; 22 m_widget = NULL;
@@ -75,11 +75,12 @@ QWidget *ProfileEditorPlugin::connection_widget()
75 hbox2->add(parity_odd); 75 hbox2->add(parity_odd);
76 hbox2->add(parity_even); 76 hbox2->add(parity_even);
77 77
78 // Apply profile settings 78 // Apply profile settings
79 int rad_flow = m_profile.readNumEntry("Flow"); 79
80 int rad_parity = m_profile.readNumEntry("Parity"); 80 int rad_flow = m_profile->readNumEntry("Flow");
81 int speed = m_profile.readNumEntry("Speed"); 81 int rad_parity = m_profile->readNumEntry("Parity");
82 int speed = m_profile->readNumEntry("Speed");
82 83
83 if(rad_flow == IOSerial::FlowHW) flow_hw->setChecked(true); 84 if(rad_flow == IOSerial::FlowHW) flow_hw->setChecked(true);
84 else flow_sw->setChecked(true); 85 else flow_sw->setChecked(true);
85 if(rad_parity == IOSerial::ParityEven) parity_even->setChecked(true); 86 if(rad_parity == IOSerial::ParityEven) parity_even->setChecked(true);
@@ -159,15 +160,16 @@ QWidget *ProfileEditorPlugin::terminal_widget()
159 hbox3->add(option_wrap); 160 hbox3->add(option_wrap);
160 hbox3->add(option_echo); 161 hbox3->add(option_echo);
161 162
162 // Apply profile settings 163 // Apply profile settings
163 int term = m_profile.readNumEntry("Terminal"); 164
164 int colour = m_profile.readNumEntry("Colour"); 165 int term = m_profile->readNumEntry("Terminal");
165 int fontsize = m_profile.readNumEntry("Font"); 166 int colour = m_profile->readNumEntry("Colour");
166 int opt_echo = m_profile.readNumEntry("Echo"); 167 int fontsize = m_profile->readNumEntry("Font");
167 int opt_wrap = m_profile.readNumEntry("Wrap"); 168 int opt_echo = m_profile->readNumEntry("Echo");
168 int opt_inbound = m_profile.readNumEntry("Inbound"); 169 int opt_wrap = m_profile->readNumEntry("Wrap");
169 int opt_outbound = m_profile.readNumEntry("Outbound"); 170 int opt_inbound = m_profile->readNumEntry("Inbound");
171 int opt_outbound = m_profile->readNumEntry("Outbound");
170 172
171 if(term == Profile::VT102) terminal_box->setCurrentItem(id_term_vt100); 173 if(term == Profile::VT102) terminal_box->setCurrentItem(id_term_vt100);
172 174
173 if(colour == Profile::Black) colour_box->setCurrentItem(id_term_black); 175 if(colour == Profile::Black) colour_box->setCurrentItem(id_term_black);
@@ -200,12 +202,12 @@ void ProfileEditorPlugin::slotConnFlow(int id)
200{ 202{
201 switch(id) 203 switch(id)
202 { 204 {
203 case id_flow_hw: 205 case id_flow_hw:
204 m_profile.writeEntry("Flow", IOSerial::FlowHW); 206 m_profile->writeEntry("Flow", IOSerial::FlowHW);
205 break; 207 break;
206 case id_flow_sw: 208 case id_flow_sw:
207 m_profile.writeEntry("Flow", IOSerial::FlowSW); 209 m_profile->writeEntry("Flow", IOSerial::FlowSW);
208 break; 210 break;
209 } 211 }
210} 212}
211 213
@@ -213,12 +215,12 @@ void ProfileEditorPlugin::slotConnParity(int id)
213{ 215{
214 switch(id) 216 switch(id)
215 { 217 {
216 case id_parity_odd: 218 case id_parity_odd:
217 m_profile.writeEntry("Parity", IOSerial::ParityEven); 219 m_profile->writeEntry("Parity", IOSerial::ParityEven);
218 break; 220 break;
219 case id_parity_even: 221 case id_parity_even:
220 m_profile.writeEntry("Parity", IOSerial::ParityOdd); 222 m_profile->writeEntry("Parity", IOSerial::ParityOdd);
221 break; 223 break;
222 } 224 }
223} 225}
224 226
@@ -227,21 +229,21 @@ void ProfileEditorPlugin::slotConnSpeed(int id)
227 switch(id) 229 switch(id)
228 { 230 {
229 231
230 case id_baud_115200: 232 case id_baud_115200:
231 m_profile.writeEntry("Speed", 115200); 233 m_profile->writeEntry("Speed", 115200);
232 break; 234 break;
233 case id_baud_57600: 235 case id_baud_57600:
234 m_profile.writeEntry("Speed", 57600); 236 m_profile->writeEntry("Speed", 57600);
235 break; 237 break;
236 case id_baud_38400: 238 case id_baud_38400:
237 m_profile.writeEntry("Speed", 38400); 239 m_profile->writeEntry("Speed", 38400);
238 break; 240 break;
239 case id_baud_19200: 241 case id_baud_19200:
240 m_profile.writeEntry("Speed", 19200); 242 m_profile->writeEntry("Speed", 19200);
241 break; 243 break;
242 case id_baud_9600: 244 case id_baud_9600:
243 m_profile.writeEntry("Speed", 9600); 245 m_profile->writeEntry("Speed", 9600);
244 break; 246 break;
245 } 247 }
246} 248}
247 249
@@ -249,15 +251,15 @@ void ProfileEditorPlugin::slotTermTerm(int id)
249{ 251{
250 switch(id) 252 switch(id)
251 { 253 {
252 case id_term_vt100: 254 case id_term_vt100:
253 m_profile.writeEntry("Terminal", Profile::VT102); 255 m_profile->writeEntry("Terminal", Profile::VT102);
254 break; 256 break;
255 case id_term_vt220: 257 case id_term_vt220:
256 m_profile.writeEntry("Terminal", Profile::VT102); 258 m_profile->writeEntry("Terminal", Profile::VT102);
257 break; 259 break;
258 case id_term_ansi: 260 case id_term_ansi:
259 m_profile.writeEntry("Terminal", Profile::VT102); 261 m_profile->writeEntry("Terminal", Profile::VT102);
260 break; 262 break;
261 } 263 }
262} 264}
263 265
@@ -265,12 +267,12 @@ void ProfileEditorPlugin::slotTermColour(int id)
265{ 267{
266 switch(id) 268 switch(id)
267 { 269 {
268 case id_term_black: 270 case id_term_black:
269 m_profile.writeEntry("Colour", Profile::Black); 271 m_profile->writeEntry("Colour", Profile::Black);
270 break; 272 break;
271 case id_term_white: 273 case id_term_white:
272 m_profile.writeEntry("Colour", Profile::White); 274 m_profile->writeEntry("Colour", Profile::White);
273 break; 275 break;
274 } 276 }
275} 277}
276 278
@@ -278,46 +280,46 @@ void ProfileEditorPlugin::slotTermFont(int id)
278{ 280{
279 switch(id) 281 switch(id)
280 { 282 {
281 case id_size_small: 283 case id_size_small:
282 m_profile.writeEntry("Font", Profile::Micro); 284 m_profile->writeEntry("Font", Profile::Micro);
283 break; 285 break;
284 case id_size_medium: 286 case id_size_medium:
285 m_profile.writeEntry("Font", Profile::Small); 287 m_profile->writeEntry("Font", Profile::Small);
286 break; 288 break;
287 case id_size_large: 289 case id_size_large:
288 m_profile.writeEntry("Font", Profile::Medium); 290 m_profile->writeEntry("Font", Profile::Medium);
289 break; 291 break;
290 } 292 }
291} 293}
292 294
293void ProfileEditorPlugin::slotTermEcho(bool on) 295void ProfileEditorPlugin::slotTermEcho(bool on)
294{ 296{
295 m_profile.writeEntry("Echo", on ? 1 : 0); 297 m_profile->writeEntry("Echo", on ? 1 : 0);
296} 298}
297 299
298void ProfileEditorPlugin::slotTermWrap(bool on) 300void ProfileEditorPlugin::slotTermWrap(bool on)
299{ 301{
300 m_profile.writeEntry("Wrap", on ? 1 : 0); 302 m_profile->writeEntry("Wrap", on ? 1 : 0);
301} 303}
302 304
303void ProfileEditorPlugin::slotTermInbound(bool on) 305void ProfileEditorPlugin::slotTermInbound(bool on)
304{ 306{
305 m_profile.writeEntry("Inbound", on ? 1 : 0); 307 m_profile->writeEntry("Inbound", on ? 1 : 0);
306} 308}
307 309
308void ProfileEditorPlugin::slotTermOutbound(bool on) 310void ProfileEditorPlugin::slotTermOutbound(bool on)
309{ 311{
310 m_profile.writeEntry("Outbound", on ? 1 : 0); 312 m_profile->writeEntry("Outbound", on ? 1 : 0);
311} 313}
312 314
313// Inherited classes 315// Inherited classes
314 316
315class ProfileEditorPluginSerial : public ProfileEditorPlugin 317class ProfileEditorPluginSerial : public ProfileEditorPlugin
316{ 318{
317 public: 319 public:
318 320
319 ProfileEditorPluginSerial(QWidget *parent, Profile p) 321 ProfileEditorPluginSerial(QWidget *parent, Profile *p)
320 : ProfileEditorPlugin(parent, p) 322 : ProfileEditorPlugin(parent, p)
321 { 323 {
322 } 324 }
323 325
@@ -342,19 +344,20 @@ class ProfileEditorPluginSerial : public ProfileEditorPlugin
342 344
343 m_widget = device_frame; 345 m_widget = device_frame;
344 346
345 // Load special settings 347 // Load special settings
346 device_line->setText(m_profile.readEntry("Device")); 348
349 QString dev = m_profile->readEntry("Device");
350 if(!dev.isNull()) device_line->setText(dev);
347 } 351 }
348 352
349 return m_widget; 353 return m_widget;
350 } 354 }
351 355
352 void save() 356 void save()
353 { 357 {
354 // special settings 358 // special settings
355 Profile p = m_profile; 359 m_profile->writeEntry("Device", device_line->text());
356 p.writeEntry("Device", device_line->text());
357 } 360 }
358 361
359 private: 362 private:
360 QLineEdit *device_line; 363 QLineEdit *device_line;
@@ -363,9 +366,9 @@ class ProfileEditorPluginSerial : public ProfileEditorPlugin
363class ProfileEditorPluginIrda : public ProfileEditorPlugin 366class ProfileEditorPluginIrda : public ProfileEditorPlugin
364{ 367{
365 public: 368 public:
366 369
367 ProfileEditorPluginIrda(QWidget *parent, Profile p) 370 ProfileEditorPluginIrda(QWidget *parent, Profile *p)
368 : ProfileEditorPlugin(parent, p) 371 : ProfileEditorPlugin(parent, p)
369 { 372 {
370 } 373 }
371 374
@@ -390,19 +393,19 @@ class ProfileEditorPluginIrda : public ProfileEditorPlugin
390 393
391 m_widget = device_frame; 394 m_widget = device_frame;
392 395
393 // Load special settings 396 // Load special settings
394 device_line->setText(m_profile.readEntry("Device")); 397 QString dev = m_profile->readEntry("Device");
398 if(!dev.isNull()) device_line->setText(dev);
395 } 399 }
396 400
397 return m_widget; 401 return m_widget;
398 } 402 }
399 403
400 void save() 404 void save()
401 { 405 {
402 // special settings 406 // special settings
403 Profile p = m_profile; 407 m_profile->writeEntry("Device", device_line->text());
404 p.writeEntry("Device", device_line->text());
405 } 408 }
406 409
407 private: 410 private:
408 QLineEdit *device_line; 411 QLineEdit *device_line;
@@ -411,9 +414,9 @@ class ProfileEditorPluginIrda : public ProfileEditorPlugin
411class ProfileEditorPluginModem : public ProfileEditorPlugin 414class ProfileEditorPluginModem : public ProfileEditorPlugin
412{ 415{
413 public: 416 public:
414 417
415 ProfileEditorPluginModem(QWidget *parent, Profile p) 418 ProfileEditorPluginModem(QWidget *parent, Profile *p)
416 : ProfileEditorPlugin(parent, p) 419 : ProfileEditorPlugin(parent, p)
417 { 420 {
418 } 421 }
419 422
@@ -442,38 +445,39 @@ class ProfileEditorPluginModem : public ProfileEditorPlugin
442 445
443 m_widget = device_frame; 446 m_widget = device_frame;
444 447
445 // Load special settings 448 // Load special settings
446 device_line->setText(m_profile.readEntry("Device")); 449 QString dev = m_profile->readEntry("Device");
447 number_line->setText(m_profile.readEntry("Number")); 450 QString num = m_profile->readEntry("Number");
451 if(!dev.isNull()) device_line->setText(dev);
452 number_line->setText(num);
448 } 453 }
449 454
450 return m_widget; 455 return m_widget;
451 } 456 }
452 457
453 void save() 458 void save()
454 { 459 {
455 // special settings 460 // special settings
456 Profile p = m_profile; 461 m_profile->writeEntry("Device", device_line->text());
457 p.writeEntry("Device", device_line->text()); 462 m_profile->writeEntry("Number", number_line->text());
458 p.writeEntry("Number", number_line->text());
459 } 463 }
460 464
461 private: 465 private:
462 QLineEdit *device_line, *number_line; 466 QLineEdit *device_line, *number_line;
463}; 467};
464 468
465ProfileEditorPlugin *factory_serial(QWidget *parent, const Profile& p) 469ProfileEditorPlugin *factory_serial(QWidget *parent, Profile *p)
466{ 470{
467 return new ProfileEditorPluginSerial(parent, p); 471 return new ProfileEditorPluginSerial(parent, p);
468} 472}
469 473
470ProfileEditorPlugin *factory_irda(QWidget *parent, const Profile& p) 474ProfileEditorPlugin *factory_irda(QWidget *parent, Profile *p)
471{ 475{
472 return new ProfileEditorPluginIrda(parent, p); 476 return new ProfileEditorPluginIrda(parent, p);
473} 477}
474 478
475ProfileEditorPlugin *factory_modem(QWidget *parent, const Profile& p) 479ProfileEditorPlugin *factory_modem(QWidget *parent, Profile *p)
476{ 480{
477 return new ProfileEditorPluginModem(parent, p); 481 return new ProfileEditorPluginModem(parent, p);
478} 482}
479 483
diff --git a/noncore/apps/opie-console/profileeditorplugins.h b/noncore/apps/opie-console/profileeditorplugins.h
index caec7ba..591163a 100644
--- a/noncore/apps/opie-console/profileeditorplugins.h
+++ b/noncore/apps/opie-console/profileeditorplugins.h
@@ -10,9 +10,9 @@ class QWidget;
10class ProfileEditorPlugin : public QObject 10class ProfileEditorPlugin : public QObject
11{ 11{
12 Q_OBJECT 12 Q_OBJECT
13 public: 13 public:
14 ProfileEditorPlugin(QWidget *parent, Profile p); 14 ProfileEditorPlugin(QWidget *parent, Profile *p);
15 15
16 virtual ~ProfileEditorPlugin(); 16 virtual ~ProfileEditorPlugin();
17 17
18 virtual void save() = 0; 18 virtual void save() = 0;
@@ -35,9 +35,9 @@ class ProfileEditorPlugin : public QObject
35 void slotTermOutbound(bool on); 35 void slotTermOutbound(bool on);
36 36
37 protected: 37 protected:
38 QWidget *m_parent, *m_widget; 38 QWidget *m_parent, *m_widget;
39 Profile m_profile; 39 Profile *m_profile;
40 40
41 private: 41 private:
42 enum ParityIds 42 enum ParityIds
43 { 43 {
@@ -84,11 +84,11 @@ class ProfileEditorPlugin : public QObject
84//#ifdef __cplusplus 84//#ifdef __cplusplus
85//extern "C" { 85//extern "C" {
86//#endif 86//#endif
87 87
88ProfileEditorPlugin *factory_serial(QWidget *parent, const Profile& p); 88ProfileEditorPlugin *factory_serial(QWidget *parent, Profile *p);
89ProfileEditorPlugin *factory_irda(QWidget *parent, const Profile& p); 89ProfileEditorPlugin *factory_irda(QWidget *parent, Profile *p);
90ProfileEditorPlugin *factory_modem(QWidget *parent, const Profile& p); 90ProfileEditorPlugin *factory_modem(QWidget *parent, Profile *p);
91 91
92//#ifdef __cplusplus 92//#ifdef __cplusplus
93//} 93//}
94//#endif 94//#endif