999 lines
25 KiB
Plaintext
999 lines
25 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 "ui/layers/layers.style";
|
|
using "ui/widgets/widgets.style";
|
|
using "intro/intro.style";
|
|
|
|
UserpicButton {
|
|
size: size;
|
|
photoSize: pixels;
|
|
photoPosition: point;
|
|
changeButton: RoundButton;
|
|
changeIcon: icon;
|
|
changeIconPosition: point;
|
|
duration: int;
|
|
uploadHeight: pixels;
|
|
uploadBg: color;
|
|
uploadIcon: icon;
|
|
uploadIconPosition: point;
|
|
}
|
|
ShortInfoBox {
|
|
label: FlatLabel;
|
|
labeled: FlatLabel;
|
|
labeledOneLine: FlatLabel;
|
|
}
|
|
|
|
countryRowHeight: 36px;
|
|
countryRowNameFont: semiboldFont;
|
|
countryRowNameFg: boxTextFg;
|
|
countryRowPadding: margins(22px, 9px, 8px, 0px);
|
|
countryRowCodeFont: font(fsize);
|
|
countryRowBg: windowBg;
|
|
countryRowBgOver: windowBgOver;
|
|
countryRowCodeFg: windowSubTextFg;
|
|
countryRowCodeFgOver: windowSubTextFgOver;
|
|
countriesSkip: 12px;
|
|
countriesScroll: ScrollArea(boxScroll) {
|
|
deltat: 9px;
|
|
deltab: 3px;
|
|
}
|
|
|
|
boxPhotoTitlePosition: point(28px, 20px);
|
|
boxPhotoPadding: margins(28px, 28px, 28px, 18px);
|
|
boxPhotoCompressedSkip: 20px;
|
|
boxPhotoCaptionSkip: 8px;
|
|
|
|
defaultChangeUserpicIcon: icon {{ "new_chat_photo", activeButtonFg }};
|
|
defaultUploadUserpicIcon: icon {{ "upload_chat_photo", msgDateImgFg }};
|
|
defaultUserpicButton: UserpicButton {
|
|
size: size(72px, 72px);
|
|
photoSize: 72px;
|
|
photoPosition: point(-1px, -1px);
|
|
changeButton: defaultActiveButton;
|
|
changeIcon: defaultChangeUserpicIcon;
|
|
changeIconPosition: point(21px, 23px);
|
|
duration: 500;
|
|
uploadHeight: 24px;
|
|
uploadBg: msgDateImgBgOver;
|
|
uploadIcon: defaultUploadUserpicIcon;
|
|
uploadIconPosition: point(-1px, 1px);
|
|
}
|
|
uploadUserpicSize: 32px;
|
|
uploadUserpicButton: UserpicButton(defaultUserpicButton) {
|
|
size: size(uploadUserpicSize, uploadUserpicSize);
|
|
photoSize: uploadUserpicSize;
|
|
changeIcon: icon {{ "settings/photo", activeButtonFg }};
|
|
changeIconPosition: point(4px, 4px);
|
|
}
|
|
uploadUserpicButtonBorder: 2px;
|
|
restoreUserpicIcon: UserpicButton(defaultUserpicButton) {
|
|
size: size(22px, 22px);
|
|
photoSize: 22px;
|
|
}
|
|
|
|
confirmInviteTitle: FlatLabel(defaultFlatLabel) {
|
|
align: align(center);
|
|
minWidth: 320px;
|
|
maxHeight: 24px;
|
|
textFg: windowBoldFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(18px semibold);
|
|
}
|
|
}
|
|
confirmInviteAbout: FlatLabel(boxLabel) {
|
|
align: align(center);
|
|
minWidth: 320px;
|
|
maxHeight: 60px;
|
|
style: TextStyle(boxLabelStyle) {
|
|
lineHeight: 19px;
|
|
}
|
|
}
|
|
confirmInviteStatus: FlatLabel(confirmInviteAbout) {
|
|
textFg: windowSubTextFg;
|
|
style: boxLabelStyle;
|
|
maxHeight: 0px;
|
|
}
|
|
confirmInviteAboutPadding: margins(36px, 4px, 36px, 10px);
|
|
confirmInviteAboutRequestsPadding: margins(36px, 9px, 36px, 15px);
|
|
confirmInviteTitleTop: 141px;
|
|
confirmInvitePhotoSize: 96px;
|
|
confirmInvitePhotoTop: 33px;
|
|
confirmInviteStatusTop: 164px;
|
|
confirmInviteUserHeight: 100px;
|
|
confirmInviteUserPhotoSize: 50px;
|
|
confirmInviteUserPhotoTop: 210px;
|
|
confirmInviteUsersWidth: 320px;
|
|
confirmInviteUserName: FlatLabel(defaultFlatLabel) {
|
|
align: align(center);
|
|
minWidth: 66px;
|
|
maxHeight: 20px;
|
|
}
|
|
confirmInviteUserNameTop: 264px;
|
|
|
|
confirmPhoneAboutLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 272px;
|
|
}
|
|
confirmPhoneCodeField: InputField(defaultInputField) {
|
|
}
|
|
|
|
aboutRevokePublicLabel: FlatLabel(defaultFlatLabel) {
|
|
align: align(topleft);
|
|
minWidth: 320px;
|
|
}
|
|
|
|
contactUserIcon: icon {{ "settings/settings_name", menuIconFg }};
|
|
contactPhoneIcon: icon {{ "settings/settings_phone_number", menuIconFg }};
|
|
contactIconPosition: point(-5px, 23px);
|
|
|
|
contactPadding: margins(49px, 2px, 0px, 14px);
|
|
contactSkip: 9px;
|
|
contactPhoneSkip: 30px;
|
|
|
|
contactsPhotoSize: 42px;
|
|
contactsPadding: margins(16px, 7px, 16px, 7px);
|
|
contactsNameTop: 2px;
|
|
contactsNameStyle: TextStyle(defaultTextStyle) {
|
|
font: semiboldFont;
|
|
}
|
|
contactsStatusTop: 23px;
|
|
contactsStatusFont: font(fsize);
|
|
contactsCheckPosition: point(8px, 16px);
|
|
|
|
contactsSortButton: IconButton(defaultIconButton) {
|
|
width: 48px;
|
|
height: 54px;
|
|
icon: icon{{ "contacts_alphabet", boxTitleCloseFg }};
|
|
iconOver: icon{{ "contacts_alphabet", boxTitleCloseFgOver }};
|
|
iconPosition: point(10px, -1px);
|
|
rippleAreaPosition: point(1px, 6px);
|
|
rippleAreaSize: 42px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
contactsSortOnlineIcon: icon{{ "contacts_online", boxTitleCloseFg }};
|
|
contactsSortOnlineIconOver: icon{{ "contacts_online", boxTitleCloseFgOver }};
|
|
|
|
membersMarginTop: 10px;
|
|
membersMarginBottom: 10px;
|
|
|
|
peerListBoxItem: PeerListItem(defaultPeerListItem) {
|
|
height: 56px;
|
|
photoSize: contactsPhotoSize;
|
|
photoPosition: point(16px, 7px);
|
|
namePosition: point(74px, 9px);
|
|
statusPosition: point(74px, 30px);
|
|
button: OutlineButton(defaultPeerListButton) {
|
|
textBg: contactsBg;
|
|
textBgOver: contactsBgOver;
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
statusFg: contactsStatusFg;
|
|
statusFgOver: contactsStatusFgOver;
|
|
statusFgActive: contactsStatusFgOnline;
|
|
}
|
|
peerListBox: PeerList(defaultPeerList) {
|
|
padding: margins(
|
|
0px,
|
|
membersMarginTop,
|
|
0px,
|
|
membersMarginBottom);
|
|
item: peerListBoxItem;
|
|
}
|
|
|
|
localStorageRowHeight: 50px;
|
|
localStorageRowPadding: margins(22px, 5px, 20px, 5px);
|
|
localStorageRowTitle: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowBoldFg;
|
|
maxHeight: 20px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px semibold);
|
|
}
|
|
}
|
|
localStorageRowSize: FlatLabel(defaultFlatLabel) {
|
|
textFg: contactsStatusFg;
|
|
maxHeight: 20px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px);
|
|
}
|
|
}
|
|
localStorageClear: defaultBoxButton;
|
|
localStorageLimitLabel: LabelSimple(defaultLabelSimple) {
|
|
font: boxTextFont;
|
|
}
|
|
localStorageLimitLabelMargin: margins(22px, 10px, 20px, 5px);
|
|
localStorageLimitSlider: MediaSlider(defaultContinuousSlider) {
|
|
seekSize: size(15px, 15px);
|
|
}
|
|
localStorageLimitMargin: margins(22px, 5px, 20px, 10px);
|
|
|
|
shareRowsTop: 12px;
|
|
shareRowHeight: 108px;
|
|
sharePhotoTop: 6px;
|
|
shareBoxListItem: PeerListItem(defaultPeerListItem) {
|
|
nameStyle: TextStyle(defaultTextStyle) {
|
|
font: font(11px);
|
|
}
|
|
nameFg: windowFg;
|
|
nameFgChecked: windowActiveTextFg;
|
|
checkbox: RoundImageCheckbox(defaultPeerListCheckbox) {
|
|
imageRadius: 28px;
|
|
imageSmallRadius: 24px;
|
|
}
|
|
}
|
|
shareBoxList: PeerList(defaultPeerList) {
|
|
bg: boxBg;
|
|
item: shareBoxListItem;
|
|
}
|
|
shareNameTop: 6px;
|
|
shareColumnSkip: 6px;
|
|
shareActivateDuration: 150;
|
|
shareScrollDuration: 300;
|
|
shareComment: InputField(defaultInputField) {
|
|
font: normalFont;
|
|
textMargins: margins(8px, 8px, 8px, 6px);
|
|
heightMin: 36px;
|
|
heightMax: 72px;
|
|
placeholderFg: placeholderFg;
|
|
placeholderFgActive: placeholderFgActive;
|
|
placeholderFgError: placeholderFgActive;
|
|
placeholderMargins: margins(2px, 0px, 2px, 0px);
|
|
placeholderScale: 0.;
|
|
placeholderFont: normalFont;
|
|
border: 0px;
|
|
borderActive: 0px;
|
|
}
|
|
shareCommentPadding: margins(5px, 5px, 5px, 5px);
|
|
|
|
notificationsBoxMonitor: icon {{ "monitor", notificationsBoxMonitorFg }};
|
|
notificationsBoxScreenTop: 10px;
|
|
notificationsBoxScreenSize: size(280px, 160px);
|
|
|
|
notificationsSampleSkip: 5px;
|
|
notificationsSampleTopSkip: 5px;
|
|
notificationsSampleBottomSkip: 5px;
|
|
notificationsSampleMargin: 2px;
|
|
|
|
notificationSampleOpacity: 0.5;
|
|
notificationSampleSize: size(64px, 16px);
|
|
|
|
membersAboutLimitPadding: margins(0px, 16px, 0px, 16px);
|
|
membersAbout: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 240px;
|
|
textFg: membersAboutLimitFg;
|
|
align: align(top);
|
|
style: boxLabelStyle;
|
|
}
|
|
|
|
fragmentBoxButton: RoundButton(introFragmentButton) {
|
|
width: 256px;
|
|
}
|
|
|
|
passcodeHeaderFont: font(19px);
|
|
passcodeHeaderHeight: 80px;
|
|
passcodeInput: InputField(introPhone) {
|
|
textMargins: margins(1px, 27px, 1px, 6px);
|
|
}
|
|
passcodeSubmit: RoundButton(introNextButton) {
|
|
width: 225px;
|
|
}
|
|
passcodeSubmitSkip: 40px;
|
|
passcodePadding: margins(0px, 0px, 0px, 5px);
|
|
passcodeTextLine: 28px;
|
|
passcodeLittleSkip: 5px;
|
|
passcodeAboutSkip: 7px;
|
|
passcodeSkip: 23px;
|
|
|
|
newGroupAboutFg: windowSubTextFg;
|
|
newGroupPadding: margins(4px, 6px, 4px, 3px);
|
|
newGroupSkip: 27px;
|
|
newGroupInfoPadding: margins(0px, -4px, 0px, 1px);
|
|
|
|
newGroupLinkPadding: margins(4px, 27px, 4px, 21px);
|
|
newGroupLinkTop: 3px;
|
|
newGroupLinkFont: font(16px);
|
|
|
|
newGroupNamePosition: point(27px, 5px);
|
|
|
|
newGroupDescriptionPadding: margins(0px, 13px, 0px, 4px);
|
|
newGroupDescription: InputField(defaultInputField) {
|
|
textMargins: margins(1px, 26px, 1px, 4px);
|
|
heightMax: 116px;
|
|
}
|
|
|
|
setupChannelLink: InputField(defaultInputField) {
|
|
textMargins: margins(0px, 6px, 0px, 4px);
|
|
heightMin: 32px;
|
|
}
|
|
|
|
themeWarningWidth: boxWideWidth;
|
|
themeWarningHeight: 150px;
|
|
themeWarningTextTop: 60px;
|
|
|
|
aboutWidth: 390px;
|
|
aboutVersionTop: -3px;
|
|
aboutVersionLink: LinkButton(defaultLinkButton) {
|
|
color: windowSubTextFg;
|
|
overColor: windowSubTextFg;
|
|
}
|
|
aboutTextTop: 34px;
|
|
aboutSkip: 14px;
|
|
aboutLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 300px;
|
|
align: align(topleft);
|
|
style: TextStyle(defaultTextStyle) {
|
|
lineHeight: 22px;
|
|
}
|
|
}
|
|
|
|
autoDownloadTitleFont: font(15px semibold);
|
|
autoDownloadLimitSlider: MediaSlider(defaultContinuousSlider) {
|
|
seekSize: size(15px, 15px);
|
|
}
|
|
autoDownloadLimitPadding: margins(22px, 8px, 22px, 8px);
|
|
|
|
confirmMaxHeight: 245px;
|
|
|
|
supportInfoField: InputField(defaultInputField) {
|
|
heightMax: 256px;
|
|
}
|
|
|
|
connectionHostInputField: InputField(defaultInputField) {
|
|
width: 160px;
|
|
}
|
|
connectionPortInputField: InputField(defaultInputField) {
|
|
width: 55px;
|
|
}
|
|
connectionUserInputField: InputField(defaultInputField) {
|
|
width: 95px;
|
|
}
|
|
connectionPasswordInputField: InputField(defaultInputField) {
|
|
width: 120px;
|
|
}
|
|
connectionIPv6Skip: 11px;
|
|
|
|
autolockWidth: 256px;
|
|
autolockButton: Checkbox(defaultBoxCheckbox) {
|
|
width: 200px;
|
|
}
|
|
|
|
langsRadio: Radio(defaultRadio) {
|
|
bg: boxBg;
|
|
}
|
|
|
|
backgroundPadding: 10px;
|
|
backgroundSize: size(108px, 193px);
|
|
backgroundScroll: ScrollArea(boxScroll) {
|
|
deltax: 3px;
|
|
width: 10px;
|
|
deltat: 10px;
|
|
deltab: 10px;
|
|
}
|
|
|
|
sendMediaPreviewSize: 308px;
|
|
sendMediaPreviewHeightMax: 1280;
|
|
sendMediaRowSkip: 10px;
|
|
|
|
editMediaHintLabel: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowSubTextFg;
|
|
minWidth: sendMediaPreviewSize;
|
|
}
|
|
|
|
calendarTitleHeight: boxTitleHeight;
|
|
calendarPrevious: IconButton {
|
|
width: calendarTitleHeight;
|
|
height: calendarTitleHeight;
|
|
|
|
icon: icon {{ "calendar_down-flip_vertical", boxTitleFg }};
|
|
iconPosition: point(-1px, -1px);
|
|
|
|
rippleAreaPosition: point(2px, 2px);
|
|
rippleAreaSize: 44px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
calendarPreviousDisabled: icon {{ "calendar_down-flip_vertical", menuIconFg }};
|
|
calendarNext: IconButton(calendarPrevious) {
|
|
icon: icon {{ "calendar_down", boxTitleFg }};
|
|
}
|
|
CalendarSizes {
|
|
width: pixels;
|
|
daysHeight: pixels;
|
|
cellSize: size;
|
|
cellInner: pixels;
|
|
padding: margins;
|
|
}
|
|
calendarNextDisabled: icon {{ "calendar_down", menuIconFg }};
|
|
calendarTitleFont: boxTitleFont;
|
|
defaultCalendarSizes: CalendarSizes {
|
|
width: boxWideWidth;
|
|
daysHeight: 40px;
|
|
cellSize: size(48px, 40px);
|
|
cellInner: 34px;
|
|
padding: margins(14px, 0px, 14px, 0px);
|
|
}
|
|
calendarDaysFont: normalFont;
|
|
calendarDaysFg: boxTitleAdditionalFg;
|
|
calendarScroll: ScrollArea(defaultSolidScroll) {
|
|
deltat: 3px;
|
|
deltab: 3px;
|
|
round: 1px;
|
|
width: 8px;
|
|
deltax: 3px;
|
|
hiding: 1000;
|
|
}
|
|
CalendarColors {
|
|
dayTextColor: color;
|
|
dayTextGrayedOutColor: color;
|
|
|
|
iconButtonNext: IconButton;
|
|
iconButtonNextDisabled: icon;
|
|
iconButtonPrevious: IconButton;
|
|
iconButtonPreviousDisabled: icon;
|
|
|
|
iconButtonRippleColorDisabled: color;
|
|
|
|
rippleColor: color;
|
|
rippleColorHighlighted: color;
|
|
rippleGrayedOutColor: color;
|
|
|
|
titleTextColor: color;
|
|
}
|
|
|
|
defaultCalendarColors: CalendarColors {
|
|
dayTextColor: boxTextFg;
|
|
dayTextGrayedOutColor: windowSubTextFg;
|
|
|
|
iconButtonNext: calendarNext;
|
|
iconButtonNextDisabled: calendarNextDisabled;
|
|
iconButtonPrevious: calendarPrevious;
|
|
iconButtonPreviousDisabled: calendarPreviousDisabled;
|
|
|
|
iconButtonRippleColorDisabled: boxBg;
|
|
|
|
rippleColor: windowBgOver;
|
|
rippleColorHighlighted: dialogsRippleBgActive;
|
|
rippleGrayedOutColor: windowBgRipple;
|
|
|
|
titleTextColor: boxTitleFg;
|
|
}
|
|
|
|
passcodeTextStyle: TextStyle(defaultTextStyle) {
|
|
lineHeight: 20px;
|
|
}
|
|
|
|
usernamePadding: margins(24px, 2px, 24px, 10px);
|
|
usernameSkip: 44px;
|
|
usernameDefaultFg: windowSubTextFg;
|
|
|
|
editMediaLabelMargins: margins(0px, 11px, 0px, 0px);
|
|
editMediaCheckboxMargins: margins(0px, 15px, 23px, 15px);
|
|
|
|
downloadPathSkip: 10px;
|
|
|
|
colorEditWidth: 390px;
|
|
colorEditSkip: 10px;
|
|
colorPickerSize: 256px;
|
|
colorPickerMarkRadius: 6px;
|
|
colorPickerMarkLine: 1px;
|
|
colorSliderSkip: 8px;
|
|
colorSliderArrowLeft: icon {{ "color_slider_arrow", sliderBgActive }};
|
|
colorSliderArrowRight: icon {{ "color_slider_arrow-flip_horizontal", sliderBgActive }};
|
|
colorSliderArrowTop: icon {{ "color_slider_arrow_vertical", sliderBgActive }};
|
|
colorSliderArrowBottom: icon {{ "color_slider_arrow_vertical-flip_vertical", sliderBgActive }};
|
|
colorSliderWidth: 19px;
|
|
colorSampleSize: size(60px, 34px);
|
|
colorFieldSkip: 13px;
|
|
colorValueInput: InputField(defaultInputField) {
|
|
textMargins: margins(16px, 3px, 0px, 2px);
|
|
heightMin: 27px;
|
|
}
|
|
colorResultInput: InputField(colorValueInput) {
|
|
}
|
|
|
|
changePhoneButton: RoundButton(defaultActiveButton) {
|
|
width: 256px;
|
|
}
|
|
changePhoneButtonPadding: margins(0px, 32px, 0px, 44px);
|
|
changePhoneTitle: FlatLabel(boxTitle) {
|
|
}
|
|
changePhoneTitlePadding: margins(0px, 8px, 0px, 8px);
|
|
changePhoneDescription: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 332px;
|
|
align: align(top);
|
|
textFg: windowSubTextFg;
|
|
}
|
|
changePhoneDescriptionPadding: margins(0px, 1px, 0px, 8px);
|
|
changePhoneIconPadding: margins(0px, 39px, 0px, 5px);
|
|
changePhoneIconSize: 120px;
|
|
changePhoneLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 275px;
|
|
textFg: windowSubTextFg;
|
|
}
|
|
changePhoneError: FlatLabel(changePhoneLabel) {
|
|
textFg: boxTextFgError;
|
|
}
|
|
|
|
adminLogFilterUserpicLeft: 15px;
|
|
adminLogFilterLittleSkip: 16px;
|
|
adminLogFilterCheckbox: Checkbox(defaultBoxCheckbox) {
|
|
style: TextStyle(boxTextStyle) {
|
|
font: font(boxFontSize semibold);
|
|
}
|
|
}
|
|
adminLogFilterSkip: 32px;
|
|
adminLogFilterUserCheckbox: Checkbox(defaultBoxCheckbox) {
|
|
margin: margins(8px, 6px, 8px, 6px);
|
|
checkPosition: point(8px, 6px);
|
|
}
|
|
rightsCheckbox: Checkbox(defaultCheckbox) {
|
|
textPosition: point(10px, 1px);
|
|
rippleBg: attentionButtonBgOver;
|
|
}
|
|
rightsToggle: Toggle(defaultToggle) {
|
|
toggledFg: windowBgActive;
|
|
untoggledFg: attentionButtonFg;
|
|
lockIcon: icon {{ "info/info_rights_lock", windowBgActive }};
|
|
xsize: 8px;
|
|
vsize: 5px;
|
|
vshift: 1px;
|
|
stroke: 2px;
|
|
duration: 120;
|
|
}
|
|
|
|
rightsButton: SettingsButton(defaultSettingsButton) {
|
|
padding: margins(22px, 8px, 22px, 8px);
|
|
|
|
toggle: rightsToggle;
|
|
toggleOver: rightsToggle;
|
|
toggleSkip: 20px;
|
|
}
|
|
rightsButtonToggleWidth: 70px;
|
|
rightsDividerMargin: margins(0px, 0px, 0px, 20px);
|
|
rightsHeaderMargin: margins(22px, 13px, 22px, 7px);
|
|
rightsToggleMargin: margins(22px, 8px, 22px, 8px);
|
|
rightsAboutMargin: margins(22px, 8px, 22px, 8px);
|
|
rightsPhotoButton: UserpicButton(defaultUserpicButton) {
|
|
size: size(60px, 60px);
|
|
photoSize: 60px;
|
|
}
|
|
rightsPhotoMargin: margins(20px, 0px, 15px, 18px);
|
|
rightsNameStyle: TextStyle(semiboldTextStyle) {
|
|
font: font(15px semibold);
|
|
}
|
|
rightsNameTop: 8px;
|
|
rightsStatusTop: 32px;
|
|
rightsHeaderLabel: FlatLabel(boxLabel) {
|
|
style: TextStyle(semiboldTextStyle) {
|
|
font: font(boxFontSize semibold);
|
|
}
|
|
textFg: windowActiveTextFg;
|
|
}
|
|
rightsUntilMargin: margins(0px, 8px, 0px, 20px);
|
|
rightsRankMargin: margins(0px, 7px, 0px, 20px);
|
|
|
|
groupStickersRemove: defaultMultiSelectSearchCancel;
|
|
groupStickersRemovePosition: point(6px, 6px);
|
|
groupStickersFieldPadding: margins(8px, 6px, 8px, 6px);
|
|
groupStickersField: InputField(defaultMultiSelectSearchField) {
|
|
placeholderFont: boxTextFont;
|
|
font: boxTextFont;
|
|
placeholderMargins: margins(0px, 0px, 0px, 0px);
|
|
textMargins: margins(0px, 7px, 0px, 0px);
|
|
textBg: boxBg;
|
|
heightMin: 32px;
|
|
}
|
|
groupStickersSubTitleHeight: 48px;
|
|
|
|
proxyUsePadding: margins(22px, 6px, 22px, 5px);
|
|
proxyTryIPv6Padding: margins(22px, 8px, 22px, 5px);
|
|
proxyRowPadding: margins(22px, 8px, 8px, 8px);
|
|
proxyRowIconSkip: 32px;
|
|
proxyRowSkip: 2px;
|
|
proxyRowRipple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
proxyRowTitleFg: windowFg;
|
|
proxyRowTitlePalette: TextPalette(defaultTextPalette) {
|
|
linkFg: windowSubTextFg;
|
|
}
|
|
proxyRowTitleStyle: TextStyle(defaultTextStyle) {
|
|
font: semiboldFont;
|
|
}
|
|
proxyRowStatusFg: windowSubTextFg;
|
|
proxyRowStatusFgOnline: windowActiveTextFg;
|
|
proxyRowStatusFgOffline: boxTextFgError;
|
|
proxyRowStatusFgAvailable: boxTextFgGood;
|
|
|
|
proxyEditTitle: FlatLabel(defaultFlatLabel) {
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: autoDownloadTitleFont;
|
|
}
|
|
textFg: boxTitleFg;
|
|
}
|
|
proxyEditTitlePadding: margins(22px, 16px, 22px, 0px);
|
|
proxyEditTypePadding: margins(22px, 4px, 22px, 8px);
|
|
proxyEditInputPadding: margins(22px, 0px, 22px, 0px);
|
|
proxyEditSkip: 16px;
|
|
|
|
proxyEmptyListLabel: FlatLabel(defaultFlatLabel) {
|
|
align: align(top);
|
|
textFg: windowSubTextFg;
|
|
}
|
|
proxyEmptyListPadding: margins(22px, 48px, 22px, 0px);
|
|
proxyCheckingPosition: point(2px, 5px);
|
|
proxyCheckingSkip: 6px;
|
|
proxyCheckingAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
|
|
color: windowSubTextFg;
|
|
thickness: 1px;
|
|
size: size(8px, 8px);
|
|
}
|
|
proxyDropdownDownPosition: point(-2px, 35px);
|
|
proxyDropdownUpPosition: point(-2px, 20px);
|
|
|
|
proxyAboutPadding: margins(22px, 7px, 22px, 14px);
|
|
proxyAboutSponsorPadding: margins(22px, 7px, 22px, 0px);
|
|
|
|
markdownLinkFieldPadding: margins(22px, 0px, 22px, 10px);
|
|
|
|
termsContent: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 285px;
|
|
}
|
|
termsPadding: margins(22px, 4px, 16px, 16px);
|
|
termsAgePadding: margins(22px, 16px, 16px, 0px);
|
|
|
|
themesSmallSkip: 10px;
|
|
themesMenuToggle: IconButton(defaultIconButton) {
|
|
width: 44px;
|
|
height: 44px;
|
|
|
|
icon: menuToggleIcon;
|
|
iconOver: menuToggleIconOver;
|
|
iconPosition: point(-1px, -1px);
|
|
|
|
rippleAreaPosition: point(4px, 4px);
|
|
rippleAreaSize: 36px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
themesMenuPosition: point(-2px, 25px);
|
|
|
|
createPollField: InputField(defaultInputField) {
|
|
font: boxTextFont;
|
|
textMargins: margins(0px, 4px, 0px, 4px);
|
|
textAlign: align(left);
|
|
heightMin: 36px;
|
|
heightMax: 86px;
|
|
placeholderFg: placeholderFg;
|
|
placeholderFgActive: placeholderFgActive;
|
|
placeholderFgError: placeholderFgActive;
|
|
placeholderMargins: margins(2px, 0px, 2px, 0px);
|
|
placeholderAlign: align(topleft);
|
|
placeholderScale: 0.;
|
|
placeholderFont: boxTextFont;
|
|
placeholderShift: -50px;
|
|
border: 0px;
|
|
borderActive: 0px;
|
|
duration: 100;
|
|
}
|
|
createPollFieldPadding: margins(22px, 5px, 22px, 5px);
|
|
createPollOptionField: InputField(createPollField) {
|
|
textMargins: margins(22px, 11px, 40px, 11px);
|
|
placeholderMargins: margins(2px, 0px, 2px, 0px);
|
|
heightMax: 68px;
|
|
}
|
|
createPollSolutionField: InputField(createPollField) {
|
|
textMargins: margins(0px, 4px, 0px, 4px);
|
|
border: 1px;
|
|
borderActive: 2px;
|
|
}
|
|
createPollLimitPadding: margins(22px, 10px, 22px, 16px);
|
|
createPollOptionRemove: CrossButton {
|
|
width: 22px;
|
|
height: 22px;
|
|
|
|
cross: CrossAnimation {
|
|
size: 22px;
|
|
skip: 6px;
|
|
stroke: 1.;
|
|
minScale: 0.3;
|
|
}
|
|
crossFg: boxTitleCloseFg;
|
|
crossFgOver: boxTitleCloseFgOver;
|
|
crossPosition: point(0px, 0px);
|
|
|
|
duration: 150;
|
|
loadingPeriod: 1000;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
createPollOptionRemovePosition: point(11px, 9px);
|
|
createPollWarning: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowSubTextFg;
|
|
palette: TextPalette(defaultTextPalette) {
|
|
linkFg: boxTextFgError;
|
|
}
|
|
}
|
|
createPollWarningPosition: point(16px, 6px);
|
|
createPollCheckboxMargin: margins(22px, 10px, 22px, 10px);
|
|
createPollFieldTitlePadding: margins(22px, 7px, 10px, 6px);
|
|
|
|
backgroundCheckbox: Checkbox(defaultCheckbox) {
|
|
textFg: msgServiceFg;
|
|
textFgActive: msgServiceFg;
|
|
|
|
width: -50px;
|
|
margin: margins(0px, 0px, 0px, 0px);
|
|
|
|
textPosition: point(0px, 6px);
|
|
checkPosition: point(0px, 0px);
|
|
|
|
style: semiboldTextStyle;
|
|
}
|
|
|
|
backgroundCheck: ServiceCheck {
|
|
margin: margins(10px, 6px, 8px, 6px);
|
|
diameter: 18px;
|
|
shift: 2px;
|
|
thickness: 2px;
|
|
tip: point(7px, 13px);
|
|
small: 3px;
|
|
large: 6px;
|
|
stroke: 2px;
|
|
color: msgServiceFg;
|
|
duration: 200;
|
|
}
|
|
|
|
urlAuthCheckbox: Checkbox(defaultBoxCheckbox) {
|
|
width: 240px;
|
|
}
|
|
|
|
addContactFieldMargin: margins(19px, 0px, 19px, 10px);
|
|
addContactWarningMargin: margins(19px, 10px, 19px, 5px);
|
|
blockUserConfirmation: FlatLabel(boxLabel) {
|
|
minWidth: 240px;
|
|
}
|
|
|
|
transferCheckWidth: 320px;
|
|
|
|
slowmodeLabelsMargin: margins(0px, 5px, 0px, 0px);
|
|
slowmodeLabel: LabelSimple(defaultLabelSimple) {
|
|
textFg: windowSubTextFg;
|
|
}
|
|
|
|
customBadgeField: InputField(defaultInputField) {
|
|
textMargins: margins(2px, 7px, 2px, 0px);
|
|
|
|
placeholderFg: placeholderFg;
|
|
placeholderFgActive: placeholderFgActive;
|
|
placeholderFgError: placeholderFgActive;
|
|
placeholderMargins: margins(0px, 0px, 0px, 0px);
|
|
placeholderScale: 0.;
|
|
placeholderFont: normalFont;
|
|
|
|
heightMin: 32px;
|
|
}
|
|
|
|
pollResultsQuestion: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 320px;
|
|
textFg: windowBoldFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(16px semibold);
|
|
}
|
|
}
|
|
pollResultsVotesCount: FlatLabel(defaultFlatLabel) {
|
|
textFg: windowSubTextFg;
|
|
}
|
|
pollResultsHeaderPadding: margins(22px, 22px, 22px, 8px);
|
|
pollResultsShowMore: SettingsButton(defaultSettingsButton) {
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
textBg: windowBg;
|
|
textBgOver: windowBgOver;
|
|
|
|
style: semiboldTextStyle;
|
|
|
|
height: 20px;
|
|
padding: margins(71px, 10px, 8px, 8px);
|
|
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
|
|
inviteViaLinkButton: SettingsButton(defaultSettingsButton) {
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
textBg: windowBg;
|
|
textBgOver: windowBgOver;
|
|
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px semibold);
|
|
}
|
|
|
|
height: 20px;
|
|
padding: margins(74px, 8px, 8px, 9px);
|
|
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
inviteViaLinkIcon: icon {{ "info/edit/group_manage_links", lightButtonFg }};
|
|
inviteViaLinkIconPosition: point(23px, 2px);
|
|
peerListWithInviteViaLink: PeerList(peerListBox) {
|
|
padding: margins(
|
|
0px,
|
|
0px,
|
|
0px,
|
|
membersMarginBottom);
|
|
}
|
|
peerListSingleRow: PeerList(peerListBox) {
|
|
padding: margins(0px, 0px, 0px, 0px);
|
|
}
|
|
|
|
scheduleHeight: 95px;
|
|
scheduleDateTop: 38px;
|
|
scheduleDateField: InputField(defaultInputField) {
|
|
textMargins: margins(2px, 0px, 2px, 0px);
|
|
placeholderScale: 0.;
|
|
heightMin: 30px;
|
|
textAlign: align(top);
|
|
font: font(14px);
|
|
}
|
|
scheduleTimeField: InputField(scheduleDateField) {
|
|
border: 0px;
|
|
borderActive: 0px;
|
|
heightMin: 28px;
|
|
placeholderFont: font(14px);
|
|
placeholderFgActive: placeholderFgActive;
|
|
}
|
|
scheduleDateWidth: 136px;
|
|
scheduleTimeWidth: 72px;
|
|
scheduleAtSkip: 24px;
|
|
scheduleAtTop: 42px;
|
|
scheduleAtLabel: FlatLabel(defaultFlatLabel) {
|
|
}
|
|
scheduleTimeSeparator: FlatLabel(defaultFlatLabel) {
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px);
|
|
}
|
|
}
|
|
scheduleTimeSeparatorPadding: margins(2px, 0px, 2px, 0px);
|
|
|
|
muteBoxTimeField: InputField(scheduleDateField) {
|
|
textMargins: margins(0px, 0px, 0px, 0px);
|
|
placeholderMargins: margins(0px, 0px, 0px, 0px);
|
|
placeholderScale: 0.;
|
|
heightMin: 30px;
|
|
textAlign: align(left);
|
|
font: font(14px);
|
|
}
|
|
muteBoxTimeFieldPadding: margins(5px, 0px, 5px, 0px);
|
|
|
|
boxAttentionDividerLabel: FlatLabel(boxDividerLabel) {
|
|
textFg: boxTextFgError;
|
|
}
|
|
|
|
autolockDateField: InputField(scheduleDateField) {
|
|
heightMin: 22px;
|
|
}
|
|
autolockTimeField: InputField(scheduleTimeField) {
|
|
heightMin: 20px;
|
|
}
|
|
autolockTimeWidth: 52px;
|
|
|
|
sponsoredUrlButtonSkip: 11px;
|
|
sponsoredUrlButton: RoundButton(defaultActiveButton) {
|
|
height: 32px;
|
|
width: -42px;
|
|
textBg: transparent;
|
|
textBgOver: transparent;
|
|
radius: roundRadiusLarge;
|
|
padding: margins(2px, 2px, 2px, 2px);
|
|
textFg: historyLinkInFg;
|
|
textFgOver: historyLinkInFg;
|
|
textTop: 7px;
|
|
font: normalFont;
|
|
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
|
|
requestPeerRestriction: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 240px;
|
|
textFg: membersAboutLimitFg;
|
|
style: TextStyle(boxTextStyle) {
|
|
lineHeight: 22px;
|
|
}
|
|
}
|
|
|
|
requestsBoxItem: PeerListItem(peerListBoxItem) {
|
|
height: 99px;
|
|
button: OutlineButton(defaultPeerListButton) {
|
|
textBg: contactsBg;
|
|
textBgOver: contactsBg;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: contactsBgOver;
|
|
}
|
|
}
|
|
}
|
|
requestsBoxList: PeerList(peerListBox) {
|
|
padding: margins(0px, 12px, 0px, 12px);
|
|
item: requestsBoxItem;
|
|
}
|
|
contactsWithStories: PeerList(peerListBox) {
|
|
padding: margins(0px, 0px, 0px, 0px);
|
|
item: PeerListItem(peerListBoxItem) {
|
|
height: 52px;
|
|
photoPosition: point(18px, 5px);
|
|
namePosition: point(70px, 7px);
|
|
statusPosition: point(70px, 27px);
|
|
|
|
checkbox: RoundImageCheckbox(defaultPeerListCheckbox) {
|
|
selectExtendTwice: 1px;
|
|
imageRadius: 21px;
|
|
imageSmallRadius: 19px;
|
|
check: RoundCheckbox(defaultPeerListCheck) {
|
|
size: 0px;
|
|
}
|
|
}
|
|
nameFgChecked: contactsNameFg;
|
|
}
|
|
}
|
|
storiesReadLineTwice: 2px;
|
|
storiesUnreadLineTwice: 4px;
|
|
requestsAcceptButton: RoundButton(defaultActiveButton) {
|
|
width: -28px;
|
|
height: 30px;
|
|
textTop: 6px;
|
|
}
|
|
requestsRejectButton: RoundButton(defaultLightButton) {
|
|
width: -28px;
|
|
height: 30px;
|
|
textTop: 6px;
|
|
}
|
|
requestAcceptPosition: point(71px, 58px);
|
|
requestButtonsSkip: 9px;
|
|
|
|
ringtonesBoxButton: SettingsButton(defaultSettingsButton) {
|
|
textFg: lightButtonFg;
|
|
textFgOver: lightButtonFgOver;
|
|
padding: margins(56px, 10px, 22px, 8px);
|
|
iconLeft: 25px;
|
|
}
|
|
ringtonesBoxSkip: 7px;
|
|
|
|
gradientButtonGlareDuration: 700;
|
|
gradientButtonGlareTimeout: 2000;
|
|
gradientButtonGlareWidth: 100px;
|
|
|
|
infoLabeledOneLine: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 20px;
|
|
style: TextStyle(defaultTextStyle) {
|
|
lineHeight: 19px;
|
|
}
|
|
margin: margins(5px, 5px, 5px, 5px);
|
|
}
|
|
infoLabelSkip: 2px;
|
|
infoLabeled: FlatLabel(infoLabeledOneLine) {
|
|
minWidth: 180px;
|
|
maxHeight: 0px;
|
|
margin: margins(5px, 5px, 5px, 5px);
|
|
}
|
|
infoLabel: FlatLabel(infoLabeled) {
|
|
textFg: windowSubTextFg;
|
|
}
|
|
|
|
shortInfoBox: ShortInfoBox {
|
|
label: infoLabel;
|
|
labeled: infoLabeled;
|
|
labeledOneLine: infoLabeledOneLine;
|
|
}
|