-rw-r--r-- | noncore/settings/packagemanager/oipkgconfigdlg.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/noncore/settings/packagemanager/oipkgconfigdlg.cpp b/noncore/settings/packagemanager/oipkgconfigdlg.cpp index 592de3e..74e7137 100644 --- a/noncore/settings/packagemanager/oipkgconfigdlg.cpp +++ b/noncore/settings/packagemanager/oipkgconfigdlg.cpp @@ -62,65 +62,102 @@ OIpkgConfigDlg::OIpkgConfigDlg( OIpkg *ipkg, bool installOptions, QWidget *paren { initServerWidget(); initDestinationWidget(); initProxyWidget(); } initOptionsWidget(); // Load configuration information initData(); // Setup tabs for all info m_layout.addWidget( &m_tabWidget ); if ( !m_installOptions ) { m_tabWidget.addTab( m_serverWidget, "packagemanager/servertab", tr( "Servers" ) ); m_tabWidget.addTab( m_destWidget, "packagemanager/desttab", tr( "Destinations" ) ); m_tabWidget.addTab( m_proxyWidget, "packagemanager/proxytab", tr( "Proxies" ) ); m_tabWidget.addTab( m_optionsWidget, "exec", tr( "Options" ) ); m_tabWidget.setCurrentTab( tr( "Servers" ) ); } else { m_tabWidget.addTab( m_optionsWidget, "exec", tr( "Options" ) ); } //showMaximized(); } void OIpkgConfigDlg::accept() { // Save server, destination and proxy configuration if ( !m_installOptions ) + { + // Update proxy information before saving settings + OConfItem *confItem = findConfItem( OConfItem::Option, "http_proxy" ); + if ( confItem ) + { + confItem->setValue( m_proxyHttpServer->text() ); + confItem->setActive( m_proxyHttpActive->isChecked() ); + } + else + m_configs->append( new OConfItem( QString::null, OConfItem::Option, "http_proxy", + m_proxyHttpServer->text(), m_proxyHttpActive->isChecked() ) ); + + confItem = findConfItem( OConfItem::Option, "ftp_proxy" ); + if ( confItem ) + { + confItem->setValue( m_proxyFtpServer->text() ); + confItem->setActive( m_proxyFtpActive->isChecked() ); + } + else + m_configs->append( new OConfItem( QString::null, OConfItem::Option, "ftp_proxy", + m_proxyFtpServer->text(), m_proxyFtpActive->isChecked() ) ); + + confItem = findConfItem( OConfItem::Option, "proxy_username" ); + if ( confItem ) + confItem->setValue( m_proxyUsername->text() ); + else + m_configs->append( new OConfItem( QString::null, OConfItem::Option, "proxy_username", + m_proxyUsername->text() ) ); + + confItem = findConfItem( OConfItem::Option, "proxy_password" ); + if ( confItem ) + confItem->setValue( m_proxyPassword->text() ); + else + m_configs->append( new OConfItem( QString::null, OConfItem::Option, "proxy_password", + m_proxyPassword->text() ) ); + m_ipkg->setConfigItems( m_configs ); + } // Save options configuration int options = 0; if ( m_optForceDepends->isChecked() ) options |= FORCE_DEPENDS; if ( m_optForceReinstall->isChecked() ) options |= FORCE_REINSTALL; if ( m_optForceRemove->isChecked() ) options |= FORCE_REMOVE; if ( m_optForceOverwrite->isChecked() ) options |= FORCE_OVERWRITE; m_ipkg->setIpkgExecOptions( options ); m_ipkg->setIpkgExecVerbosity( m_optVerboseIpkg->currentItem() ); QDialog::accept(); } void OIpkgConfigDlg::reject() { if ( m_configs ) delete m_configs; } void OIpkgConfigDlg::initServerWidget() { m_serverWidget = new QWidget( this ); // Initialize UI QVBoxLayout *vb = new QVBoxLayout( m_serverWidget ); QScrollView *sv = new QScrollView( m_serverWidget ); vb->addWidget( sv, 0, 0 ); sv->setResizePolicy( QScrollView::AutoOneFit ); |