author | harlekin <harlekin> | 2002-10-21 22:40:58 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-10-21 22:40:58 (UTC) |
commit | 8384ef9eb4c2670ad8c8247d63b4633288b65ad1 (patch) (unidiff) | |
tree | 567a0c868133698ca21eda135bbf8ac7cfe18c83 /noncore/apps/opie-console/profileeditordialog.cpp | |
parent | d7a4ad19a8493dbb226e7f8355c49dafd1fa9597 (diff) | |
download | opie-8384ef9eb4c2670ad8c8247d63b4633288b65ad1.zip opie-8384ef9eb4c2670ad8c8247d63b4633288b65ad1.tar.gz opie-8384ef9eb4c2670ad8c8247d63b4633288b65ad1.tar.bz2 |
scrollviews for terminal and connetion tab
Diffstat (limited to 'noncore/apps/opie-console/profileeditordialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/profileeditordialog.cpp | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/noncore/apps/opie-console/profileeditordialog.cpp b/noncore/apps/opie-console/profileeditordialog.cpp index 1765d42..9890c3e 100644 --- a/noncore/apps/opie-console/profileeditordialog.cpp +++ b/noncore/apps/opie-console/profileeditordialog.cpp | |||
@@ -1,20 +1,20 @@ | |||
1 | #include <qlayout.h> | 1 | #include <qlayout.h> |
2 | #include <qlineedit.h> | 2 | #include <qlineedit.h> |
3 | #include <qlabel.h> | 3 | #include <qlabel.h> |
4 | #include <qmessagebox.h> | 4 | #include <qmessagebox.h> |
5 | #include <qstringlist.h> | 5 | #include <qstringlist.h> |
6 | #include <qcombobox.h> | 6 | #include <qcombobox.h> |
7 | #include <qcheckbox.h> | 7 | #include <qcheckbox.h> |
8 | 8 | #include <qscrollview.h> | |
9 | 9 | ||
10 | //#include "profileeditorplugins.h" | 10 | //#include "profileeditorplugins.h" |
11 | #include "metafactory.h" | 11 | #include "metafactory.h" |
12 | #include "profileeditordialog.h" | 12 | #include "profileeditordialog.h" |
13 | 13 | ||
14 | namespace { | 14 | namespace { |
15 | void setCurrent( const QString& str, QComboBox* bo ) { | 15 | void setCurrent( const QString& str, QComboBox* bo ) { |
16 | for (int i = 0; i < bo->count(); i++ ) { | 16 | for (int 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 | } |
@@ -44,40 +44,53 @@ ProfileEditorDialog::ProfileEditorDialog( MetaFactory* fact ) | |||
44 | // plugin_plugin->load(profile); | 44 | // plugin_plugin->load(profile); |
45 | } | 45 | } |
46 | 46 | ||
47 | Profile ProfileEditorDialog::profile() const | 47 | Profile ProfileEditorDialog::profile() const |
48 | { | 48 | { |
49 | return m_prof; | 49 | return m_prof; |
50 | } | 50 | } |
51 | 51 | ||
52 | void ProfileEditorDialog::initUI() | 52 | void ProfileEditorDialog::initUI() |
53 | { | 53 | { |
54 | m_con = m_term = m_key = 0l; | 54 | m_con = m_term = m_key = 0l; |
55 | 55 | ||
56 | |||
56 | QVBoxLayout *mainLayout = new QVBoxLayout( this ); | 57 | QVBoxLayout *mainLayout = new QVBoxLayout( this ); |
57 | tabWidget = new OTabWidget( this ); | 58 | tabWidget = new OTabWidget( this ); |
58 | tabWidget->setTabStyle(OTabWidget::TextTab); | 59 | tabWidget->setTabStyle(OTabWidget::TextTab); |
59 | mainLayout->add(tabWidget); | 60 | mainLayout->add(tabWidget); |
60 | 61 | ||
61 | /* base tabs */ | 62 | /* base tabs */ |
62 | tabprof = new QWidget(this); | 63 | tabprof = new QWidget(this); |
63 | m_tabTerm = new QWidget(this); | 64 | m_tabTerm = new QWidget(this); |
64 | m_tabCon = new QWidget(this); | 65 | m_tabCon = new QWidget(this); |
65 | m_tabKey = new QWidget(this); | 66 | m_tabKey = new QWidget(this); |
66 | 67 | ||
68 | m_svCon = new QScrollView( m_tabCon ); | ||
69 | m_svCon->setResizePolicy( QScrollView::AutoOneFit ); | ||
70 | m_svCon->setHScrollBarMode( QScrollView::AlwaysOff ); | ||
71 | m_svCon->setFrameShape( QFrame::NoFrame ); | ||
72 | m_svTerm = new QScrollView( m_tabTerm ); | ||
73 | m_svTerm->setResizePolicy( QScrollView::AutoOneFit ); | ||
74 | m_svTerm->setHScrollBarMode( QScrollView::AlwaysOff ); | ||
75 | m_svTerm->setFrameShape( QFrame::NoFrame ); | ||
76 | |||
67 | /* base layout for tabs */ | 77 | /* base layout for tabs */ |
68 | m_layCon = new QHBoxLayout( m_tabCon , 2 ); | 78 | m_layCon = new QHBoxLayout( m_tabCon , 2 ); |
69 | m_layTerm = new QHBoxLayout( m_tabTerm, 2 ); | 79 | m_layTerm = new QHBoxLayout( m_tabTerm, 2 ); |
70 | m_layKey = new QHBoxLayout( m_tabKey, 2 ); | 80 | m_layKey = new QHBoxLayout( m_tabKey, 2 ); |
71 | 81 | ||
82 | m_layCon->addWidget( m_svCon ); | ||
83 | m_layTerm->addWidget( m_svTerm ); | ||
84 | |||
72 | // profile tab | 85 | // profile tab |
73 | 86 | ||
74 | QLabel *name = new QLabel(QObject::tr("Profile name"), tabprof); | 87 | QLabel *name = new QLabel(QObject::tr("Profile name"), tabprof); |
75 | m_name = new QLineEdit(tabprof); | 88 | m_name = new QLineEdit(tabprof); |
76 | QLabel *con = new QLabel(tr("Connection"), tabprof ); | 89 | QLabel *con = new QLabel(tr("Connection"), tabprof ); |
77 | QLabel *term = new QLabel(tr("Terminal"), tabprof ); | 90 | QLabel *term = new QLabel(tr("Terminal"), tabprof ); |
78 | m_conCmb = new QComboBox( tabprof ); | 91 | m_conCmb = new QComboBox( tabprof ); |
79 | m_termCmb = new QComboBox( tabprof ); | 92 | m_termCmb = new QComboBox( tabprof ); |
80 | m_autoConnect = new QCheckBox(tr("Auto connect after load"), tabprof); | 93 | m_autoConnect = new QCheckBox(tr("Auto connect after load"), tabprof); |
81 | 94 | ||
82 | // layouting | 95 | // layouting |
83 | QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2); | 96 | QVBoxLayout *vbox3 = new QVBoxLayout(tabprof, 2); |
@@ -134,28 +147,28 @@ void ProfileEditorDialog::accept() | |||
134 | { | 147 | { |
135 | if(profName().isEmpty()) | 148 | if(profName().isEmpty()) |
136 | { | 149 | { |
137 | QMessageBox::information(this, | 150 | QMessageBox::information(this, |
138 | QObject::tr("Invalid profile"), | 151 | QObject::tr("Invalid profile"), |
139 | QObject::tr("Please enter a profile name.")); | 152 | QObject::tr("Please enter a profile name.")); |
140 | return; | 153 | return; |
141 | } | 154 | } |
142 | // Save profile and plugin profile | 155 | // Save profile and plugin profile |
143 | //if(plugin_plugin) plugin_plugin->save(); | 156 | //if(plugin_plugin) plugin_plugin->save(); |
144 | 157 | ||
145 | // Save general values | 158 | // Save general values |
146 | m_prof.setName(profName()); | 159 | m_prof.setName( profName() ); |
147 | m_prof.setIOLayer( m_fact->internal(m_conCmb ->currentText() ) ); | 160 | m_prof.setIOLayer( m_fact->internal(m_conCmb ->currentText() ) ); |
148 | m_prof.setTerminalName( m_fact->internal(m_termCmb->currentText() ) ); | 161 | m_prof.setTerminalName( m_fact->internal(m_termCmb->currentText() ) ); |
149 | m_prof.setAutoConnect( m_autoConnect->isChecked() ); | 162 | m_prof.setAutoConnect( m_autoConnect->isChecked() ); |
150 | 163 | ||
151 | if (m_con ) | 164 | if (m_con ) |
152 | m_con->save( m_prof ); | 165 | m_con->save( m_prof ); |
153 | if (m_term ) | 166 | if (m_term ) |
154 | m_term->save( m_prof ); | 167 | m_term->save( m_prof ); |
155 | if (m_key) | 168 | if (m_key) |
156 | m_key->save( m_prof ); | 169 | m_key->save( m_prof ); |
157 | 170 | ||
158 | QDialog::accept(); | 171 | QDialog::accept(); |
159 | } | 172 | } |
160 | 173 | ||
161 | 174 | ||
@@ -167,46 +180,49 @@ QString ProfileEditorDialog::profName()const | |||
167 | QCString ProfileEditorDialog::profType()const | 180 | QCString ProfileEditorDialog::profType()const |
168 | { | 181 | { |
169 | /*QStringList w = m_fact->configWidgets(); | 182 | /*QStringList w = m_fact->configWidgets(); |
170 | for(QStringList::Iterator it = w.begin(); it != w.end(); it++) | 183 | for(QStringList::Iterator it = w.begin(); it != w.end(); it++) |
171 | if(device_box->currentText() == m_fact->name((*it))) return (*it); | 184 | if(device_box->currentText() == m_fact->name((*it))) return (*it); |
172 | */ | 185 | */ |
173 | return QCString(); | 186 | return QCString(); |
174 | } | 187 | } |
175 | /* | 188 | /* |
176 | * we need to switch the widget | 189 | * we need to switch the widget |
177 | */ | 190 | */ |
178 | void ProfileEditorDialog::slotConActivated( const QString& str ) { | 191 | void ProfileEditorDialog::slotConActivated( const QString& str ) { |
192 | |||
179 | delete m_con; | 193 | delete m_con; |
180 | m_con = m_fact->newConnectionPlugin( str, m_tabCon ); | 194 | |
195 | m_con = m_fact->newConnectionPlugin( str, m_svCon->viewport() ); | ||
181 | 196 | ||
182 | if ( !m_con ) { | 197 | if ( !m_con ) { |
183 | m_con = new NoOptions( str, m_tabCon, "name"); | 198 | m_con = new NoOptions( str, m_svCon->viewport(), "name"); |
184 | } | 199 | } |
185 | m_con->load( m_prof ); | 200 | m_con->load( m_prof ); |
186 | m_layCon->addWidget( m_con ); | 201 | m_svCon->addChild( m_con ); |
202 | } | ||
187 | 203 | ||
188 | tabWidget->setCurrentTab( tabprof ); | ||
189 | 204 | ||
190 | } | ||
191 | /* | 205 | /* |
192 | * we need to switch the widget | 206 | * we need to switch the widget |
193 | */ | 207 | */ |
194 | void ProfileEditorDialog::slotTermActivated( const QString& str ) { | 208 | void ProfileEditorDialog::slotTermActivated( const QString& str ) { |
209 | |||
195 | delete m_term; | 210 | delete m_term; |
196 | m_term = m_fact->newTerminalPlugin( str, m_tabTerm ); | 211 | |
212 | m_term = m_fact->newTerminalPlugin( str, m_svTerm->viewport() ); | ||
197 | 213 | ||
198 | if (m_term) { | 214 | if (m_term) { |
199 | m_term->load(m_prof ); | 215 | m_term->load( m_prof ); |
200 | m_layTerm->addWidget( m_term ); | 216 | m_svTerm->addChild( m_term ); |
201 | } | 217 | } |
202 | } | 218 | } |
203 | 219 | ||
204 | void ProfileEditorDialog::slotKeyActivated(const QString &str) { | 220 | void ProfileEditorDialog::slotKeyActivated(const QString &str) { |
205 | delete m_key; | 221 | delete m_key; |
206 | m_key = m_fact->newKeyboardPlugin( str, m_tabKey ); | 222 | m_key = m_fact->newKeyboardPlugin( str, m_tabKey ); |
207 | 223 | ||
208 | if (m_key) { | 224 | if (m_key) { |
209 | 225 | ||
210 | m_key->load(m_prof); | 226 | m_key->load(m_prof); |
211 | m_layKey->addWidget(m_key); | 227 | m_layKey->addWidget(m_key); |
212 | } | 228 | } |