summaryrefslogtreecommitdiff
path: root/noncore/settings/packagemanager/oipkgconfigdlg.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/packagemanager/oipkgconfigdlg.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/packagemanager/oipkgconfigdlg.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/noncore/settings/packagemanager/oipkgconfigdlg.cpp b/noncore/settings/packagemanager/oipkgconfigdlg.cpp
index 1561470..ea0aef0 100644
--- a/noncore/settings/packagemanager/oipkgconfigdlg.cpp
+++ b/noncore/settings/packagemanager/oipkgconfigdlg.cpp
@@ -22,24 +22,26 @@ _;:, .> :=|. This program is free software; you can
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "oipkgconfigdlg.h"
+#include <opie2/ofiledialog.h>
+
#include <qpe/resource.h>
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qgroupbox.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qlistbox.h>
#include <qpushbutton.h>
#include <qscrollview.h>
#include <qwhatsthis.h>
@@ -74,26 +76,24 @@ OIpkgConfigDlg::OIpkgConfigDlg( OIpkg *ipkg, bool installOptions, QWidget *paren
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() );
@@ -246,41 +246,46 @@ void OIpkgConfigDlg::initDestinationWidget()
QGroupBox *grpbox = new QGroupBox( 0, Qt::Vertical, tr( "Destination" ), container );
grpbox->layout()->setSpacing( 2 );
grpbox->layout()->setMargin( 4 );
layout->addMultiCellWidget( grpbox, 2, 2, 0, 1 );
QGridLayout *grplayout = new QGridLayout( grpbox->layout() );
QLabel *label = new QLabel( tr( "Name:" ), grpbox );
QWhatsThis::add( label, tr( "Enter the name of this entry here." ) );
grplayout->addWidget( label, 0, 0 );
m_destName = new QLineEdit( grpbox );
QWhatsThis::add( m_destName, tr( "Enter the name of this entry here." ) );
- grplayout->addWidget( m_destName, 0, 1 );
+ grplayout->addMultiCellWidget( m_destName, 0, 0, 1, 2 );
label = new QLabel( tr( "Location:" ), grpbox );
QWhatsThis::add( label, tr( "Enter the absolute directory path of this entry here." ) );
grplayout->addWidget( label, 1, 0 );
m_destLocation = new QLineEdit( grpbox );
QWhatsThis::add( m_destLocation, tr( "Enter the absolute directory path of this entry here." ) );
grplayout->addWidget( m_destLocation, 1, 1 );
+ btn = new QPushButton( Resource::loadPixmap( "folder" ), QString::null, grpbox );
+ btn->setMaximumWidth( btn->height() );
+ QWhatsThis::add( btn, tr( "Tap here to select the desired location." ) );
+ connect( btn, SIGNAL(clicked()), this, SLOT(slotDestSelectPath()) );
+ grplayout->addWidget( btn, 1, 2 );
m_destActive = new QCheckBox( tr( "Active" ), grpbox );
QWhatsThis::add( m_destActive, tr( "Tap here to indicate whether this entry is active or not." ) );
- grplayout->addMultiCellWidget( m_destActive, 2, 2, 0, 1 );
+ grplayout->addMultiCellWidget( m_destActive, 2, 2, 0, 2 );
btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Update" ), grpbox );
QWhatsThis::add( btn, tr( "Tap here to update the entry's information." ) );
connect( btn, SIGNAL(clicked()), this, SLOT(slotDestUpdate()) );
- grplayout->addMultiCellWidget( btn, 3, 3, 0, 1 );
+ grplayout->addMultiCellWidget( btn, 3, 3, 0, 2 );
}
void OIpkgConfigDlg::initProxyWidget()
{
m_proxyWidget = new QWidget( this );
// Initialize UI
QVBoxLayout *vb = new QVBoxLayout( m_proxyWidget );
QScrollView *sv = new QScrollView( m_proxyWidget );
vb->addWidget( sv, 0, 0 );
sv->setResizePolicy( QScrollView::AutoOneFit );
sv->setFrameStyle( QFrame::NoFrame );
@@ -575,24 +580,32 @@ void OIpkgConfigDlg::slotDestDelete()
{
// Find selected destination in list
OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() );
// Delete destination
if ( destination )
{
m_configs->removeRef( destination );
m_destList->removeItem( m_destCurrent );
}
}
+void OIpkgConfigDlg::slotDestSelectPath()
+{
+ QString path = Opie::Ui::OFileDialog::getDirectory( 0, m_destLocation->text() );
+ if ( path.at( path.length() - 1 ) == '/' )
+ path.truncate( path.length() - 1 );
+ m_destLocation->setText( path );
+}
+
void OIpkgConfigDlg::slotDestUpdate()
{
QString newName = m_destName->text();
// Convert any spaces to underscores
newName.replace( QRegExp( " " ), "_" );
if ( !m_destNew )
{
// Find selected destination in list
OConfItem *destination = findConfItem( OConfItem::Destination, m_destCurrName );