/* This file is part of Telegram Desktop, the official desktop version of Telegram messaging app, see https://telegram.org Telegram Desktop is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. In addition, as a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library. Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org */ using "basic.style"; using "boxes/boxes.style"; using "ui/widgets/widgets.style"; InfoToggle { color: color; duration: int; size: pixels; skip: pixels; stroke: pixels; rippleAreaPadding: pixels; } 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; } infoScroll: ScrollArea(defaultScrollArea) { bottomsh: 0px; topsh: 0px; } infoTopBarBackIcon: icon {{ "info_back", boxTitleCloseFg }}; infoTopBarBackIconOver: icon {{ "info_back", boxTitleCloseFgOver }}; infoTopBarHeight: 54px; infoTopBarBack: IconButton(defaultIconButton) { width: 70px; 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); } } infoTopBar: InfoTopBar { height: infoTopBarHeight; back: infoTopBarBack; title: infoTopBarTitle; titlePosition: point(23px, 18px); bg: windowBg; } infoLayerTopBarHeight: boxLayerTitleHeight; infoLayerTopBarBackIcon: icon {{ "info_back", boxTitleCloseFg }}; infoLayerTopBarBackIconOver: icon {{ "info_back", boxTitleCloseFgOver }}; infoLayerTopBarBack: IconButton(infoTopBarBack) { width: infoLayerTopBarHeight; height: infoLayerTopBarHeight; iconPosition: point(12px, -1px); icon: infoLayerTopBarBackIcon; iconOver: infoLayerTopBarBackIconOver; rippleAreaSize: 44px; } infoLayerTopBarCloseIcon: icon {{ "info_close", boxTitleCloseFg }}; infoLayerTopBarCloseIconOver: icon {{ "info_close", boxTitleCloseFgOver }}; infoLayerTopBarClose: IconButton(infoLayerTopBarBack) { icon: infoLayerTopBarCloseIcon; iconOver: infoLayerTopBarCloseIconOver; } infoLayerTopBar: InfoTopBar { height: infoLayerTopBarHeight; back: infoLayerTopBarBack; title: boxTitle; titlePosition: boxLayerTitlePosition; bg: boxBg; } infoMinimalWidth: 320px; infoDesiredWidth: 360px; infoMinimalLayerMargin: 48px; infoTabs: SettingsSlider(defaultTabsSlider) { height: 55px; barTop: 52px; labelTop: 19px; } infoProfilePhotoSize: 72px; infoProfilePhotoLeft: 19px; infoProfilePhotoTop: 18px; infoProfilePhotoBottom: 18px; infoProfileStatusLeft: 109px; infoProfileStatusRight: 20px; infoProfileStatusTop: 58px; infoProfileStatusLabel: FlatLabel(defaultFlatLabel) { width: 0px; maxHeight: 18px; textFg: windowSubTextFg; style: TextStyle(defaultTextStyle) { font: normalFont; linkFont: normalFont; linkFontOver: normalFont; } palette: TextPalette(defaultTextPalette) { linkFg: windowActiveTextFg; } } infoProfileNameLeft: infoProfileStatusLeft; infoProfileNameRight: infoProfileStatusRight; infoProfileNameTop: 32px; infoProfileNameLabel: FlatLabel(infoProfileStatusLabel) { maxHeight: 24px; textFg: windowBoldFg; style: TextStyle(defaultTextStyle) { font: font(16px semibold); linkFont: font(16px semibold); linkFontOver: font(16px semibold underline); } } infoProfileSkip: 12px; infoProfileLabeledPadding: margins(79px, 9px, 30px, 7px); infoProfileSeparatorPadding: margins( 77px, infoProfileSkip, 0px, infoProfileSkip); infoIconFg: menuIconFg; infoIconInformation: icon {{ "info_information", infoIconFg }}; infoIconMembers: icon {{ "info_members", infoIconFg }}; infoIconNotifications: icon {{ "info_notifications", infoIconFg }}; infoIconActions: icon {{ "info_actions", infoIconFg }}; infoIconMediaPhoto: icon {{ "info_media_photo", infoIconFg }}; infoIconMediaAudio: icon {{ "info_media_audio", infoIconFg }}; infoIconMediaLink: icon {{ "info_media_link", infoIconFg }}; infoIconMediaGroup: icon {{ "info_common_groups", infoIconFg }}; infoIconMediaVoice: icon {{ "info_media_voice", infoIconFg }}; infoIconMediaRound: icon {{ "info_media_round", infoIconFg }}; infoInformationIconPosition: point(25px, 12px); infoNotificationsIconPosition: point(20px, 5px); infoSharedMediaIconPosition: point(20px, 24px); infoSharedMediaButtonIconPosition: point(20px, 3px); infoIconPosition: point(20px, 15px); infoLabeledOneLine: FlatLabel(defaultFlatLabel) { width: 0px; // No need to set minWidth in one-line text. maxHeight: 20px; style: TextStyle(defaultTextStyle) { lineHeight: 19px; } } infoLabelSkip: 2px; infoLabel: FlatLabel(infoLabeledOneLine) { textFg: windowSubTextFg; } infoLabeled: FlatLabel(infoLabeledOneLine) { width: 180px; maxHeight: 0px; margin: margins(5px, 5px, 5px, 5px); } infoBlockHeaderLabel: FlatLabel(infoProfileStatusLabel) { textFg: windowBoldFg; style: TextStyle(defaultTextStyle) { font: semiboldFont; linkFont: semiboldFont; linkFontOver: semiboldFont; } } infoBlockHeaderPosition: point(79px, 22px); infoProfileToggle: Toggle(defaultToggle) { diameter: 16px; width: 14px; untoggledFg: menuIconFg; } infoProfileToggleOver: Toggle(infoProfileToggle) { untoggledFg: menuIconFgOver; } infoProfileButton: InfoProfileButton { textFg: windowBoldFg; textFgOver: windowBoldFgOver; textBg: windowBg; textBgOver: windowBgOver; font: semiboldFont; height: 20px; padding: margins(79px, 10px, 8px, 8px); toggle: infoProfileToggle; toggleOver: infoProfileToggleOver; toggleSkip: 23px; ripple: defaultRippleAnimation; } infoNotificationsButton: InfoProfileButton(infoProfileButton) { padding: margins(79px, 13px, 8px, 9px); } infoMainButton: InfoProfileButton(infoProfileButton) { textFg: lightButtonFg; textFgOver: lightButtonFgOver; } infoSharedMediaCoverHeight: 62px; infoSharedMediaButton: infoProfileButton; infoSharedMediaBottomSkip: 12px; infoBlockButton: InfoProfileButton(infoProfileButton) { textFg: attentionButtonFg; textFgOver: attentionButtonFgOver; } infoBlockButtonSkip: 8px; infoMembersHeader: 56px; infoMembersList: PeerList(defaultPeerList) { item: PeerListItem(defaultPeerListItem) { photoPosition: point(18px, 6px); namePosition: point(79px, 11px); statusPosition: point(79px, 31px); } } infoMembersButtonPosition: point(12px, 9px); infoMembersButtonIconPosition: point(6px, 6px); infoMembersButton: IconButton(defaultIconButton) { width: 44px; height: 44px; iconPosition: infoMembersButtonIconPosition; rippleAreaPosition: point(0px, 0px); rippleAreaSize: 44px; ripple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } } infoMembersAddMember: IconButton(infoMembersButton) { icon: icon {{ "info_add_member", menuIconFg }}; iconOver: icon {{ "info_add_member", menuIconFgOver }}; } infoMembersSearch: IconButton(infoMembersButton) { icon: icon {{ "top_bar_search", menuIconFg, infoMembersButtonIconPosition }}; iconOver: icon {{ "top_bar_search", menuIconFgOver, infoMembersButtonIconPosition }}; iconPosition: point(0px, 0px); } infoMembersSearchActive: icon { { size(44px, 44px), windowBg }, { "top_bar_search", menuIconFgOver, infoMembersButtonIconPosition } }; infoMembersSearchActiveLayer: icon { { size(44px, 44px), boxBg }, { "top_bar_search", menuIconFgOver, infoMembersButtonIconPosition } }; infoMembersSearchField: FlatInput(defaultFlatInput) { textColor: windowFg; bgColor: topBarBg; bgActive: topBarBg; font: font(fsize); borderWidth: 0px; borderColor: topBarBg; borderActive: topBarBg; width: 100px; height: 32px; textMrg: margins(0px, 0px, 0px, 0px); } infoMembersCancelSearch: CrossButton { width: 44px; height: 44px; cross: CrossAnimation { size: 44px; skip: 16px; stroke: 2px; minScale: 0.3; } crossFg: menuIconFg; crossFgOver: menuIconFgOver; crossPosition: point(0px, 0px); duration: 150; loadingPeriod: 1000; ripple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } } infoMembersSearchTop: 15px;