summaryrefslogtreecommitdiff
path: root/noncore
authorandyq <andyq>2002-11-02 14:02:34 (UTC)
committer andyq <andyq>2002-11-02 14:02:34 (UTC)
commite622033e90f34ba60075f30a9049b0b266c61cb5 (patch) (side-by-side diff)
tree19c93b79359661222902edf71e9ea89c6ff66aef /noncore
parentcf34849ac5c3eb9d16929cc88834973910209f74 (diff)
downloadopie-e622033e90f34ba60075f30a9049b0b266c61cb5.zip
opie-e622033e90f34ba60075f30a9049b0b266c61cb5.tar.gz
opie-e622033e90f34ba60075f30a9049b0b266c61cb5.tar.bz2
Nows asks before deleting local ipk files
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/networkpkgmgr.cpp21
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