tdesktop/Telegram/SourceFiles/chat_helpers/chat_helpers.style

431 lines
12 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/layers/layers.style";
using "ui/widgets/widgets.style";
TabbedSearch {
outer: color;
bg: color;
fg: color;
fgActive: color;
fadeLeft: icon;
fadeRight: icon;
field: InputField;
search: IconButton;
back: IconButton;
cancel: CrossButton;
defaultFieldWidth: pixels;
groupWidth: pixels;
groupSkip: pixels;
height: pixels;
}
EmojiPan {
margin: margins;
padding: margins;
desiredSize: pixels;
verticalSizeSub: pixels;
header: pixels;
headerLeft: pixels;
headerLockLeft: pixels;
headerLockedLeft: pixels;
headerTop: pixels;
footer: pixels;
iconSkip: pixels;
iconWidth: pixels;
iconArea: pixels;
bg: color;
overBg: color;
categoriesBg: color;
categoriesBgOver: color;
fadeLeft: icon;
fadeRight: icon;
search: TabbedSearch;
searchMargin: margins;
}
switchPmButton: RoundButton(defaultBoxButton) {
width: 320px;
height: 34px;
textTop: 7px;
}
stickersRestrictedLabel: FlatLabel(defaultFlatLabel) {
minWidth: 200px;
align: align(center);
textFg: noContactsColor;
}
stickersTrendingHeader: 56px;
stickersTrendingSkip: 4px;
stickersTrendingHeaderFont: semiboldFont;
stickersTrendingHeaderFg: windowFg;
stickersTrendingHeaderTop: 11px;
stickersTrendingSubheaderFont: normalFont;
stickersTrendingSubheaderFg: windowSubTextFg;
stickersTrendingSubheaderTop: 31px;
emojiPanButtonRight: 7px;
emojiPanButtonTop: 8px;
emojiPanButton: RoundButton(defaultActiveButton) {
width: -24px;
height: 23px;
textTop: 2px;
}
emojiPanExpand: RoundButton(defaultActiveButton) {
font: font(12px bold);
width: -8px;
height: 19px;
textTop: 1px;
}
stickersTrendingAddTop: 14px;
stickersTrendingAdd: RoundButton(defaultActiveButton) {
width: -16px;
height: 26px;
textTop: 4px;
}
stickersRemove: IconButton(defaultIconButton) {
width: 40px;
height: 40px;
icon: icon {{ "info/info_media_delete", menuIconFg }};
iconOver: icon {{ "info/info_media_delete", menuIconFgOver }};
rippleAreaSize: 40px;
rippleAreaPosition: point(0px, 0px);
ripple: RippleAnimation(defaultRippleAnimation) {
color: windowBgOver;
}
}
stickersUndoRemove: RoundButton(defaultLightButton) {
width: -16px;
height: 26px;
textTop: 4px;
}
stickersRemoveSkip: 4px;
stickersReorderIcon: icon {{ "stickers_reorder", menuIconFg }};
stickersReorderSkip: 13px;
stickersTabs: defaultTabsSlider;
stickerEmojiSkip: 5px;
stickersFeaturedBadgeFont: font(12px bold);
stickersFeaturedBadgeSize: 15px;
stickersFeaturedBadgeTextTop: -1px;
stickersFeaturedBadgePadding: 4px;
stickersFeaturedBadgeSkip: 4px;
stickersFeaturedBadgeTop: 9px;
stickersFeaturedUnreadBg: msgFileInBg;
stickersFeaturedUnreadSize: 5px;
stickersFeaturedUnreadSkip: 5px;
stickersFeaturedUnreadTop: 7px;
stickersFeaturedInstalled: icon {{ "chat/input_save", lightButtonFg }};
stickersMaxHeight: 320px;
stickersPadding: margins(19px, 13px, 19px, 13px);
stickersSize: size(64px, 64px);
emojiSetPadding: margins(12px, 0px, 12px, 0px);
emojiSetMaxHeight: 197px;
emojiSetSize: size(42px, 39px);
stickersScroll: ScrollArea(boxScroll) {
deltat: 19px;
deltab: 9px;
}
stickersRowDisabledOpacity: 0.4;
stickersRowDuration: 200;
stickersSettings: icon {{ "emoji/emoji_settings", emojiIconFg }};
stickersTrending: icon {{ "emoji/stickers_add", emojiIconFg }};
stickersTrendingUnread: icon {
{ "emoji/stickers_add_unread", emojiIconFg },
{ "emoji/stickers_add_dot", dialogsUnreadBg }
};
emojiStatusDefault: icon {{ "emoji/stickers_premium", emojiIconFg }};
filtersRemove: IconButton(stickersRemove) {
ripple: defaultRippleAnimation;
}
emojiPanMargins: margins(10px, 10px, 10px, 10px);
emojiTabs: SettingsSlider(defaultTabsSlider) {
height: 43px;
barTop: 40px;
labelTop: 12px;
}
emojiRecent: icon {{ "emoji/emoji_recent", emojiIconFg }};
emojiRecentActive: icon {{ "emoji/emoji_recent", emojiSubIconFgActive }};
emojiPeople: icon {{ "emoji/emoji_smile", emojiIconFg }};
emojiPeopleActive: icon {{ "emoji/emoji_smile", emojiSubIconFgActive }};
emojiNature: icon {{ "emoji/emoji_nature", emojiIconFg }};
emojiNatureActive: icon {{ "emoji/emoji_nature", emojiSubIconFgActive }};
emojiFood: icon {{ "emoji/emoji_food", emojiIconFg }};
emojiFoodActive: icon {{ "emoji/emoji_food", emojiSubIconFgActive }};
emojiActivity: icon {{ "emoji/emoji_activities", emojiIconFg }};
emojiActivityActive: icon {{ "emoji/emoji_activities", emojiSubIconFgActive }};
emojiTravel: icon {{ "emoji/emoji_travel", emojiIconFg }};
emojiTravelActive: icon {{ "emoji/emoji_travel", emojiSubIconFgActive }};
emojiObjects: icon {{ "emoji/emoji_objects", emojiIconFg }};
emojiObjectsActive: icon {{ "emoji/emoji_objects", emojiSubIconFgActive }};
emojiSymbols: icon {{ "emoji/emoji_love", emojiIconFg }};
emojiSymbolsActive: icon {{ "emoji/emoji_love", emojiSubIconFgActive }};
emojiCategoryIconTop: 6px;
emojiPanAnimation: PanelAnimation(defaultPanelAnimation) {
fadeBg: emojiPanBg;
shadow: boxRoundShadow;
}
emojiPanWidth: 345px;
emojiPanMinHeight: 278px;
emojiPanMaxHeight: 640px;
emojiPanHeightRatio: 0.75;
emojiPanShowDuration: 200;
emojiPanDuration: 200;
emojiPanHover: windowBgOver;
emojiPanSlideDuration: 200;
emojiPanArea: size(34px, 32px);
emojiPanRadius: 8px;
defaultTabbedSearch: TabbedSearch {
outer: emojiPanBg;
bg: emojiPanHover;
fg: emojiIconFg;
fgActive: emojiSubIconFgActive;
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanHover }};
fadeRight: icon {{ "fade_horizontal", emojiPanHover }};
field: InputField(defaultMultiSelectSearchField) {
textMargins: margins(2px, 7px, 2px, 0px);
}
search: IconButton(defaultIconButton) {
width: 33px;
height: 33px;
icon: icon{{ "emoji/emoji_search_input", emojiIconFg }};
iconOver: icon{{ "emoji/emoji_search_input", emojiIconFg }};
iconPosition: point(7px, -1px);
ripple: emptyRippleAnimation;
}
back: IconButton(defaultIconButton) {
width: 33px;
height: 33px;
icon: icon{{ "emoji/emoji_back", menuIconFg }};
iconOver: icon{{ "emoji/emoji_back", menuIconFg }};
iconPosition: point(7px, -1px);
ripple: emptyRippleAnimation;
}
cancel: CrossButton {
width: 33px;
height: 33px;
cross: CrossAnimation {
size: 27px;
skip: 8px;
stroke: 1.;
minScale: 0.3;
}
crossFg: menuIconFg;
crossFgOver: menuIconFg;
crossPosition: point(1px, 3px);
duration: 150;
loadingPeriod: 1000;
ripple: emptyRippleAnimation;
}
defaultFieldWidth: 103px;
groupWidth: 30px;
groupSkip: 2px;
height: 33px;
}
defaultEmojiPan: EmojiPan {
margin: margins(7px, 0px, 7px, 0px);
padding: margins(7px, 0px, 4px, 7px);
desiredSize: 37px;
verticalSizeSub: 1px;
header: 33px;
headerLeft: 14px;
headerLockLeft: 7px;
headerLockedLeft: 26px;
headerTop: 10px;
footer: 36px;
iconSkip: 3px;
iconWidth: 30px;
iconArea: 28px;
bg: emojiPanBg;
overBg: emojiPanHover;
categoriesBg: emojiPanCategories;
categoriesBgOver: windowBgRipple;
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
fadeRight: icon {{ "fade_horizontal", emojiPanCategories }};
search: defaultTabbedSearch;
searchMargin: margins(1px, 11px, 2px, 5px);
}
statusEmojiPan: EmojiPan(defaultEmojiPan) {
categoriesBg: windowBg;
categoriesBgOver: windowBgOver;
fadeLeft: icon {{ "fade_horizontal-flip_horizontal", windowBg }};
fadeRight: icon {{ "fade_horizontal", windowBg }};
}
inlineResultsMinHeight: 278px;
inlineResultsMaxHeight: 640px;
emojiPanHeaderFont: semiboldFont;
emojiPanRemoveSkip: 10px;
emojiPanRemoveTop: 10px;
emojiColorsPadding: 5px;
emojiColorsSep: 1px;
emojiColorsSepColor: shadowFg;
emojiIconSelectSkip: 3px;
emojiPremiumRequired: icon{{ "emoji/premium_lock", windowSubTextFg }};
hashtagClose: IconButton {
width: 30px;
height: 30px;
icon: smallCloseIcon;
iconOver: smallCloseIconOver;
iconPosition: point(10px, 10px);
rippleAreaPosition: point(5px, 5px);
rippleAreaSize: 20px;
ripple: RippleAnimation(defaultRippleAnimation) {
color: windowBgOver;
}
}
stickerPanWidthMin: 64px;
stickerPanSize: size(stickerPanWidthMin, stickerPanWidthMin);
stickerPanPadding: 11px;
stickerPanDeleteIconBg: icon {{ "emoji/emoji_delete_bg", stickerPanDeleteBg }};
stickerPanDeleteIconFg: icon {{ "emoji/emoji_delete", stickerPanDeleteFg }};
stickerPanDeleteOpacityBg: 0.3;
stickerPanDeleteOpacityBgOver: 0.5;
stickerPanDeleteOpacityFg: 0.8;
stickerPanDeleteOpacityFgOver: 1.;
stickerPanRemoveSet: IconButton(hashtagClose) {
width: 20px;
height: 20px;
iconPosition: point(-1px, -1px);
rippleAreaPosition: point(0px, 0px);
}
stickerIconMove: 400;
stickerPreviewDuration: 150;
stickerPreviewMin: 0.1;
stickerGroupCategorySize: 28px;
stickerGroupCategoryAbout: defaultTextStyle;
stickerGroupCategoryAddMargin: margins(0px, 10px, 0px, 5px);
stickerGroupCategoryAdd: stickersTrendingAdd;
stickersToast: Toast(defaultToast) {
minWidth: 340px;
maxWidth: 340px;
padding: margins(16px, 13px, 16px, 12px);
}
stickersEmpty: icon {{ "stickers_empty", windowSubTextFg }};
emojiEmpty: icon {{ "emoji_empty", windowSubTextFg }};
inlineBotsScroll: ScrollArea(defaultSolidScroll) {
deltat: stickerPanPadding;
deltab: stickerPanPadding;
}
gifsPadding: margins(9px, 5px, 3px, 9px);
emojiSuggestionsDropdown: InnerDropdown(defaultInnerDropdown) {
scrollMargin: margins(0px, emojiColorsPadding, 0px, emojiColorsPadding);
scrollPadding: margins(0px, 0px, 0px, 0px);
}
emojiSuggestionSize: 40px;
emojiSuggestionsScrolledWidth: 240px;
emojiSuggestionsPadding: margins(emojiColorsPadding, 0px, emojiColorsPadding, 0px);
emojiSuggestionsFadeAfter: 20px;
mentionHeight: 40px;
mentionPadding: margins(8px, 5px, 8px, 5px);
mentionTop: 11px;
mentionFont: linkFont;
mentionNameFg: windowFg;
mentionNameFgOver: windowFgOver;
mentionPhotoSize: 33px;
mentionBg: windowBg;
mentionBgOver: windowBgOver;
mentionFg: windowSubTextFg;
mentionFgOver: windowSubTextFgOver;
mentionFgActive: windowActiveTextFg;
mentionFgOverActive: windowActiveTextFg;
autocompleteSearchPadding: margins(16px, 5px, 16px, 5px);
autocompleteRowPadding: margins(16px, 5px, 16px, 5px);
autocompleteRowTitle: semiboldTextStyle;
autocompleteRowKeys: defaultTextStyle;
autocompleteRowAnswer: defaultTextStyle;
manageEmojiPreview: 22px;
manageEmojiPreviewWidth: 48px;
manageEmojiPreviewHeight: 48px;
manageEmojiPreviewPadding: margins(22px, 9px, 19px, 9px);
manageEmojiMarginRight: 21px;
manageEmojiNameTop: 3px;
manageEmojiStatusTop: 25px;
inlineRadialSize: 44px;
inlineFileSize: 44px;
stickersPremiumLock: icon{{ "emoji/premium_lock", premiumButtonFg }};
reactStripExtend: margins(21px, 49px, 39px, 0px);
reactStripHeight: 40px;
reactStripSize: 32px;
reactStripMinWidth: 60px;
reactStripImage: 26px;
reactStripSkip: 7px;
reactStripBubble: icon{
{ "chat/reactions_bubble_shadow", windowShadowFg },
{ "chat/reactions_bubble", windowBg },
};
reactStripBubbleRight: 20px;
userpicBuilderEmojiPan: EmojiPan(statusEmojiPan) {
margin: margins(reactStripSkip, 0px, reactStripSkip, 0px);
padding: margins(reactStripSkip, 0px, reactStripSkip, reactStripSkip);
desiredSize: reactStripSize;
verticalSizeSub: 0px;
overBg: transparent;
search: TabbedSearch(defaultTabbedSearch) {
defaultFieldWidth: 88px;
}
}
reactPanelEmojiPan: EmojiPan(userpicBuilderEmojiPan) {
searchMargin: margins(1px, 10px, 2px, 6px);
}
emojiScroll: ScrollArea(defaultSolidScroll) {
deltat: 3px;
deltab: 3px;
round: -1px;
width: 7px;
deltax: 2px;
hiding: 0;
}
reactPanelScroll: ScrollArea(emojiScroll) {
deltab: 7px;
}
emojiSuggestionsFadeLeft: icon {{ "fade_horizontal-flip_horizontal", boxBg }};
emojiSuggestionsFadeRight: icon {{ "fade_horizontal", boxBg }};
choosePeerGroupIcon: icon {{ "info/edit/create_group", lightButtonFg }};
choosePeerChannelIcon: icon {{ "info/edit/create_channel", lightButtonFg }};
choosePeerCreateIconLeft: 25px;