925 lines
26 KiB
Plaintext
925 lines
26 KiB
Plaintext
/*
|
|
This file is part of Telegram Desktop,
|
|
the official desktop application for the Telegram messaging service.
|
|
|
|
For license and copyright information please follow this link:
|
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
*/
|
|
using "ui/basic.style";
|
|
|
|
using "boxes/boxes.style";
|
|
using "ui/widgets/widgets.style";
|
|
using "ui/chat/chat.style"; // GroupCallUserpics.
|
|
|
|
InfoToggle {
|
|
color: color;
|
|
duration: int;
|
|
size: pixels;
|
|
skip: pixels;
|
|
stroke: pixels;
|
|
rippleAreaPadding: pixels;
|
|
}
|
|
|
|
InfoPeerBadge {
|
|
verified: icon;
|
|
premium: icon;
|
|
premiumFg: color;
|
|
position: point;
|
|
sizeTag: int;
|
|
}
|
|
|
|
infoMediaHeaderFg: windowFg;
|
|
|
|
infoToggleCheckbox: Checkbox(defaultCheckbox) {
|
|
margin: margins(0px, 0px, 0px, 0px);
|
|
rippleBgActive: windowBgOver;
|
|
checkPosition: point(16px, 8px);
|
|
rippleAreaPosition: point(-8px, -8px);
|
|
}
|
|
infoToggle: InfoToggle {
|
|
color: menuIconFg;
|
|
duration: slideWrapDuration;
|
|
size: 24px;
|
|
skip: 5px;
|
|
stroke: 2px;
|
|
rippleAreaPadding: 8px;
|
|
}
|
|
|
|
infoMediaSearch: SearchFieldRow {
|
|
height: 44px;
|
|
padding: margins(8px, 6px, 8px, 6px);
|
|
field: defaultMultiSelectSearchField;
|
|
fieldIcon: icon {{
|
|
"box_search-flip_horizontal",
|
|
menuIconFg,
|
|
point(6px, 8px)
|
|
}};
|
|
fieldIconSkip: 36px;
|
|
fieldCancel: defaultMultiSelectSearchCancel;
|
|
fieldCancelSkip: 40px;
|
|
}
|
|
infoLayerMediaSearch: SearchFieldRow(infoMediaSearch) {
|
|
height: 46px;
|
|
fieldIcon: icon {{
|
|
"box_search-flip_horizontal",
|
|
menuIconFg,
|
|
point(9px, 9px)
|
|
}};
|
|
fieldIconSkip: 34px;
|
|
fieldCancel: CrossButton(defaultMultiSelectSearchCancel) {
|
|
width: 50px;
|
|
cross: CrossAnimation {
|
|
size: 38px;
|
|
skip: 12px;
|
|
stroke: 1.5;
|
|
minScale: 0.3;
|
|
}
|
|
crossPosition: point(3px, 4px);
|
|
}
|
|
fieldCancelSkip: 46px;
|
|
}
|
|
infoTopBarSearchRow: SearchFieldRow(infoLayerMediaSearch) {
|
|
height: 52px;
|
|
padding: margins(0px, 12px, 8px, 10px);
|
|
fieldCancel: CrossButton(defaultMultiSelectSearchCancel) {
|
|
width: 51px;
|
|
height: 52px;
|
|
cross: CrossAnimation {
|
|
size: 42px;
|
|
skip: 14px;
|
|
stroke: 1.5;
|
|
minScale: 0.3;
|
|
}
|
|
crossPosition: point(1px, 6px);
|
|
}
|
|
}
|
|
|
|
infoSlideDuration: 0;
|
|
|
|
infoTopBarBackIcon: icon {{ "info/info_back", boxTitleCloseFg }};
|
|
infoTopBarBackIconOver: icon {{ "info/info_back", boxTitleCloseFgOver }};
|
|
infoTopBarHeight: 54px;
|
|
infoTopBarBack: IconButton(defaultIconButton) {
|
|
width: 60px;
|
|
height: infoTopBarHeight;
|
|
|
|
icon: infoTopBarBackIcon;
|
|
iconOver: infoTopBarBackIconOver;
|
|
iconPosition: point(11px, -1px);
|
|
|
|
rippleAreaPosition: point(6px, 6px);
|
|
rippleAreaSize: 42px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
infoTopBarTitle: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowBoldFg;
|
|
maxHeight: 20px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px semibold);
|
|
linkFont: font(14px semibold);
|
|
linkFontOver: font(14px semibold);
|
|
}
|
|
}
|
|
infoTopBarMediaCancel: IconButton(infoTopBarBack) {
|
|
width: infoTopBarHeight;
|
|
icon: icon {{ "info/info_close", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_close", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBarClose: IconButton(infoTopBarMediaCancel) {
|
|
width: 48px;
|
|
iconPosition: point(5px, -1px);
|
|
rippleAreaPosition: point(0px, 6px);
|
|
}
|
|
infoTopBarSearch: IconButton(infoTopBarBack) {
|
|
width: 56px;
|
|
icon: icon {{ "top_bar_search", boxTitleCloseFg }};
|
|
iconOver: icon {{ "top_bar_search", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBarMenu: IconButton(infoTopBarBack) {
|
|
width: 48px;
|
|
icon: icon {{ "title_menu_dots", boxTitleCloseFg }};
|
|
iconOver: icon {{ "title_menu_dots", boxTitleCloseFgOver }};
|
|
iconPosition: point(18px, -1px);
|
|
rippleAreaPosition: point(1px, 6px);
|
|
}
|
|
infoTopBarCall: IconButton(infoTopBarMenu) {
|
|
width: 42px;
|
|
icon: icon {{ "top_bar_call", boxTitleCloseFg }};
|
|
iconOver: icon {{ "top_bar_call", boxTitleCloseFgOver }};
|
|
iconPosition: point(5px, -1px);
|
|
rippleAreaPosition: point(0px, 6px);
|
|
}
|
|
infoTopBarForward: IconButton(infoTopBarBack) {
|
|
width: 46px;
|
|
icon: icon {{ "info/info_media_forward", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_forward", boxTitleCloseFgOver }};
|
|
iconPosition: point(10px, -1px);
|
|
rippleAreaPosition: point(1px, 6px);
|
|
}
|
|
infoTopBarDelete: IconButton(infoTopBarForward) {
|
|
icon: icon {{ "info/info_media_delete", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_delete", boxTitleCloseFgOver }};
|
|
}
|
|
infoTopBar: InfoTopBar {
|
|
height: infoTopBarHeight;
|
|
back: infoTopBarBack;
|
|
title: infoTopBarTitle;
|
|
titlePosition: point(24px, 17px);
|
|
bg: windowBg;
|
|
mediaCancel: infoTopBarMediaCancel;
|
|
mediaActionsSkip: 4px;
|
|
mediaForward: infoTopBarForward;
|
|
mediaDelete: infoTopBarDelete;
|
|
search: infoTopBarSearch;
|
|
searchRow: infoTopBarSearchRow;
|
|
highlightBg: windowBgOver;
|
|
highlightDuration: 240;
|
|
radius: 0px;
|
|
}
|
|
infoTopBarScale: 0.7;
|
|
infoTopBarDuration: 150;
|
|
|
|
infoLayerTopMinimal: 20px;
|
|
infoLayerTopMaximal: 40px;
|
|
infoLayerTopBarHeight: 56px;
|
|
infoLayerTopBarBackIcon: icon {{ "info/info_back", boxTitleCloseFg }};
|
|
infoLayerTopBarBackIconOver: icon {{ "info/info_back", boxTitleCloseFgOver }};
|
|
infoLayerTopBarBack: IconButton(infoTopBarBack) {
|
|
width: 60px;
|
|
height: infoLayerTopBarHeight;
|
|
|
|
iconPosition: point(10px, -1px);
|
|
icon: infoLayerTopBarBackIcon;
|
|
iconOver: infoLayerTopBarBackIconOver;
|
|
rippleAreaSize: 40px;
|
|
rippleAreaPosition: point(6px, 8px);
|
|
}
|
|
infoLayerTopBarMediaCancel: IconButton(infoLayerTopBarBack) {
|
|
width: 48px;
|
|
icon: icon {{ "info/info_close", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_close", boxTitleCloseFgOver }};
|
|
}
|
|
infoLayerTopBarClose: IconButton(infoLayerTopBarMediaCancel) {
|
|
iconPosition: point(4px, -1px);
|
|
rippleAreaPosition: point(0px, 8px);
|
|
}
|
|
infoLayerTopBarMenu: IconButton(infoLayerTopBarClose) {
|
|
width: 40px;
|
|
icon: icon {{ "title_menu_dots", boxTitleCloseFg }};
|
|
iconOver: icon {{ "title_menu_dots", boxTitleCloseFgOver }};
|
|
iconPosition: point(16px, -1px);
|
|
}
|
|
infoLayerTopBarCall: IconButton(infoLayerTopBarMenu) {
|
|
icon: icon {{ "top_bar_call", boxTitleCloseFg }};
|
|
iconOver: icon {{ "top_bar_call", boxTitleCloseFgOver }};
|
|
iconPosition: point(3px, -1px);
|
|
}
|
|
infoLayerTopBarForward: IconButton(infoLayerTopBarBack) {
|
|
width: 45px;
|
|
icon: icon {{ "info/info_media_forward", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_forward", boxTitleCloseFgOver }};
|
|
iconPosition: point(11px, -1px);
|
|
rippleAreaPosition: point(3px, 8px);
|
|
}
|
|
infoLayerTopBarDelete: IconButton(infoLayerTopBarForward) {
|
|
icon: icon {{ "info/info_media_delete", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_media_delete", boxTitleCloseFgOver }};
|
|
}
|
|
infoLayerTopBar: InfoTopBar(infoTopBar) {
|
|
height: infoLayerTopBarHeight;
|
|
back: infoLayerTopBarBack;
|
|
title: boxTitle;
|
|
titlePosition: point(24px, 17px);
|
|
bg: boxBg;
|
|
mediaCancel: infoLayerTopBarMediaCancel;
|
|
mediaActionsSkip: 6px;
|
|
mediaForward: infoLayerTopBarForward;
|
|
mediaDelete: infoLayerTopBarDelete;
|
|
search: infoTopBarSearch;
|
|
searchRow: infoTopBarSearchRow;
|
|
radius: boxRadius;
|
|
}
|
|
|
|
infoTopBarMenuPosition: point(-2px, 35px);
|
|
infoLayerTopBarMenuPosition: point(40px, 37px);
|
|
|
|
infoMinimalWidth: 324px;
|
|
infoDesiredWidth: 392px;
|
|
infoMinimalLayerMargin: 48px;
|
|
|
|
infoTabs: SettingsSlider(defaultTabsSlider) {
|
|
height: 55px;
|
|
barTop: 52px;
|
|
labelTop: 19px;
|
|
}
|
|
|
|
InfoProfileCover {
|
|
height: pixels;
|
|
photo: UserpicButton;
|
|
photoLeft: pixels;
|
|
photoTop: pixels;
|
|
name: FlatLabel;
|
|
nameLeft: pixels;
|
|
nameTop: pixels;
|
|
status: FlatLabel;
|
|
statusLeft: pixels;
|
|
statusTop: pixels;
|
|
rightSkip: pixels;
|
|
}
|
|
infoProfilePhotoInnerSize: 72px;
|
|
infoProfilePhotoSize: size(
|
|
infoProfilePhotoInnerSize,
|
|
infoProfilePhotoInnerSize);
|
|
infoProfileStatus: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 18px;
|
|
textFg: windowSubTextFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: normalFont;
|
|
linkFont: normalFont;
|
|
linkFontOver: normalFont;
|
|
}
|
|
}
|
|
infoProfileCover: InfoProfileCover {
|
|
height: 108px;
|
|
photo: UserpicButton(defaultUserpicButton) {
|
|
size: infoProfilePhotoSize;
|
|
photoSize: infoProfilePhotoInnerSize;
|
|
}
|
|
photoLeft: 19px;
|
|
photoTop: 18px;
|
|
name: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 24px;
|
|
textFg: windowBoldFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(16px semibold);
|
|
linkFont: font(16px semibold);
|
|
linkFontOver: font(16px semibold underline);
|
|
}
|
|
}
|
|
nameLeft: 109px;
|
|
nameTop: 32px;
|
|
status: infoProfileStatus;
|
|
statusLeft: 109px;
|
|
statusTop: 58px;
|
|
rightSkip: 20px;
|
|
}
|
|
infoProfileMegagroupCover: InfoProfileCover(infoProfileCover) {
|
|
status: FlatLabel(infoProfileStatus) {
|
|
style: defaultTextStyle;
|
|
palette: TextPalette(defaultTextPalette) {
|
|
linkFg: windowSubTextFg;
|
|
}
|
|
}
|
|
}
|
|
infoTopicCover: InfoProfileCover(infoProfileMegagroupCover) {
|
|
height: 77px;
|
|
photo: UserpicButton(defaultUserpicButton) {
|
|
size: size(36px, 36px);
|
|
}
|
|
photoLeft: 22px;
|
|
photoTop: 18px;
|
|
nameLeft: 79px;
|
|
nameTop: 14px;
|
|
statusLeft: 79px;
|
|
statusTop: 38px;
|
|
}
|
|
|
|
infoVerifiedCheckPosition: point(4px, 2px);
|
|
infoVerifiedCheck: icon {
|
|
{ "profile_verified_star", profileVerifiedCheckBg },
|
|
{ "profile_verified_check", profileVerifiedCheckFg }
|
|
};
|
|
infoPremiumStar: icon {{ "profile_premium", profileVerifiedCheckBg }};
|
|
|
|
infoPeerBadge: InfoPeerBadge {
|
|
verified: infoVerifiedCheck;
|
|
premium: infoPremiumStar;
|
|
premiumFg: profileVerifiedCheckBg;
|
|
position: infoVerifiedCheckPosition;
|
|
sizeTag: 1; // Large
|
|
}
|
|
|
|
infoIconFg: windowBoldFg;
|
|
|
|
infoProfileSkip: 7px;
|
|
|
|
infoProfileLabeledPadding: margins(79px, 9px, 30px, 7px);
|
|
infoProfileLabeledUsernamePadding: margins(79px, 9px, 20px, 7px);
|
|
infoProfileSeparatorPadding: margins(
|
|
77px,
|
|
infoProfileSkip,
|
|
0px,
|
|
infoProfileSkip);
|
|
infoProfileLabeledButtonCopy: IconButton(defaultIconButton) {
|
|
width: 34px;
|
|
height: 34px;
|
|
icon: icon {{ "menu/copy", infoIconFg }};
|
|
iconOver: icon {{ "menu/copy", infoIconFg }};
|
|
rippleAreaPosition: point(0px, 0px);
|
|
rippleAreaSize: 34px;
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
|
|
infoIconInformation: icon {{ "info/info_information", infoIconFg }};
|
|
infoIconAddMember: icon {{ "info/info_add_member", infoIconFg }};
|
|
infoIconNotifications: icon {{ "info/info_notifications", infoIconFg }};
|
|
infoIconMediaPhoto: icon {{ "info/info_media_photo", infoIconFg }};
|
|
infoIconMediaVideo: icon {{ "info/info_media_video", infoIconFg }};
|
|
infoIconMediaGif: icon {{ "info/info_media_gif", infoIconFg }};
|
|
infoIconMediaFile: icon {{ "info/info_media_file", infoIconFg }};
|
|
infoIconMediaAudio: icon {{ "info/info_media_audio", infoIconFg }};
|
|
infoIconMediaLink: icon {{ "info/info_media_link", infoIconFg }};
|
|
infoIconMediaGroup: icon {{ "info/info_common_groups", infoIconFg }};
|
|
infoIconMediaVoice: icon {{ "info/info_media_voice", infoIconFg }};
|
|
infoIconMediaRound: icon {{ "info/info_media_round", infoIconFg }};
|
|
|
|
infoRoundedIconRequests: icon {{ "info/edit/group_manage_join_requests", settingsIconFg }};
|
|
infoRoundedIconRecentActions: icon {{ "info/edit/group_manage_actions", settingsIconFg }};
|
|
infoRoundedIconAdministrators: icon {{ "info/edit/group_manage_admins", settingsIconFg }};
|
|
infoRoundedIconInviteLinks: icon {{ "info/edit/group_manage_links", settingsIconFg }};
|
|
infoRoundedIconReactions: icon {{ "info/edit/group_manage_reactions", settingsIconFg }};
|
|
infoRoundedIconSignature: icon {{ "info/edit/channel_manage_signature", settingsIconFg }};
|
|
|
|
infoIconShare: icon {{ "info/info_share", infoIconFg }};
|
|
infoIconEdit: icon {{ "info/info_edit", infoIconFg }};
|
|
infoIconDelete: icon {{ "info/info_delete", infoIconFg }};
|
|
infoIconReport: icon {{ "info/info_report", attentionButtonFg }};
|
|
infoIconLeave: icon {{ "info/info_leave", infoIconFg }};
|
|
infoIconBlock: icon {{ "info/info_block", attentionButtonFg }};
|
|
infoIconMembers: icon {{ "info/info_members", infoIconFg }};
|
|
infoInformationIconPosition: point(25px, 12px);
|
|
infoNotificationsIconPosition: point(20px, 5px);
|
|
infoSharedMediaIconPosition: point(20px, 24px);
|
|
infoSharedMediaButtonIconPosition: point(20px, 3px);
|
|
infoGroupMembersIconPosition: point(20px, 10px);
|
|
infoChannelMembersIconPosition: point(20px, 19px);
|
|
infoLabeledOneLine: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 20px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
lineHeight: 19px;
|
|
}
|
|
}
|
|
infoLabelSkip: 2px;
|
|
infoLabel: FlatLabel(infoLabeledOneLine) {
|
|
textFg: windowSubTextFg;
|
|
}
|
|
infoLabeled: FlatLabel(infoLabeledOneLine) {
|
|
minWidth: 180px;
|
|
maxHeight: 0px;
|
|
margin: margins(5px, 5px, 5px, 5px);
|
|
}
|
|
|
|
infoBlockHeaderLabel: FlatLabel(infoProfileStatus) {
|
|
textFg: windowBoldFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: semiboldFont;
|
|
linkFont: semiboldFont;
|
|
linkFontOver: semiboldFont;
|
|
}
|
|
}
|
|
infoBlockHeaderPosition: point(79px, 17px);
|
|
|
|
infoProfileToggle: Toggle(defaultToggle) {
|
|
untoggledFg: menuIconFg;
|
|
}
|
|
infoProfileToggleOver: Toggle(infoProfileToggle) {
|
|
untoggledFg: menuIconFgOver;
|
|
}
|
|
infoProfileButton: SettingsButton(defaultSettingsButton) {
|
|
style: defaultTextStyle;
|
|
|
|
padding: margins(79px, 10px, 8px, 8px);
|
|
iconLeft: 22px;
|
|
|
|
toggle: infoProfileToggle;
|
|
toggleOver: infoProfileToggleOver;
|
|
toggleSkip: 20px;
|
|
}
|
|
infoNotificationsButton: SettingsButton(infoProfileButton) {
|
|
padding: margins(79px, 13px, 8px, 9px);
|
|
}
|
|
infoMainButton: SettingsButton(infoProfileButton) {
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
style: semiboldTextStyle;
|
|
}
|
|
infoSharedMediaCoverHeight: 62px;
|
|
infoSharedMediaButton: infoProfileButton;
|
|
infoSharedMediaBottomSkip: 12px;
|
|
|
|
infoBlockButton: SettingsButton(infoProfileButton) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFgOver;
|
|
}
|
|
infoCreateLinkedChatButton: SettingsButton(infoMainButton) {
|
|
padding: margins(74px, 10px, 8px, 8px);
|
|
}
|
|
infoUnlinkChatButton: SettingsButton(infoCreateLinkedChatButton) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFgOver;
|
|
}
|
|
infoBlockButtonSkip: 8px;
|
|
|
|
infoMembersHeader: 56px;
|
|
infoMembersHeaderPaddingBottom: 6px;
|
|
infoMembersList: PeerList(defaultPeerList) {
|
|
item: PeerListItem(defaultPeerListItem) {
|
|
photoPosition: point(18px, 6px);
|
|
namePosition: point(79px, 11px);
|
|
statusPosition: point(79px, 31px);
|
|
}
|
|
}
|
|
infoMembersButtonPosition: point(12px, 0px);
|
|
infoMembersButtonIconPosition: point(3px, 3px);
|
|
infoMembersButton: IconButton(defaultIconButton) {
|
|
width: 38px;
|
|
height: 38px;
|
|
iconPosition: point(-1px, -1px);
|
|
rippleAreaPosition: point(0px, 0px);
|
|
rippleAreaSize: 38px;
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
infoMembersAddMember: IconButton(infoMembersButton) {
|
|
icon: icon {{ "info/info_add_member", windowBoldFg }};
|
|
iconOver: icon {{ "info/info_add_member", windowBoldFg }};
|
|
}
|
|
infoMembersSearch: IconButton(infoMembersButton) {
|
|
icon: icon {{ "info/info_search", windowBoldFg }};
|
|
iconOver: icon {{ "info/info_search", windowBoldFg }};
|
|
}
|
|
infoMembersSearchField: InputField(defaultMultiSelectSearchField) {
|
|
}
|
|
infoMembersCancelSearch: CrossButton {
|
|
width: 44px;
|
|
height: 44px;
|
|
|
|
cross: CrossAnimation {
|
|
size: 44px;
|
|
skip: 16px;
|
|
stroke: 1.5;
|
|
minScale: 0.3;
|
|
}
|
|
crossFg: menuIconFg;
|
|
crossFgOver: menuIconFgOver;
|
|
crossPosition: point(0px, 0px);
|
|
|
|
duration: 150;
|
|
loadingPeriod: 1000;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
infoMembersSearchTop: 15px;
|
|
|
|
infoChannelsAddChannel: IconButton(infoMembersButton) {
|
|
icon: icon {{ "settings/settings_edit_name", menuIconFg, point(9px, 9px) }};
|
|
iconOver: icon {{ "settings/settings_edit_name", menuIconFgOver, point(9px, 9px) }};
|
|
}
|
|
|
|
infoMediaHeaderStyle: TextStyle(semiboldTextStyle) {
|
|
}
|
|
infoMediaHeaderHeight: 28px;
|
|
infoMediaHeaderPosition: point(14px, 6px);
|
|
infoMediaSkip: 5px;
|
|
infoMediaMargin: margins(0px, 6px, 0px, 2px);
|
|
infoMediaMinGridSize: 90px;
|
|
|
|
infoCommonGroupsMargin: margins(0px, 13px, 0px, 2px);
|
|
infoCommonGroupsListItem: PeerListItem(defaultPeerListItem) {
|
|
height: 52px;
|
|
photoSize: 40px;
|
|
photoPosition: point(16px, 6px);
|
|
namePosition: point(71px, 15px);
|
|
nameStyle: TextStyle(defaultTextStyle) {
|
|
font: font(14px semibold);
|
|
linkFont: font(14px semibold);
|
|
linkFontOver: font(14px semibold);
|
|
}
|
|
statusPosition: point(79px, 31px);
|
|
}
|
|
infoCommonGroupsList: PeerList(infoMembersList) {
|
|
item: infoCommonGroupsListItem;
|
|
}
|
|
infoChannelsList: PeerList(infoCommonGroupsList) {
|
|
item: PeerListItem(infoCommonGroupsListItem) {
|
|
photoPosition: point(18px, 6px);
|
|
namePosition: point(79px, 15px);
|
|
}
|
|
}
|
|
|
|
managePeerButton: SettingsCountButton {
|
|
button: SettingsButton(infoProfileButton) {
|
|
padding: margins(76px, 12px, 76px, 10px);
|
|
}
|
|
iconPosition: point(20px, 5px);
|
|
label: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowActiveTextFg;
|
|
}
|
|
labelPosition: point(25px, 12px);
|
|
}
|
|
|
|
peerPermissionsButton: SettingsCountButton(managePeerButton) {
|
|
button: SettingsButton(infoProfileButton) {
|
|
padding: margins(22px, 12px, 24px, 10px);
|
|
}
|
|
iconPosition: point(24px, 5px);
|
|
}
|
|
|
|
manageGroupButton: SettingsCountButton(managePeerButton) {
|
|
button: SettingsButton(infoProfileButton) {
|
|
padding: margins(60px, 10px, 24px, 8px);
|
|
}
|
|
labelPosition: point(22px, 12px);
|
|
iconPosition: point(20px, 4px);
|
|
}
|
|
|
|
manageGroupTopButtonWithText: SettingsCountButton(manageGroupButton) {
|
|
labelPosition: point(22px, 10px);
|
|
iconPosition: point(0px, 0px);
|
|
}
|
|
|
|
manageDeleteGroupButton: SettingsCountButton(manageGroupTopButtonWithText) {
|
|
button: SettingsButton(infoProfileButton) {
|
|
padding: margins(25px, 11px, 24px, 8px);
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFg;
|
|
}
|
|
labelPosition: point(22px, 11px);
|
|
iconPosition: point(0px, 0px);
|
|
}
|
|
|
|
editPeerSkip: 7px;
|
|
editPeerHistoryVisibilityMargins: margins(15px, 0px, 20px, 16px);
|
|
|
|
infoEmptyFg: windowSubTextFg;
|
|
infoEmptyPhoto: icon {{ "info/info_media_photo_empty", infoEmptyFg }};
|
|
infoEmptyVideo: icon {{ "info/info_media_video_empty", infoEmptyFg }};
|
|
infoEmptyAudio: icon {{ "info/info_media_audio_empty", infoEmptyFg }};
|
|
infoEmptyFile: icon {{ "info/info_media_file_empty", infoEmptyFg }};
|
|
infoEmptyVoice: icon {{ "info/info_media_voice_empty", infoEmptyFg }};
|
|
infoEmptyLink: icon {{ "info/info_media_link_empty", infoEmptyFg }};
|
|
infoEmptyIconTop: 120px;
|
|
infoEmptyLabelTop: 40px;
|
|
infoEmptyLabelSkip: 20px;
|
|
infoEmptyLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 220px;
|
|
textFg: windowSubTextFg;
|
|
}
|
|
|
|
editPeerBottomButtonsLayoutMargins: margins(0px, 7px, 0px, 0px);
|
|
editPeerTopButtonsLayoutMargins: margins(0px, 12px, 0px, 6px);
|
|
|
|
editPeerTopButtonsLayoutSkip: 13px;
|
|
editPeerTopButtonsLayoutSkipToBottom: 12px;
|
|
|
|
editPeerTopButtonsLayoutSkipCustomTop: 14px;
|
|
editPeerTopButtonsLayoutSkipCustomBottom: 11px;
|
|
|
|
editPeerHistoryVisibilityTopSkip: 8px;
|
|
|
|
editPeerPhotoMargins: margins(22px, 16px, 22px, 8px);
|
|
editPeerTitle: defaultInputField;
|
|
editPeerTitleMargins: margins(27px, 21px, 22px, 8px);
|
|
editPeerDescription: InputField(newGroupDescription) {
|
|
borderFg: transparent;
|
|
}
|
|
editPeerDescriptionMargins: margins(22px, 5px, 22px, 16px);
|
|
editPeerPrivaciesMargins: margins(15px, 7px, 22px, 0px);
|
|
editPeerPrivacyTopSkip: 10px;
|
|
editPeerPrivacyBottomSkip: 16px;
|
|
editPeerPrivacyLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 220px;
|
|
textFg: windowSubTextFg;
|
|
}
|
|
editPeerPrivacyBoxCheckbox: Checkbox(defaultBoxCheckbox) {
|
|
margin: margins(0px, 8px, 0px, 8px);
|
|
style: boxTextStyle;
|
|
}
|
|
editPeerHistoryVisibilityLabelMargins: margins(34px, 0px, 48px, 0px);
|
|
editPeerPrivacyLabelMargins: margins(42px, 0px, 34px, 0px);
|
|
editPeerPreHistoryLabelMargins: margins(34px, 0px, 34px, 0px);
|
|
editPeerUsernameTitleLabelMargins: margins(22px, 17px, 22px, 10px);
|
|
editPeerUsernameFieldMargins: margins(22px, 0px, 22px, 16px);
|
|
editPeerUsername: setupChannelLink;
|
|
editPeerUsernameSkip: 8px;
|
|
editPeerInviteLink: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 1px; // for break everywhere
|
|
style: boxTextStyle;
|
|
}
|
|
editPeerUsernameGood: FlatLabel(defaultFlatLabel) {
|
|
textFg: boxTextFgGood;
|
|
style: boxTextStyle;
|
|
}
|
|
editPeerUsernameError: FlatLabel(editPeerUsernameGood) {
|
|
textFg: boxTextFgError;
|
|
}
|
|
editPeerUsernamePosition: point(22px, 18px);
|
|
|
|
editPeerReactionsButton: SettingsButton(infoProfileButton) {
|
|
padding: margins(59px, 13px, 8px, 11px);
|
|
}
|
|
editPeerReactionsPreview: 24px;
|
|
editPeerReactionsIconLeft: 21px;
|
|
|
|
historyTopBarBack: IconButton(infoTopBarBack) {
|
|
width: 52px;
|
|
}
|
|
topBarHeight: 54px;
|
|
topBarMenuPosition: point(-6px, 45px);
|
|
topBarMenuGroupCallSkip: 20px;
|
|
topBarDuration: 200;
|
|
topBarBackward: icon {{ "title_back", menuIconFg }};
|
|
topBarForwardAlpha: 0.6;
|
|
topBarBack: icon {{ "title_back", lightButtonFg }};
|
|
topBarArrowPadding: margins(39px, 8px, 17px, 8px);
|
|
topBarNameRightPadding: 3px;
|
|
topBarButton: RoundButton(defaultLightButton) {
|
|
width: -18px;
|
|
padding: margins(0px, 10px, 12px, 10px);
|
|
}
|
|
topBarClearButton: RoundButton(defaultLightButton) {
|
|
width: -18px;
|
|
}
|
|
topBarSearch: IconButton {
|
|
width: 40px;
|
|
height: topBarHeight;
|
|
|
|
icon: icon {{ "top_bar_search", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_search", menuIconFgOver }};
|
|
iconPosition: point(4px, 11px);
|
|
|
|
rippleAreaPosition: point(0px, 7px);
|
|
rippleAreaSize: 40px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
topBarCloseChoose: IconButton(topBarSearch) {
|
|
width: 56px;
|
|
icon: icon {{ "info/info_close", boxTitleCloseFg }};
|
|
iconOver: icon {{ "info/info_close", boxTitleCloseFgOver }};
|
|
iconPosition: point(10px, -1px);
|
|
rippleAreaPosition: point(7px, 7px);
|
|
}
|
|
topBarSkip: -5px;
|
|
topBarCallSkip: -1px;
|
|
topBarMenuToggle: IconButton(topBarSearch) {
|
|
width: 44px;
|
|
|
|
icon: menuToggleIcon;
|
|
iconOver: menuToggleIconOver;
|
|
iconPosition: point(16px, 17px);
|
|
|
|
rippleAreaPosition: point(0px, 7px);
|
|
}
|
|
topBarCall: IconButton(topBarSearch) {
|
|
icon: icon {{ "top_bar_call", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_call", menuIconFgOver }};
|
|
}
|
|
topBarGroupCall: IconButton(topBarSearch) {
|
|
icon: icon {{ "top_bar_group_call", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_group_call", menuIconFgOver }};
|
|
iconPosition: point(4px, 12px);
|
|
}
|
|
topBarInfo: IconButton(topBarSearch) {
|
|
icon: icon {{ "top_bar_profile", menuIconFg }};
|
|
iconOver: icon {{ "top_bar_profile", menuIconFgOver }};
|
|
}
|
|
topBarInfoActive: icon {{ "top_bar_profile", windowActiveTextFg }};
|
|
topBarActionSkip: 10px;
|
|
|
|
topBarInfoButtonSize: size(52px, topBarHeight);
|
|
topBarInfoButtonInnerSize: 42px;
|
|
topBarInfoButtonInnerPosition: point(2px, -1px);
|
|
topBarInfoButton: UserpicButton(defaultUserpicButton) {
|
|
size: topBarInfoButtonSize;
|
|
photoSize: topBarInfoButtonInnerSize;
|
|
photoPosition: topBarInfoButtonInnerPosition;
|
|
}
|
|
topBarConnectingPosition: point(2px, 5px);
|
|
topBarConnectingSkip: 6px;
|
|
topBarConnectingAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
|
|
color: windowSubTextFg;
|
|
thickness: 1px;
|
|
size: size(8px, 8px);
|
|
}
|
|
|
|
infoFeedLeaveIconMargins: margins(10px, 12px, 20px, 10px);
|
|
|
|
inviteLinkFieldHeight: 44px;
|
|
inviteLinkFieldMargin: margins(14px, 12px, 36px, 9px);
|
|
inviteLinkThreeDotsIcon: icon {{ "info/edit/dotsmini", dialogsMenuIconFg }};
|
|
inviteLinkThreeDotsIconOver: icon {{ "info/edit/dotsmini", dialogsMenuIconFgOver }};
|
|
inviteLinkThreeDots: IconButton(defaultIconButton) {
|
|
width: 36px;
|
|
height: 44px;
|
|
|
|
icon: inviteLinkThreeDotsIcon;
|
|
iconOver: inviteLinkThreeDotsIconOver;
|
|
iconPosition: point(-1px, -1px);
|
|
|
|
rippleAreaSize: 0px;
|
|
}
|
|
inviteLinkFieldPadding: margins(22px, 7px, 22px, 14px);
|
|
|
|
inviteLinkButton: RoundButton(defaultActiveButton) {
|
|
height: 36px;
|
|
textTop: 9px;
|
|
}
|
|
inviteLinkButtonsPadding: margins(22px, 0px, 22px, 0px);
|
|
inviteLinkButtonsSkip: 10px;
|
|
inviteLinkCopy: RoundButton(inviteLinkButton) {
|
|
icon: icon {{ "info/edit/links_copy", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_copy", activeButtonFgOver }};
|
|
iconPosition: point(-1px, 2px);
|
|
}
|
|
inviteLinkShare: RoundButton(inviteLinkCopy) {
|
|
icon: icon {{ "info/edit/links_share", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_share", activeButtonFgOver }};
|
|
}
|
|
inviteLinkReactivate: RoundButton(inviteLinkCopy) {
|
|
icon: icon {{ "info/edit/links_reactivate", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_reactivate", activeButtonFgOver }};
|
|
}
|
|
inviteLinkDelete: RoundButton(inviteLinkCopy) {
|
|
icon: icon {{ "info/edit/links_delete", activeButtonFg }};
|
|
iconOver: icon {{ "info/edit/links_delete", activeButtonFgOver }};
|
|
}
|
|
inviteLinkUserpics: GroupCallUserpics {
|
|
size: 28px;
|
|
shift: 6px;
|
|
stroke: 2px;
|
|
align: align(left);
|
|
}
|
|
inviteLinkUserpicsSkip: 8px;
|
|
inviteLinkJoinedFont: font(14px);
|
|
inviteLinkJoinedRowPadding: margins(0px, 18px, 0px, 8px);
|
|
|
|
inviteLinkCreateSkip: 10px;
|
|
inviteLinkCreate: SettingsButton(defaultSettingsButton) {
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
textBg: windowBg;
|
|
textBgOver: windowBgOver;
|
|
|
|
style: semiboldTextStyle;
|
|
|
|
height: 20px;
|
|
padding: margins(60px, 7px, 12px, 5px);
|
|
|
|
toggle: infoProfileToggle;
|
|
toggleOver: infoProfileToggleOver;
|
|
toggleSkip: 22px;
|
|
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
inviteLinkCreateIcon: icon {{ "info/edit/roundbtn_plus", windowFgActive }};
|
|
inviteLinkCreateIconSize: 18px;
|
|
inviteLinkListItem: PeerListItem(defaultPeerListItem) {
|
|
button: OutlineButton(defaultPeerListButton) {
|
|
font: normalFont;
|
|
padding: margins(11px, 5px, 11px, 5px);
|
|
}
|
|
height: 52px;
|
|
photoPosition: point(9px, 4px);
|
|
namePosition: point(60px, 6px);
|
|
statusPosition: point(60px, 26px);
|
|
photoSize: 44px;
|
|
}
|
|
inviteLinkList: PeerList(defaultPeerList) {
|
|
item: inviteLinkListItem;
|
|
padding: margins(0px, 4px, 0px, 0px);
|
|
}
|
|
inviteLinkAdminsList: PeerList(inviteLinkList) {
|
|
item: PeerListItem(inviteLinkListItem) {
|
|
photoPosition: point(16px, 9px);
|
|
namePosition: point(62px, 6px);
|
|
statusPosition: point(62px, 26px);
|
|
photoSize: 34px;
|
|
}
|
|
padding: margins(0px, 5px, 0px, 6px);
|
|
}
|
|
inviteLinkIconSkip: 7px;
|
|
inviteLinkIconStroke: 2px;
|
|
inviteLinkIcon: icon {{ "info/edit/links_link", mediaviewFileExtFg }};
|
|
inviteLinkRevokedIcon: icon {{ "info/edit/links_revoked", mediaviewFileExtFg }};
|
|
inviteLinkThreeDotsSkip: 12px;
|
|
inviteLinkRevokedTitlePadding: margins(22px, 16px, 10px, 4px);
|
|
inviteLinkLimitMargin: margins(22px, 8px, 22px, 8px);
|
|
|
|
inviteLinkQrPixel: 8px;
|
|
inviteLinkQrSkip: 24px;
|
|
inviteLinkQrMargin: margins(0px, 0px, 0px, 13px);
|
|
inviteLinkQrValuePadding: margins(22px, 0px, 22px, 12px);
|
|
|
|
usernamesReorderIcon: icon {{ "stickers_reorder", dialogsMenuIconFg }};
|
|
|
|
infoAboutGigagroup: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 274px;
|
|
}
|
|
|
|
infoScrollDateHideTimeout: historyScrollDateHideTimeout;
|
|
infoDateFadeDuration: historyDateFadeDuration;
|
|
|
|
shortInfoWidth: 304px;
|
|
shortInfoLabeledPadding: margins(24px, 16px, 24px, 0px);
|
|
shortInfoScroll: ScrollArea(defaultScrollArea) {
|
|
deltat: 3px;
|
|
deltab: 0px;
|
|
round: 1px;
|
|
width: 8px;
|
|
deltax: 3px;
|
|
|
|
duration: 150;
|
|
hiding: 1000;
|
|
}
|
|
|
|
ShortInfoCover {
|
|
size: pixels;
|
|
radius: pixels;
|
|
name: FlatLabel;
|
|
namePosition: point;
|
|
status: FlatLabel;
|
|
statusPosition: point;
|
|
linePadding: pixels;
|
|
lineSkip: pixels;
|
|
line: pixels;
|
|
shadowHeight: pixels;
|
|
radialAnimation: InfiniteRadialAnimation;
|
|
}
|
|
shortInfoCover: ShortInfoCover {
|
|
size: shortInfoWidth;
|
|
radius: boxRadius;
|
|
name: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallVideoTextFg;
|
|
maxHeight: 19px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(15px semibold);
|
|
linkFont: font(15px semibold);
|
|
linkFontOver: font(15px semibold underline);
|
|
}
|
|
}
|
|
namePosition: point(25px, 37px);
|
|
status: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallVideoSubTextFg;
|
|
maxHeight: 18px;
|
|
}
|
|
statusPosition: point(25px, 14px);
|
|
linePadding: 8px;
|
|
lineSkip: 4px;
|
|
line: 2px;
|
|
shadowHeight: 80px;
|
|
radialAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
|
|
color: radialFg;
|
|
thickness: 2px;
|
|
}
|
|
}
|
|
|
|
reportReasonTopSkip: 8px;
|
|
reportReasonButton: SettingsButton(infoProfileButton) {
|
|
style: boxTextStyle;
|
|
padding: margins(62px, 7px, 8px, 7px);
|
|
}
|