mirror of
https://github.com/danog/Telegram.git
synced 2024-12-03 09:57:46 +01:00
132 lines
4.5 KiB
Objective-C
132 lines
4.5 KiB
Objective-C
#import "TGRecentSearchResultsTableView.h"
|
|
#import "TGRecentSearchResultsCell.h"
|
|
|
|
#import "TGImageUtils.h"
|
|
#import "TGFont.h"
|
|
#import "TGModernButton.h"
|
|
|
|
@interface TGRecentSearchResultsTableView () <UITableViewDelegate, UITableViewDataSource>
|
|
{
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation TGRecentSearchResultsTableView
|
|
|
|
- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style
|
|
{
|
|
self = [super initWithFrame:frame style:style];
|
|
if (self != nil)
|
|
{
|
|
self.backgroundColor = [UIColor whiteColor];
|
|
|
|
self.delegate = self;
|
|
self.dataSource = self;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (CGFloat)tableView:(UITableView *)__unused tableView heightForHeaderInSection:(NSInteger)__unused section
|
|
{
|
|
return 28.0f;
|
|
}
|
|
|
|
- (UIView *)tableView:(UITableView *)__unused tableView viewForHeaderInSection:(NSInteger)__unused section
|
|
{
|
|
UIView *sectionContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
|
|
|
|
sectionContainer.clipsToBounds = false;
|
|
sectionContainer.opaque = false;
|
|
|
|
bool first = true;
|
|
UIView *sectionView = [[UIView alloc] initWithFrame:CGRectMake(0, first ? 0 : -1, 10, first ? 10 : 11)];
|
|
sectionView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
|
sectionView.backgroundColor = UIColorRGB(0xf7f7f7);
|
|
[sectionContainer addSubview:sectionView];
|
|
|
|
CGFloat separatorHeight = TGIsRetina() ? 0.5f : 1.0f;
|
|
UIView *separatorView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, sectionView.frame.origin.y - (first ? separatorHeight : 0.0f), 10, separatorHeight)];
|
|
separatorView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
|
|
separatorView.backgroundColor = TGSeparatorColor();
|
|
//[sectionContainer addSubview:separatorView];
|
|
|
|
UILabel *sectionLabel = [[UILabel alloc] init];
|
|
sectionLabel.tag = 100;
|
|
sectionLabel.backgroundColor = sectionView.backgroundColor;
|
|
sectionLabel.textColor = [UIColor blackColor];
|
|
sectionLabel.numberOfLines = 1;
|
|
|
|
[sectionContainer addSubview:sectionLabel];
|
|
|
|
sectionLabel.font = TGMediumSystemFontOfSize(17);
|
|
sectionLabel.text = TGLocalized(@"WebSearch.RecentSectionTitle");
|
|
sectionLabel.textColor = [UIColor blackColor];
|
|
[sectionLabel sizeToFit];
|
|
sectionLabel.frame = CGRectMake(14.0f, 3.0f + TGRetinaPixel, sectionLabel.frame.size.width, sectionLabel.frame.size.height);
|
|
|
|
TGModernButton *clearButton = [[TGModernButton alloc] init];
|
|
[clearButton setTitle:TGLocalized(@"WebSearch.RecentSectionClear") forState:UIControlStateNormal];
|
|
[clearButton setTitleColor:UIColorRGB(0x8e8e93)];
|
|
clearButton.titleLabel.font = TGSystemFontOfSize(14.0f);
|
|
[clearButton setContentEdgeInsets:UIEdgeInsetsMake(0.0f, 8.0f, 0.0f, 8.0f)];
|
|
[clearButton addTarget:self action:@selector(clearButtonPressed) forControlEvents:UIControlEventTouchUpInside];
|
|
[clearButton sizeToFit];
|
|
clearButton.frame = CGRectMake(sectionContainer.frame.size.width - clearButton.frame.size.width, 0.0f, clearButton.frame.size.width, 28.0f);
|
|
clearButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
|
|
[sectionContainer addSubview:clearButton];
|
|
|
|
return sectionContainer;
|
|
}
|
|
|
|
- (void)clearButtonPressed
|
|
{
|
|
if (_clearPressed)
|
|
_clearPressed();
|
|
}
|
|
|
|
- (NSInteger)tableView:(UITableView *)__unused tableView numberOfRowsInSection:(NSInteger)__unused section
|
|
{
|
|
return _items.count;
|
|
}
|
|
|
|
- (CGFloat)tableView:(UITableView *)__unused tableView heightForRowAtIndexPath:(NSIndexPath *)__unused indexPath
|
|
{
|
|
return 44.0f;
|
|
}
|
|
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
|
{
|
|
TGRecentSearchResultsCell *cell = (TGRecentSearchResultsCell *)[tableView dequeueReusableCellWithIdentifier:@"TGRecentSearchResultsCell"];
|
|
if (cell == nil)
|
|
{
|
|
cell = [[TGRecentSearchResultsCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"TGRecentSearchResultsCell"];
|
|
}
|
|
|
|
[cell setTitle:_items[indexPath.row]];
|
|
|
|
return cell;
|
|
}
|
|
|
|
- (void)setHidden:(BOOL)hidden
|
|
{
|
|
[super setHidden:hidden];
|
|
|
|
if (hidden && self.indexPathForSelectedRow)
|
|
[self deselectRowAtIndexPath:self.indexPathForSelectedRow animated:false];
|
|
}
|
|
|
|
- (void)setItems:(NSArray *)items
|
|
{
|
|
_items = items;
|
|
self.alpha = _items.count != 0 ? 1.0f : 0.0f;
|
|
[self reloadData];
|
|
}
|
|
|
|
- (void)tableView:(UITableView *)__unused tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
|
|
{
|
|
if (_itemSelected)
|
|
_itemSelected(_items[indexPath.row]);
|
|
}
|
|
|
|
@end
|