1
0
mirror of https://github.com/danog/Telegram.git synced 2024-12-03 09:57:46 +01:00
Telegram/Telegraph/TGModernConversationUpgradeStateTitlePanel.m
2015-10-01 19:19:52 +03:00

103 lines
3.4 KiB
Objective-C

#import "TGModernConversationUpgradeStateTitlePanel.h"
#import "TGImageUtils.h"
#import "TGFont.h"
#import "TGModernButton.h"
#import "TGBackdropView.h"
@interface TGModernConversationUpgradeStateTitlePanel ()
{
CALayer *_stripeLayer;
UIView *_backgroundView;
UILabel *_label;
TGModernButton *_actionButton;
}
@end
@implementation TGModernConversationUpgradeStateTitlePanel
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, 35.0f)];
if (self)
{
if (!TGBackdropEnabled())
{
_backgroundView = [TGBackdropView viewWithLightNavigationBarStyle];
[self addSubview:_backgroundView];
}
else
{
UIToolbar *toolbar = [[UIToolbar alloc] init];
_backgroundView = toolbar;
[self addSubview:_backgroundView];
}
_stripeLayer = [[CALayer alloc] init];
_stripeLayer.backgroundColor = UIColorRGB(0xb2b2b2).CGColor;
[self.layer addSublayer:_stripeLayer];
_label = [[UILabel alloc] init];
_label.textColor = UIColorRGB(0x777777);
_label.font = TGSystemFontOfSize(15);
[self addSubview:_label];
_actionButton = [[TGModernButton alloc] init];
_actionButton.adjustsImageWhenDisabled = false;
_actionButton.adjustsImageWhenHighlighted = false;
[_actionButton setTitleColor:TGAccentColor()];
_actionButton.titleLabel.font = TGSystemFontOfSize(15);
[_actionButton addTarget:self action:@selector(actionButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[_actionButton setTitle:@"Rekey" forState:UIControlStateNormal];
_actionButton.hidden = true;
[_actionButton sizeToFit];
_actionButton.frame = CGRectMake(0.0f, 0.0f, _actionButton.frame.size.width + 20.0f, 35.0f);
[self addSubview:_actionButton];
}
return self;
}
- (void)setCurrentLayer:(NSUInteger)currentLayer keyId:(int64_t)keyId rekeySessionId:(int64_t)rekeySessionId canRekey:(bool)canRekey
{
NSMutableString *string = [[NSMutableString alloc] init];
[string appendFormat:@"L:%d", (int)currentLayer];
[string appendFormat:@" K:%" PRIx64 "", keyId];
if (rekeySessionId != 0)
[string appendFormat:@" R:%" PRIx64 "", rekeySessionId];
_label.text = string;
[_label sizeToFit];
_actionButton.hidden = !canRekey;
[self setNeedsLayout];
}
- (void)layoutSubviews
{
[super layoutSubviews];
_backgroundView.frame = self.bounds;
_stripeLayer.frame = CGRectMake(0.0f, self.frame.size.height - TGRetinaPixel, self.frame.size.width, TGRetinaPixel);
if (_actionButton.hidden)
{
_label.frame = CGRectMake(CGFloor((self.frame.size.width - _label.frame.size.width) / 2.0f), CGFloor((self.frame.size.height - _label.frame.size.height) / 2.0f), _label.frame.size.width, _label.frame.size.height);
}
else
{
_label.frame = CGRectMake(CGFloor((self.frame.size.width - _label.frame.size.width - _actionButton.frame.size.width) / 2.0f), CGFloor((self.frame.size.height - _label.frame.size.height) / 2.0f), _label.frame.size.width, _label.frame.size.height);
_actionButton.frame = CGRectMake(CGRectGetMaxX(_label.frame), 0.0f, _actionButton.frame.size.width, self.frame.size.height);
}
}
- (void)actionButtonPressed
{
if (_rekey)
_rekey();
}
@end