-rw-r--r-- | noncore/apps/opie-console/profileeditordialog.cpp | 40 | ||||
-rw-r--r-- | noncore/apps/opie-console/profileeditordialog.h | 3 |
2 files changed, 31 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 @@ -2,13 +2,13 @@ #include <qlineedit.h> #include <qlabel.h> #include <qmessagebox.h> #include <qstringlist.h> #include <qcombobox.h> #include <qcheckbox.h> - +#include <qscrollview.h> //#include "profileeditorplugins.h" #include "metafactory.h" #include "profileeditordialog.h" namespace { @@ -50,28 +50,41 @@ Profile ProfileEditorDialog::profile() const } void ProfileEditorDialog::initUI() { m_con = m_term = m_key = 0l; + QVBoxLayout *mainLayout = new QVBoxLayout( this ); tabWidget = new OTabWidget( this ); tabWidget->setTabStyle(OTabWidget::TextTab); mainLayout->add(tabWidget); /* base tabs */ tabprof = new QWidget(this); m_tabTerm = new QWidget(this); m_tabCon = new QWidget(this); m_tabKey = new QWidget(this); + m_svCon = new QScrollView( m_tabCon ); + m_svCon->setResizePolicy( QScrollView::AutoOneFit ); + m_svCon->setHScrollBarMode( QScrollView::AlwaysOff ); + m_svCon->setFrameShape( QFrame::NoFrame ); + m_svTerm = new QScrollView( m_tabTerm ); + m_svTerm->setResizePolicy( QScrollView::AutoOneFit ); + m_svTerm->setHScrollBarMode( QScrollView::AlwaysOff ); + m_svTerm->setFrameShape( QFrame::NoFrame ); + /* base layout for tabs */ m_layCon = new QHBoxLayout( m_tabCon , 2 ); m_layTerm = new QHBoxLayout( m_tabTerm, 2 ); m_layKey = new QHBoxLayout( m_tabKey, 2 ); + m_layCon->addWidget( m_svCon ); + m_layTerm->addWidget( m_svTerm ); + // profile tab QLabel *name = new QLabel(QObject::tr("Profile name"), tabprof); m_name = new QLineEdit(tabprof); QLabel *con = new QLabel(tr("Connection"), tabprof ); QLabel *term = new QLabel(tr("Terminal"), tabprof ); @@ -140,16 +153,16 @@ void ProfileEditorDialog::accept() return; } // Save profile and plugin profile //if(plugin_plugin) plugin_plugin->save(); // Save general values - m_prof.setName(profName()); - m_prof.setIOLayer( m_fact->internal(m_conCmb ->currentText() ) ); + m_prof.setName( profName() ); + m_prof.setIOLayer( m_fact->internal(m_conCmb ->currentText() ) ); m_prof.setTerminalName( m_fact->internal(m_termCmb->currentText() ) ); - m_prof.setAutoConnect( m_autoConnect->isChecked() ); + m_prof.setAutoConnect( m_autoConnect->isChecked() ); if (m_con ) m_con->save( m_prof ); if (m_term ) m_term->save( m_prof ); if (m_key) @@ -173,34 +186,37 @@ QCString ProfileEditorDialog::profType()const return QCString(); } /* * we need to switch the widget */ void ProfileEditorDialog::slotConActivated( const QString& str ) { + delete m_con; - m_con = m_fact->newConnectionPlugin( str, m_tabCon ); + + m_con = m_fact->newConnectionPlugin( str, m_svCon->viewport() ); if ( !m_con ) { - m_con = new NoOptions( str, m_tabCon, "name"); + m_con = new NoOptions( str, m_svCon->viewport(), "name"); } m_con->load( m_prof ); - m_layCon->addWidget( m_con ); + m_svCon->addChild( m_con ); +} - tabWidget->setCurrentTab( tabprof ); -} /* * we need to switch the widget */ void ProfileEditorDialog::slotTermActivated( const QString& str ) { + delete m_term; - m_term = m_fact->newTerminalPlugin( str, m_tabTerm ); + + m_term = m_fact->newTerminalPlugin( str, m_svTerm->viewport() ); if (m_term) { - m_term->load(m_prof ); - m_layTerm->addWidget( m_term ); + m_term->load( m_prof ); + m_svTerm->addChild( m_term ); } } void ProfileEditorDialog::slotKeyActivated(const QString &str) { delete m_key; m_key = m_fact->newKeyboardPlugin( str, m_tabKey ); diff --git a/noncore/apps/opie-console/profileeditordialog.h b/noncore/apps/opie-console/profileeditordialog.h index 6216660..c731747 100644 --- a/noncore/apps/opie-console/profileeditordialog.h +++ b/noncore/apps/opie-console/profileeditordialog.h @@ -11,12 +11,13 @@ class EditBase; class QTabWidget; class QHBoxLayout; class QLineEdit; class QComboBox; class QCheckBox; class QLabel; +class QScrollView; class ProfileDialogWidget; class ProfileEditorDialog : public QDialog { Q_OBJECT public: ProfileEditorDialog(MetaFactory* fact, @@ -44,12 +45,14 @@ private: Profile m_prof; QLineEdit *m_name; QComboBox *m_conCmb, *m_termCmb; QCheckBox *m_autoConnect; + QScrollView *m_svCon, *m_svTerm; + QWidget *m_tabCon, *m_tabTerm, *m_tabKey; ProfileDialogWidget* m_con, *m_term, *m_key; QHBoxLayout *m_layCon, *m_layTerm, *m_layKey; OTabWidget *tabWidget; QWidget *tabprof; int m_showconntab; |