summaryrefslogtreecommitdiff
authorjosef <josef>2002-10-06 14:45:20 (UTC)
committer josef <josef>2002-10-06 14:45:20 (UTC)
commit24393565a48df6bb65516c25c124280724af9a75 (patch) (unidiff)
tree368ae33e55b6e11d895b2f0988b16eb381fa840c
parentfb0027ea0649aa5bf4c3880dc84df459425c0642 (diff)
downloadopie-24393565a48df6bb65516c25c124280724af9a75.zip
opie-24393565a48df6bb65516c25c124280724af9a75.tar.gz
opie-24393565a48df6bb65516c25c124280724af9a75.tar.bz2
- more factorization
- use QDialog::accept() instead of applyButtonPressed() - prepare plugin-specific load/save of data
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/configdialog.cpp31
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp92
-rw-r--r--noncore/apps/opie-console/profileeditordialog.h11
3 files changed, 65 insertions, 69 deletions
diff --git a/noncore/apps/opie-console/configdialog.cpp b/noncore/apps/opie-console/configdialog.cpp
index d09cec3..23e94b1 100644
--- a/noncore/apps/opie-console/configdialog.cpp
+++ b/noncore/apps/opie-console/configdialog.cpp
@@ -64,7 +64,12 @@ void ConfigDialog::slotRemove() {
64} 64}
65 65
66void ConfigDialog::slotEdit() { 66void ConfigDialog::slotEdit() {
67 ProfileEditorDialog dlg(new MetaFactory()); 67 Profile p;
68
69 // Load profile
70 // p = currentItem()->profile();
71
72 ProfileEditorDialog dlg(new MetaFactory(), p);
68 73
69 dlg.setCaption("Edit Connection Profile"); 74 dlg.setCaption("Edit Connection Profile");
70 dlg.showMaximized(); 75 dlg.showMaximized();
@@ -80,8 +85,6 @@ void ConfigDialog::slotEdit() {
80 85
81 86
82void ConfigDialog::slotAdd() { 87void ConfigDialog::slotAdd() {
83 qWarning("ConfigDialog::slotAdd");
84
85 ProfileEditorDialog dlg(new MetaFactory()); 88 ProfileEditorDialog dlg(new MetaFactory());
86 89
87 dlg.setCaption("New Connection"); 90 dlg.setCaption("New Connection");
@@ -90,23 +93,13 @@ void ConfigDialog::slotAdd() {
90 93
91 if(ret == QDialog::Accepted) 94 if(ret == QDialog::Accepted)
92 { 95 {
93 // defaults 96 // TODO: Move into general profile save part
94 int profile = Profile::VT102;
95
96 // assignments 97 // assignments
97 QString type = dlg.term_type(); 98 //QString type = dlg.term_type();
98 if(type == "VT102") profile = Profile::VT102; 99 //if(type == "VT102") profile = Profile::VT102;
99 100
100 // new profile 101 // get profile from editor
101 Profile p(dlg.prof_name(), dlg.prof_type(), Profile::White, Profile::Black, profile); 102 Profile p = dlg.profile();
102
103 // special settings
104 p.writeEntry("Device", dlg.conn_device());
105 p.writeEntry("Baud", dlg.conn_baud());
106 p.writeEntry("Parity", dlg.conn_parity());
107 p.writeEntry("DataBits", dlg.conn_databits());
108 p.writeEntry("StopBits", dlg.conn_stopbits());
109 p.writeEntry("Flow", dlg.conn_flow());
110 103
111 new ConfigListItem(lstView, p); 104 new ConfigListItem(lstView, p);
112 } 105 }
diff --git a/noncore/apps/opie-console/profileeditordialog.cpp b/noncore/apps/opie-console/profileeditordialog.cpp
index 374844e..aee4051 100644
--- a/noncore/apps/opie-console/profileeditordialog.cpp
+++ b/noncore/apps/opie-console/profileeditordialog.cpp
@@ -65,18 +65,48 @@ static QWidget *factory_modem(QWidget *parent)
65 return device_frame; 65 return device_frame;
66} 66}
67 67
68// Something like that must be called upon plugin_plugin->save()
69//void save_modem()
70//{
71 //// special settings
72 //p.writeEntry("Device", dlg.conn_device());
73 //p.writeEntry("Baud", dlg.conn_baud());
74 //p.writeEntry("Parity", dlg.conn_parity());
75 //p.writeEntry("DataBits", dlg.conn_databits());
76 //p.writeEntry("StopBits", dlg.conn_stopbits());
77 //p.writeEntry("Flow", dlg.conn_flow());
78//}
79
68ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact, 80ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact,
69 const Profile& prof ) 81 const Profile& prof )
70 : QTabDialog(0, 0, TRUE), m_fact( fact ), m_prof( prof ) 82 : QTabDialog(0, 0, TRUE), m_fact( fact ), m_prof( prof )
71{ 83{
72// initUI(); 84 initUI();
73 /* now set the widgets */
74 85
86 // Apply current profile
87 // plugin_plugin->load(profile);
88 // ... (reset profile name line edit etc.)
75} 89}
76 90
77ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) 91ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
78 : QTabDialog(0, 0, TRUE), m_fact( fact ) 92 : QTabDialog(0, 0, TRUE), m_fact( fact )
79{ 93{
94 // Default profile
95 m_prof = Profile("serial", QString::null, Profile::Black, Profile::White, Profile::VT102);
96
97 initUI();
98
99 // Apply current profile
100 // plugin_plugin->load(profile);
101}
102
103Profile ProfileEditorDialog::profile() const
104{
105 return m_prof;
106}
107
108void ProfileEditorDialog::initUI()
109{
80 QWidget *tabterm, *tabconn, *tabprof; 110 QWidget *tabterm, *tabconn, *tabprof;
81 111
82 tabprof = new QWidget(this); 112 tabprof = new QWidget(this);
@@ -174,6 +204,8 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
174 QCheckBox *conv_inbound = new QCheckBox(QObject::tr("Inbound"), tabterm); 204 QCheckBox *conv_inbound = new QCheckBox(QObject::tr("Inbound"), tabterm);
175 QCheckBox *conv_outbound = new QCheckBox(QObject::tr("Outbound"), tabterm); 205 QCheckBox *conv_outbound = new QCheckBox(QObject::tr("Outbound"), tabterm);
176 206
207 size_small->setChecked(true);
208
177 // layouting 209 // layouting
178 210
179 QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2); 211 QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2);
@@ -225,7 +257,7 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
225 setOkButton(QObject::tr("OK")); 257 setOkButton(QObject::tr("OK"));
226 setCancelButton(QObject::tr("Cancel")); 258 setCancelButton(QObject::tr("Cancel"));
227 259
228 connect(this, SIGNAL(applyButtonPressed()), SLOT(slotOk())); 260 //connect(this, SIGNAL(applyButtonPressed()), SLOT(slotOk()));
229 connect(this, SIGNAL(defaultButtonPressed()), SLOT(slotOk())); 261 connect(this, SIGNAL(defaultButtonPressed()), SLOT(slotOk()));
230 connect(this, SIGNAL(cancelButtonPressed()), SLOT(slotCancel())); 262 connect(this, SIGNAL(cancelButtonPressed()), SLOT(slotCancel()));
231 263
@@ -243,10 +275,15 @@ void ProfileEditorDialog::slotDevice(int id)
243 plugin_plugin = m_fact->newConfigWidget(prof_type(), plugin_base); 275 plugin_plugin = m_fact->newConfigWidget(prof_type(), plugin_base);
244 plugin_layout->add(plugin_plugin); 276 plugin_layout->add(plugin_plugin);
245 277
278 // Reload profile associated to device, including e.g. conn_device()
279 // m_prof = plugin_plugin->profile()
280 // or, keeping the profile name: m_prof->reload(plugin_plugin->profile())
281
246 plugin_plugin->show(); 282 plugin_plugin->show();
283 // This would be: plugin_plugin->widget()->show();
247} 284}
248 285
249void ProfileEditorDialog::slotOk() 286void ProfileEditorDialog::accept()
250{ 287{
251 if(prof_name().isEmpty()) 288 if(prof_name().isEmpty())
252 { 289 {
@@ -256,7 +293,10 @@ void ProfileEditorDialog::slotOk()
256 return; 293 return;
257 } 294 }
258 295
259 accept(); 296 // Save profile and plugin profile
297 //if(plugin_plugin) plugin_plugin->save();
298
299 QDialog::accept();
260} 300}
261 301
262void ProfileEditorDialog::slotCancel() 302void ProfileEditorDialog::slotCancel()
@@ -271,18 +311,9 @@ QString ProfileEditorDialog::prof_name()
271 311
272QString ProfileEditorDialog::prof_type() 312QString ProfileEditorDialog::prof_type()
273{ 313{
274 switch(device_box->currentItem()) 314 QStringList w = m_fact->configWidgets();
275 { 315 for(QStringList::Iterator it = w.begin(); it != w.end(); it++)
276 case 0: 316 if(device_box->currentText() == m_fact->name((*it))) return (*it);
277 return "serial";
278 break;
279 case 1:
280 return "irda";
281 break;
282 case 2:
283 return "modem";
284 break;
285 }
286 317
287 return QString::null; 318 return QString::null;
288} 319}
@@ -290,32 +321,7 @@ QString ProfileEditorDialog::prof_type()
290QString ProfileEditorDialog::conn_device() 321QString ProfileEditorDialog::conn_device()
291{ 322{
292 //return frame_device_line->text(); 323 //return frame_device_line->text();
293 return "serial"; 324 return "/dev/ttyS0";
294}
295
296int ProfileEditorDialog::conn_baud()
297{
298 return speed_box->currentText().toInt();
299}
300
301int ProfileEditorDialog::conn_parity()
302{
303 return 0;
304}
305
306int ProfileEditorDialog::conn_databits()
307{
308 return 0;
309}
310
311int ProfileEditorDialog::conn_stopbits()
312{
313 return 0;
314}
315
316int ProfileEditorDialog::conn_flow()
317{
318 return 0;
319} 325}
320 326
321QString ProfileEditorDialog::term_type() 327QString ProfileEditorDialog::term_type()
diff --git a/noncore/apps/opie-console/profileeditordialog.h b/noncore/apps/opie-console/profileeditordialog.h
index 00f3c99..8ebfba1 100644
--- a/noncore/apps/opie-console/profileeditordialog.h
+++ b/noncore/apps/opie-console/profileeditordialog.h
@@ -26,22 +26,19 @@ public:
26 QString prof_type(); 26 QString prof_type();
27 27
28 QString conn_device(); 28 QString conn_device();
29 int conn_baud();
30 int conn_parity();
31 int conn_databits();
32 int conn_stopbits();
33 int conn_flow();
34 29
35 QString term_type(); 30 QString term_type();
36 31
37public slots: 32public slots:
38 void slotOk(); 33 void accept();
34 //void slotOk();
39 void slotCancel(); 35 void slotCancel();
40 36
41 void slotDevice(int id); 37 void slotDevice(int id);
42 38
43private: 39private:
44 //void initUI(); 40 void initUI();
41
45 MetaFactory* m_fact; 42 MetaFactory* m_fact;
46 EditBase* m_base; 43 EditBase* m_base;
47 QTabWidget* m_tab; 44 QTabWidget* m_tab;