224
224
// find the search pattern in the string "str"
225
for(unsigned int i=0;i<searchStrings.size();i++) {
226
string searchString = searchStrings[i];
225
for(unsigned int i=0;i<_currentSearchItem.searchStrings.size();i++) {
226
string searchString = _currentSearchItem.searchStrings[i];
228
228
if(!str.empty() && strcasestr(str.c_str(), searchString.c_str())) {
229
229
global_found &= true;
242
242
//_view[searchString].push_back(NULL);
245
bool RPackageViewSearch::setSelected(string name)
247
// if we do not have the search name in the current view,
248
// check if we only have it in the searchHistory and if so,
250
if (_view.find(name) == _view.end()) {
251
map<string, searchItem>::iterator J = searchHistory.find(name);
252
if (J != searchHistory.end()) {
253
cerr << "found in search histroy, reapplying search" << endl;
256
for(int i=0;i < (*J).second.searchStrings.size();i++)
257
s += string(" ") + (*J).second.searchStrings[i];
258
// do search but do not add to history (we have it there already)
259
setSearch((*J).second.searchName, (*J).second.searchType, s,
260
// FIXME: re-use progress from setSearch()
266
return RPackageView::setSelected(name);
269
vector<string> RPackageViewSearch::getSubViews()
271
vector<string> subviews;
272
for(map<string, searchItem>::iterator I = searchHistory.begin();
273
I != searchHistory.end();
275
subviews.push_back((*I).first);
245
279
int RPackageViewSearch::setSearch(string aSearchName,
247
281
string searchString,
248
282
OpProgress &searchProgress)
252
searchName = aSearchName;
254
_view[searchName].clear();
255
searchStrings.clear();
286
_currentSearchItem.searchType = type;
287
_currentSearchItem.searchName = aSearchName;
289
_view[_currentSearchItem.searchName].clear();
290
_currentSearchItem.searchStrings.clear();
257
292
// tokenize the str and add to the searchString vector
258
293
stringstream sstream(searchString);
260
295
while(!sstream.eof()) {
262
searchStrings.push_back(s);
297
_currentSearchItem.searchStrings.push_back(s);
300
// overwrite existing ones
301
searchHistory[aSearchName] = _currentSearchItem;
265
303
// setup search progress (0 done, _all.size() in total, 1 subtask)
266
304
searchProgress.OverallProgress(0, _all.size(), 1, _("Searching"));
267
305
// reapply search when a new search strng is given
513
551
void RPackageViewOrigin::addPackage(RPackage *package)
515
554
string component = package->component();
516
string origin = package->getCanidateOrigin();
555
string origin_url = package->getCandidateOriginSiteUrl();
556
string suite = package->getCandidateOriginSuite();
557
string origin_str = package->getCandidateOriginStr();
559
// local origins are all put under local (no matter what component, section)
560
if(origin_url == "") {
561
origin_url = _("Local");
562
_view[origin_url].push_back(package);
566
// PPAs are special too
567
if(origin_str.find("LP-PPA-") != string::npos) {
568
_view[origin_str+"/"+suite].push_back(package);
519
572
if(component == "")
520
573
component = _("Unknown");
521
_view[origin+"/"+component].push_back(package);
577
subview = suite+"/"+component+" ("+origin_url+")";
578
_view[subview].push_back(package);
524
581
// vim:sts=3:sw=3