From 869398ebfb18702b9de42f723ff8072b116eb04f Mon Sep 17 00:00:00 2001 From: matt handler Date: Fri, 29 Apr 2011 16:35:15 -0400 Subject: changing subscribedSources -> sources, adding instant level today/tomorrow/yesterday for section headers, setting status bar to black and showing once app loads, handling url just an nslog right now, updated image, added piccast:// protocol, setting up faves in the db, adding search and browse views --- Classes/SearchViewController.m | 186 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 Classes/SearchViewController.m (limited to 'Classes/SearchViewController.m') diff --git a/Classes/SearchViewController.m b/Classes/SearchViewController.m new file mode 100644 index 0000000..8272dd9 --- /dev/null +++ b/Classes/SearchViewController.m @@ -0,0 +1,186 @@ +// +// SearchViewController.m +// PicCast +// +// Created by Matthew Handler on 4/28/11. +// Copyright 2011 Earl Industries. All rights reserved. +// + +#import "SearchViewController.h" +#import "PicCastAppDelegate.h" + + +@implementation SearchViewController + +@synthesize tableView, mainSearchBar; + +- (void)viewDidLoad { + [super viewDidLoad]; + + [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine]; + [self.tableView setSeparatorColor:[UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0]]; + + objMan = [[HJObjManager alloc] initWithLoadingBufferSize:6 memCacheSize:20]; + + NSString* cacheDirectory = [NSHomeDirectory() stringByAppendingString:@"/Library/Caches/imgcache/icons/"] ; + HJMOFileCache* fileCache = [[[HJMOFileCache alloc] initWithRootPath:cacheDirectory] autorelease]; + objMan.fileCache = fileCache; + + // Have the file cache trim itself down to a size & age limit, so it doesn't grow forever + fileCache.fileCountLimit = 100; + fileCache.fileAgeLimit = 60*60*24*7; //1 week + [fileCache trimCacheUsingBackgroundThread]; + + tableDictionary = [[[SectionDictionary alloc] init] retain]; + sourcesDictionary = [[[NSMutableDictionary alloc] init] retain]; + + db = [[FMDatabase databaseWithPath:[PicCastAppDelegate getDatabasePath]] retain]; + [db setShouldCacheStatements:NO]; + // [db setTraceExecution:true]; + // [db setLogsErrors:true]; + +// [self getTopicsFromDb]; +// +// [self loadSubscribedTopics]; +} + +- (id)initWithFrame:(CGRect)frame { + + self = [super initWithFrame:frame]; + if (self) { + // Initialization code. + } + return self; +} + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code. +} +*/ + +- (void)viewWillAppear:(BOOL)animated { + NSIndexPath *selectedRowIndexPath = [self.tableView indexPathForSelectedRow]; + if (selectedRowIndexPath != nil) { + [self.tableView deselectRowAtIndexPath:selectedRowIndexPath animated:NO]; + } +} + +#pragma mark - +#pragma mark UISearchBar protocol + +- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { + +// if ([searchText length] > 0) { +// NSError *error = NULL; +// NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^a-zA-Z]" +// options:NSRegularExpressionCaseInsensitive +// error:&error]; +// +// NSString *newString = [regex stringByReplacingMatchesInString:searchText +// options:NSRegularExpressionCaseInsensitive +// range:[searchBar.text rangeOfString:searchText] +// withTemplate:@""]; +// +// if (![newString isEqualToString:searchBar.text]) +// searchBar.text = newString; +// } +} + +- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { + [searchBar setShowsCancelButton:YES animated:YES]; + self.tableView.allowsSelection = NO; + self.tableView.scrollEnabled = NO; +} + +- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { + searchBar.text = @""; + + [searchBar setShowsCancelButton:NO animated:YES]; + [searchBar resignFirstResponder]; + self.tableView.allowsSelection = YES; + self.tableView.scrollEnabled = YES; +} + +- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { + [searchBar setShowsCancelButton:NO animated:YES]; + [searchBar resignFirstResponder]; + +// [MBProgressHUD showHUDAddedTo:self.view animated:YES]; +// +// _searchString = [searchBar.text copy]; +// [searchBar setShowsCancelButton:NO animated:YES]; +// [searchBar resignFirstResponder]; +// +// NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.werdmerge.com/search.php?word=%@", searchBar.text]] +// cachePolicy:NSURLRequestUseProtocolCachePolicy +// timeoutInterval:60.0]; +// +// if ([NSURLConnection connectionWithRequest:theRequest delegate:self]) { +// [_receivedData setLength:0]; +// } else { +// [MBProgressHUD hideHUDForView:self.view animated:YES]; +// [WerdMergeAppDelegate prompt:@"Error" withMessage:@"No internet connection" andButtonTitle:@"shucks" withDelegate:self]; +// } +// +// [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"haveSearched"]; + +} + +#pragma mark - +#pragma mark uitableviewcontroller protocol + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 10; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return 5; +} + +- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { + return @"tamper proof cap"; +} + +//- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +//{ +// if (indexPath.section + 1 == [tableDictionary count] && +// indexPath.row == [[tableDictionary objectForIndex:indexPath.section] count]) +// return 44; +// else +// return 100; +//} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + static NSString *identifier = @"resultCell"; + + UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:identifier]; + + if (cell == nil) { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier] autorelease]; + } + + return cell; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + +} + + +- (void)dealloc { + [mainSearchBar release]; + [tableView release]; + [tableDictionary release]; + [photoViewController release]; + [sourcesDictionary release]; + [objMan release]; + [searchString release]; + [super dealloc]; +} + + +@end -- cgit v1.2.3