+ if (section == nil || last != seen) {
+ last = seen;
+
+ NSString *name;
+ name = (NSString *) CFDateFormatterCreateStringWithDate(NULL, formatter, (CFDateRef) [NSDate dateWithTimeIntervalSince1970:seen]);
+ [name autorelease];
+
+ _profile(ChangesController$reloadData$Allocate)
+ name = [NSString stringWithFormat:UCLocalize("NEW_AT"), name];
+ section = [[[Section alloc] initWithName:name row:offset localize:NO] autorelease];
+ [sections_ addObject:section];
+ _end
+ }
+
+ [section addToCount];
+ } else if ([package ignored]) {
+ if (ignored == nil) {
+ ignored = [[[Section alloc] initWithName:UCLocalize("IGNORED_UPGRADES") row:offset localize:NO] autorelease];
+ }
+ [ignored addToCount];
+ } else {
+ ++upgrades_;
+ [upgradable addToCount];
+ }
+ }
+ _trace();
+
+ CFRelease(formatter);
+
+ if (unseens) {
+ Section *last = [sections_ lastObject];
+ size_t count = [last count];
+ CFArrayReplaceValues(packages_, CFRangeMake(CFArrayGetCount(packages_) - count, count), NULL, 0);
+ [sections_ removeLastObject];
+ }
+
+ if ([ignored count] != 0)
+ [sections_ insertObject:ignored atIndex:0];
+ if (upgrades_ != 0)
+ [sections_ insertObject:upgradable atIndex:0];
+
+ [list_ reloadData];
+
+ if (upgrades_ > 0)
+ [[self navigationItem] setRightBarButtonItem:[[[UIBarButtonItem alloc]
+ initWithTitle:[NSString stringWithFormat:UCLocalize("PARENTHETICAL"), UCLocalize("UPGRADE"), [NSString stringWithFormat:@"%u", upgrades_]]
+ style:UIBarButtonItemStylePlain
+ target:self
+ action:@selector(upgradeButtonClicked)
+ ] autorelease]];
+
+ if (![delegate_ updating])
+ [[self navigationItem] setLeftBarButtonItem:[[[UIBarButtonItem alloc]
+ initWithTitle:UCLocalize("REFRESH")
+ style:UIBarButtonItemStylePlain
+ target:self
+ action:@selector(refreshButtonClicked)
+ ] autorelease]];
+
+ PrintTimes();
+} }
+
+@end
+/* }}} */
+/* Search Controller {{{ */
+@interface SearchController : FilteredPackageController <
+ UISearchBarDelegate
+> {
+ UISearchBar *search_;
+}
+
+- (id) initWithDatabase:(Database *)database;
+- (void) setSearchTerm:(NSString *)term;
+- (void) reloadData;