304 lines
		
	
	
	
		
			9.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			304 lines
		
	
	
	
		
			9.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| /*
 | |
| 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/widgets/widgets.style";
 | |
| 
 | |
| dialogsUnreadFont: font(12px bold);
 | |
| dialogsUnreadHeight: 19px;
 | |
| dialogsUnreadPadding: 5px;
 | |
| 
 | |
| dialogsRipple: RippleAnimation(defaultRippleAnimation) {
 | |
| 	color: dialogsRippleBg;
 | |
| }
 | |
| 
 | |
| dialogsTextFont: font(fsize);
 | |
| dialogsTextStyle: TextStyle(defaultTextStyle) {
 | |
| 	font: dialogsTextFont;
 | |
| 	linkFont: dialogsTextFont;
 | |
| 	linkFontOver: dialogsTextFont;
 | |
| }
 | |
| dialogsDateFont: font(13px);
 | |
| dialogsDateSkip: 5px;
 | |
| dialogsNameTop: 2px;
 | |
| 
 | |
| dialogsRowHeight: 62px;
 | |
| dialogsFilterPadding: point(7px, 7px);
 | |
| dialogsFilterSkip: 4px;
 | |
| dialogsPhotoSize: 46px;
 | |
| dialogsPhotoPadding: 12px;
 | |
| dialogsPadding: point(10px, 8px);
 | |
| 
 | |
| dialogsOnlineBadgeStroke: 2px;
 | |
| dialogsOnlineBadgeSize: 10px;
 | |
| dialogsOnlineBadgeSkip: point(0px, 2px);
 | |
| dialogsOnlineBadgeDuration: 150;
 | |
| 
 | |
| dialogsCallBadgeSize: 16px;
 | |
| dialogsCallBadgeSkip: point(-1px, 1px);
 | |
| 
 | |
| dialogsSpeakingStrokeNumerator: 16px;
 | |
| dialogsSpeakingDenominator: 8.;
 | |
| 
 | |
| dialogsImportantBarHeight: 37px;
 | |
| 
 | |
| dialogsSkip: 8px;
 | |
| 
 | |
| dialogsWidthDuration: 120;
 | |
| dialogsTextWidthMin: 150px;
 | |
| 
 | |
| dialogsTextPalette: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsTextFgService;
 | |
| }
 | |
| dialogsTextPaletteOver: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsTextFgServiceOver;
 | |
| }
 | |
| dialogsTextPaletteActive: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsTextFgServiceActive;
 | |
| }
 | |
| dialogsTextPaletteDraft: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsDraftFg;
 | |
| }
 | |
| dialogsTextPaletteDraftOver: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsDraftFgOver;
 | |
| }
 | |
| dialogsTextPaletteDraftActive: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsDraftFgActive;
 | |
| }
 | |
| dialogsTextPaletteTaken: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: boxTextFgGood;
 | |
| }
 | |
| dialogsTextPaletteTakenOver: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: boxTextFgGood;
 | |
| }
 | |
| dialogsTextPaletteTakenActive: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsDraftFgActive;
 | |
| }
 | |
| dialogsTextPaletteArchive: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsArchiveFg;
 | |
| }
 | |
| dialogsTextPaletteArchiveOver: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsArchiveFgOver;
 | |
| }
 | |
| dialogsTextPaletteArchiveActive: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsTextFgActive;
 | |
| }
 | |
| 
 | |
| dialogsEmptyHeight: 160px;
 | |
| dialogsEmptySkip: 2px;
 | |
| dialogsEmptyLabel: FlatLabel(defaultFlatLabel) {
 | |
| 	minWidth: 32px;
 | |
| 	align: align(top);
 | |
| 	textFg: windowSubTextFg;
 | |
| }
 | |
| 
 | |
| dialogsMenuToggle: IconButton {
 | |
| 	width: 40px;
 | |
| 	height: 40px;
 | |
| 
 | |
| 	icon: icon {{ "dialogs/dialogs_menu", dialogsMenuIconFg }};
 | |
| 	iconOver: icon {{ "dialogs/dialogs_menu", dialogsMenuIconFgOver }};
 | |
| 	iconPosition: point(-1px, -1px);
 | |
| 
 | |
| 	rippleAreaPosition: point(0px, 0px);
 | |
| 	rippleAreaSize: 40px;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: windowBgOver;
 | |
| 	}
 | |
| }
 | |
| dialogsMenuToggleUnread: icon {
 | |
| 	{ "dialogs/dialogs_menu_unread", dialogsMenuIconFg },
 | |
| 	{ "dialogs/dialogs_menu_unread_dot", dialogsUnreadBg },
 | |
| };
 | |
| dialogsMenuToggleUnreadMuted: icon {
 | |
| 	{ "dialogs/dialogs_menu_unread", dialogsMenuIconFg },
 | |
| 	{ "dialogs/dialogs_menu_unread_dot", dialogsMenuIconFg },
 | |
| };
 | |
| 
 | |
| dialogsLock: IconButton(dialogsMenuToggle) {
 | |
| 	icon: icon {{ "dialogs/dialogs_lock", dialogsMenuIconFg }};
 | |
| 	iconOver: icon {{ "dialogs/dialogs_lock", dialogsMenuIconFgOver }};
 | |
| }
 | |
| dialogsUnlockIcon: icon {{ "dialogs/dialogs_unlock", dialogsMenuIconFg }};
 | |
| dialogsUnlockIconOver: icon {{ "dialogs/dialogs_unlock", dialogsMenuIconFgOver }};
 | |
| dialogsCalendar: IconButton {
 | |
| 	width: 29px;
 | |
| 	height: 32px;
 | |
| 
 | |
| 	icon: icon {{ "dialogs/dialogs_calendar", dialogsMenuIconFg }};
 | |
| 	iconOver: icon {{ "dialogs/dialogs_calendar", dialogsMenuIconFgOver }};
 | |
| 	iconPosition: point(0px, 5px);
 | |
| }
 | |
| dialogsSearchFrom: IconButton(dialogsCalendar) {
 | |
| 	width: 26px;
 | |
| 	icon: icon {{ "dialogs/dialogs_search_from", dialogsMenuIconFg }};
 | |
| 	iconOver: icon {{ "dialogs/dialogs_search_from", dialogsMenuIconFgOver }};
 | |
| }
 | |
| dialogsSearchForNarrowFilters: IconButton(dialogsMenuToggle) {
 | |
| 	icon: icon {{ "top_bar_search", menuIconFg }};
 | |
| 	iconOver: icon {{ "top_bar_search", menuIconFgOver }};
 | |
| 	iconPosition: point(4px, 4px);
 | |
| }
 | |
| dialogsSearchFromPadding: margins(10px, 10px, 10px, 10px);
 | |
| 
 | |
| dialogsFilter: FlatInput(defaultFlatInput) {
 | |
| 	font: font(fsize);
 | |
| 
 | |
| 	width: 240px;
 | |
| 	height: 32px;
 | |
| 	textMrg: margins(12px, 3px, 30px, 3px);
 | |
| }
 | |
| dialogsCancelSearchInPeer: IconButton(dialogsMenuToggle) {
 | |
| 	icon: icon {{ "dialogs/dialogs_cancel_search", dialogsMenuIconFg }};
 | |
| 	iconOver: icon {{ "dialogs/dialogs_cancel_search", dialogsMenuIconFgOver }};
 | |
| 	iconPosition: point(11px, 11px);
 | |
| 	rippleAreaPosition: point(3px, 3px);
 | |
| 	rippleAreaSize: 34px;
 | |
| }
 | |
| dialogsCancelSearch: CrossButton {
 | |
| 	width: 32px;
 | |
| 	height: 32px;
 | |
| 
 | |
| 	cross: CrossAnimation {
 | |
| 		size: 32px;
 | |
| 		skip: 10px;
 | |
| 		stroke: 2px;
 | |
| 		minScale: 0.3;
 | |
| 	}
 | |
| 	crossFg: dialogsMenuIconFg;
 | |
| 	crossFgOver: dialogsMenuIconFgOver;
 | |
| 	crossPosition: point(0px, 0px);
 | |
| 
 | |
| 	duration: 150;
 | |
| 	loadingPeriod: 1000;
 | |
| 	ripple: emptyRippleAnimation;
 | |
| }
 | |
| 
 | |
| dialogsChatTypeSkip: 22px;
 | |
| dialogsChatIcon: icon {{ "dialogs/dialogs_chat", dialogsChatIconFg, point(1px, 4px) }};
 | |
| dialogsChatIconOver: icon {{ "dialogs/dialogs_chat", dialogsChatIconFgOver, point(1px, 4px) }};
 | |
| dialogsChatIconActive: icon {{ "dialogs/dialogs_chat", dialogsChatIconFgActive, point(1px, 4px) }};
 | |
| dialogsChannelIcon: icon {{ "dialogs/dialogs_channel", dialogsChatIconFg, point(3px, 4px) }};
 | |
| dialogsChannelIconOver: icon {{ "dialogs/dialogs_channel", dialogsChatIconFgOver, point(3px, 4px) }};
 | |
| dialogsChannelIconActive: icon {{ "dialogs/dialogs_channel", dialogsChatIconFgActive, point(3px, 4px) }};
 | |
| dialogsBotIcon: icon {{ "dialogs/dialogs_bot", dialogsChatIconFg, point(1px, 3px) }};
 | |
| dialogsBotIconOver: icon {{ "dialogs/dialogs_bot", dialogsChatIconFgOver, point(1px, 3px) }};
 | |
| dialogsBotIconActive: icon {{ "dialogs/dialogs_bot", dialogsChatIconFgActive, point(1px, 3px) }};
 | |
| dialogsArchiveUserpic: icon {{ "archive_userpic", historyPeerUserpicFg }};
 | |
| dialogsRepliesUserpic: icon {{ "replies_userpic", historyPeerUserpicFg }};
 | |
| 
 | |
| dialogsSendStateSkip: 20px;
 | |
| dialogsSendingIcon: icon {{ "dialogs/dialogs_sending", dialogsSendingIconFg, point(8px, 4px) }};
 | |
| dialogsSendingIconOver: icon {{ "dialogs/dialogs_sending", dialogsSendingIconFgOver, point(8px, 4px) }};
 | |
| dialogsSendingIconActive: icon {{ "dialogs/dialogs_sending", dialogsSendingIconFgActive, point(8px, 4px) }};
 | |
| dialogsSentIcon: icon {{ "dialogs/dialogs_sent", dialogsSentIconFg, point(10px, 4px) }};
 | |
| dialogsSentIconOver: icon {{ "dialogs/dialogs_sent", dialogsSentIconFgOver, point(10px, 4px) }};
 | |
| dialogsSentIconActive: icon {{ "dialogs/dialogs_sent", dialogsSentIconFgActive, point(10px, 4px) }};
 | |
| dialogsReceivedIcon: icon {{ "dialogs/dialogs_received", dialogsSentIconFg, point(5px, 4px) }};
 | |
| dialogsReceivedIconOver: icon {{ "dialogs/dialogs_received", dialogsSentIconFgOver, point(5px, 4px) }};
 | |
| dialogsReceivedIconActive: icon {{ "dialogs/dialogs_received", dialogsSentIconFgActive, point(5px, 4px) }};
 | |
| dialogsPinnedIcon: icon {{ "dialogs/dialogs_pinned", dialogsUnreadBgMuted }};
 | |
| dialogsPinnedIconOver: icon {{ "dialogs/dialogs_pinned", dialogsUnreadBgMutedOver }};
 | |
| dialogsPinnedIconActive: icon {{ "dialogs/dialogs_pinned", dialogsUnreadBgMutedActive }};
 | |
| 
 | |
| dialogsVerifiedIcon: icon {
 | |
| 	{ "dialogs/dialogs_verified_star", dialogsVerifiedIconBg },
 | |
| 	{ "dialogs/dialogs_verified_check", dialogsVerifiedIconFg },
 | |
| };
 | |
| dialogsVerifiedIconOver: icon {
 | |
| 	{ "dialogs/dialogs_verified_star", dialogsVerifiedIconBgOver },
 | |
| 	{ "dialogs/dialogs_verified_check", dialogsVerifiedIconFgOver },
 | |
| };
 | |
| dialogsVerifiedIconActive: icon {
 | |
| 	{ "dialogs/dialogs_verified_star", dialogsVerifiedIconBgActive },
 | |
| 	{ "dialogs/dialogs_verified_check", dialogsVerifiedIconFgActive },
 | |
| };
 | |
| 
 | |
| historySendingIcon: icon {{ "dialogs/dialogs_sending", historySendingOutIconFg, point(5px, 5px) }};
 | |
| historySendingInvertedIcon: icon {{ "dialogs/dialogs_sending", historySendingInvertedIconFg, point(5px, 5px) }};
 | |
| historyViewsSendingIcon: icon {{ "dialogs/dialogs_sending", historySendingInIconFg, point(3px, 0px) }};
 | |
| historyViewsSendingInvertedIcon: icon  {{ "dialogs/dialogs_sending", historySendingInvertedIconFg, point(3px, 0px) }};
 | |
| 
 | |
| dialogsUpdateButton: FlatButton {
 | |
| 	color: activeButtonFg;
 | |
| 	overColor: activeButtonFgOver;
 | |
| 
 | |
| 	bgColor: activeButtonBg;
 | |
| 	overBgColor: activeButtonBgOver;
 | |
| 
 | |
| 	width: -34px;
 | |
| 	height: 46px;
 | |
| 
 | |
| 	textTop: 14px;
 | |
| 
 | |
| 	font: semiboldFont;
 | |
| 	overFont: semiboldFont;
 | |
| 
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: activeButtonBgRipple;
 | |
| 	}
 | |
| }
 | |
| dialogsInstallUpdate: icon {{ "install_update", activeButtonFg }};
 | |
| dialogsInstallUpdateOver: icon {{ "install_update", activeButtonFgOver }};
 | |
| 
 | |
| dialogsLoadMoreButton: FlatButton(dialogsUpdateButton) {
 | |
| 	color: lightButtonFg;
 | |
| 	overColor: lightButtonFg;
 | |
| 	bgColor: lightButtonBg;
 | |
| 	overBgColor: lightButtonBgOver;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: lightButtonBgRipple;
 | |
| 	}
 | |
| 
 | |
| 	height: 36px;
 | |
| 	textTop: 9px;
 | |
| }
 | |
| dialogsLoadMore: icon {{ "install_update-flip_vertical", lightButtonFg }};
 | |
| dialogsLoadMoreLoading: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
 | |
| 	color: lightButtonFg;
 | |
| 	thickness: 3px;
 | |
| 	size: size(12px, 12px);
 | |
| }
 | |
| 
 | |
| dialogsForwardHeight: 32px;
 | |
| dialogsForwardTextLeft: 35px;
 | |
| dialogsForwardTextTop: 6px;
 | |
| dialogsForwardCancel: IconButton {
 | |
| 	width: 34px;
 | |
| 	height: dialogsForwardHeight;
 | |
| 
 | |
| 	icon: dialogsForwardCancelIcon;
 | |
| 	iconOver: dialogsForwardCancelIcon;
 | |
| 	iconPosition: point(12px, 11px);
 | |
| }
 | |
| dialogsForwardFont: semiboldFont;
 | |
| 
 | |
| dialogsSearchInHeight: 52px;
 | |
| dialogsSearchInPhotoSize: 36px;
 | |
| dialogsSearchInPhotoPadding: 10px;
 | |
| dialogsSearchInSkip: 7px;
 | |
| dialogsSearchFromStyle: TextStyle(defaultTextStyle) {
 | |
| 	font: normalFont;
 | |
| 	linkFont: semiboldFont;
 | |
| 	linkFontOver: semiboldFont;
 | |
| }
 | |
| dialogsSearchFromPalette: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: dialogsNameFg;
 | |
| }
 | |
| 
 | |
| dialogsScamPadding: margins(2px, 0px, 2px, 0px);
 | |
| dialogsScamFont: font(9px semibold);
 | |
| dialogsScamSkip: 4px;
 | |
| dialogsScamRadius: 2px;
 | |
| 
 | |
| dialogsMiniPreviewTop: 1px;
 | |
| dialogsMiniPreview: 16px;
 | |
| dialogsMiniPreviewRadius: 2px;
 | |
| dialogsMiniPreviewSkip: 2px;
 | |
| dialogsMiniPreviewRight: 3px;
 | |
| dialogsMiniPlay: icon{{ "dialogs/dialogs_mini_play", videoPlayIconFg }};
 | 
