Diffstat (limited to 'noncore/settings/packagemanager/oipkgconfigdlg.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/packagemanager/oipkgconfigdlg.cpp | 68 |
1 files changed, 52 insertions, 16 deletions
diff --git a/noncore/settings/packagemanager/oipkgconfigdlg.cpp b/noncore/settings/packagemanager/oipkgconfigdlg.cpp index e6d6a81..7ee2d74 100644 --- a/noncore/settings/packagemanager/oipkgconfigdlg.cpp +++ b/noncore/settings/packagemanager/oipkgconfigdlg.cpp @@ -129,4 +129,11 @@ void OIpkgConfigDlg::accept() m_proxyPassword->text() ) ); + confItem = m_ipkg->findConfItem( OConfItem::Other, "lists_dir" ); + if ( confItem ) + confItem->setValue( m_optSourceLists->text() ); + else + m_configs->append( new OConfItem( OConfItem::Other, "lists_dir", + m_optSourceLists->text(), "name" ) ); + m_ipkg->setConfigItems( m_configs ); } @@ -298,25 +305,25 @@ void OIpkgConfigDlg::initOptionsWidget() QWidget *container = new QWidget( sv->viewport() ); sv->addChild( container ); - QVBoxLayout *layout = new QVBoxLayout( container, 2, 4 ); + QGridLayout *layout = new QGridLayout( container, 8, 2, 2, 4 ); m_optForceDepends = new QCheckBox( tr( "Force Depends" ), container ); QWhatsThis::add( m_optForceDepends, tr( "Tap here to enable or disable the '-force-depends' option for Ipkg." ) ); - layout->addWidget( m_optForceDepends ); + layout->addMultiCellWidget( m_optForceDepends, 0, 0, 0, 1 ); m_optForceReinstall = new QCheckBox( tr( "Force Reinstall" ), container ); QWhatsThis::add( m_optForceReinstall, tr( "Tap here to enable or disable the '-force-reinstall' option for Ipkg." ) ); - layout->addWidget( m_optForceReinstall ); + layout->addMultiCellWidget( m_optForceReinstall, 1, 1, 0, 1 ); m_optForceRemove = new QCheckBox( tr( "Force Remove" ), container ); QWhatsThis::add( m_optForceRemove, tr( "Tap here to enable or disable the '-force-removal-of-dependent-packages' option for Ipkg." ) ); - layout->addWidget( m_optForceRemove ); + layout->addMultiCellWidget( m_optForceRemove, 2, 2, 0, 1 ); m_optForceOverwrite = new QCheckBox( tr( "Force Overwrite" ), container ); QWhatsThis::add( m_optForceOverwrite, tr( "Tap here to enable or disable the '-force-overwrite' option for Ipkg." ) ); - layout->addWidget( m_optForceOverwrite ); + layout->addMultiCellWidget( m_optForceOverwrite, 3, 3, 0, 1 ); - QLabel *l = new QLabel( tr( "Information Level" ), container ); + QLabel *l = new QLabel( tr( "Information level:" ), container ); QWhatsThis::add( l, tr( "Select information level for Ipkg." ) ); - layout->addWidget( l ); + layout->addMultiCellWidget( l, 4, 4, 0, 1 ); m_optVerboseIpkg = new QComboBox( container ); @@ -326,5 +333,18 @@ void OIpkgConfigDlg::initOptionsWidget() m_optVerboseIpkg->insertItem( tr( "Informative messages" ) ); m_optVerboseIpkg->insertItem( tr( "Troubleshooting output" ) ); - layout->addWidget( m_optVerboseIpkg ); + layout->addMultiCellWidget( m_optVerboseIpkg, 5, 5, 0, 1 ); + + l = new QLabel( tr( "Package source lists directory:" ), container ); + QWhatsThis::add( l, tr( "Enter the directory where package source feed information is stored." ) ); + layout->addMultiCellWidget( l, 6, 6, 0, 1 ); + + m_optSourceLists = new QLineEdit( container ); + QWhatsThis::add( m_optSourceLists, tr( "Enter the directory where package source feed information is stored." ) ); + layout->addWidget( m_optSourceLists, 7, 0 ); + QPushButton *btn = new QPushButton( Resource::loadPixmap( "folder" ), QString::null, container ); + btn->setMaximumWidth( btn->height() ); + QWhatsThis::add( btn, tr( "Tap here to select the directory where package source feed information is stored." ) ); + connect( btn, SIGNAL(clicked()), this, SLOT(slotOptSelectSourceListsPath()) ); + layout->addWidget( btn, 7, 1 ); layout->addItem( new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding ) ); @@ -346,13 +366,9 @@ void OIpkgConfigDlg::initData() if ( config ) { - if ( config->type() == OConfItem::Source ) - { - m_serverList->insertItem( config->name() ); - } - else if ( config->type() == OConfItem::Destination ) + switch ( config->type() ) { - m_destList->insertItem( config->name() ); - } - else if ( config->type() == OConfItem::Option ) + case OConfItem::Source : m_serverList->insertItem( config->name() ); break; + case OConfItem::Destination : m_destList->insertItem( config->name() ); break; + case OConfItem::Option : { if ( config->name() == "http_proxy" ) @@ -375,4 +391,15 @@ void OIpkgConfigDlg::initData() } } + break; + case OConfItem::Other : + { + if ( config->name() == "lists_dir" ) + m_optSourceLists->setText( config->value() ); + else // TODO - use proper libipkg define + m_optSourceLists->setText( "/usr/lib/ipkg/lists" ); + } + break; + default : break; + }; } } @@ -514,4 +541,13 @@ void OIpkgConfigDlg::slotDestDelete() } +void OIpkgConfigDlg::slotOptSelectSourceListsPath() +{ + QString path = Opie::Ui::OFileDialog::getDirectory( 0, m_optSourceLists->text() ); + if ( path.at( path.length() - 1 ) == '/' ) + path.truncate( path.length() - 1 ); + if ( !path.isNull() ) + m_optSourceLists->setText( path ); +} + OIpkgServerDlg::OIpkgServerDlg( OConfItem *server, QWidget *parent ) : QDialog( parent, QString::null, true, WStyle_ContextHelp ) |