290 lines
9.3 KiB
Plaintext
290 lines
9.3 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/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(10px, 12px);
|
|
dialogsOnlineBadgeDuration: 150;
|
|
|
|
dialogsImportantBarHeight: 37px;
|
|
|
|
dialogsSkip: 8px;
|
|
|
|
dialogsWidthDuration: 120;
|
|
dialogsTextWidthMin: 150px;
|
|
dialogsScroll: ScrollArea(defaultScrollArea) {
|
|
topsh: 0px;
|
|
bottomsh: 0px;
|
|
}
|
|
|
|
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_menu", dialogsMenuIconFg }};
|
|
iconOver: icon {{ "dialogs_menu", dialogsMenuIconFgOver }};
|
|
iconPosition: point(10px, 10px);
|
|
|
|
rippleAreaPosition: point(0px, 0px);
|
|
rippleAreaSize: 40px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
dialogsLock: IconButton(dialogsMenuToggle) {
|
|
icon: icon {{ "dialogs_lock", dialogsMenuIconFg }};
|
|
iconOver: icon {{ "dialogs_lock", dialogsMenuIconFgOver }};
|
|
}
|
|
dialogsUnlockIcon: icon {{ "dialogs_unlock", dialogsMenuIconFg }};
|
|
dialogsUnlockIconOver: icon {{ "dialogs_unlock", dialogsMenuIconFgOver }};
|
|
dialogsCalendar: IconButton {
|
|
width: 29px;
|
|
height: 32px;
|
|
|
|
icon: icon {{ "dialogs_calendar", dialogsMenuIconFg }};
|
|
iconOver: icon {{ "dialogs_calendar", dialogsMenuIconFgOver }};
|
|
iconPosition: point(0px, 5px);
|
|
}
|
|
dialogsSearchFrom: IconButton(dialogsCalendar) {
|
|
width: 26px;
|
|
icon: icon {{ "dialogs_search_from", dialogsMenuIconFg }};
|
|
iconOver: icon {{ "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_cancel_search", dialogsMenuIconFg }};
|
|
iconOver: icon {{ "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_chat", dialogsChatIconFg, point(1px, 4px) }};
|
|
dialogsChatIconOver: icon {{ "dialogs_chat", dialogsChatIconFgOver, point(1px, 4px) }};
|
|
dialogsChatIconActive: icon {{ "dialogs_chat", dialogsChatIconFgActive, point(1px, 4px) }};
|
|
dialogsChannelIcon: icon {{ "dialogs_channel", dialogsChatIconFg, point(3px, 4px) }};
|
|
dialogsChannelIconOver: icon {{ "dialogs_channel", dialogsChatIconFgOver, point(3px, 4px) }};
|
|
dialogsChannelIconActive: icon {{ "dialogs_channel", dialogsChatIconFgActive, point(3px, 4px) }};
|
|
dialogsBotIcon: icon {{ "dialogs_bot", dialogsChatIconFg, point(1px, 3px) }};
|
|
dialogsBotIconOver: icon {{ "dialogs_bot", dialogsChatIconFgOver, point(1px, 3px) }};
|
|
dialogsBotIconActive: icon {{ "dialogs_bot", dialogsChatIconFgActive, point(1px, 3px) }};
|
|
//dialogsFeedIcon: icon {{ "dialogs_feed", dialogsChatIconFg, point(4px, 4px) }}; // #feed
|
|
//dialogsFeedIconOver: icon {{ "dialogs_feed", dialogsChatIconFgOver, point(4px, 4px) }};
|
|
//dialogsFeedIconActive: icon {{ "dialogs_feed", dialogsChatIconFgActive, point(4px, 4px) }};
|
|
dialogsArchiveUserpic: icon {{ "archive_userpic", historyPeerUserpicFg }};
|
|
|
|
dialogsSendStateSkip: 20px;
|
|
dialogsSendingIcon: icon {{ "dialogs_sending", dialogsSendingIconFg, point(8px, 4px) }};
|
|
dialogsSendingIconOver: icon {{ "dialogs_sending", dialogsSendingIconFgOver, point(8px, 4px) }};
|
|
dialogsSendingIconActive: icon {{ "dialogs_sending", dialogsSendingIconFgActive, point(8px, 4px) }};
|
|
dialogsSentIcon: icon {{ "dialogs_sent", dialogsSentIconFg, point(10px, 4px) }};
|
|
dialogsSentIconOver: icon {{ "dialogs_sent", dialogsSentIconFgOver, point(10px, 4px) }};
|
|
dialogsSentIconActive: icon {{ "dialogs_sent", dialogsSentIconFgActive, point(10px, 4px) }};
|
|
dialogsReceivedIcon: icon {{ "dialogs_received", dialogsSentIconFg, point(5px, 4px) }};
|
|
dialogsReceivedIconOver: icon {{ "dialogs_received", dialogsSentIconFgOver, point(5px, 4px) }};
|
|
dialogsReceivedIconActive: icon {{ "dialogs_received", dialogsSentIconFgActive, point(5px, 4px) }};
|
|
dialogsPinnedIcon: icon {{ "dialogs_pinned", dialogsUnreadBgMuted }};
|
|
dialogsPinnedIconOver: icon {{ "dialogs_pinned", dialogsUnreadBgMutedOver }};
|
|
dialogsPinnedIconActive: icon {{ "dialogs_pinned", dialogsUnreadBgMutedActive }};
|
|
|
|
dialogsVerifiedIcon: icon {
|
|
{ "dialogs_verified_star", dialogsVerifiedIconBg, point(4px, 2px) },
|
|
{ "dialogs_verified_check", dialogsVerifiedIconFg, point(7px, 7px) },
|
|
};
|
|
dialogsVerifiedIconOver: icon {
|
|
{ "dialogs_verified_star", dialogsVerifiedIconBgOver, point(4px, 2px) },
|
|
{ "dialogs_verified_check", dialogsVerifiedIconFgOver, point(7px, 7px) },
|
|
};
|
|
dialogsVerifiedIconActive: icon {
|
|
{ "dialogs_verified_star", dialogsVerifiedIconBgActive, point(4px, 2px) },
|
|
{ "dialogs_verified_check", dialogsVerifiedIconFgActive, point(7px, 7px) },
|
|
};
|
|
|
|
historySendingIcon: icon {{ "dialogs_sending", historySendingOutIconFg, point(5px, 5px) }};
|
|
historySendingInvertedIcon: icon {{ "dialogs_sending", historySendingInvertedIconFg, point(5px, 5px) }};
|
|
historyViewsSendingIcon: icon {{ "dialogs_sending", historySendingInIconFg, point(3px, 0px) }};
|
|
historyViewsSendingInvertedIcon: icon {{ "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;
|
|
|