summaryrefslogtreecommitdiffstats
path: root/Classes/SearchViewController.m
diff options
context:
space:
mode:
Diffstat (limited to 'Classes/SearchViewController.m')
-rw-r--r--Classes/SearchViewController.m186
1 files changed, 186 insertions, 0 deletions
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