summaryrefslogtreecommitdiff
authordrw <drw>2005-01-02 20:26:01 (UTC)
committer drw <drw>2005-01-02 20:26:01 (UTC)
commite763e0cea060ae3a2dfb1c411f56354e27ac12a9 (patch) (unidiff)
tree37896734be7d2679c3f19635fe9fe3b52a549332
parent020ea2d54bcd0fc4420cb433b3e657cd13ae07e2 (diff)
downloadopie-e763e0cea060ae3a2dfb1c411f56354e27ac12a9.zip
opie-e763e0cea060ae3a2dfb1c411f56354e27ac12a9.tar.gz
opie-e763e0cea060ae3a2dfb1c411f56354e27ac12a9.tar.bz2
Implement native package linking code (removing need for ipkg-link and its shortcomings), move package linking code to OIpkg (proper place for ipkg specific code), many small code tweaks and bump version up to 0.6.1
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/ChangeLog7
-rw-r--r--noncore/settings/packagemanager/TODO8
-rw-r--r--noncore/settings/packagemanager/installdlg.cpp81
-rw-r--r--noncore/settings/packagemanager/installdlg.h11
-rw-r--r--noncore/settings/packagemanager/oipkg.cpp208
-rw-r--r--noncore/settings/packagemanager/oipkg.h20
-rw-r--r--noncore/settings/packagemanager/oipkgconfigdlg.cpp34
-rw-r--r--noncore/settings/packagemanager/oipkgconfigdlg.h3
-rw-r--r--noncore/settings/packagemanager/opackagemanager.cpp20
-rw-r--r--noncore/settings/packagemanager/opie-packagemanager.control4
-rw-r--r--noncore/settings/packagemanager/packageinfodlg.cpp10
-rw-r--r--noncore/settings/packagemanager/packageinfodlg.h4
12 files changed, 237 insertions, 173 deletions
diff --git a/noncore/settings/packagemanager/ChangeLog b/noncore/settings/packagemanager/ChangeLog
index c776ce5..608cd98 100644
--- a/noncore/settings/packagemanager/ChangeLog
+++ b/noncore/settings/packagemanager/ChangeLog
@@ -1 +1,8 @@
12005-01-02 Dan Williams <drw@handhelds.org>
2
3 * Released version 0.6.1
4 * Implemented native package linking code to remove need for ipkg-link
5 * Implement package in OIpkg (removed from InstallDlg) as this is ipkg specific
6 * Many small code tweaks
7
12004-12-21 Dan Williams <drw@handhelds.org> 82004-12-21 Dan Williams <drw@handhelds.org>
diff --git a/noncore/settings/packagemanager/TODO b/noncore/settings/packagemanager/TODO
index 744ad95..2512624 100644
--- a/noncore/settings/packagemanager/TODO
+++ b/noncore/settings/packagemanager/TODO
@@ -4,3 +4,3 @@
4/* ======================== 4/* ========================
5/* Version 0.6.0 5/* Version 0.6.1
6/* 6/*
@@ -11,7 +11,5 @@
11----------------------------------------------- 11-----------------------------------------------
12 To-do for Opie-PackageManager - December, 2004 12 To-do for Opie-PackageManager - January, 2005
13----------------------------------------------- 13-----------------------------------------------
14 14
151. Move ipkg-link code from InstallDlg to OIpkg 151. Re-work package download dialog
162. Code ipkg-link logic directly in OIpkg
173. Re-work package download dialog
diff --git a/noncore/settings/packagemanager/installdlg.cpp b/noncore/settings/packagemanager/installdlg.cpp
index 985e2bd..7dea591 100644
--- a/noncore/settings/packagemanager/installdlg.cpp
+++ b/noncore/settings/packagemanager/installdlg.cpp
@@ -32,3 +32,2 @@ _;:, .> :=|. This file is free software; you can
32#include <opie2/ofiledialog.h> 32#include <opie2/ofiledialog.h>
33#include <opie2/oprocess.h>
34 33
@@ -249,3 +248,2 @@ void InstallDlg::slotBtnStart()
249 248
250 Opie::Core::OProcess process( this );
251 for ( m_currCommand = 0; m_currCommand < m_numCommands; m_currCommand++ ) 249 for ( m_currCommand = 0; m_currCommand < m_numCommands; m_currCommand++ )
@@ -254,78 +252,3 @@ void InstallDlg::slotBtnStart()
254 m_packman->executeCommand( m_command[ m_currCommand ], m_packages[ m_currCommand ], dest, 252 m_packman->executeCommand( m_command[ m_currCommand ], m_packages[ m_currCommand ], dest,
255 this, SLOT(slotOutput(char*)), true ); 253 this, SLOT(slotOutput(const QString &)), true );
256
257 if ( m_command[ m_currCommand ] == OPackage::Remove )
258 {
259 // Unlink application if the package was removed
260
261 // Loop through all package names in the command group
262 for ( QStringList::Iterator it = m_packages[ m_currCommand ].begin();
263 it != m_packages[ m_currCommand ].end();
264 ++it )
265 {
266 OPackage *currPackage = m_packman->findPackage( (*it) );
267
268 // Skip package if it is not found or being removed from 'root'
269 if ( !currPackage || ( m_command[ m_currCommand ] == OPackage::Remove &&
270 currPackage->destination() == "root" ) )
271 continue;
272
273 // Display feedback to user
274 m_output->append( tr( QString( "Running ipkg-link to remove links for package '%1'." )
275 .arg( currPackage->name() ) ) );
276 m_output->setCursorPosition( m_output->numLines(), 0 );
277
278 // Execute ipkg-link
279 process.clearArguments();
280 process << "ipkg-link"
281 << ( ( m_command[ m_currCommand ] == OPackage::Install ) ? "add" : "remove" )
282 << currPackage->name();
283 if ( !process.start( Opie::Core::OProcess::Block,
284 Opie::Core::OProcess::NoCommunication ) )
285 {
286 slotProcessDone( 0l );
287 m_output->append( tr( "Unable to run ipkg-link." ) );
288 m_output->setCursorPosition( m_output->numLines(), 0 );
289 return;
290 }
291 }
292 }
293 else if ( m_command[ m_currCommand ] == OPackage::Install && dest != "root" )
294 {
295 // Link applications in the destination directory
296
297 m_output->append( tr( "Running ipkg-link to link packages in '%1'." ).arg( dest ) );
298 m_output->setCursorPosition( m_output->numLines(), 0 );
299
300 QString destPath;
301 OConfItem *destItem = m_packman->findConfItem( OConfItem::Destination, dest );
302
303 // Execute ipkg-link
304 process.clearArguments();
305 process << "ipkg-link"
306 << "mount"
307 << destItem->value();
308 if ( !process.start( Opie::Core::OProcess::Block,
309 Opie::Core::OProcess::NoCommunication ) )
310 {
311 slotProcessDone( 0l );
312 m_output->append( tr( "Unable to run ipkg-link." ) );
313 m_output->setCursorPosition( m_output->numLines(), 0 );
314 return;
315 }
316 }
317 }
318
319 slotProcessDone( 0l );
320}
321
322void InstallDlg::slotProcessDone( Opie::Core::OProcess *proc )
323{
324 if ( proc )
325 {
326 // Display message pnly if linking was done
327 m_output->append( tr( "The package linking is done." ) );
328 m_output->setCursorPosition( m_output->numLines(), 0 );
329
330 delete proc;
331 } 254 }
@@ -374,3 +297,3 @@ void InstallDlg::slotBtnOptions()
374 297
375void InstallDlg::slotOutput( char *msg ) 298void InstallDlg::slotOutput( const QString &msg )
376{ 299{
diff --git a/noncore/settings/packagemanager/installdlg.h b/noncore/settings/packagemanager/installdlg.h
index 7a64fe0..e633809 100644
--- a/noncore/settings/packagemanager/installdlg.h
+++ b/noncore/settings/packagemanager/installdlg.h
@@ -44,10 +44,2 @@ class OPackageManager;
44 44
45namespace Opie
46{
47 namespace Core
48 {
49 class OProcess;
50 }
51}
52
53class InstallDlg : public QWidget 45class InstallDlg : public QWidget
@@ -91,6 +83,5 @@ private slots:
91 void slotBtnOptions(); 83 void slotBtnOptions();
92 void slotProcessDone( Opie::Core::OProcess *proc );
93 84
94 // Execution slots 85 // Execution slots
95 void slotOutput( char *msg ); 86 void slotOutput( const QString &msg );
96 87
diff --git a/noncore/settings/packagemanager/oipkg.cpp b/noncore/settings/packagemanager/oipkg.cpp
index a66bd51..f2d7e39 100644
--- a/noncore/settings/packagemanager/oipkg.cpp
+++ b/noncore/settings/packagemanager/oipkg.cpp
@@ -38,2 +38,3 @@ _;:, .> :=|. This program is free software; you can
38#include <stdlib.h> 38#include <stdlib.h>
39#include <unistd.h>
39 40
@@ -43,2 +44,3 @@ const QString IPKG_PKG_PATH = "/usr/lib/ipkg/lists"; // Directory containing
43const QString IPKG_STATUS_PATH = "usr/lib/ipkg/status"; // Destination status file location 44const QString IPKG_STATUS_PATH = "usr/lib/ipkg/status"; // Destination status file location
45const QString IPKG_INFO_PATH = "usr/lib/ipkg/info"; // Package file lists location
44 46
@@ -50,2 +52,3 @@ int fsignalIpkgMessage( ipkg_conf_t *conf, message_level_t level, char *msg )
50{ 52{
53 // Display message only if it is below the message level threshold
51 if ( conf && ( conf->verbosity < level ) ) 54 if ( conf && ( conf->verbosity < level ) )
@@ -60,3 +63,3 @@ char *fIpkgResponse( char */*question*/ )
60{ 63{
61 return 0x0; 64 return 0l;
62} 65}
@@ -83,2 +86,3 @@ OIpkg::OIpkg( Config *config, QObject *parent, const char *name )
83{ 86{
87 // Keep pointer to self for the Ipkg callback functions
84 oipkg = this; 88 oipkg = this;
@@ -364,2 +368,20 @@ OPackageList *OIpkg::installedPackages( const QString &destName, const QString &
364 368
369OConfItem *OIpkg::findConfItem( OConfItem::Type type, const QString &name )
370{
371 // Find configuration item in list
372 OConfItemListIterator configIt( *m_confInfo );
373 OConfItem *config = 0l;
374 for ( ; configIt.current(); ++configIt )
375 {
376 config = configIt.current();
377 if ( config->type() == type && config->name() == name )
378 break;
379 }
380
381 if ( config && config->type() == type && config->name() == name )
382 return config;
383
384 return 0l;
385}
386
365bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parameters, const QString &destination, 387bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parameters, const QString &destination,
@@ -386,3 +408,3 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
386 else 408 else
387 m_ipkgArgs.dest = 0x0; 409 m_ipkgArgs.dest = 0l;
388 410
@@ -390,8 +412,3 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
390 412
391 if ( rawOutput ) 413 if ( !rawOutput )
392 {
393// if ( slotOutput )
394// connect( this, SIGNAL(signalIpkgMessage(char*)), receiver, slotOutput );
395 }
396 else
397 { 414 {
@@ -403,3 +420,3 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
403 case OPackage::Update : { 420 case OPackage::Update : {
404 connect( this, SIGNAL(signalIpkgMessage(char*)), receiver, slotOutput ); 421 connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
405 ipkg_lists_update( &m_ipkgArgs ); 422 ipkg_lists_update( &m_ipkgArgs );
@@ -408,4 +425,15 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
408 case OPackage::Upgrade : { 425 case OPackage::Upgrade : {
409 connect( this, SIGNAL(signalIpkgMessage(char*)), receiver, slotOutput ); 426 connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
410 ipkg_packages_upgrade( &m_ipkgArgs ); 427 ipkg_packages_upgrade( &m_ipkgArgs );
428
429 // Re-link non-root destinations to make sure everything is in sync
430 OConfItemList *destList = destinations();
431 OConfItemListIterator it( *destList );
432 for ( ; it.current(); ++it )
433 {
434 OConfItem *dest = it.current();
435 if ( dest->name() != "root" )
436 linkPackageDir( dest->name() );
437 }
438 delete destList;
411 }; 439 };
@@ -413,3 +441,3 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
413 case OPackage::Install : { 441 case OPackage::Install : {
414 connect( this, SIGNAL(signalIpkgMessage(char*)), receiver, slotOutput ); 442 connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
415 for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it ) 443 for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
@@ -418,2 +446,4 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
418 } 446 }
447 if ( destination != "root" )
448 linkPackageDir( destination );
419 }; 449 };
@@ -421,7 +451,14 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
421 case OPackage::Remove : { 451 case OPackage::Remove : {
422 connect( this, SIGNAL(signalIpkgMessage(char*)), receiver, slotOutput ); 452 connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
453
454 // Get list of destinations for unlinking of packages not installed to root
455 OConfItemList *destList = destinations();
456
423 for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it ) 457 for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
424 { 458 {
459 unlinkPackage( (*it), destList );
425 ipkg_packages_remove( &m_ipkgArgs, (*it), true ); 460 ipkg_packages_remove( &m_ipkgArgs, (*it), true );
426 } 461 }
462
463 delete destList;
427 }; 464 };
@@ -429,3 +466,3 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
429 case OPackage::Download : { 466 case OPackage::Download : {
430 connect( this, SIGNAL(signalIpkgMessage(char*)), receiver, slotOutput ); 467 connect( this, SIGNAL(signalIpkgMessage(const QString &)), receiver, slotOutput );
431 for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it ) 468 for ( QStringList::ConstIterator it = parameters.begin(); it != parameters.end(); ++it )
@@ -437,4 +474,4 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
437 case OPackage::Info : { 474 case OPackage::Info : {
438 connect( this, SIGNAL(signalIpkgStatus(char*)), receiver, slotOutput ); 475 connect( this, SIGNAL(signalIpkgStatus(const QString &)), receiver, slotOutput );
439 ipkg_packages_info( &m_ipkgArgs, (*parameters.begin()), &fIpkgStatus, 0x0 ); 476 ipkg_packages_info( &m_ipkgArgs, (*parameters.begin()), &fIpkgStatus, 0l );
440 }; 477 };
@@ -442,4 +479,4 @@ bool OIpkg::executeCommand( OPackage::Command command, const QStringList &parame
442 case OPackage::Files : { 479 case OPackage::Files : {
443 connect( this, SIGNAL(signalIpkgList(char*)), receiver, slotOutput ); 480 connect( this, SIGNAL(signalIpkgList(const QString &)), receiver, slotOutput );
444 ipkg_package_files( &m_ipkgArgs, (*parameters.begin()), &fIpkgFiles, 0x0 ); 481 ipkg_package_files( &m_ipkgArgs, (*parameters.begin()), &fIpkgFiles, 0l );
445 }; 482 };
@@ -591 +628,138 @@ OConfItemList *OIpkg::filterConfItems( OConfItem::Type typefilter )
591} 628}
629
630const QString &OIpkg::rootPath()
631{
632 if ( m_rootPath.isEmpty() )
633 {
634 OConfItem *rootDest = findConfItem( OConfItem::Destination, "root" );
635 rootDest ? m_rootPath = rootDest->value()
636 : m_rootPath = '/';
637 if ( m_rootPath.right( 1 ) == '/' )
638 m_rootPath.truncate( m_rootPath.length() - 1 );
639 }
640 return m_rootPath;
641}
642
643void OIpkg::linkPackageDir( const QString &dest )
644{
645 if ( !dest.isNull() )
646 {
647 OConfItem *destConfItem = findConfItem( OConfItem::Destination, dest );
648
649 emit signalIpkgMessage( tr( "Linking packages installed in: %1" ).arg( dest ) );
650
651 // Set package destination directory
652 QString destDir = destConfItem->value();
653 QString destInfoDir = destDir;
654 if ( destInfoDir.right( 1 ) != '/' )
655 destInfoDir.append( '/' );
656 destInfoDir.append( IPKG_INFO_PATH );
657
658 // Get list of installed packages in destination
659 QDir packageDir( destInfoDir );
660 QStringList packageFiles;
661 if ( packageDir.exists() )
662 {
663 packageDir.setNameFilter( "*.list" );
664 packageDir.setFilter( QDir::Files );
665 packageFiles = packageDir.entryList( "*.list", QDir::Files );
666 }
667
668 // Link all files for every package installed in desination
669 QStringList::Iterator lastFile = packageFiles.end();
670 for ( QStringList::Iterator it = packageFiles.begin(); it != lastFile; ++it )
671 {
672 //emit signalIpkgMessage( QString( "Processing: %1/%2" ).arg( destInfoDir ).arg (*it) );
673 QString packageFileName = destInfoDir;
674 packageFileName.append( '/' );
675 packageFileName.append( (*it) );
676 QFile packageFile( packageFileName );
677 if ( packageFile.open( IO_ReadOnly ) )
678 {
679 QTextStream t( &packageFile );
680 QString linkFile;
681 while ( !t.eof() )
682 {
683 // Get the name of the file to link and build the sym link filename
684 linkFile = t.readLine();
685 QString linkDest( linkFile.right( linkFile.length() - destDir.length() ) );
686 linkDest.prepend( rootPath() );
687
688 // If file installed file is actually symbolic link, use actual file for linking
689 QFileInfo fileInfo( linkFile );
690 if ( fileInfo.isSymLink() && !fileInfo.readLink().isEmpty() )
691 linkFile = fileInfo.readLink();
692
693 // See if directory exists in 'root', if not, create
694 fileInfo.setFile( linkDest );
695 QString linkDestDirName = fileInfo.dirPath( true );
696 QDir linkDestDir( linkDestDirName );
697 if ( !linkDestDir.exists() )
698 {
699 linkDestDir.mkdir( linkDestDirName );
700 }
701 else
702 {
703 // Remove any previous link to make sure we will be pointing to the current version
704 if ( QFile::exists( linkDest ) )
705 QFile::remove( linkDest );
706 }
707
708 // Link the file
709 //emit signalIpkgMessage( QString( "Linking '%1' to '%2'" ).arg( linkFile ).arg( linkDest ) );
710 if ( symlink( linkFile, linkDest ) == -1 )
711 emit signalIpkgMessage( tr( "Error linkling '%1' to '%2'" )
712 .arg( linkFile )
713 .arg( linkDest ) );
714 }
715 packageFile.close();
716 }
717 }
718 }
719}
720
721void OIpkg::unlinkPackage( const QString &package, OConfItemList *destList )
722{
723 if ( !package.isNull() )
724 {
725 // Find destination package is installed in
726 if ( destList )
727 {
728 OConfItemListIterator it( *destList );
729 for ( ; it.current(); ++it )
730 {
731 OConfItem *dest = it.current();
732 QString destInfoFileName = QString( "%1/%2/%3.list" ).arg( dest->value() )
733 .arg( IPKG_INFO_PATH )
734 .arg( package );
735 //emit signalIpkgMessage( QString( "Looking for '%1'" ).arg ( destInfoFileName ) );
736
737 // If found and destination is not 'root', remove symbolic links
738 if ( QFile::exists( destInfoFileName ) && dest->name() != "root" )
739 {
740 QFile destInfoFile( destInfoFileName );
741 if ( destInfoFile.open( IO_ReadOnly ) )
742 {
743 QTextStream t( &destInfoFile );
744 QString linkFile;
745 while ( !t.eof() )
746 {
747 // Get the name of the file to link and build the sym link filename
748 linkFile = t.readLine();
749 QString linkDest( linkFile.right( linkFile.length() -
750 dest->value().length() ) );
751 linkDest.prepend( rootPath() );
752
753 //emit signalIpkgMessage( QString( "Deleting: '%1'" ).arg( linkDest ) );
754 QFile::remove( linkDest );
755 }
756 destInfoFile.close();
757 }
758
759 emit signalIpkgMessage( tr( "Links removed for: %1" ).arg( package ) );
760 return;
761 }
762 }
763 }
764 }
765}
diff --git a/noncore/settings/packagemanager/oipkg.h b/noncore/settings/packagemanager/oipkg.h
index 3c96200..0263f50 100644
--- a/noncore/settings/packagemanager/oipkg.h
+++ b/noncore/settings/packagemanager/oipkg.h
@@ -58,3 +58,3 @@ class OIpkg : public QObject
58public: 58public:
59 OIpkg( Config *config = 0x0, QObject *parent = 0x0, const char *name = 0x0 ); 59 OIpkg( Config *config = 0l, QObject *parent = 0l, const char *name = 0l );
60 ~OIpkg(); 60 ~OIpkg();
@@ -79,2 +79,5 @@ public:
79 79
80 OConfItem *findConfItem( OConfItem::Type type = OConfItem::NotDefined,
81 const QString &name = QString::null );
82
80 bool executeCommand( OPackage::Command command = OPackage::NotDefined, 83 bool executeCommand( OPackage::Command command = OPackage::NotDefined,
@@ -82,4 +85,4 @@ public:
82 const QString &destination = QString::null, 85 const QString &destination = QString::null,
83 const QObject *receiver = 0x0, 86 const QObject *receiver = 0l,
84 const char *slotOutput = 0x0, 87 const char *slotOutput = 0l,
85 bool rawOutput = true ); 88 bool rawOutput = true );
@@ -97,2 +100,3 @@ private:
97 int m_ipkgExecVerbosity; // Ipkg execution verbosity level 100 int m_ipkgExecVerbosity; // Ipkg execution verbosity level
101 QString m_rootPath; // Directory path where the 'root' destination is located
98 102
@@ -100,7 +104,11 @@ private:
100 OConfItemList *filterConfItems( OConfItem::Type typefilter = OConfItem::NotDefined ); 104 OConfItemList *filterConfItems( OConfItem::Type typefilter = OConfItem::NotDefined );
105 const QString &rootPath();
106 void linkPackageDir( const QString &dest = QString::null );
107 void unlinkPackage( const QString &package = QString::null,
108 OConfItemList *destList = 0l );
101 109
102signals: 110signals:
103 void signalIpkgMessage( char *msg ); 111 void signalIpkgMessage( const QString &msg );
104 void signalIpkgStatus( char *status ); 112 void signalIpkgStatus( const QString &status );
105 void signalIpkgList( char *filelist ); 113 void signalIpkgList( const QString &filelist );
106}; 114};
diff --git a/noncore/settings/packagemanager/oipkgconfigdlg.cpp b/noncore/settings/packagemanager/oipkgconfigdlg.cpp
index 77ad220..e6d6a81 100644
--- a/noncore/settings/packagemanager/oipkgconfigdlg.cpp
+++ b/noncore/settings/packagemanager/oipkgconfigdlg.cpp
@@ -94,3 +94,3 @@ void OIpkgConfigDlg::accept()
94 // Update proxy information before saving settings 94 // Update proxy information before saving settings
95 OConfItem *confItem = findConfItem( OConfItem::Option, "http_proxy" ); 95 OConfItem *confItem = m_ipkg->findConfItem( OConfItem::Option, "http_proxy" );
96 if ( confItem ) 96 if ( confItem )
@@ -105,3 +105,3 @@ void OIpkgConfigDlg::accept()
105 105
106 confItem = findConfItem( OConfItem::Option, "ftp_proxy" ); 106 confItem = m_ipkg->findConfItem( OConfItem::Option, "ftp_proxy" );
107 if ( confItem ) 107 if ( confItem )
@@ -116,3 +116,3 @@ void OIpkgConfigDlg::accept()
116 116
117 confItem = findConfItem( OConfItem::Option, "proxy_username" ); 117 confItem = m_ipkg->findConfItem( OConfItem::Option, "proxy_username" );
118 if ( confItem ) 118 if ( confItem )
@@ -123,3 +123,3 @@ void OIpkgConfigDlg::accept()
123 123
124 confItem = findConfItem( OConfItem::Option, "proxy_password" ); 124 confItem = m_ipkg->findConfItem( OConfItem::Option, "proxy_password" );
125 if ( confItem ) 125 if ( confItem )
@@ -395,20 +395,2 @@ void OIpkgConfigDlg::initData()
395 395
396OConfItem *OIpkgConfigDlg::findConfItem( OConfItem::Type type, const QString &name )
397{
398 // Find selected server in list
399 OConfItemListIterator configIt( *m_configs );
400 OConfItem *config = 0l;
401 for ( ; configIt.current(); ++configIt )
402 {
403 config = configIt.current();
404 if ( config->type() == type && config->name() == name )
405 break;
406 }
407
408 if ( config && config->type() == type && config->name() == name )
409 return config;
410
411 return 0l;
412}
413
414void OIpkgConfigDlg::slotServerSelected( int index ) 396void OIpkgConfigDlg::slotServerSelected( int index )
@@ -444,3 +426,3 @@ void OIpkgConfigDlg::slotServerEdit()
444 // Find selected server in list 426 // Find selected server in list
445 OConfItem *server = findConfItem( OConfItem::Source, m_serverList->currentText() ); 427 OConfItem *server = m_ipkg->findConfItem( OConfItem::Source, m_serverList->currentText() );
446 428
@@ -463,3 +445,3 @@ void OIpkgConfigDlg::slotServerDelete()
463 // Find selected server in list 445 // Find selected server in list
464 OConfItem *server = findConfItem( OConfItem::Source, m_serverList->currentText() ); 446 OConfItem *server = m_ipkg->findConfItem( OConfItem::Source, m_serverList->currentText() );
465 447
@@ -504,3 +486,3 @@ void OIpkgConfigDlg::slotDestEdit()
504 // Find selected destination in list 486 // Find selected destination in list
505 OConfItem *dest = findConfItem( OConfItem::Destination, m_destList->currentText() ); 487 OConfItem *dest = m_ipkg->findConfItem( OConfItem::Destination, m_destList->currentText() );
506 488
@@ -523,3 +505,3 @@ void OIpkgConfigDlg::slotDestDelete()
523 // Find selected destination in list 505 // Find selected destination in list
524 OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() ); 506 OConfItem *destination = m_ipkg->findConfItem( OConfItem::Destination, m_destList->currentText() );
525 507
diff --git a/noncore/settings/packagemanager/oipkgconfigdlg.h b/noncore/settings/packagemanager/oipkgconfigdlg.h
index 5b7e91d..0fb2e16 100644
--- a/noncore/settings/packagemanager/oipkgconfigdlg.h
+++ b/noncore/settings/packagemanager/oipkgconfigdlg.h
@@ -109,5 +109,2 @@ private:
109 109
110 OConfItem *findConfItem( OConfItem::Type type = OConfItem::NotDefined,
111 const QString &name = QString::null );
112
113private slots: 110private slots:
diff --git a/noncore/settings/packagemanager/opackagemanager.cpp b/noncore/settings/packagemanager/opackagemanager.cpp
index cbddfe7..c9fdec1 100644
--- a/noncore/settings/packagemanager/opackagemanager.cpp
+++ b/noncore/settings/packagemanager/opackagemanager.cpp
@@ -271,21 +271,3 @@ OConfItem *OPackageManager::findConfItem( OConfItem::Type type, const QString &n
271{ 271{
272 OConfItem *confItem = 0x0; 272 return m_ipkg.findConfItem( type, name );
273 OConfItemList *confList = m_ipkg.configItems();
274 if ( confList )
275 {
276 for ( OConfItemListIterator confIt( *confList ); confIt.current(); ++confIt )
277 {
278 OConfItem *conf = confIt.current();
279
280 // Add only active confinations
281 if ( conf->type() == type && conf->name() == name )
282 {
283 confItem = conf;
284 break;
285 }
286 }
287 }
288
289 return confItem;
290
291} 273}
diff --git a/noncore/settings/packagemanager/opie-packagemanager.control b/noncore/settings/packagemanager/opie-packagemanager.control
index cdf419c..da3ddfe 100644
--- a/noncore/settings/packagemanager/opie-packagemanager.control
+++ b/noncore/settings/packagemanager/opie-packagemanager.control
@@ -4,3 +4,3 @@ Priority: optional
4Section: opie/settings 4Section: opie/settings
5Depends: task-opie-minimal, libopiecore2, libopieui2, libipkg (>=0.99.120), ipkg-link 5Depends: task-opie-minimal, libopiecore2, libopieui2, libipkg (>=0.99.120)
6Replaces: packagemanager 6Replaces: packagemanager
@@ -9,2 +9,2 @@ Maintainer: Dan Williams (drw@handhelds.org)
9Description: Opie package management client 9Description: Opie package management client
10Version: 0.6.0$EXTRAVERSION 10Version: 0.6.1$EXTRAVERSION
diff --git a/noncore/settings/packagemanager/packageinfodlg.cpp b/noncore/settings/packagemanager/packageinfodlg.cpp
index 5f72a67..3eef939 100644
--- a/noncore/settings/packagemanager/packageinfodlg.cpp
+++ b/noncore/settings/packagemanager/packageinfodlg.cpp
@@ -78,3 +78,4 @@ PackageInfoDlg::PackageInfoDlg( QWidget *parent, OPackageManager *pm, const QStr
78 QStringList list( package ); 78 QStringList list( package );
79 m_packman->executeCommand( OPackage::Info, list, QString::null, this, SLOT(slotInfo(char*)), true ); 79 m_packman->executeCommand( OPackage::Info, list, QString::null,
80 this, SLOT(slotInfo(const QString &)), true );
80 } 81 }
@@ -130,3 +131,4 @@ void PackageInfoDlg::slotBtnFileScan()
130 QStringList list( m_package->name() ); 131 QStringList list( m_package->name() );
131 m_packman->executeCommand( OPackage::Files, list, QString::null, this, SLOT(slotFiles(char*)), true ); 132 m_packman->executeCommand( OPackage::Files, list, QString::null,
133 this, SLOT(slotFiles(const QString &)), true );
132 134
@@ -136,3 +138,3 @@ void PackageInfoDlg::slotBtnFileScan()
136 138
137void PackageInfoDlg::slotInfo( char *info ) 139void PackageInfoDlg::slotInfo( const QString &info )
138{ 140{
@@ -141,3 +143,3 @@ void PackageInfoDlg::slotInfo( char *info )
141 143
142void PackageInfoDlg::slotFiles( char *filelist ) 144void PackageInfoDlg::slotFiles( const QString &filelist )
143{ 145{
diff --git a/noncore/settings/packagemanager/packageinfodlg.h b/noncore/settings/packagemanager/packageinfodlg.h
index d1830de..2962f9a 100644
--- a/noncore/settings/packagemanager/packageinfodlg.h
+++ b/noncore/settings/packagemanager/packageinfodlg.h
@@ -61,4 +61,4 @@ private slots:
61 void slotBtnFileScan(); 61 void slotBtnFileScan();
62 void slotInfo( char *info ); 62 void slotInfo( const QString &info );
63 void slotFiles( char *filelist ); 63 void slotFiles( const QString &filelist );
64}; 64};