From 485fae36510cb42690c9df55fae64312b1e656ae Mon Sep 17 00:00:00 2001 From: andyq Date: Sun, 03 Nov 2002 01:19:52 +0000 Subject: Added search for package feature --- (limited to 'noncore/settings/aqpkg/networkpkgmgr.cpp') diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp index ccce401..78d3df5 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.cpp +++ b/noncore/settings/aqpkg/networkpkgmgr.cpp @@ -470,7 +470,7 @@ void NetworkPackageManager :: applyChanges() // Now for each selected item // deal with it - vector workingPackages; + vector workingPackages; for ( QCheckListItem *item = (QCheckListItem *)packagesList->firstChild(); item != 0 ; item = (QCheckListItem *)item->nextSibling() ) @@ -673,3 +673,35 @@ void NetworkPackageManager :: letterPushed( QString t ) item = (QCheckListItem *)packagesList->firstChild(); } while ( item != start); } + + +void NetworkPackageManager :: searchForPackage() +{ + bool ok = FALSE; + QString searchText = InputDialog::getText( "Search for package", "Enter package to search for", QString::null, &ok, this ).lower(); + if ( ok && !searchText.isEmpty() ) + { + cout << "searching for " << searchText << endl; + // look through package list for text startng at current position + vector workingPackages; + QCheckListItem *start = (QCheckListItem *)packagesList->currentItem(); + if ( start != 0 ) + start = (QCheckListItem *)start->nextSibling(); + + if ( start == 0 ) + start = (QCheckListItem *)packagesList->firstChild(); + + for ( QCheckListItem *item = start; item != 0 ; + item = (QCheckListItem *)item->nextSibling() ) + { + cout << "checking " << item->text().lower() << endl; + if ( item->text().lower().find( searchText ) != -1 ) + { + cout << "matched " << item->text() << endl; + packagesList->ensureItemVisible( item ); + packagesList->setCurrentItem( item ); + break; + } + } + } +} \ No newline at end of file -- cgit v0.9.0.2