summaryrefslogtreecommitdiff
authordrw <drw>2004-04-08 00:22:39 (UTC)
committer drw <drw>2004-04-08 00:22:39 (UTC)
commit8c54ad421c7bee65b2a1442ce85c09f2eff3efc6 (patch) (side-by-side diff)
tree9ed0d01e5afc0ac7ec418b2cf3115d783cc0f186
parentc968f44205a5da7dc37029e701f527450692e39a (diff)
downloadopie-8c54ad421c7bee65b2a1442ce85c09f2eff3efc6.zip
opie-8c54ad421c7bee65b2a1442ce85c09f2eff3efc6.tar.gz
opie-8c54ad421c7bee65b2a1442ce85c09f2eff3efc6.tar.bz2
Save proxy information
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
@@ -46,97 +46,134 @@ using namespace Opie::Ui;
OIpkgConfigDlg::OIpkgConfigDlg( OIpkg *ipkg, bool installOptions, QWidget *parent )
: QDialog( parent, QString::null, true )
, m_ipkg( ipkg )
, m_configs( 0x0 )
, m_installOptions( installOptions )
, m_serverNew( false )
, m_serverCurrent( -1 )
, m_destNew( false )
, m_destCurrent( -1 )
, m_layout( this, 2, 4 )
, m_tabWidget( this )
{
setCaption( tr( "Configuration" ) );
// Initialize configuration widgets
if ( !installOptions )
{
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 );
sv->setFrameStyle( QFrame::NoFrame );
QWidget *container = new QWidget( sv->viewport() );
sv->addChild( container );
QGridLayout *layout = new QGridLayout( container, 3, 2, 2, 4 );
m_serverList = new QListBox( container );
m_serverList->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ) );
connect( m_serverList, SIGNAL(highlighted(int)), this, SLOT(slotServerEdit(int)) );
layout->addMultiCellWidget( m_serverList, 0, 0, 0, 1 );
QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), container );
connect( btn, SIGNAL(clicked()), this, SLOT(slotServerNew()) );
layout->addWidget( btn, 1, 0 );
btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), container );
connect( btn, SIGNAL(clicked()), this, SLOT(slotServerDelete()) );