summaryrefslogtreecommitdiff
authorjosef <josef>2002-10-20 13:56:47 (UTC)
committer josef <josef>2002-10-20 13:56:47 (UTC)
commit97be4ef8e0579791095b2383e942cc53dd1e7fba (patch) (unidiff)
tree8b0599529ce424c6fa4a7701eb97346ea539c441
parent89ed0106d3de43c0f39250524bc80de00f2b596c (diff)
downloadopie-97be4ef8e0579791095b2383e942cc53dd1e7fba.zip
opie-97be4ef8e0579791095b2383e942cc53dd1e7fba.tar.gz
opie-97be4ef8e0579791095b2383e942cc53dd1e7fba.tar.bz2
- display connection tab again, when it's due and has previously been removed
e.g. for Concole profile - ensure only 1 connection tab is shown (otabdialog has no method for this to find out?)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp12
-rw-r--r--noncore/apps/opie-console/profileeditordialog.h2
2 files changed, 11 insertions, 3 deletions
diff --git a/noncore/apps/opie-console/profileeditordialog.cpp b/noncore/apps/opie-console/profileeditordialog.cpp
index c48ea53..d124067 100644
--- a/noncore/apps/opie-console/profileeditordialog.cpp
+++ b/noncore/apps/opie-console/profileeditordialog.cpp
@@ -15,184 +15,190 @@ namespace {
15 void setCurrent( const QString& str, QComboBox* bo ) { 15 void setCurrent( const QString& str, QComboBox* bo ) {
16 for (uint i = 0; i < bo->count(); i++ ) { 16 for (uint i = 0; i < bo->count(); i++ ) {
17 if ( bo->text(i) == str ) { 17 if ( bo->text(i) == str ) {
18 bo->setCurrentItem( i ); 18 bo->setCurrentItem( i );
19 } 19 }
20 } 20 }
21 } 21 }
22 22
23 23
24} 24}
25 25
26ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact, 26ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact,
27 const Profile& prof ) 27 const Profile& prof )
28 : QDialog(0, 0, TRUE), m_fact( fact ), m_prof( prof ) 28 : QDialog(0, 0, TRUE), m_fact( fact ), m_prof( prof )
29{ 29{
30 initUI(); 30 initUI();
31 31
32 // Apply current profile 32 // Apply current profile
33 // plugin_plugin->load(profile); 33 // plugin_plugin->load(profile);
34 // ... (reset profile name line edit etc.) 34 // ... (reset profile name line edit etc.)
35} 35}
36 36
37ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) 37ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact )
38 : QDialog(0, 0, TRUE), m_fact( fact ) 38 : QDialog(0, 0, TRUE), m_fact( fact )
39{ 39{
40 // Default profile 40 // Default profile
41 m_prof = Profile("New Profile", "serial", "default", Profile::Black, Profile::White, Profile::VT102); 41 m_prof = Profile("New Profile", "serial", "default", Profile::Black, Profile::White, Profile::VT102);
42 42
43 initUI(); 43 initUI();
44 44
45 // Apply current profile 45 // Apply current profile
46 // plugin_plugin->load(profile); 46 // plugin_plugin->load(profile);
47} 47}
48 48
49Profile ProfileEditorDialog::profile() const 49Profile ProfileEditorDialog::profile() const
50{ 50{
51 return m_prof; 51 return m_prof;
52} 52}
53 53
54void ProfileEditorDialog::initUI() 54void ProfileEditorDialog::initUI()
55{ 55{
56 m_con = m_term = 0l; 56 m_con = m_term = 0l;
57 57
58 QVBoxLayout *mainLayout = new QVBoxLayout( this ); 58 QVBoxLayout *mainLayout = new QVBoxLayout( this );
59 tabWidget = new OTabWidget( this ); 59 tabWidget = new OTabWidget( this );
60 tabWidget->setTabStyle(OTabWidget::TextTab); 60 tabWidget->setTabStyle(OTabWidget::TextTab);
61 mainLayout->add(tabWidget); 61 mainLayout->add(tabWidget);
62 62
63 QWidget *tabprof;
64
65 /* base tabs */ 63 /* base tabs */
66 tabprof = new QWidget(this); 64 tabprof = new QWidget(this);
67 m_tabTerm = new QWidget(this); 65 m_tabTerm = new QWidget(this);
68 m_tabCon = new QWidget(this); 66 m_tabCon = new QWidget(this);
69 67
70 /* base layout for tabs */ 68 /* base layout for tabs */
71 m_layCon = new QHBoxLayout( m_tabCon , 2 ); 69 m_layCon = new QHBoxLayout( m_tabCon , 2 );
72 m_layTerm = new QHBoxLayout( m_tabTerm, 2 ); 70 m_layTerm = new QHBoxLayout( m_tabTerm, 2 );
73 71
74 // profile tab 72 // profile tab
75 73
76 QLabel *name = new QLabel(QObject::tr("Profile name"), tabprof); 74 QLabel *name = new QLabel(QObject::tr("Profile name"), tabprof);
77 m_name = new QLineEdit(tabprof); 75 m_name = new QLineEdit(tabprof);
78 QLabel *con = new QLabel(tr("Connection"), tabprof ); 76 QLabel *con = new QLabel(tr("Connection"), tabprof );
79 QLabel *term = new QLabel(tr("Terminal"), tabprof ); 77 QLabel *term = new QLabel(tr("Terminal"), tabprof );
80 m_conCmb = new QComboBox( tabprof ); 78 m_conCmb = new QComboBox( tabprof );
81 m_termCmb = new QComboBox( tabprof ); 79 m_termCmb = new QComboBox( tabprof );
82 m_autoConnect = new QCheckBox(tr("Auto connect after load"), tabprof); 80 m_autoConnect = new QCheckBox(tr("Auto connect after load"), tabprof);
83 81
84 // layouting 82 // layouting
85 QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2); 83 QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2);
86 vbox3->add(name); 84 vbox3->add(name);
87 vbox3->add(m_name); 85 vbox3->add(m_name);
88 vbox3->add(con ); 86 vbox3->add(con );
89 vbox3->add(m_conCmb ); 87 vbox3->add(m_conCmb );
90 vbox3->add(term ); 88 vbox3->add(term );
91 vbox3->add(m_termCmb ); 89 vbox3->add(m_termCmb );
92 vbox3->add(m_autoConnect); 90 vbox3->add(m_autoConnect);
93 vbox3->addStretch(1); 91 vbox3->addStretch(1);
94 92
93 m_showconntab = 0;
95 tabWidget->addTab(tabprof, "", QObject::tr("Profile")); 94 tabWidget->addTab(tabprof, "", QObject::tr("Profile"));
96 tabWidget->addTab(m_tabCon, "", QObject::tr("Connection")); 95 //tabWidget->addTab(m_tabCon, "", QObject::tr("Connection"));
97 tabWidget->addTab(m_tabTerm, "", QObject::tr("Terminal")); 96 tabWidget->addTab(m_tabTerm, "", QObject::tr("Terminal"));
98 tabWidget->setCurrentTab( tabprof ); 97 tabWidget->setCurrentTab( tabprof );
99 98
100 99
101 // fill the comboboxes 100 // fill the comboboxes
102 QStringList list = m_fact->connectionWidgets(); 101 QStringList list = m_fact->connectionWidgets();
103 QStringList::Iterator it; 102 QStringList::Iterator it;
104 for (it =list.begin(); it != list.end(); ++it ) { 103 for (it =list.begin(); it != list.end(); ++it ) {
105 m_conCmb->insertItem( (*it) ); 104 m_conCmb->insertItem( (*it) );
106 } 105 }
107 list = m_fact->terminalWidgets(); 106 list = m_fact->terminalWidgets();
108 for (it =list.begin(); it != list.end(); ++it ) { 107 for (it =list.begin(); it != list.end(); ++it ) {
109 m_termCmb->insertItem( (*it) ); 108 m_termCmb->insertItem( (*it) );
110 } 109 }
111 110
112 // load profile values 111 // load profile values
113 m_name->setText(m_prof.name()); 112 m_name->setText(m_prof.name());
114 slotConActivated( m_fact->external(m_prof.ioLayerName() ) ); 113 slotConActivated( m_fact->external(m_prof.ioLayerName() ) );
115 slotTermActivated( m_fact->external(m_prof.terminalName() ) ); 114 slotTermActivated( m_fact->external(m_prof.terminalName() ) );
116 setCurrent( m_fact->external(m_prof.ioLayerName() ), m_conCmb ); 115 setCurrent( m_fact->external(m_prof.ioLayerName() ), m_conCmb );
117 setCurrent( m_fact->external(m_prof.terminalName() ), m_termCmb ); 116 setCurrent( m_fact->external(m_prof.terminalName() ), m_termCmb );
118 m_autoConnect->setChecked(m_prof.autoConnect()); 117 m_autoConnect->setChecked(m_prof.autoConnect());
119 118
120 119
121 // signal and slots 120 // signal and slots
122 connect(m_conCmb, SIGNAL(activated(const QString& ) ), 121 connect(m_conCmb, SIGNAL(activated(const QString& ) ),
123 this, SLOT(slotConActivated(const QString&) ) ); 122 this, SLOT(slotConActivated(const QString&) ) );
124 connect(m_termCmb, SIGNAL(activated(const QString& ) ), 123 connect(m_termCmb, SIGNAL(activated(const QString& ) ),
125 this, SLOT(slotTermActivated(const QString& ) ) ); 124 this, SLOT(slotTermActivated(const QString& ) ) );
126 125
127} 126}
128 127
129ProfileEditorDialog::~ProfileEditorDialog() { 128ProfileEditorDialog::~ProfileEditorDialog() {
130 129
131} 130}
132void ProfileEditorDialog::accept() 131void ProfileEditorDialog::accept()
133{ 132{
134 if(profName().isEmpty()) 133 if(profName().isEmpty())
135 { 134 {
136 QMessageBox::information(this, 135 QMessageBox::information(this,
137 QObject::tr("Invalid profile"), 136 QObject::tr("Invalid profile"),
138 QObject::tr("Please enter a profile name.")); 137 QObject::tr("Please enter a profile name."));
139 return; 138 return;
140 } 139 }
141 // Save profile and plugin profile 140 // Save profile and plugin profile
142 //if(plugin_plugin) plugin_plugin->save(); 141 //if(plugin_plugin) plugin_plugin->save();
143 142
144 // Save general values 143 // Save general values
145 m_prof.setName(profName()); 144 m_prof.setName(profName());
146 m_prof.setIOLayer( m_fact->internal(m_conCmb ->currentText() ) ); 145 m_prof.setIOLayer( m_fact->internal(m_conCmb ->currentText() ) );
147 m_prof.setTerminalName( m_fact->internal(m_termCmb->currentText() ) ); 146 m_prof.setTerminalName( m_fact->internal(m_termCmb->currentText() ) );
148 m_prof.setAutoConnect( m_autoConnect->isChecked() ); 147 m_prof.setAutoConnect( m_autoConnect->isChecked() );
149 148
150 if (m_con ) 149 if (m_con )
151 m_con->save( m_prof ); 150 m_con->save( m_prof );
152 if (m_term ) 151 if (m_term )
153 m_term->save( m_prof ); 152 m_term->save( m_prof );
154 153
155 QDialog::accept(); 154 QDialog::accept();
156} 155}
157 156
158 157
159QString ProfileEditorDialog::profName()const 158QString ProfileEditorDialog::profName()const
160{ 159{
161 return m_name->text(); 160 return m_name->text();
162} 161}
163 162
164QCString ProfileEditorDialog::profType()const 163QCString ProfileEditorDialog::profType()const
165{ 164{
166 /*QStringList w = m_fact->configWidgets(); 165 /*QStringList w = m_fact->configWidgets();
167 for(QStringList::Iterator it = w.begin(); it != w.end(); it++) 166 for(QStringList::Iterator it = w.begin(); it != w.end(); it++)
168 if(device_box->currentText() == m_fact->name((*it))) return (*it); 167 if(device_box->currentText() == m_fact->name((*it))) return (*it);
169 */ 168 */
170 return QCString(); 169 return QCString();
171} 170}
172/* 171/*
173 * we need to switch the widget 172 * we need to switch the widget
174 */ 173 */
175void ProfileEditorDialog::slotConActivated( const QString& str ) { 174void ProfileEditorDialog::slotConActivated( const QString& str ) {
176 delete m_con; 175 delete m_con;
177 m_con = m_fact->newConnectionPlugin( str, m_tabCon ); 176 m_con = m_fact->newConnectionPlugin( str, m_tabCon );
178 177
179 if ( m_con ) { 178 if ( m_con ) {
180 m_con->load( m_prof ); 179 m_con->load( m_prof );
181 m_layCon->addWidget( m_con ); 180 m_layCon->addWidget( m_con );
181 if(!m_showconntab)
182 {
183 tabWidget->addTab( m_tabCon, "", QObject::tr("Connection") );
184 tabWidget->setCurrentTab( tabprof );
185 m_showconntab = 1;
186 }
182 } else { 187 } else {
183 tabWidget->removePage( m_tabCon ); 188 tabWidget->removePage( m_tabCon );
189 m_showconntab = 0;
184 } 190 }
185} 191}
186/* 192/*
187 * we need to switch the widget 193 * we need to switch the widget
188 */ 194 */
189void ProfileEditorDialog::slotTermActivated( const QString& str ) { 195void ProfileEditorDialog::slotTermActivated( const QString& str ) {
190 delete m_term; 196 delete m_term;
191 m_term = m_fact->newTerminalPlugin( str, m_tabTerm ); 197 m_term = m_fact->newTerminalPlugin( str, m_tabTerm );
192 198
193 if (m_term) { 199 if (m_term) {
194 m_term->load(m_prof ); 200 m_term->load(m_prof );
195 m_layTerm->addWidget( m_term ); 201 m_layTerm->addWidget( m_term );
196 } 202 }
197} 203}
198 204
diff --git a/noncore/apps/opie-console/profileeditordialog.h b/noncore/apps/opie-console/profileeditordialog.h
index e01e636..cbda689 100644
--- a/noncore/apps/opie-console/profileeditordialog.h
+++ b/noncore/apps/opie-console/profileeditordialog.h
@@ -5,51 +5,53 @@
5#include <opie/otabwidget.h> 5#include <opie/otabwidget.h>
6 6
7#include "profile.h" 7#include "profile.h"
8 8
9class MetaFactory; 9class MetaFactory;
10class EditBase; 10class EditBase;
11class QTabWidget; 11class QTabWidget;
12class QHBoxLayout; 12class QHBoxLayout;
13class QLineEdit; 13class QLineEdit;
14class QComboBox; 14class QComboBox;
15class QCheckBox; 15class QCheckBox;
16class QLabel; 16class QLabel;
17class ProfileDialogWidget; 17class ProfileDialogWidget;
18 18
19class ProfileEditorDialog : public QDialog { 19class ProfileEditorDialog : public QDialog {
20 Q_OBJECT 20 Q_OBJECT
21public: 21public:
22 ProfileEditorDialog(MetaFactory* fact, 22 ProfileEditorDialog(MetaFactory* fact,
23 const Profile& prof ); 23 const Profile& prof );
24 ProfileEditorDialog(MetaFactory* fact ); 24 ProfileEditorDialog(MetaFactory* fact );
25 ~ProfileEditorDialog(); 25 ~ProfileEditorDialog();
26 Profile profile()const; 26 Profile profile()const;
27 27
28 28
29 29
30public slots: 30public slots:
31 void accept(); 31 void accept();
32 32
33private slots: 33private slots:
34 void slotConActivated(const QString& ); 34 void slotConActivated(const QString& );
35 void slotTermActivated( const QString& ); 35 void slotTermActivated( const QString& );
36private: 36private:
37 void initUI(); 37 void initUI();
38 QString profName()const; 38 QString profName()const;
39 QCString profType()const; 39 QCString profType()const;
40 40
41 MetaFactory* m_fact; 41 MetaFactory* m_fact;
42 QHBoxLayout* m_lay; 42 QHBoxLayout* m_lay;
43 Profile m_prof; 43 Profile m_prof;
44 44
45 QLineEdit *m_name; 45 QLineEdit *m_name;
46 QComboBox *m_conCmb, *m_termCmb; 46 QComboBox *m_conCmb, *m_termCmb;
47 QCheckBox *m_autoConnect; 47 QCheckBox *m_autoConnect;
48 48
49 QWidget *m_tabCon, *m_tabTerm; 49 QWidget *m_tabCon, *m_tabTerm;
50 ProfileDialogWidget* m_con, *m_term; 50 ProfileDialogWidget* m_con, *m_term;
51 QHBoxLayout *m_layCon, *m_layTerm; 51 QHBoxLayout *m_layCon, *m_layTerm;
52 OTabWidget *tabWidget; 52 OTabWidget *tabWidget;
53 QWidget *tabprof;
54 int m_showconntab;
53}; 55};
54 56
55#endif 57#endif