tdesktop/Telegram/Resources/style.txt

1638 lines
36 KiB
Plaintext

/*
This file is part of Telegram Desktop,
an official desktop 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.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014 John Preston, https://tdesktop.com
*/
defaultFontFamily: 'Open Sans';
semibold: 'Open Sans Semibold';
fsize: 13px;
spriteFile: ':/gui/art/sprite.png' / 2:':/gui/art/sprite_125x.png' / 3:':/gui/art/sprite_150x.png' / 4:':/gui/art/sprite_200x.png';
emojisFile: ':/gui/art/emoji.png' / 2:':/gui/art/emoji_125x.png' / 3:':/gui/art/emoji_150x.png' / 4:':/gui/art/emoji_200x.png';
emojiImgSize: 18px; // exceptional value for retina
emojiSize: 18px;
emojiPadding: 0px;
counterBG: #f23c34;
counterMuteBG: #888;
counterColor: #fff;
counterMacInvColor: #ffffff01;
lineWidth: 1px;
transparent: rgba(255, 255, 255, 0);
white: rgba(255, 255, 255, 255);
black: rgba(0, 0, 0, 255);
color1: #c03d33; // red
color2: #4fad2d; // green
color3: #d09306; // yellow
color4: #348cd4; // blue
color5: #8544d6; // purple
color6: #cd4073; // pink
color7: #2996ad; // sea
color8: #ce671b; // orange
wndMinWidth: 640px;
wndMinHeight: 480px;
wndDefWidth: 800px;
wndDefHeight: 600px;
wndBG: #FFF;
wndShadow: sprite(184px, 21px, 19px, 19px);
wndShadowShift: 1px;
layerAlpha: 0.3;
layerBG: #000;
titleBG: #6389a8;
titleColor: #0f8dcc;//rgb(20, 136, 210);
titleHeight: 39px;
titleShadowColor: rgba(0, 0, 0, 24);//#ebebeb
titleShadow: 1px;
titleIconPos: point(7px, 7px);
titleIconRect: sprite(160px, 100px, 26px, 26px);
titleFont: font(17px);
titlePos: point(44px, 29px);
titleMenuOffset: 36px;
titleRed: #ee4928;
titleGray: #777;
titleGreen: #41a903;
titleStatusColor: #999;
titleTypingColor: #0080c0;
statusFont: font(fsize);
versionColor: #777;
sysBtnDelta: 6px;
sysUpd: sysButton {
size: size(31px, 39px);
img: sprite(184px, 1px, 19px, 19px);
color: #c4d8e9;
overColor: white;
duration: 150;
}
updateBlinkDuration: 500;
sysMin: sysButton(sysUpd) {
img: sprite(207px, 1px, 19px, 19px);
}
sysMax: sysButton(sysUpd) {
img: sprite(230px, 1px, 19px, 19px);
}
sysRes: sysButton(sysUpd) {
img: sprite(253px, 1px, 19px, 19px);
}
sysCls: sysButton(sysUpd) {
img: sprite(276px, 1px, 19px, 19px);
}
btnWhiteHover: #f5f5f5;
btnBoxWhiteHover: #fafafa;
btnYesColor: #0080c0;
btnYesHover: #0073ad;
btnNoColor: #8b8b8b;
btnNoHover: #777;
btnDefIconed: iconedButton {
color: white;
bgColor: white;
overBgColor: white;
font: font(fsize);
opacity: 0.78;
overOpacity: 1;
textPos: point(0px, 0px);
downTextPos: point(0px, 0px);
duration: 150;
cursor: cursor(pointer);
}
titleTextButton: flatButton {
color: #d4e3ef;
overColor: #fff;
downColor: #fff;
bgColor: transparent;
overBgColor: transparent;
downBgColor: transparent;
width: -14px;
height: 39px;
textTop: 10px;
overTextTop: 10px;
downTextTop: 11px;
font: font(13px);
overFont: font(13px);
duration: 150;
cursor: cursor(default);
}
btnDefFlat: flatButton {
duration: 200;
cursor: cursor(pointer);
}
btnDefBig: flatButton(btnDefFlat) {
textTop: 11px;
overTextTop: 11px;
downTextTop: 12px;
font: font(23px);
overFont: font(23px);
height: 56px;
}
btnNextBG: #2fa9e2;
btnDefNext: flatButton(btnDefFlat) {
color: white;
overColor: white;
downColor: white;
bgColor: btnNextBG;
overBgColor: #279ad0;
downBgColor: #279ad0;
}
btnDefBack: flatButton(btnDefFlat) {
color: white;
overColor: white;
downColor: white;
bgColor: #c7c7c7;
overBgColor: #b9b9b9;
downBgColor: #b9b9b9;
}
linkFont: font(fsize);
linkOverFont: font(fsize underline);
btnDefLink: linkButton {
color: btnYesColor;
overColor: btnYesColor;
downColor: btnYesHover;
font: linkFont;
overFont: linkOverFont;
}
cbDefFlat: flatCheckbox {
textColor: #000;
bgColor: transparent;
disColor: #999;
height: 22px;
textTop: 1px;
textLeft: 34px;
font: font(fsize);
duration: 200;
bgFunc: transition(easeOutCirc);
cursor: cursor(pointer);
disabledCursor: cursor(default);
imageRect: sprite(140px, 68px, 22px, 22px);
chkImageRect: sprite(115px, 68px, 22px, 22px);
overImageRect: sprite(140px, 68px, 22px, 22px);
chkOverImageRect: sprite(115px, 68px, 22px, 22px);
disImageRect: sprite(140px, 43px, 22px, 22px);
chkDisImageRect: sprite(115px, 43px, 22px, 22px);
imagePos: point(0px, 0px);
}
rbDefFlat: flatCheckbox(cbDefFlat) {
chkImageRect: sprite(165px, 68px, 22px, 22px);
chkOverImageRect: sprite(165px, 68px, 22px, 22px);
chkDisImageRect: sprite(165px, 43px, 22px, 22px);
}
inpDefFont: font(17px);
inpDefFlat: flatInput {
textColor: #000;
bgColor: #FFF;
bgActive: #FFF;
width: 210px;
height: 40px;
align: align(left);
textMrg: margins(5px, 5px, 5px, 5px);
font: inpDefFont;
cursor: cursor(text);
borderWidth: 0px;
borderColor: black;
borderActive: black;
borderError: black;
phColor: #949494;
phFocusColor: #AAA;
phAlign: align(left);
phPos: point(2px, 0px);
phShift: 50px;
phDuration: 100;
phLeftFunc: transition(linear);
phAlphaFunc: transition(linear);
phColorFunc: transition(linear);
}
inpDefGray: flatInput(inpDefFlat) {
bgColor: #f2f2f2;
borderWidth: 2px;
borderColor: #f2f2f2;
borderActive: #80cff9;
borderError: #ed8080;
phColor: #808080;
}
taDefFlat: flatTextarea {
textColor: #000;
bgColor: #FFF;
align: align(left);
textMrg: margins(5px, 5px, 5px, 5px);
font: inpDefFont;
cursor: cursor(text);
phColor: #AAA;
phFocusColor: #CCC;
phAlign: align(topleft);
phPos: point(2px, 0px);
phShift: 50px;
phDuration: 100;
phLeftFunc: transition(linear);
phAlphaFunc: transition(linear);
phColorFunc: transition(linear);
}
scrollDef: flatScroll {
barColor: rgba(0, 0, 0, 83);
bgColor: rgba(0, 0, 0, 26);
barOverColor: rgba(0, 0, 0, 122);
bgOverColor: rgba(0, 0, 0, 44);
round: 0px;
width: 10px;
minHeight: 20px;
deltax: 3px;
deltay: 3px;
topsh: 2px;
bottomsh: 2px;
shColor: rgba(0, 0, 0, 18);
duration: 150;
hiding: 1000;
}
scrollCountries: flatScroll(scrollDef) {
topsh: 0px;
bottomsh: -2px;
}
lnkText: #0f7dc7;
labelDefFlat: flatLabel {
font: font(fsize);
minWidth: 100px;
width: 0px;
align: align(left);
}
introBtnTop: 288px;
introSkip: 45px;
introFinishSkip: 15px;
introPhotoSize: 98px;
introHeaderFont: font(24px);
introHeaderSkip: 14px;
introIconSkip: 54px;
introFont: font(16px);
introColor: black;
introLabel: flatLabel(labelDefFlat) {
font: introFont;
align: align(center);
}
introPointsTop: -30px; // intro steps bottom points
introPointWidth: 4px;
introPointHeight: 4px;
introPointHoverWidth: 10px;
introPointHoverHeight: 10px;
introPointLeft: 3px;
introPointTop: 3px;
introPointDelta: 10px;
introPointColor: rgb(0, 0, 0);
introPointAlpha: 0.5;
introPointHoverColor: rgb(47, 158, 218);
introPointHoverAlpha: 0.5;
introPointStepT: transition(sineInOut);
introPointAlphaT: transition(linear);
introPointShowStepT: transition(easeOutCirc);
introPointHideStepT: transition(easeInCirc);
introPointShowAlphaT: transition(easeInCirc);
introPointHideAlphaT: transition(easeOutCirc);
introStepSize: size(400px, 200px);
introSize: size(400px, 400px);
introSlideShift: 500px; // intro hiding animation
introSlideDuration: 200;
introSlideDelta: 0; // between hide start and show start
introHideFunc: transition(easeInCirc);
introShowFunc: transition(easeOutCirc);
introAlphaHideFunc: transition(easeOutCirc);
introAlphaShowFunc: transition(easeInCirc);
introTextTop: 22px;
introTextSize: size(400px, 93px);
introCallSkip: 15px;
btnIntroSep: 12px;
btnIntroNext: flatButton(btnDefNext, btnDefBig) {
textTop: 16px;
overTextTop: 16px;
downTextTop: 17px;
font: font(17px);
overFont: font(17px);
width: 300px;
}
boxShadow: sprite(240px, 21px, 9px, 9px);
introCountry: countryInput {
width: 300px;
height: 41px;
top: 33px;
bgColor: #f2f2f2;
ptrSize: size(15px, 8px);
textMrg: margins(16px, 5px, 16px, 15px);
font: inpDefFont;
align: align(left);
}
introPhoneTop: 8px;
inpIntroCountryCode: flatInput(inpDefGray) {
width: 70px;
height: 41px;
align: align(center);
}
inpIntroPhone: flatInput(inpDefGray) {
textMrg: margins(12px, 5px, 12px, 6px);
width: 225px;
height: 41px;
}
inpIntroCode: flatInput(inpDefGray) {
textMrg: margins(12px, 5px, 12px, 6px);
width: 106px;
height: 41px;
align: align(center);
phPos: point(0px, 0px);
phAlign: align(center);
phShift: 0px;
}
inpIntroName: flatInput(inpIntroPhone) {
width: 192px;
}
introSelectDelta: 30px;
introSelectMaxHeight: 550px;
btnSelectDone: flatButton(btnDefFlat) {
color: btnYesColor;
overColor: btnYesHover;
downColor: btnYesHover;
bgColor: white;
overBgColor: btnBoxWhiteHover;
downBgColor: btnBoxWhiteHover;
width: 182px;
height: 52px;
textTop: 14px;
overTextTop: 14px;
downTextTop: 15px;
font: font(17px);
overFont: font(17px);
}
btnSelectCancel: flatButton(btnSelectDone) {
width: 181px;
color: btnNoColor;
overColor: btnNoHover;
downColor: btnNoHover;
}
btnSelectSep: #e0e0e0;
countryList: countryList {
notFoundColor: #aaa;//rgb(20, 136, 210);
notFoundFont: font(18px);
verticalMargin: 0px;
font: font(18px);
codeFont: font(16px);
rowHeight: 42px;
color: #000;
codeColor: #aaaaaa;//rgb(20, 136, 210);
bgColor: #FFF;
bgHovered: #f5f5f5;
margin: 13px;
codeWidth: 60px;
borderMargin: 0px;
borderColor: rgba(228, 233, 240, 127);
borderWidth: 0px;
}
countriesSlideShift: 500px;
countriesSlideDuration: 200;
countriesHideFunc: transition(easeInCirc);
countriesShowFunc: transition(easeOutCirc);
countriesBackHideFunc: transition(linear);
countriesBackShowFunc: transition(linear);
countriesAlphaHideFunc: transition(easeOutCirc);
countriesAlphaShowFunc: transition(easeInCirc);
introErrWidth: 450px;
introErrDuration: 200;
introErrFunc: transition(linear);
introErrBG: #ffa5a5;
introErrColor: black;//#800000;
introErrTop: 15px;
introErrHeight: 40px;
introErrFont: font(16px);
introErrLabel: flatLabel(labelDefFlat) {
font: introErrFont;
align: align(center);
}
setWidth: 356px;
setTop: 26px;
setNameLeft: 3px;
setNameTop: 1px;
setNameFont: font(22px);
setStatusTop: 39px;
setStatusLeft: 1px;
setStatusFont: font(16px);
setPhotoSize: 120px;
setHeaderFont: font(20px);
setHeaderColor: black;
setHeaderSkip: 59px;
setHeaderLeft: -1px;
setHeaderTop: 22px;
setLittleSkip: 9px;
setSectionSkip: 25px;
setVersionHeight: 41px;
setVersionLeft: 36px;
setVersionTop: 3px;
setVersionColor: #999;
setBottom: 130px;
setScroll: flatScroll(scrollDef) {
bottomsh: 0px;
topsh: 0px;
}
setClose: iconedButton(btnDefIconed) {
icon: sprite(245px, 221px, 40px, 40px);
iconPos: point(0px, 0px);
downIcon: sprite(245px, 221px, 40px, 40px);
downIconPos: point(0px, 0px);
opacity: 0.71;
width: 43px;
height: 43px;
}
setClosePos: point(32px, 32px);
setPhotoImg: sprite(0px, 220px, 120px, 120px);
setOverPhotoImg: sprite(122px, 220px, 120px, 120px);
setPhotoDuration: 150;
setPadding: 26px;
setBG: #FFF;
setSh: #000;
setTitleFrom: point(20px, 20px);
setTitleFont: font(24px);
setTitleColor: #000;
setNameInput: flatInput(inpDefFlat) {
font: font(fsize);
height: 25px;
width: 170px;
textMrg: margins(3px, 3px, 3px, 3px);
}
setErrBG: #ffa5a5;
setErrColor: #800000;
setErrHeight: 30px;
setErrFont: font(fsize);
setGoodColor: #008000;
btnSetUpload: flatButton(btnDefNext, btnDefBig) {
width: 206px;
height: 42px;
font: font(18px);
overFont: font(18px);
textTop: 9px;
overTextTop: 9px;
downTextTop: 10px;
}
btnEditSave: flatButton(btnSetUpload) {
width: 115px;
}
btnEditCancel: flatButton(btnDefFlat, btnDefBig) {
color: #666d78;
overColor: #666d78;
downColor: #50565e;
bgColor: rgba(0, 0, 0, 63);
overBgColor: rgba(0, 0, 0, 47);
downBgColor: rgba(0, 0, 0, 95);
width: 115px;
height: 40px;
textTop: 9px;
overTextTop: 9px;
downTextTop: 10px;
font: font(18px);
overFont: font(18px);
}
btnLogout: flatButton(btnDefFlat, btnDefBig) {
color: white;
overColor: white;
downColor: white;
bgColor: #db6352;
overBgColor: #d15948;
downBgColor: #c74d3b;
width: 148px;
height: 42px;
textTop: 8px;
overTextTop: 8px;
downTextTop: 9px;
font: font(18px);
overFont: font(18px);
}
//// dialogs
dlgFilterPadding: 10px;
dlgPhotoSize: 46px;
dlgPaddingHor: 10px;
dlgPaddingVer: 8px;
dlgHeight: 62px;
dlgPhotoPadding: 12px;
noContactsHeight: 100px;
noContactsFont: font(fsize);
noContactsColor: #777;
dlgSep: 8px;
dlgShadowColor: rgba(0, 0, 0, 24);//#ebebeb
dlgShadow: 1px;
dlgMinWidth: 260px;
dlgRichMinWidth: 150px;
dlgMaxWidth: 540px;
dlgFilter: flatInput(inpDefGray) {
font: font(fsize);
height: 34px;
bgColor: #f2f2f2;
phColor: #949494;
phFocusColor: #a4a4a4;
textMrg: margins(34px, 2px, 5px, 4px);
imgRect: sprite(208px, 28px, 24px, 24px);
imgPos: point(6px, 5px);
width: 240px;
borderWidth: 2px;
borderColor: #f2f2f2;
borderActive: #80cff9;
borderError: #ed8080;
}
dlgScroll: flatScroll(scrollDef) {
topsh: 0px;
bottomsh: 0px;
}
dlgFont: font(fsize);
dlgDblCheckImg: sprite(302px, 23px, 17px, 11px);
dlgCheckImg: sprite(320px, 23px, 17px, 11px);
dlgActiveDblCheckImg: sprite(302px, 36px, 17px, 11px);
dlgActiveCheckImg: sprite(320px, 36px, 17px, 11px);
dlgSendImg: sprite(122px, 25px, 17px, 11px);
dlgActiveSendImg: sprite(142px, 25px, 17px, 11px);
dlgChatImg: sprite(302px, 51px, 16px, 11px);
dlgActiveChatImg: sprite(322px, 51px, 16px, 11px);
dlgChatImgLeft: 1px;
dlgChatImgTop: 4px;
dlgChatImgSkip: 22px;
dlgCheckLeft: 5px;
dlgCheckTop: 4px;
dlgCheckSkip: 3px;
dlgHistFont: font(fsize);
dlgNameColor: #000;
dlgNameTop: 2px;
dlgSystemColor: #4981af;
dlgTextColor: #888888;
dlgDateFont: font(13px);
dlgDateColor: #a8a8a8;
dlgDateSkip: 5px;
dlgUnreadColor: #FFF;
dlgUnreadBG: #6fc766;
dlgUnreadFont: font(12px bold);
dlgUnreadPaddingHor: 5px;
dlgUnreadPaddingVer: 1px;
dlgUnreadRadius: 2px;
dlgBG: #FFF;
dlgHoverBG: #f5f5f5;
dlgActiveBG: #6a91b1;
dlgActiveUnreadColor: #5b94bf;
dlgActiveUnreadBG: white;
dlgActiveColor: white;
dlgActiveDateColor: #d3e2ee;
topBarHeight: 54px;
topBarBG: white;
topBarDuration: 200;
topBarForwardPadding: margins(17px, 8px, 40px, 8px);
topBarForwardAlpha: 0.6;
topBarForwardImg: sprite(45px, 112px, 9px, 16px);
topBarBackPadding: margins(15px, 7px, 9px, 7px);
topBarBackAlpha: 0.8;
topBarBackImg: sprite(65px, 112px, 9px, 16px);
topBarBackColor: #005faf;
topBarBackFont: font(16px);
topBarButton: flatButton(btnDefFlat) {
color: btnYesColor;
overColor: btnYesHover;
downColor: btnYesHover;
bgColor: white;
overBgColor: white;
downBgColor: white;
width: -40px;
height: 54px;
textTop: 19px;
overTextTop: 19px;
downTextTop: 20px;
font: font(fsize);
overFont: font(fsize underline);
}
topBarActionButton: flatButton(btnDefNext, btnDefBig) {
textTop: 8px;
overTextTop: 8px;
downTextTop: 9px;
font: font(fsize);
overFont: font(fsize);
width: 101px;
height: 34px;
}
topBarActionSkip: 13px;
topBarSelectedPos: point(18px, 18px);
historyBG: #dfe4e8;
historyToEnd: iconedButton(btnDefIconed) {
bgColor: transparent;
overBgColor: transparent;
icon: sprite(252px, 41px, 44px, 44px);
iconPos: point(0px, 0px);
downIcon: sprite(252px, 41px, 44px, 44px);
downIconPos: point(0px, 0px);
width: 44px;
height: 44px;
}
historyToEndSkip: 10px;
activeFadeInDuration: 500;
activeFadeOutDuration: 3000;
msgMaxWidth: 550px;
msgFont: font(fsize);
msgNameFont: font(fsize semibold);
msgServiceFont: font(fsize semibold);
msgServiceNameFont: font(fsize semibold);
msgServicePhotoWidth: 100px;
msgDateFont: font(13px);
msgMinWidth: 190px;
msgPhotoSize: 30px;
msgPhotoSkip: 40px;
msgPadding: margins(13px, 7px, 13px, 8px);
msgMargin: margins(13px, 4px, 53px, 4px);
msgLnkPadding: 2px; // for media open / save links
msgBorder: #f0f0f0;
msgOutBG: #effdde;
msgInBG: #fff;
msgOutSelectBG: #b7dbdb;
msgInSelectBG: #c2dcf2; // #358cd4 with 30% opacity
msgOutSelectOverlay: #358cd44c;
msgInSelectOverlay: #358cd44c;
msgOutServiceColor: #3a8e26;
msgInServiceColor: #0e7acd;
msgShadow: 2px;
msgInShadow: #748ea229;
msgOutShadow: #3ac34740;
msgInSelectShadow: #548dbb29;
msgOutSelectShadow: #37a78e40;
msgInDateColor: #a0acb6;
msgOutDateColor: #6cc264;
msgInSelectDateColor: #6a9cc5;
msgOutSelectDateColor: #50a79c;
msgServiceSelectBG: #fff4;
msgServiceRadius: 2px;
msgServiceBG: #89a0b47f;
msgServiceColor: #FFF;
msgServicePadding: margins(12px, 3px, 12px, 4px);
msgServiceMargin: margins(10px, 7px, 80px, 7px);
msgColor: #000;
msgDateColor: #000;
msgLinkColor: #2a6dc2;
msgPressedLinkColor: #004bad;
msgSkip: 40px;
msgPtr: 8px;
msgBG: ':/gui/art/bg.png' / 2:':/gui/art/bg_125x.png' / 3:':/gui/art/bg_150x.png' / 4:':/gui/art/bg_200x.png';
msgSendingRect: sprite(260px, 20px, 20px, 20px);
msgCheckRect: sprite(320px, 0px, 20px, 20px);
msgDblCheckRect: sprite(300px, 0px, 20px, 20px);
msgSelectCheckRect: sprite(160px, 0px, 20px, 20px);
msgSelectDblCheckRect: sprite(140px, 0px, 20px, 20px);
msgDateSpace: 19px;
msgDateCheckSpace: 4px;
msgDateDelta: point(2px, 5px);
msgImgSendingRect: sprite(320px, 65px, 20px, 20px);
msgImgCheckRect: sprite(280px, 20px, 20px, 20px);
msgImgDblCheckRect: sprite(300px, 65px, 20px, 20px);
msgDateImgDelta: 4px;
msgDateImgColor: #fff;
msgDateImgBg: #00000054;
msgDateImgPadding: point(8px, 2px);
msgDateImgCheckSpace: 4px;
msgDogImg: sprite(213px, 93px, 126px, 126px);
historyPadding: 10px;
defaultTextStyle: textStyle {
lnkFlags: font(fsize);
lnkOverFlags: font(fsize underline);
lnkColor: btnYesColor;
lnkDownColor: btnYesHover;
selectBG: msgInSelectBG;
selectOverlay: msgInSelectOverlay;
lineHeight: 0px;
}
serviceTextStyle: textStyle(defaultTextStyle) {
lnkColor: msgServiceColor;
lnkDownColor: msgServiceColor;
selectBG: msgServiceSelectBG;
selectOverlay: msgServiceSelectBG;
}
inTextStyle: textStyle(defaultTextStyle) {
selectBG: msgInSelectBG;
selectOverlay: msgInSelectOverlay;
}
outTextStyle: textStyle(defaultTextStyle) {
selectBG: msgOutSelectBG;
selectOverlay: msgOutSelectOverlay;
}
medviewSaveAsTextStyle: textStyle(defaultTextStyle) {
lnkColor: #91d9ff;
lnkDownColor: #91d9ff;
}
dlgTextStyle: textStyle(defaultTextStyle) {
lnkColor: dlgSystemColor;
lnkDownColor: dlgSystemColor;
lnkOverFlags: font(fsize);
}
dlgActiveTextStyle: textStyle(defaultTextStyle) {
lnkColor: dlgActiveColor;
lnkDownColor: dlgActiveColor;
lnkOverFlags: font(fsize);
}
introLabelTextStyle: textStyle(defaultTextStyle) {
lineHeight: 30px;
}
introErrLabelTextStyle: textStyle(defaultTextStyle) {
lineHeight: 27px;
}
mediaMaxWidth: 250px;
mediaFont: font(fsize);
mediaPadding: margins(7px, 6px, 11px, 6px);
mediaThumbSize: 48px;
mediaNameTop: 3px;
mediaDetailsShift: 3px;
mediaDocOutImg: sprite(6px, 146px, 48px, 48px);
mediaDocInImg: sprite(56px, 146px, 48px, 48px);
mediaAudioOutImg: sprite(106px, 146px, 48px, 48px);
mediaAudioInImg: sprite(156px, 146px, 48px, 48px);
mediaPlayOutImg: sprite(122px, 341px, 48px, 48px);
mediaPlayInImg: sprite(172px, 341px, 48px, 48px);
mediaPauseOutImg: sprite(222px, 341px, 48px, 48px);
mediaPauseInImg: sprite(272px, 341px, 48px, 48px);
mediaInColor: msgInDateColor;
mediaOutColor: msgOutDateColor;
mediaInSelectColor: msgInSelectDateColor;
mediaOutSelectColor: msgOutSelectDateColor;
mediaSaveDelta: 14px; // between bubble and download
mediaSaveButton: flatButton(btnDefFlat) {
color: #507da2;
overColor: #507da2;
downColor: #507da2;
bgColor: white;
overBgColor: #f5f8fa;
downBgColor: #f5f8fa;
width: -28px;
height: 34px;
textTop: 7px;
overTextTop: 7px;
downTextTop: 8px;
font: font(fsize);
overFont: font(fsize);
}
sendPadding: 9px;
btnSend: flatButton(btnDefFlat) {
color: btnYesColor;
overColor: btnYesHover;
downColor: btnYesHover;
bgColor: white;
overBgColor: btnWhiteHover;
downBgColor: btnWhiteHover;
width: -32px;
height: 46px;
textTop: 13px;
overTextTop: 13px;
downTextTop: 14px;
font: font(16px);
overFont: font(16px);
}
btnAttachDocument: iconedButton(btnDefIconed) {
icon: sprite(218px, 68px, 24px, 24px);
iconPos: point(11px, 11px);
downIcon: sprite(218px, 68px, 24px, 24px);
downIconPos: point(11px, 12px);
overBgColor: btnWhiteHover;
width: 46px;
height: 46px;
}
btnAttachPhoto: iconedButton(btnAttachDocument) {
icon: sprite(113px, 0px, 24px, 24px);
downIcon: sprite(113px, 0px, 24px, 24px);
}
btnAttachEmoji: iconedButton(btnAttachDocument) {
overBgColor: white;
icon: sprite(311px, 221px, 20px, 20px);
iconPos: point(6px, 13px);
downIcon: sprite(311px, 221px, 20px, 20px);
downIconPos: point(6px, 13px);
width: 32px;
}
historyScroll: flatScroll(scrollDef) {
barColor: #89a0b47a;
bgColor: #89a0b44c;
barOverColor: #89a0b4bc;
bgOverColor: #89a0b46b;
round: 0px;
width: 12px;
deltax: 3px;
deltay: 3px;
topsh: 0px;
bottomsh: -1px;
}
textRectMargins: margins(-2px, -1px, -2px, -1px);
taMsgField: flatTextarea(taDefFlat) {
font: msgFont;
}
maxFieldHeight: 250px;
minFieldHeight: 28px;
newMsgSound: ':/gui/art/newmsg.wav';
unreadBarHeight: 32px;
unreadBarFont: font(fsize semibold);
unreadBarBG: #fcfbfa;
unreadBarBorder: titleShadowColor;
unreadBarColor: #538bb4;
searchedBarHeight: unreadBarHeight;
searchedBarFont: unreadBarFont;
searchedBarBG: #ebeef1;
searchedBarBorder: unreadBarBorder;
searchedBarColor: #a2aeb7;
layerSlideDuration: 200;
layerHideDuration: 200;
layerPadding: margins(10px, 10px, 10px, 10px);
boxFont: font(16px);
boxPadding: margins(18px, 18px, 18px, 18px);
boxBG: white;//rgb(228, 233, 240);
boxGrayTitle: #777;
confirmWidth: 364px;
confirmMaxHeight: 320px;
confirmCompressedSkip: 10px;
addContactWidth: 364px;
addContactPadding: margins(18px, 24px, 18px, 24px);
addContactDelta: 14px;
addContactTitleHeight: 52px;
addContactTitlePos: point(20px, 15px);
addContactTitleFont: font(17px);
inpAddContact: flatInput(inpDefGray) {
height: 42px;
textMrg: margins(10px, 5px, 10px, 5px);
font: font(15px);
}
btnNewGroup: iconedButton(btnDefIconed) {
icon: sprite(189px, 118px, 18px, 17px);
iconPos: point(8px, 8px);
downIcon: sprite(189px, 118px, 18px, 17px);
downIconPos: point(8px, 9px);
bgColor: transparent;
overBgColor: transparent;
width: 36px;
height: 36px;
}
btnAddContact: iconedButton(btnNewGroup) {
icon: sprite(188px, 93px, 18px, 18px);
downIcon: sprite(188px, 93px, 18px, 18px);
}
btnCancelSearch: iconedButton(btnNewGroup) {
icon: sprite(188px, 43px, 18px, 18px);
downIcon: sprite(188px, 43px, 18px, 18px);
}
notifyBG: white;
notifyBorder: #f1f1f1;
notifyBorderWidth: 1px;
notifySlowHide: 4000;
notifyPhotoSize: 62px;
notifyPhotoPos: point(9px, 9px);
notifyClosePos: point(1px, 2px);
notifyClose: iconedButton(btnDefIconed) {
icon: sprite(167px, 130px, 10px, 10px);
iconPos: point(10px, 10px);
downIcon: sprite(167px, 130px, 10px, 10px);
downIconPos: point(10px, 11px);
width: 30px;
height: 30px;
}
notifyItemTop: 12px;
notifyTextLeft: 12px;
notifyTextTop: 7px;
notifySlowHideFunc: transition(easeInCirc);
notifyWaitShortHide: 0;
notifyWaitLongHide: 20000;
notifyFastAnim: 100;
notifyFastAnimFunc: transition(linear);
notifyWidth: 316px;
notifyHeight: 80px;
notifyDeltaX: 6px;
notifyDeltaY: 7px;
cropBoxWidth: 364px;
cropPointSize: 10px;
cropMinSize: 20px;
profileMaxWidth: 410px;
profilePadding: margins(28px, 30px, 28px, 0px);
profilePhotoSize: 120px;
profileNameLeft: 21px;
profileNameTop: -1px;
profileNameFont: font(20px);
profileStatusLeft: 22px;
profileStatusTop: 31px;
profileStatusFont: font(fsize);
profilePhoneLeft: 20px;
profilePhoneTop: 62px;
profilePhoneFont: font(16px);
profileButtonTop: 18px;
profileButtonSkip: 10px;
profileHeaderFont: font(20px);
profileHeaderColor: black;
profileHeaderSkip: 59px;
profileHeaderLeft: -1px;
profileHeaderTop: 22px;
profileListPhotoSize: 46px;
profileListPadding: size(12px, 6px);
profileListNameTop: 8px;
profileListStatusBottom: 6px;
profileHoverBG: #f5f5f5;
profileActiveBG: #6294b9;
profileSubFont: font(fsize);
profileCheckRect: sprite(88px, 108px, 24px, 24px);
profileCheckActiveRect: sprite(128px, 108px, 24px, 24px);
profileCheckDeltaX: 18px;
profileCheckDeltaY: 1px;
profileListNameFont: font(fsize semibold);
profileListNameColor: #000;
profileOnlineColor: titleTypingColor;
profileOfflineColor: titleStatusColor;
btnShareContact: flatButton(btnDefNext, btnDefBig) {
width: 145px;
height: 42px;
textTop: 9px;
overTextTop: 9px;
downTextTop: 10px;
font: font(17px);
overFont: font(17px);
}
forwardWidth: 364px;
forwardRadius: 2px;
forwardMargins: margins(30px, 10px, 30px, 10px);
forwardFont: font(16px);
forwardBG: rgba(0, 0, 0, 76);
btnProfileCancel: flatButton(btnDefFlat, btnDefBig) {
color: #666d78;
overColor: #666d78;
downColor: #50565e;
bgColor: rgba(0, 0, 0, 63);
overBgColor: rgba(0, 0, 0, 47);
downBgColor: rgba(0, 0, 0, 95);
width: 145px;
height: 40px;
textTop: 9px;
overTextTop: 9px;
downTextTop: 10px;
font: font(18px);
overFont: font(18px);
}
btnDeleteContact: flatButton(btnDefFlat, btnDefBig) {
color: #fff;
overColor: #fff;
downColor: #ffcbc1;
bgColor: #ee4928bf;
overBgColor: #ee4928;
downBgColor: #d14024;
width: 300px;
height: 40px;
textTop: 9px;
overTextTop: 9px;
downTextTop: 10px;
font: font(18px);
overFont: font(18px);
}
profileNameInput: flatInput(setNameInput) {
width: 230px;
}
newGroupScroll: flatScroll(scrollDef) {
topsh: 0px;
bottomsh: -2px;
}
participantInnerAdd: flatButton(btnDefNext) {
width: 145px;
height: 40px;
font: font(18px);
overFont: font(18px);
textTop: 9px;
overTextTop: 9px;
downTextTop: 10px;
}
participantInnerCancel: flatButton(participantInnerAdd, btnDefBack) {
}
participantCancel: flatButton(participantInnerAdd, btnDefBack) {
width: 300px;
}
participantWidth: 364px;
participantMaxHeight: 600px;
participantFilter: flatInput(inpDefFlat) {
width: 364px;
height: 52px;
font: font(16px);
textMrg: margins(39px, 11px, 10px, 10px);
imgRect: sprite(208px, 28px, 24px, 24px);
imgPos: point(10px, 15px);
}
participantDelta: 12px;
contactsFilter: flatInput(dlgFilter) {
width: 340px;
height: 38px;
textMrg: margins(34px, 3px, 5px, 4px);
imgPos: point(6px, 7px);
}
newGroupName: flatInput(inpDefGray) {
width: 340px;
height: 44px;
font: font(15px);
textMrg: margins(12px, 5px, 12px, 5px);
}
inpCountry: flatInput(contactsFilter) {
}
newGroupNamePadding: margins(12px, 15px, 12px, 13px);
connectionSkip: 20px;
inpConnectionHost: flatInput(inpDefGray) {
font: font(fsize);
height: 34px;
bgColor: #f2f2f2;
phColor: #949494;
phFocusColor: #a4a4a4;
textMrg: margins(4px, 2px, 5px, 4px);
width: 205px;
borderWidth: 2px;
borderColor: #f2f2f2;
borderActive: #80cff9;
borderError: #ed8080;
}
inpConnectionPort: flatInput(inpConnectionHost) {
width: 80px;
}
inpConnectionUser: flatInput(inpConnectionHost) {
width: 130px;
}
inpConnectionPassword: flatInput(inpConnectionHost) {
width: 155px;
}
contactsClose: flatButton {
color: btnYesColor;
overColor: btnYesHover;
downColor: btnYesHover;
bgColor: white;
overBgColor: white;
downBgColor: white;
width: 364px;
height: 46px;
textTop: 12px;
overTextTop: 12px;
downTextTop: 13px;
font: font(16px);
overFont: font(16px);
}
contactsImg: sprite(45px, 112px, 9px, 16px);
contactsAdd: flatButton(topBarButton) {
width: -40px;
height: 52px;
textTop: 18px;
overTextTop: 18px;
downTextTop: 19px;
}
aboutIcon: sprite(2px, 2px, 104px, 104px);
aboutIconTop: 28px;
aboutWidth: 448px;
aboutHeight: 441px;
aboutHeaderFont: font(24px semibold);
aboutSubheaderFont: font(24px);
aboutHeaderTop: 139px;
aboutVersion: flatLabel(labelDefFlat) {
font: font(16px);
width: aboutWidth;
align: align(center);
}
aboutVersionTop: 178px;
aboutTextFont: font(15px);
aboutTextTop: 221px;
aboutLabel: flatLabel(labelDefFlat) {
font: aboutTextFont;
width: aboutWidth;
align: align(center);
}
aboutTextStyle: textStyle(defaultTextStyle) {
lineHeight: 24px;
}
aboutCloseButton: flatButton(contactsClose) {
width: aboutWidth;
height: 52px;
textTop: 15px;
overTextTop: 15px;
downTextTop: 16px;
}
emojiTextFont: font(16px);
emojiReplaceWidth: 56px;
emojiReplaceHeight: 56px;
emojiReplaceInnerHeight: 38px;
connectingBG: #fffe;
connectingColor: #777;
connectingPadding: margins(5px, 5px, 5px, 5px);
dropdownPadding: margins(10px, 10px, 10px, 10px);
dropdownShadow: sprite(240px, 35px, 6px, 6px);
dropdownBorder: 1px;
dropdownBorderColor: #ebebeb;
dropdownBackground: white;
dropdownAttachDocument: iconedButton(btnAttachDocument) {
iconPos: point(14px, 13px);
downIconPos: point(14px, 14px);
width: 172px;
height: 49px;
color: black;
font: font(16px);
textPos: point(50px, 13px);
downTextPos: point(50px, 14px);
}
dropdownAttachPhoto: iconedButton(dropdownAttachDocument) {
icon: sprite(113px, 0px, 24px, 24px);
downIcon: sprite(113px, 0px, 24px, 24px);
}
dropdownMediaPhotos: iconedButton(dropdownAttachPhoto) {
width: 200px;
}
dropdownMediaVideos: iconedButton(dropdownMediaPhotos) {
icon: sprite(79px, 348px, 24px, 24px);
downIcon: sprite(79px, 348px, 24px, 24px);
}
dropdownMediaDocuments: iconedButton(dropdownAttachDocument) {
width: 200px;
}
dropdownMediaAudios: iconedButton(dropdownMediaDocuments) {
icon: sprite(49px, 348px, 24px, 24px);
downIcon: sprite(49px, 348px, 24px, 24px);
}
dragFont: font(28px semibold);
dragSubfont: font(20px semibold);
dragColor: #777;
dragDropColor: btnYesColor;
dragMargin: margins(0px, 10px, 0px, 10px);
dragPadding: margins(20px, 10px, 20px, 10px);
dragHeight: 72px;
selectedFont: font(fsize);
selectedColor: #777;
selectedTop: 14px;
downloadSkip: 20px;
inpDownloadDir: flatInput(inpDefGray) {
font: font(fsize);
height: 34px;
bgColor: #fff;
textMrg: margins(5px, 2px, 5px, 4px);
width: 295px;
borderWidth: 2px;
borderColor: #f2f2f2;
}
dpiSlider: slider {
color: #ccc;
thikness: 2px;
width: 260px;
bar: sprite(6px, 110px, 9px, 22px);
}
dpiActive: black;
dpiInactive: #999;
dpiFont1: linkFont;
dpiFont2: linkFont;
dpiFont3: linkFont;
dpiFont4: linkFont;
emojiScroll: flatScroll(scrollDef) {
topsh: 0px;
bottomsh: 0px;
}
emojiRecentActive: sprite(290px, 287px, 20px, 20px);
emojiRecentOver: sprite(311px, 287px, 20px, 20px);
emojiRecent: sprite(6px, 197px, 20px, 20px);
emojiPeopleActive: sprite(290px, 221px, 20px, 20px);
emojiPeopleOver: sprite(311px, 221px, 20px, 20px);
emojiPeople: sprite(27px, 197px, 20px, 20px);
emojiNatureActive: sprite(245px, 266px, 20px, 20px);
emojiNatureOver: sprite(266px, 266px, 20px, 20px);
emojiNature: sprite(48px, 197px, 20px, 20px);
emojiObjectsActive: sprite(290px, 242px, 20px, 20px);
emojiObjectsOver: sprite(311px, 242px, 20px, 20px);
emojiObjects: sprite(69px, 197px, 20px, 20px);
emojiPlacesActive: sprite(245px, 287px, 20px, 20px);
emojiPlacesOver: sprite(266px, 287px, 20px, 20px);
emojiPlaces: sprite(90px, 197px, 20px, 20px);
emojiSymbolsActive: sprite(290px, 266px, 20px, 20px);
emojiSymbolsOver: sprite(311px, 266px, 20px, 20px);
emojiSymbols: sprite(111px, 197px, 20px, 20px);
rbEmoji: flatCheckbox {
textColor: transparent;
bgColor: transparent;
disColor: transparent;
width: 36px;
height: 36px;
textTop: 0px;
textLeft: 0px;
font: font(fsize);
duration: 200;
bgFunc: transition(easeOutCirc);
cursor: cursor(pointer);
disabledCursor: cursor(default);
imagePos: point(8px, 8px);
}
rbEmojiRecent: flatCheckbox(rbEmoji) {
imageRect: emojiRecent;
chkImageRect: emojiRecentActive;
overImageRect: emojiRecentOver;
chkOverImageRect: emojiRecentActive;
disImageRect: emojiRecent;
chkDisImageRect: emojiRecentActive;
}
rbEmojiPeople: flatCheckbox(rbEmoji) {
imageRect: emojiPeople;
chkImageRect: emojiPeopleActive;
overImageRect: emojiPeopleOver;
chkOverImageRect: emojiPeopleActive;
disImageRect: emojiPeople;
chkDisImageRect: emojiPeopleActive;
}
rbEmojiNature: flatCheckbox(rbEmoji) {
imageRect: emojiNature;
chkImageRect: emojiNatureActive;
overImageRect: emojiNatureOver;
chkOverImageRect: emojiNatureActive;
disImageRect: emojiNature;
chkDisImageRect: emojiNatureActive;
}
rbEmojiObjects: flatCheckbox(rbEmoji) {
imageRect: emojiObjects;
chkImageRect: emojiObjectsActive;
overImageRect: emojiObjectsOver;
chkOverImageRect: emojiObjectsActive;
disImageRect: emojiObjects;
chkDisImageRect: emojiObjectsActive;
}
rbEmojiPlaces: flatCheckbox(rbEmoji) {
imageRect: emojiPlaces;
chkImageRect: emojiPlacesActive;
overImageRect: emojiPlacesOver;
chkOverImageRect: emojiPlacesActive;
disImageRect: emojiPlaces;
chkDisImageRect: emojiPlacesActive;
}
rbEmojiSymbols: flatCheckbox(rbEmoji) {
imageRect: emojiSymbols;
chkImageRect: emojiSymbolsActive;
overImageRect: emojiSymbolsOver;
chkOverImageRect: emojiSymbolsActive;
disImageRect: emojiSymbols;
chkDisImageRect: emojiSymbolsActive;
}
emojiPanPadding: margins(10px, 5px, 0px, 5px);
emojiPanSize: size(28px, 28px);
emojiPanFont: font(fsize);
emojiPanText: #999;
emojiPanSub: 0px;
emojiPanDuration: 200;
emojiPanHover: #f0f0f0;
emojiPanRound: 2px;
medviewNavBarWidth: 132px;
medviewLightNav: 0.5;
medviewDarkNav: 1;
medviewHeaderFont: font(semibold 18px);
medviewNameFont: font(16px);
medviewDateFont: font(14px);
medviewNameTop: 13px;
medviewDateTop: 39px;
medviewLeft: sprite(340px, 79px, 28px, 48px);
medviewRight: sprite(368px, 79px, 28px, 48px);
medviewDeltaFromLastAction: 5px;
medviewSwipeDistance: 80px;
medviewSaveMsgCheck: sprite(341px, 174px, 22px, 18px);
medviewSaveMsgFont: font(16px);
medviewSaveMsgPadding: margins(55px, 19px, 29px, 20px);
medviewSaveMsgCheckPos: point(23px, 21px);
medviewSaveMsgRadius: 3px;
medviewSaveMsgShowing: 200;
medviewSaveMsgShown: 2000;
medviewSaveMsgHiding: 2500;
medviewSaveMsg: #000000b2;
medviewOverview: iconedButton(btnDefIconed) {
bgColor: #0000;
overBgColor: #00000040;
font: font(16px);
opacity: 0.77;
overOpacity: 1;
icon: sprite(340px, 129px, 19px, 19px);
iconPos: point(16px, 14px);
downIcon: sprite(340px, 129px, 19px, 19px);
downIconPos: point(16px, 14px);
width: -69px;
height: 47px;
color: white;
textPos: point(51px, 13px);
downTextPos: point(51px, 14px);
}
medviewForward: iconedButton(medviewOverview) {
icon: sprite(357px, 58px, 22px, 17px);
iconPos: point(16px, 15px);
downIcon: sprite(357px, 58px, 22px, 17px);
downIconPos: point(16px, 15px);
width: -69px;
}
medviewDelete: iconedButton(medviewForward) {
icon: sprite(340px, 58px, 15px, 19px);
iconPos: point(16px, 14px);
downIcon: sprite(340px, 58px, 15px, 19px);
downIconPos: point(16px, 14px);
}
medviewClose: iconedButton(medviewOverview) {
icon: sprite(340px, 0px, 56px, 56px);
iconPos: point(0px, 0px);
downIcon: sprite(340px, 0px, 56px, 56px);
downIconPos: point(0px, 0px);
opacity: 0.6;
width: 56px;
height: 56px;
}
medviewBottomBar: 87px;
medviewBG: #272727D9;
medviewBottomBG: #272727;
medviewNavOpacity: 0.6;
medviewCloseOpacity: 0.6;
medviewNavBGOpacity: 0.4;
medviewNavOverOpacity: 1;
medviewCloseOverOpacity: 1;
medviewNameColor: black;
medviewDateColor: #999;
medviewSaveAs: iconedButton(medviewOverview) {
bgColor: #38abe6;
overBgColor: #299fdc;
opacity: 1;
icon: sprite(361px, 129px, 12px, 19px);
iconPos: point(18px, 15px);
downIcon: sprite(361px, 129px, 12px, 19px);
downIconPos: point(18px, 15px);
width: -62px;
height: 47px;
textPos: point(44px, 13px);
downTextPos: point(44px, 14px);
}
medviewSaveAsDisabledOpacity: 0.8;
medviewPolaroid: margins(17px, 18px, 17px, 72px);
medviewPolaroidMin: size(480px, 360px);
medviewDocumentSprite: sprite(341px, 150px, 20px, 22px);
medviewDocumentSpritePos: point(16px, 13px);
medviewPhotoSprite: sprite(363px, 150px, 23px, 20px);
medviewPhotoSpritePos: point(14px, 14px);
overviewPhotoSkip: 10px;
overviewPhotoMinSize: 100px;
overviewPhotoCheck: sprite(245px, 308px, 32px, 32px);
overviewPhotoChecked: sprite(278px, 308px, 32px, 32px);
overviewPhotoSelectOverlay: #0a7bb03f;
// Mac specific
macAccessoryHeight: 90;
macEnableFilterAdd: 2;
macEnableFilterTop: 5;
macSelectorTop: 6;
macAlwaysThisAppTop: 4;
macAppHintTop: 8;
macCautionIconSize: size(16, 16);
btnContext: iconedButton(btnDefIconed) {
bgColor: white;
overBgColor: btnWhiteHover;
font: font(14px);
opacity: 1;
overOpacity: 1;
width: 172px;
height: 36px;
color: black;
textPos: point(16px, 7px);
downTextPos: point(16px, 8px);
}
photoLoader: size(52px, 22px);
photoLoaderBg: #00000054;
photoLoaderCnt: 3;
photoLoaderPoint: size(6px, 6px);
photoLoaderSkip: 6px;
photoLoaderPeriod: 600; // ms full period
photoLoaderDelta: 150; // ms between points
photoLoaderDuration1: 150; // ms fade in
photoLoaderDuration2: 150; // ms fade out
photoLoaderAlphaMin: 0.1; // not less than that
overviewLoader: size(34px, 14px);
overviewLoaderPoint: size(4px, 4px);
overviewLoaderSkip: 4px;
mediaviewLoader: size(78px, 33px);
mediaviewLoaderPoint: size(9px, 9px);
mediaviewLoaderSkip: 9px;
minPhotoWidth: 90px;
minPhotoHeight: 90px;
maxMediaSize: 420px;
usernameFont: font(14px);
usernameColor: #777;
usernameWidth: 336px;
usernameSkip: 32px;
usernameInput: flatInput(inpAddContact) {
bgColor: transparent;
}
usernameDone: flatButton(btnSelectDone) {
width: 168px;
}
usernameCancel: flatButton(btnSelectCancel) {
width: 167px;
}
youtubeIcon: sprite(336px, 221px, 60px, 60px);
vimeoIcon: sprite(336px, 283px, 60px, 60px);
locationSize: size(320, 240);