another.im-ios/Monal/Classes/MLBaseCell.m
2024-11-18 15:53:52 +01:00

111 lines
2.7 KiB
Objective-C

//
// MLBaseCell.m
// Monal
//
// Created by Anurodh Pokharel on 12/24/17.
// Copyright © 2017 Monal.im. All rights reserved.
//
#import "HelperTools.h"
#import "MLBaseCell.h"
#import "MLMessage.h"
@implementation MLBaseCell
-(id) init
{
self = [super init];
[self setRetryButtonImage];
return self;
}
-(void) initCell:(MLMessage*) message
{
[self setRetryButtonImage];
self.messageHistoryId = message.messageDBId;
self.messageBody.text = message.messageText;
self.outBound = !message.inbound;
}
-(void) setRetryButtonImage
{
[self.retry setImage:[UIImage systemImageNamed:@"info.circle"] forState:UIControlStateNormal];
}
- (void)awakeFromNib {
[super awakeFromNib];
BOOL backgrounds = [[HelperTools defaultsDB] boolForKey:@"ChatBackgrounds"];
if(backgrounds) {
self.name.textColor=[UIColor whiteColor];
self.date.textColor=[UIColor whiteColor];
self.messageStatus.textColor=[UIColor whiteColor];
self.dividerDate.textColor=[UIColor whiteColor];
}
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
-(void) updateCellWithNewSender:(BOOL) newSender
{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
if([self.parent respondsToSelector:@selector(retry:)]) {
[self.retry addTarget:self.parent action:@selector(retry:) forControlEvents:UIControlEventTouchUpInside];
}
#pragma clang diagnostic pop
self.retry.tag= [self.messageHistoryId integerValue];
if(self.deliveryFailed) {
self.retry.hidden=NO;
}
else{
self.retry.hidden=YES;
}
if(self.name) {
if(self.name.text.length==0) {
self.nameHeight.constant=0;
self.bubbleTop.constant=0;
self.dayTop.constant=0;
} else {
self.nameHeight.constant= kDefaultTextHeight;
self.bubbleTop.constant=kDefaultTextOffset;
self.dayTop.constant=kDefaultTextOffset;
}
}
if(self.dividerDate.text.length==0) {
self.dividerHeight.constant=0;
if(!self.name) {
self.bubbleTop.constant=0;
self.dayTop.constant=0;
}
} else {
if(!self.name) {
self.bubbleTop.constant=kDefaultTextOffset;
self.dayTop.constant=kDefaultTextOffset;
}
self.dividerHeight.constant=kDefaultTextHeight;
}
if(newSender && self.dividerHeight.constant==0) {
self.dividerHeight.constant= kDefaultTextHeight/2;
}
}
-(void)prepareForReuse{
[super prepareForReuse];
self.deliveryFailed=NO;
self.outBound=NO;
}
@end