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
@@ -51,25 +51,25 @@ IOLayer* MetaFactory::newIOLayer( const QString& str,const Profile& prof ) {
51 QMap<QString, iolayer>::Iterator it; 51 QMap<QString, iolayer>::Iterator it;
52 it = m_layerFact.find( str ); 52 it = m_layerFact.find( str );
53 if ( it != m_layerFact.end() ) { 53 if ( it != m_layerFact.end() ) {
54 lay = (*(it.data()))(prof); 54 lay = (*(it.data()))(prof);
55 /* 55 /*
56 iolayer laye = it.data(); 56 iolayer laye = it.data();
57 lay = (*laye )(conf);*/ 57 lay = (*laye )(conf);*/
58 } 58 }
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];
68 if(c) p = c(parent, prof); 68 if(c) p = c(parent, prof);
69 69
70 return p; 70 return p;
71} 71}
72 72
73QString MetaFactory::name( const QString& str ) { 73QString MetaFactory::name( const QString& str ) {
74 return m_namemap[str]; 74 return m_namemap[str];
75} 75}
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
@@ -9,43 +9,43 @@
9#include <qwidget.h> 9#include <qwidget.h>
10#include <qmap.h> 10#include <qmap.h>
11 11
12#include <qpe/config.h> 12#include <qpe/config.h>
13 13
14#include "io_layer.h" 14#include "io_layer.h"
15#include "file_layer.h" 15#include "file_layer.h"
16#include "profile.h" 16#include "profile.h"
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();
26 ~MetaFactory(); 26 ~MetaFactory();
27 27
28 void addConfigWidgetFactory( const QString&, 28 void addConfigWidgetFactory( const QString&,
29 const QString&, 29 const QString&,
30 configWidget ); 30 configWidget );
31 void addIOLayerFactory(const QString&, 31 void addIOLayerFactory(const QString&,
32 iolayer ); 32 iolayer );
33 void addFileTransferLayer( const QString&, 33 void addFileTransferLayer( const QString&,
34 filelayer ); 34 filelayer );
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:
44 QMap<QString, configWidget> m_confFact; 44 QMap<QString, configWidget> m_confFact;
45 QMap<QString, iolayer> m_layerFact; 45 QMap<QString, iolayer> m_layerFact;
46 QMap<QString, filelayer> m_fileFact; 46 QMap<QString, filelayer> m_fileFact;
47 QMap<QString, QString> m_namemap; 47 QMap<QString, QString> m_namemap;
48}; 48};
49 49
50 50
51#endif 51#endif
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
@@ -64,25 +64,25 @@ void ProfileEditorDialog::initUI()
64 QLabel *device = new QLabel(QObject::tr("Device"), tabconn); 64 QLabel *device = new QLabel(QObject::tr("Device"), tabconn);
65 65
66 device_box = new QComboBox(tabconn); 66 device_box = new QComboBox(tabconn);
67 67
68 QStringList w = m_fact->configWidgets(); 68 QStringList w = m_fact->configWidgets();
69 for(QStringList::Iterator it = w.begin(); it != w.end(); it++) 69 for(QStringList::Iterator it = w.begin(); it != w.end(); it++)
70 device_box->insertItem(m_fact->name((*it))); 70 device_box->insertItem(m_fact->name((*it)));
71 71
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
81 QWidget *conn_widget = plugin_plugin->connection_widget(); 81 QWidget *conn_widget = plugin_plugin->connection_widget();
82 conn_widget->reparent(tabconn, 0, QPoint(), true); 82 conn_widget->reparent(tabconn, 0, QPoint(), true);
83 83
84 // terminal tab 84 // terminal tab
85 85
86 QWidget *term_widget = plugin_plugin->terminal_widget(); 86 QWidget *term_widget = plugin_plugin->terminal_widget();
87 term_widget->reparent(tabterm, 0, QPoint(), true); 87 term_widget->reparent(tabterm, 0, QPoint(), true);
88 88
@@ -103,64 +103,74 @@ void ProfileEditorDialog::initUI()
103 vbox2->add(term_widget); 103 vbox2->add(term_widget);
104 104
105 addTab(tabprof, QObject::tr("Profile")); 105 addTab(tabprof, QObject::tr("Profile"));
106 addTab(tabconn, QObject::tr("Connection")); 106 addTab(tabconn, QObject::tr("Connection"));
107 addTab(tabterm, QObject::tr("Terminal")); 107 addTab(tabterm, QObject::tr("Terminal"));
108 108
109 setOkButton(QObject::tr("OK")); 109 setOkButton(QObject::tr("OK"));
110 setCancelButton(QObject::tr("Cancel")); 110 setCancelButton(QObject::tr("Cancel"));
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()));
119 connect(device_box, SIGNAL(activated(int)), SLOT(slotDevice(int))); 128 connect(device_box, SIGNAL(activated(int)), SLOT(slotDevice(int)));
120} 129}
121 130
122ProfileEditorDialog::~ProfileEditorDialog() { 131ProfileEditorDialog::~ProfileEditorDialog() {
123 132
124} 133}
125 134
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()
135 // or, keeping the profile name: m_prof->reload(plugin_plugin->profile()) 144 // or, keeping the profile name: m_prof->reload(plugin_plugin->profile())
136 145
137 //plugin_plugin->show(); 146 //plugin_plugin->show();
138 plugin_plugin->widget()->show(); 147 plugin_plugin->widget()->show();
139} 148}
140 149
141void ProfileEditorDialog::accept() 150void ProfileEditorDialog::accept()
142{ 151{
143 if(prof_name().isEmpty()) 152 if(prof_name().isEmpty())
144 { 153 {
145 QMessageBox::information(this, 154 QMessageBox::information(this,
146 QObject::tr("Invalid profile"), 155 QObject::tr("Invalid profile"),
147 QObject::tr("Please enter a profile name.")); 156 QObject::tr("Please enter a profile name."));
148 return; 157 return;
149 } 158 }
150 // Save profile and plugin profile 159 // Save profile and plugin profile
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
159void ProfileEditorDialog::slotCancel() 169void ProfileEditorDialog::slotCancel()
160{ 170{
161 reject(); 171 reject();
162} 172}
163 173
164QString ProfileEditorDialog::prof_name() 174QString ProfileEditorDialog::prof_name()
165{ 175{
166 return name_line->text(); 176 return name_line->text();
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
@@ -6,25 +6,25 @@
6#include "qlabel.h" 6#include "qlabel.h"
7#include "qlineedit.h" 7#include "qlineedit.h"
8#include "qlayout.h" 8#include "qlayout.h"
9#include "qcombobox.h" 9#include "qcombobox.h"
10#include "qradiobutton.h" 10#include "qradiobutton.h"
11#include "qcheckbox.h" 11#include "qcheckbox.h"
12#include "qbuttongroup.h" 12#include "qbuttongroup.h"
13 13
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;
23} 23}
24 24
25ProfileEditorPlugin::~ProfileEditorPlugin() 25ProfileEditorPlugin::~ProfileEditorPlugin()
26{ 26{
27 if(m_widget) delete m_widget; 27 if(m_widget) delete m_widget;
28} 28}
29 29
30QWidget *ProfileEditorPlugin::connection_widget() 30QWidget *ProfileEditorPlugin::connection_widget()
@@ -67,27 +67,28 @@ QWidget *ProfileEditorPlugin::connection_widget()
67 lroot->add(speedlabel); 67 lroot->add(speedlabel);
68 lroot->add(speed_box); 68 lroot->add(speed_box);
69 lroot->add(flow); 69 lroot->add(flow);
70 QHBoxLayout *hbox = new QHBoxLayout(lroot, 2); 70 QHBoxLayout *hbox = new QHBoxLayout(lroot, 2);
71 hbox->add(flow_hw); 71 hbox->add(flow_hw);
72 hbox->add(flow_sw); 72 hbox->add(flow_sw);
73 lroot->add(parity); 73 lroot->add(parity);
74 QHBoxLayout *hbox2 = new QHBoxLayout(lroot, 2); 74 QHBoxLayout *hbox2 = new QHBoxLayout(lroot, 2);
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);
86 else parity_odd->setChecked(true); 87 else parity_odd->setChecked(true);
87 if(speed == 115200) speed_box->setCurrentItem(id_baud_115200); 88 if(speed == 115200) speed_box->setCurrentItem(id_baud_115200);
88 if(speed == 57600) speed_box->setCurrentItem(id_baud_57600); 89 if(speed == 57600) speed_box->setCurrentItem(id_baud_57600);
89 if(speed == 38400) speed_box->setCurrentItem(id_baud_38400); 90 if(speed == 38400) speed_box->setCurrentItem(id_baud_38400);
90 if(speed == 19200) speed_box->setCurrentItem(id_baud_19200); 91 if(speed == 19200) speed_box->setCurrentItem(id_baud_19200);
91 if(speed == 9600) speed_box->setCurrentItem(id_baud_9600); 92 if(speed == 9600) speed_box->setCurrentItem(id_baud_9600);
92 93
93 // Signals 94 // Signals
@@ -151,31 +152,32 @@ QWidget *ProfileEditorPlugin::terminal_widget()
151 lroot->add(colourlabel); 152 lroot->add(colourlabel);
152 lroot->add(colour_box); 153 lroot->add(colour_box);
153 lroot->add(conversions); 154 lroot->add(conversions);
154 QHBoxLayout *hbox2 = new QHBoxLayout(lroot, 2); 155 QHBoxLayout *hbox2 = new QHBoxLayout(lroot, 2);
155 hbox2->add(conv_inbound); 156 hbox2->add(conv_inbound);
156 hbox2->add(conv_outbound); 157 hbox2->add(conv_outbound);
157 lroot->add(options); 158 lroot->add(options);
158 QHBoxLayout *hbox3 = new QHBoxLayout(lroot, 2); 159 QHBoxLayout *hbox3 = new QHBoxLayout(lroot, 2);
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);
174 if(colour == Profile::White) colour_box->setCurrentItem(id_term_white); 176 if(colour == Profile::White) colour_box->setCurrentItem(id_term_white);
175 177
176 if(fontsize == Profile::Micro) size_small->setChecked(true); 178 if(fontsize == Profile::Micro) size_small->setChecked(true);
177 if(fontsize == Profile::Small) size_medium->setChecked(true); 179 if(fontsize == Profile::Small) size_medium->setChecked(true);
178 if(fontsize == Profile::Medium) size_large->setChecked(true); 180 if(fontsize == Profile::Medium) size_large->setChecked(true);
179 181
180 if(opt_echo) option_echo->setChecked(true); 182 if(opt_echo) option_echo->setChecked(true);
181 if(opt_wrap) option_wrap->setChecked(true); 183 if(opt_wrap) option_wrap->setChecked(true);
@@ -192,140 +194,140 @@ QWidget *ProfileEditorPlugin::terminal_widget()
192 connect(option_wrap, SIGNAL(toggled(bool)), SLOT(slotTermWrap(bool))); 194 connect(option_wrap, SIGNAL(toggled(bool)), SLOT(slotTermWrap(bool)));
193 connect(conv_inbound, SIGNAL(toggled(bool)), SLOT(slotTermInbound(bool))); 195 connect(conv_inbound, SIGNAL(toggled(bool)), SLOT(slotTermInbound(bool)));
194 connect(conv_outbound, SIGNAL(toggled(bool)), SLOT(slotTermOutbound(bool))); 196 connect(conv_outbound, SIGNAL(toggled(bool)), SLOT(slotTermOutbound(bool)));
195 197
196 return root; 198 return root;
197} 199}
198 200
199void ProfileEditorPlugin::slotConnFlow(int id) 201void 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
212void ProfileEditorPlugin::slotConnParity(int id) 214void 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
225void ProfileEditorPlugin::slotConnSpeed(int id) 227void ProfileEditorPlugin::slotConnSpeed(int id)
226{ 228{
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
248void ProfileEditorPlugin::slotTermTerm(int id) 250void 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
264void ProfileEditorPlugin::slotTermColour(int id) 266void 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
277void ProfileEditorPlugin::slotTermFont(int id) 279void 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
324 ~ProfileEditorPluginSerial() 326 ~ProfileEditorPluginSerial()
325 { 327 {
326 } 328 }
327 329
328 QWidget *widget() 330 QWidget *widget()
329 { 331 {
330 if(!m_widget) 332 if(!m_widget)
331 { 333 {
@@ -334,46 +336,47 @@ class ProfileEditorPluginSerial : public ProfileEditorPlugin
334 336
335 QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame); 337 QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame);
336 338
337 device_line = new QLineEdit("/dev/ttyS0", device_frame); 339 device_line = new QLineEdit("/dev/ttyS0", device_frame);
338 340
339 QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2); 341 QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2);
340 vbox_frame->add(frame_device); 342 vbox_frame->add(frame_device);
341 vbox_frame->add(device_line); 343 vbox_frame->add(device_line);
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;
361}; 364};
362 365
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
372 ~ProfileEditorPluginIrda() 375 ~ProfileEditorPluginIrda()
373 { 376 {
374 } 377 }
375 378
376 QWidget *widget() 379 QWidget *widget()
377 { 380 {
378 if(!m_widget) 381 if(!m_widget)
379 { 382 {
@@ -382,46 +385,46 @@ class ProfileEditorPluginIrda : public ProfileEditorPlugin
382 385
383 QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame); 386 QLabel *frame_device = new QLabel(QObject::tr("Device"), device_frame);
384 387
385 device_line = new QLineEdit("/dev/ircomm0", device_frame); 388 device_line = new QLineEdit("/dev/ircomm0", device_frame);
386 389
387 QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2); 390 QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2);
388 vbox_frame->add(frame_device); 391 vbox_frame->add(frame_device);
389 vbox_frame->add(device_line); 392 vbox_frame->add(device_line);
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;
409}; 412};
410 413
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
420 ~ProfileEditorPluginModem() 423 ~ProfileEditorPluginModem()
421 { 424 {
422 } 425 }
423 426
424 QWidget *widget() 427 QWidget *widget()
425 { 428 {
426 if(!m_widget) 429 if(!m_widget)
427 { 430 {
@@ -434,46 +437,47 @@ class ProfileEditorPluginModem : public ProfileEditorPlugin
434 device_line = new QLineEdit("/dev/ttyS0", device_frame); 437 device_line = new QLineEdit("/dev/ttyS0", device_frame);
435 number_line = new QLineEdit(device_frame); 438 number_line = new QLineEdit(device_frame);
436 439
437 QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2); 440 QVBoxLayout *vbox_frame = new QVBoxLayout(device_frame, 2);
438 vbox_frame->add(frame_device); 441 vbox_frame->add(frame_device);
439 vbox_frame->add(device_line); 442 vbox_frame->add(device_line);
440 vbox_frame->add(frame_number); 443 vbox_frame->add(frame_number);
441 vbox_frame->add(number_line); 444 vbox_frame->add(number_line);
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
@@ -2,50 +2,50 @@
2#define PROFILE_EDITOR_PLUGINS_H 2#define PROFILE_EDITOR_PLUGINS_H
3 3
4#include "profile.h" 4#include "profile.h"
5 5
6#include "qobject.h" 6#include "qobject.h"
7 7
8class QWidget; 8class QWidget;
9 9
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;
19 19
20 virtual QWidget *widget() = 0; 20 virtual QWidget *widget() = 0;
21 21
22 QWidget *connection_widget(); 22 QWidget *connection_widget();
23 QWidget *terminal_widget(); 23 QWidget *terminal_widget();
24 24
25 public slots: 25 public slots:
26 void slotConnFlow(int id); 26 void slotConnFlow(int id);
27 void slotConnParity(int id); 27 void slotConnParity(int id);
28 void slotConnSpeed(int id); 28 void slotConnSpeed(int id);
29 void slotTermTerm(int id); 29 void slotTermTerm(int id);
30 void slotTermColour(int id); 30 void slotTermColour(int id);
31 void slotTermFont(int id); 31 void slotTermFont(int id);
32 void slotTermEcho(bool on); 32 void slotTermEcho(bool on);
33 void slotTermWrap(bool on); 33 void slotTermWrap(bool on);
34 void slotTermInbound(bool on); 34 void slotTermInbound(bool on);
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 {
44 id_parity_odd, 44 id_parity_odd,
45 id_parity_even 45 id_parity_even
46 }; 46 };
47 47
48 enum FlowIds 48 enum FlowIds
49 { 49 {
50 id_flow_hw, 50 id_flow_hw,
51 id_flow_sw 51 id_flow_sw
@@ -76,22 +76,22 @@ class ProfileEditorPlugin : public QObject
76 enum FontIds 76 enum FontIds
77 { 77 {
78 id_size_small, 78 id_size_small,
79 id_size_medium, 79 id_size_medium,
80 id_size_large 80 id_size_large
81 }; 81 };
82}; 82};
83 83
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
95 95
96#endif 96#endif
97 97