mirror of
https://github.com/danog/Telegram.git
synced 2024-12-04 10:27:46 +01:00
89 lines
2.7 KiB
Mathematica
89 lines
2.7 KiB
Mathematica
|
#import "TGMessageViewWebPageRowController.h"
|
||
|
|
||
|
#import "WKInterfaceGroup+Signals.h"
|
||
|
#import "TGBridgeMediaSignals.h"
|
||
|
|
||
|
#import "TGMessageViewModel.h"
|
||
|
#import "TGBridgeImageMediaAttachment.h"
|
||
|
#import "TGBridgeWebPageMediaAttachment.h"
|
||
|
|
||
|
NSString *const TGMessageViewWebPageRowIdentifier = @"TGMessageViewWebPageRow";
|
||
|
|
||
|
@interface TGMessageViewWebPageRowController ()
|
||
|
{
|
||
|
int64_t _photoId;
|
||
|
}
|
||
|
@end
|
||
|
|
||
|
@implementation TGMessageViewWebPageRowController
|
||
|
|
||
|
- (void)updateWithAttachment:(TGBridgeWebPageMediaAttachment *)attachment
|
||
|
{
|
||
|
if (attachment.siteName.length > 0)
|
||
|
self.siteNameLabel.text = attachment.siteName;
|
||
|
else
|
||
|
self.siteNameLabel.hidden = true;
|
||
|
|
||
|
bool inTextImage = !([attachment.pageType isEqualToString:@"photo"] || [attachment.pageType isEqualToString:@"video"]);
|
||
|
if (attachment.pageDescription.length == 0)
|
||
|
inTextImage = false;
|
||
|
|
||
|
NSString *title = attachment.title;
|
||
|
if (title.length == 0)
|
||
|
title = attachment.author;
|
||
|
|
||
|
if (title.length > 0)
|
||
|
self.titleLabel.text = title;
|
||
|
else
|
||
|
self.titleLabel.hidden = true;
|
||
|
|
||
|
if (attachment.pageDescription.length > 0)
|
||
|
self.textLabel.text = attachment.pageDescription;
|
||
|
else
|
||
|
self.textLabel.hidden = true;
|
||
|
|
||
|
if (attachment.photo != nil)
|
||
|
{
|
||
|
if (inTextImage)
|
||
|
{
|
||
|
self.imageGroup.hidden = true;
|
||
|
|
||
|
[self.titleImageGroup setBackgroundImageSignal:[TGBridgeMediaSignals previewWithImageAttachment:attachment.photo size:CGSizeMake(26, 26)] isVisible:self.isVisible];
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
self.titleImageGroup.hidden = true;
|
||
|
self.imageGroup.hidden = false;
|
||
|
|
||
|
CGSize imageSize = CGSizeZero;
|
||
|
|
||
|
[TGMessageViewModel updateMediaGroup:self.imageGroup activityIndicator:self.activityIndicator mediaAttachment:attachment.photo currentPhoto:&_photoId standalone:true margin:0 imageSize:&imageSize isVisible:self.isVisible completion:nil];
|
||
|
|
||
|
self.imageGroup.width = imageSize.width;
|
||
|
self.imageGroup.height = imageSize.height;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
self.titleImageGroup.hidden = true;
|
||
|
self.imageGroup.hidden = true;
|
||
|
}
|
||
|
|
||
|
if (attachment.duration != nil)
|
||
|
{
|
||
|
self.durationGroup.hidden = false;
|
||
|
|
||
|
NSInteger duration = [attachment.duration doubleValue];
|
||
|
NSInteger durationMinutes = floor(duration / 60.0);
|
||
|
NSInteger durationSeconds = duration % 60;
|
||
|
self.durationLabel.text = [NSString stringWithFormat:@"%ld:%02ld", (long)durationMinutes, (long)durationSeconds];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
+ (NSString *)identifier
|
||
|
{
|
||
|
return TGMessageViewWebPageRowIdentifier;
|
||
|
}
|
||
|
|
||
|
@end
|