summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/oipkgconfigdlg.cpp37
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
@@ -78,33 +78,70 @@ OIpkgConfigDlg::OIpkgConfigDlg( OIpkg *ipkg, bool installOptions, QWidget *paren
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();
}