author | andyq <andyq> | 2002-11-02 14:02:34 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-11-02 14:02:34 (UTC) |
commit | e622033e90f34ba60075f30a9049b0b266c61cb5 (patch) (side-by-side diff) | |
tree | 19c93b79359661222902edf71e9ea89c6ff66aef | |
parent | cf34849ac5c3eb9d16929cc88834973910209f74 (diff) | |
download | opie-e622033e90f34ba60075f30a9049b0b266c61cb5.zip opie-e622033e90f34ba60075f30a9049b0b266c61cb5.tar.gz opie-e622033e90f34ba60075f30a9049b0b266c61cb5.tar.bz2 |
Nows asks before deleting local ipk files
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp index dee834e..ccce401 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.cpp +++ b/noncore/settings/aqpkg/networkpkgmgr.cpp @@ -353,24 +353,25 @@ void NetworkPackageManager :: upgradePackages() InstallDlgImpl dlg( &ipkg, "Upgrading installed packages", this, "Upgrade", true ); dlg.showDlg(); // Reload data dataMgr->reloadServerData(); serverSelected(-1); } } void NetworkPackageManager :: downloadPackage() { + bool doUpdate = true; if ( download->text() == "Download" ) { // First, write out ipkg_conf file so that ipkg can use it dataMgr->writeOutIpkgConf(); // Display dialog to user asking where to download the files to bool ok = FALSE; QString dir = ""; #ifdef QWS // read download directory from config file Config cfg( "aqpkg" ); cfg.setGroup( "settings" ); @@ -411,48 +412,60 @@ void NetworkPackageManager :: downloadPackage() // if (there is a (installed), remove it pos = name.find( "(installed)" ); if ( pos > 0 ) name.truncate( pos - 1 ); ipkg.setPackage( name ); ipkg.runIpkg( ); } } } else if ( download->text() == "Remove" ) { + doUpdate = false; for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); item != 0 ; item = (QCheckListItem *)item->nextSibling() ) { if ( item->isOn() ) { QString name = item->text(); int pos = name.find( "*" ); name.truncate( pos ); // if (there is a (installed), remove it pos = name.find( "(installed)" ); if ( pos > 0 ) name.truncate( pos - 1 ); Package *p = dataMgr->getServer( serversList->currentText() )->getPackage( name ); - QFile f( p->getFilename() ); - f.remove(); + + QString msgtext; + msgtext.sprintf( "Are you sure you wish to delete\n%s?", (const char *)p->getPackageName() ); + if ( QMessageBox::information( this, "Are you sure?", + msgtext, "No", "Yes" ) == 1 ) + { + doUpdate = true; + QFile f( p->getFilename() ); + f.remove(); + } } } } - dataMgr->reloadServerData(); - serverSelected( -1 ); + if ( doUpdate ) + { + dataMgr->reloadServerData(); + serverSelected( -1 ); + } } void NetworkPackageManager :: applyChanges() { stickyOption = ""; // First, write out ipkg_conf file so that ipkg can use it dataMgr->writeOutIpkgConf(); // Now for each selected item // deal with it |