summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/profileeditordialog.cpp
Unidiff
Diffstat (limited to 'noncore/apps/opie-console/profileeditordialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/profileeditordialog.cpp40
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
14namespace { 14namespace {
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
47Profile ProfileEditorDialog::profile() const 47Profile ProfileEditorDialog::profile() const
48{ 48{
49 return m_prof; 49 return m_prof;
50} 50}
51 51
52void ProfileEditorDialog::initUI() 52void 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
167QCString ProfileEditorDialog::profType()const 180QCString 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 */
178void ProfileEditorDialog::slotConActivated( const QString& str ) { 191void 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 */
194void ProfileEditorDialog::slotTermActivated( const QString& str ) { 208void 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
204void ProfileEditorDialog::slotKeyActivated(const QString &str) { 220void 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 }