83 lines
2 KiB
Objective-C
83 lines
2 KiB
Objective-C
//
|
|
// MLChatCell.m
|
|
// Monal
|
|
//
|
|
// Created by Anurodh Pokharel on 8/20/13.
|
|
//
|
|
//
|
|
|
|
#import "MLChatCell.h"
|
|
#import "MLImageManager.h"
|
|
#import "MLConstants.h"
|
|
#import "HelperTools.h"
|
|
|
|
@import SafariServices;
|
|
|
|
|
|
@implementation MLChatCell
|
|
|
|
-(void) updateCellWithNewSender:(BOOL) newSender
|
|
{
|
|
[super updateCellWithNewSender:newSender];
|
|
|
|
if(self.outBound)
|
|
{
|
|
self.textLabel.textColor = [UIColor whiteColor];
|
|
self.bubbleImage.image = [[MLImageManager sharedInstance] outboundImage];
|
|
}
|
|
else
|
|
{
|
|
self.textLabel.textColor = [UIColor blackColor];
|
|
self.bubbleImage.image = [[MLImageManager sharedInstance] inboundImage];
|
|
}
|
|
}
|
|
|
|
|
|
-(BOOL) canPerformAction:(SEL) action withSender:(id) sender
|
|
{
|
|
if(action == @selector(openlink:))
|
|
{
|
|
if(self.link)
|
|
return YES;
|
|
}
|
|
return (action == @selector(copy:));
|
|
}
|
|
|
|
|
|
-(void) openlink:(id) sender {
|
|
|
|
if(self.link)
|
|
{
|
|
NSURL* url = [NSURL URLWithString:self.link];
|
|
DDLogInfo(@"Opening link (inline=%@): %@", bool2str([[HelperTools defaultsDB] boolForKey: @"useInlineSafari"]), url);
|
|
if([[HelperTools defaultsDB] boolForKey: @"useInlineSafari"] && ([url.scheme.lowercaseString isEqualToString:@"http"] || [url.scheme.lowercaseString isEqualToString:@"https"]))
|
|
{
|
|
SFSafariViewController* safariView = [[SFSafariViewController alloc] initWithURL:url];
|
|
[self.parent presentViewController:safariView animated:YES completion:nil];
|
|
}
|
|
else
|
|
[[UIApplication sharedApplication] performSelector:@selector(openURL:) withObject:url];
|
|
}
|
|
}
|
|
|
|
-(void) copy:(id) sender {
|
|
UIPasteboard* pboard = [UIPasteboard generalPasteboard];
|
|
pboard.string = self.messageBody.text;
|
|
}
|
|
|
|
-(void) prepareForReuse
|
|
{
|
|
[super prepareForReuse];
|
|
self.messageBody.attributedText = nil;
|
|
self.messageBody.text = @"";
|
|
}
|
|
|
|
- (void)setSelected:(BOOL) selected animated:(BOOL) animated
|
|
{
|
|
[super setSelected:selected animated:animated];
|
|
|
|
// Configure the view for the selected state
|
|
}
|
|
|
|
@end
|