mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-03-25 04:38:23 +00:00
Alpha version 0.10.21: pinned chats, groups in common, new design.
This commit is contained in:
parent
b39987c343
commit
bc0c355d2d
381
Telegram/Resources/default.tdesktop-theme
Normal file
381
Telegram/Resources/default.tdesktop-theme
Normal file
@ -0,0 +1,381 @@
|
||||
//
|
||||
// This is a sample Telegram Desktop theme file.
|
||||
// It was generated from the 'colors.palette' style file.
|
||||
//
|
||||
// To create a theme with a background image included you should
|
||||
// put two files in a .zip archive:
|
||||
//
|
||||
// First one is the color scheme like the one you're viewing
|
||||
// right now, this file should be named 'colors.tdesktop-theme'.
|
||||
//
|
||||
// Second one should be the background image and it can be named
|
||||
// 'background.jpg', 'background.png', 'tiled.jpg' or 'tiled.png'.
|
||||
// You should name it 'background' (if you'd like it not to be tiled),
|
||||
// or it can be named 'tiled' (if you'd like it to be tiled).
|
||||
//
|
||||
// After that you need to change the extension of your .zip archive
|
||||
// to 'tdesktop-theme', so you'll have:
|
||||
//
|
||||
// mytheme.tdesktop-theme
|
||||
// |-colors.tdesktop-theme
|
||||
// |-background.jpg (or tiled.jpg, background.png, tiled.png)
|
||||
//
|
||||
|
||||
windowBg: #ffffff;
|
||||
windowFg: #000000;
|
||||
windowBgOver: #f1f1f1;
|
||||
windowBgRipple: #e5e5e5;
|
||||
windowFgOver: windowFg;
|
||||
windowSubTextFg: #999999;
|
||||
windowSubTextFgOver: #919191;
|
||||
windowBoldFg: #222222;
|
||||
windowBoldFgOver: #222222;
|
||||
windowBgActive: #40a7e3;
|
||||
windowFgActive: #ffffff;
|
||||
windowActiveTextFg: #168acd;
|
||||
windowShadowFg: #000000;
|
||||
windowShadowFgFallback: #f1f1f1;
|
||||
shadowFg: #00000018;
|
||||
slideFadeOutBg: #0000003c;
|
||||
slideFadeOutShadowFg: windowShadowFg;
|
||||
imageBg: #000000;
|
||||
imageBgTransparent: #ffffff;
|
||||
activeButtonBg: windowBgActive;
|
||||
activeButtonBgOver: #39a5db;
|
||||
activeButtonBgRipple: #2095d0;
|
||||
activeButtonFg: windowFgActive;
|
||||
activeButtonFgOver: activeButtonFg;
|
||||
activeButtonSecondaryFg: #cceeff;
|
||||
activeButtonSecondaryFgOver: activeButtonSecondaryFg;
|
||||
activeLineFg: #37a1de;
|
||||
activeLineFgError: #e48383;
|
||||
lightButtonBg: windowBg;
|
||||
lightButtonBgOver: #e3f1fa;
|
||||
lightButtonBgRipple: #c9e4f6;
|
||||
lightButtonFg: windowActiveTextFg;
|
||||
lightButtonFgOver: lightButtonFg;
|
||||
attentionButtonFg: #d14e4e;
|
||||
attentionButtonFgOver: #d14e4e;
|
||||
attentionButtonBgOver: #fcdfde;
|
||||
attentionButtonBgRipple: #f4c3c2;
|
||||
outlineButtonBg: windowBg;
|
||||
outlineButtonBgOver: lightButtonBgOver;
|
||||
outlineButtonOutlineFg: windowBgActive;
|
||||
outlineButtonBgRipple: lightButtonBgRipple;
|
||||
menuBg: windowBg;
|
||||
menuBgOver: windowBgOver;
|
||||
menuBgRipple: windowBgRipple;
|
||||
menuIconFg: #a8a8a8;
|
||||
menuIconFgOver: #999999;
|
||||
menuSubmenuArrowFg: #373737;
|
||||
menuFgDisabled: #cccccc;
|
||||
menuSeparatorFg: #f1f1f1;
|
||||
scrollBarBg: #00000053;
|
||||
scrollBarBgOver: #0000007a;
|
||||
scrollBg: #0000001a;
|
||||
scrollBgOver: #0000002c;
|
||||
smallCloseIconFg: #c7c7c7;
|
||||
smallCloseIconFgOver: #a3a3a3;
|
||||
radialFg: windowFgActive;
|
||||
radialBg: #00000056;
|
||||
placeholderFg: windowSubTextFg;
|
||||
placeholderFgActive: #aaaaaa;
|
||||
inputBorderFg: #e0e0e0;
|
||||
filterInputBorderFg: #54c3f3;
|
||||
checkboxFg: #b3b3b3;
|
||||
sliderBgInactive: #e1eaef;
|
||||
sliderBgActive: windowBgActive;
|
||||
tooltipBg: #eef2f5;
|
||||
tooltipFg: #5d6c80;
|
||||
tooltipBorderFg: #c9d1db;
|
||||
titleBg: windowBgOver;
|
||||
titleShadow: #00000003;
|
||||
titleButtonFg: #ababab;
|
||||
titleButtonBgOver: #e5e5e5;
|
||||
titleButtonFgOver: #9a9a9a;
|
||||
titleButtonCloseBgOver: #e81123;
|
||||
titleButtonCloseFgOver: windowFgActive;
|
||||
titleFgActive: #3e3c3e;
|
||||
titleFg: #acacac;
|
||||
trayCounterBg: #f23c34;
|
||||
trayCounterBgMute: #888888;
|
||||
trayCounterFg: #ffffff;
|
||||
trayCounterBgMacInvert: #ffffff;
|
||||
trayCounterFgMacInvert: #ffffff01;
|
||||
layerBg: #0000007f;
|
||||
cancelIconFg: menuIconFg;
|
||||
cancelIconFgOver: menuIconFgOver;
|
||||
boxBg: windowBg;
|
||||
boxTextFg: windowFg;
|
||||
boxTextFgGood: #4ab44a;
|
||||
boxTextFgError: #d84d4d;
|
||||
boxTitleFg: #404040;
|
||||
boxSearchBg: boxBg;
|
||||
boxSearchCancelIconFg: cancelIconFg;
|
||||
boxSearchCancelIconFgOver: cancelIconFgOver;
|
||||
boxTitleAdditionalFg: #808080;
|
||||
boxTitleCloseFg: cancelIconFg;
|
||||
boxTitleCloseFgOver: cancelIconFgOver;
|
||||
membersAboutLimitFg: windowSubTextFgOver;
|
||||
contactsBg: windowBg;
|
||||
contactsBgOver: windowBgOver;
|
||||
contactsNameFg: boxTextFg;
|
||||
contactsStatusFg: windowSubTextFg;
|
||||
contactsStatusFgOver: windowSubTextFgOver;
|
||||
contactsStatusFgOnline: windowActiveTextFg;
|
||||
photoCropFadeBg: layerBg;
|
||||
photoCropPointFg: #ffffff7f;
|
||||
introBg: windowBg;
|
||||
introTitleFg: windowBoldFg;
|
||||
introDescriptionFg: windowSubTextFg;
|
||||
introErrorFg: windowSubTextFg;
|
||||
introCoverTopBg: #0f89d0;
|
||||
introCoverBottomBg: #39b0f0;
|
||||
introCoverIconsFg: #5ec6ff;
|
||||
introCoverPlaneTrace: #5ec6ff69;
|
||||
introCoverPlaneInner: #c6d8e8;
|
||||
introCoverPlaneOuter: #a1bed4;
|
||||
introCoverPlaneTop: #ffffff;
|
||||
dialogsMenuIconFg: menuIconFg;
|
||||
dialogsMenuIconFgOver: menuIconFgOver;
|
||||
dialogsBg: windowBg;
|
||||
dialogsNameFg: windowBoldFg;
|
||||
dialogsChatIconFg: dialogsNameFg;
|
||||
dialogsDateFg: windowSubTextFg;
|
||||
dialogsTextFg: windowSubTextFg;
|
||||
dialogsTextFgService: windowActiveTextFg;
|
||||
dialogsDraftFg: #dd4b39;
|
||||
dialogsVerifiedIconBg: windowBgActive;
|
||||
dialogsVerifiedIconFg: windowFgActive;
|
||||
dialogsSendingIconFg: #c1c1c1;
|
||||
dialogsSentIconFg: #5dc452;
|
||||
dialogsUnreadBg: windowBgActive;
|
||||
dialogsUnreadBgMuted: #bbbbbb;
|
||||
dialogsUnreadFg: windowFgActive;
|
||||
dialogsBgOver: windowBgOver;
|
||||
dialogsNameFgOver: windowBoldFgOver;
|
||||
dialogsChatIconFgOver: dialogsNameFgOver;
|
||||
dialogsDateFgOver: windowSubTextFgOver;
|
||||
dialogsTextFgOver: windowSubTextFgOver;
|
||||
dialogsTextFgServiceOver: dialogsTextFgService;
|
||||
dialogsDraftFgOver: dialogsDraftFg;
|
||||
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg;
|
||||
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg;
|
||||
dialogsSendingIconFgOver: dialogsSendingIconFg;
|
||||
dialogsSentIconFgOver: dialogsSentIconFg;
|
||||
dialogsUnreadBgOver: dialogsUnreadBg;
|
||||
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted;
|
||||
dialogsUnreadFgOver: dialogsUnreadFg;
|
||||
dialogsBgActive: #419fd9;
|
||||
dialogsNameFgActive: windowFgActive;
|
||||
dialogsChatIconFgActive: dialogsNameFgActive;
|
||||
dialogsDateFgActive: windowFgActive;
|
||||
dialogsTextFgActive: windowFgActive;
|
||||
dialogsTextFgServiceActive: dialogsTextFgActive;
|
||||
dialogsDraftFgActive: #c6e1f7;
|
||||
dialogsVerifiedIconBgActive: dialogsTextFgActive;
|
||||
dialogsVerifiedIconFgActive: dialogsBgActive;
|
||||
dialogsSendingIconFgActive: #ffffff99;
|
||||
dialogsSentIconFgActive: dialogsTextFgActive;
|
||||
dialogsUnreadBgActive: dialogsTextFgActive;
|
||||
dialogsUnreadBgMutedActive: dialogsDraftFgActive;
|
||||
dialogsUnreadFgActive: dialogsBgActive;
|
||||
dialogsForwardBg: dialogsBgActive;
|
||||
dialogsForwardFg: dialogsNameFgActive;
|
||||
searchedBarBg: windowBgOver;
|
||||
searchedBarBorder: shadowFg;
|
||||
searchedBarFg: windowSubTextFgOver;
|
||||
topBarBg: windowBg;
|
||||
emojiPanBg: windowBg;
|
||||
emojiPanCategories: #f7f7f7; // windowBg;
|
||||
emojiPanHeaderFg: windowSubTextFg;
|
||||
emojiPanHeaderBg: #fffffff2; // emojiPanBg;
|
||||
stickerPanDeleteBg: #000000cc;
|
||||
stickerPanDeleteFg: windowFgActive;
|
||||
stickerPreviewBg: #ffffffb0;
|
||||
historyTextInFg: windowFg;
|
||||
historyTextOutFg: windowFg;
|
||||
historyCaptionInFg: historyTextInFg;
|
||||
historyCaptionOutFg: historyTextOutFg;
|
||||
historyFileNameInFg: historyTextInFg;
|
||||
historyFileNameOutFg: historyTextOutFg;
|
||||
historyOutIconFg: dialogsSentIconFg;
|
||||
historyOutIconFgSelected: #4da79f;
|
||||
historyIconFgInverted: windowFgActive;
|
||||
historySendingOutIconFg: #98d292;
|
||||
historySendingInIconFg: #a0adb5;
|
||||
historySendingInvertedIconFg: #ffffffc8;
|
||||
historySystemBg: #89a0b47f;
|
||||
historySystemBgSelected: #bbc8d4a2;
|
||||
historySystemFg: windowFgActive;
|
||||
historyUnreadBarBg: #fcfbfa;
|
||||
historyUnreadBarBorder: shadowFg;
|
||||
historyUnreadBarFg: #538bb4;
|
||||
historyForwardChooseBg: #0000004c;
|
||||
historyForwardChooseFg: windowFgActive;
|
||||
historyPeer1NameFg: #c03d33;
|
||||
historyPeer1UserpicBg: #e17076;
|
||||
historyPeer2NameFg: #4fad2d;
|
||||
historyPeer2UserpicBg: #7bc862;
|
||||
historyPeer3NameFg: #d09306;
|
||||
historyPeer3UserpicBg: #e5ca77;
|
||||
historyPeer4NameFg: windowActiveTextFg;
|
||||
historyPeer4UserpicBg: #65aadd;
|
||||
historyPeer5NameFg: #8544d6;
|
||||
historyPeer5UserpicBg: #a695e7;
|
||||
historyPeer6NameFg: #cd4073;
|
||||
historyPeer6UserpicBg: #ee7aae;
|
||||
historyPeer7NameFg: #2996ad;
|
||||
historyPeer7UserpicBg: #6ec9cb;
|
||||
historyPeer8NameFg: #ce671b;
|
||||
historyPeer8UserpicBg: #faa774;
|
||||
historyPeerUserpicFg: windowFgActive;
|
||||
historyScrollBarBg: #556e837a;
|
||||
historyScrollBarBgOver: #556e83bc;
|
||||
historyScrollBg: #556e834c;
|
||||
historyScrollBgOver: #556e836b;
|
||||
msgInBg: windowBg;
|
||||
msgInBgSelected: #c2dcf2;
|
||||
msgOutBg: #effdde;
|
||||
msgOutBgSelected: #b7dbdb;
|
||||
msgSelectOverlay: #358cd44c;
|
||||
msgStickerOverlay: #358cd47f;
|
||||
msgInServiceFg: windowActiveTextFg;
|
||||
msgInServiceFgSelected: windowActiveTextFg;
|
||||
msgOutServiceFg: #3a8e26;
|
||||
msgOutServiceFgSelected: #367570;
|
||||
msgInShadow: #748ea229;
|
||||
msgInShadowSelected: #548dbb29;
|
||||
msgOutShadow: #3ac34740;
|
||||
msgOutShadowSelected: #37a78e40;
|
||||
msgInDateFg: #a0acb6;
|
||||
msgInDateFgSelected: #6a9cc5;
|
||||
msgOutDateFg: #6cc264;
|
||||
msgOutDateFgSelected: #50a79c;
|
||||
msgServiceFg: windowFgActive;
|
||||
msgServiceBg: #556e837f;
|
||||
msgServiceBgSelected: #8ca0b3a2;
|
||||
msgInReplyBarColor: activeLineFg;
|
||||
msgInReplyBarSelColor: activeLineFg;
|
||||
msgOutReplyBarColor: historyOutIconFg;
|
||||
msgOutReplyBarSelColor: historyOutIconFgSelected;
|
||||
msgImgReplyBarColor: msgServiceFg;
|
||||
msgInMonoFg: #4e7391;
|
||||
msgOutMonoFg: #469165;
|
||||
msgDateImgFg: msgServiceFg;
|
||||
msgDateImgBg: #00000054;
|
||||
msgDateImgBgOver: #00000074;
|
||||
msgDateImgBgSelected: #1c4a7187;
|
||||
msgFileThumbLinkInFg: lightButtonFg;
|
||||
msgFileThumbLinkInFgSelected: lightButtonFgOver;
|
||||
msgFileThumbLinkOutFg: #5eba5b;
|
||||
msgFileThumbLinkOutFgSelected: #31a298;
|
||||
msgFileInBg: windowBgActive;
|
||||
msgFileInBgOver: #4eade3;
|
||||
msgFileInBgSelected: #51a3d3;
|
||||
msgFileOutBg: #78c67f;
|
||||
msgFileOutBgOver: #6bc272;
|
||||
msgFileOutBgSelected: #5fb389;
|
||||
msgFile1Bg: #72b1df;
|
||||
msgFile1BgDark: #5c9ece;
|
||||
msgFile1BgOver: #5294c4;
|
||||
msgFile1BgSelected: #5099d0;
|
||||
msgFile2Bg: #61b96e;
|
||||
msgFile2BgDark: #4da859;
|
||||
msgFile2BgOver: #44a050;
|
||||
msgFile2BgSelected: #46a07e;
|
||||
msgFile3Bg: #e47272;
|
||||
msgFile3BgDark: #cd5b5e;
|
||||
msgFile3BgOver: #c35154;
|
||||
msgFile3BgSelected: #9f6a82;
|
||||
msgFile4Bg: #efc274;
|
||||
msgFile4BgDark: #e6a561;
|
||||
msgFile4BgOver: #dc9c5a;
|
||||
msgFile4BgSelected: #b19d84;
|
||||
msgWaveformInActive: windowBgActive;
|
||||
msgWaveformInActiveSelected: #51a3d3;
|
||||
msgWaveformInInactive: #d4dee6;
|
||||
msgWaveformInInactiveSelected: #9cc1e1;
|
||||
msgWaveformOutActive: #78c67f;
|
||||
msgWaveformOutActiveSelected: #6badad;
|
||||
msgWaveformOutInactive: #b3e2b4;
|
||||
msgWaveformOutInactiveSelected: #91c3c3;
|
||||
msgBotKbOverBgAdd: #ffffff20;
|
||||
msgBotKbIconFg: msgServiceFg;
|
||||
msgBotKbRippleBg: #00000020;
|
||||
mediaInFg: msgInDateFg;
|
||||
mediaInFgSelected: msgInDateFgSelected;
|
||||
mediaOutFg: msgOutDateFg;
|
||||
mediaOutFgSelected: msgOutDateFgSelected;
|
||||
youtubePlayIconBg: #e83131c8;
|
||||
youtubePlayIconFg: windowFgActive;
|
||||
videoPlayIconBg: #0000007f;
|
||||
videoPlayIconFg: #ffffff;
|
||||
toastBg: #000000b2;
|
||||
toastFg: windowFgActive;
|
||||
reportSpamBg: emojiPanHeaderBg;
|
||||
reportSpamFg: windowFg;
|
||||
historyToDownShadow: #00000040;
|
||||
historyComposeAreaBg: msgInBg;
|
||||
historyComposeAreaFg: historyTextInFg;
|
||||
historyComposeAreaFgService: msgInDateFg;
|
||||
historyComposeIconFg: menuIconFg;
|
||||
historyComposeIconFgOver: menuIconFgOver;
|
||||
historySendIconFg: windowBgActive;
|
||||
historySendIconFgOver: windowBgActive;
|
||||
historyPinnedBg: historyComposeAreaBg;
|
||||
historyReplyBg: historyComposeAreaBg;
|
||||
historyReplyCancelFg: cancelIconFg;
|
||||
historyReplyCancelFgOver: cancelIconFgOver;
|
||||
historyComposeButtonBg: historyComposeAreaBg;
|
||||
historyComposeButtonBgOver: windowBgOver;
|
||||
historyComposeButtonBgRipple: windowBgRipple;
|
||||
overviewCheckBg: #00000040;
|
||||
overviewCheckFg: windowBg;
|
||||
overviewCheckFgActive: windowBg;
|
||||
overviewPhotoSelectOverlay: #40ace333;
|
||||
profileStatusFgOver: #7c99b2;
|
||||
notificationsBoxMonitorFg: windowFg;
|
||||
notificationsBoxScreenBg: dialogsBgActive;
|
||||
notificationSampleUserpicFg: windowBgActive;
|
||||
notificationSampleCloseFg: #d7d7d7; // windowSubTextFg;
|
||||
notificationSampleTextFg: #d7d7d7; // windowSubTextFg;
|
||||
notificationSampleNameFg: #939393; // windowSubTextFg;
|
||||
mainMenuBg: windowBg;
|
||||
mainMenuCoverBg: dialogsBgActive;
|
||||
mainMenuCoverFg: windowFgActive;
|
||||
mediaPlayerBg: windowBg;
|
||||
mediaPlayerActiveFg: windowBgActive;
|
||||
mediaPlayerInactiveFg: sliderBgInactive;
|
||||
mediaPlayerDisabledFg: #9dd1ef;
|
||||
mediaviewFileBg: windowBg;
|
||||
mediaviewFileNameFg: windowFg;
|
||||
mediaviewFileSizeFg: windowSubTextFg;
|
||||
mediaviewFileRedCornerFg: #d55959;
|
||||
mediaviewFileYellowCornerFg: #e8a659;
|
||||
mediaviewFileGreenCornerFg: #49a957;
|
||||
mediaviewFileBlueCornerFg: #599dcf;
|
||||
mediaviewFileExtFg: activeButtonFg;
|
||||
mediaviewMenuBg: #383838;
|
||||
mediaviewMenuBgOver: #505050;
|
||||
mediaviewMenuBgRipple: #676767;
|
||||
mediaviewMenuFg: windowFgActive;
|
||||
mediaviewBg: #222222eb;
|
||||
mediaviewVideoBg: imageBg;
|
||||
mediaviewControlBg: #0000003c;
|
||||
mediaviewControlFg: windowFgActive;
|
||||
mediaviewCaptionBg: #11111180;
|
||||
mediaviewCaptionFg: mediaviewControlFg;
|
||||
mediaviewTextLinkFg: #91d9ff;
|
||||
mediaviewSaveMsgBg: toastBg;
|
||||
mediaviewSaveMsgFg: toastFg;
|
||||
mediaviewPlaybackActive: #c7c7c7;
|
||||
mediaviewPlaybackInactive: #252525;
|
||||
mediaviewPlaybackActiveOver: #ffffff;
|
||||
mediaviewPlaybackInactiveOver: #474747;
|
||||
mediaviewPlaybackProgressFg: #ffffffc7;
|
||||
mediaviewPlaybackIconFg: mediaviewPlaybackActive;
|
||||
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver;
|
||||
mediaviewTransparentBg: #ffffff;
|
||||
mediaviewTransparentFg: #cccccc;
|
||||
notificationBg: windowBg;
|
@ -125,6 +125,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||
"lng_gif_error" = "An error has occured while reading GIF animation :(";
|
||||
"lng_edit_error" = "You cannot edit this message";
|
||||
"lng_join_channel_error" = "Sorry, you have joined too many channels and supergroups. Please leave some before joining.";
|
||||
"lng_error_phone_flood" = "Sorry, you have deleted and re-created your account too many times recently. Please wait for a few days before signing up again.";
|
||||
|
||||
"lng_edit_deleted" = "This message was deleted";
|
||||
"lng_edit_too_long" = "Your message text is too long";
|
||||
"lng_edit_message" = "Edit message";
|
||||
|
@ -1,381 +0,0 @@
|
||||
//
|
||||
// This is a sample Telegram Desktop theme file.
|
||||
// It was generated from the 'colors.palette' style file.
|
||||
//
|
||||
// To create a theme with a background image included you should
|
||||
// put two files in a .zip archive:
|
||||
//
|
||||
// First one is the color scheme like the one you're viewing
|
||||
// right now, this file should be named 'colors.tdesktop-theme'.
|
||||
//
|
||||
// Second one should be the background image and it can be named
|
||||
// 'background.jpg', 'background.png', 'tiled.jpg' or 'tiled.png'.
|
||||
// You should name it 'background' (if you'd like it not to be tiled),
|
||||
// or it can be named 'tiled' (if you'd like it to be tiled).
|
||||
//
|
||||
// After that you need to change the extension of your .zip archive
|
||||
// to 'tdesktop-theme', so you'll have:
|
||||
//
|
||||
// mytheme.tdesktop-theme
|
||||
// |-colors.tdesktop-theme
|
||||
// |-background.jpg (or tiled.jpg, background.png, tiled.png)
|
||||
//
|
||||
|
||||
windowBg: #ffffff;
|
||||
windowFg: #000000;
|
||||
windowBgOver: #f1f1f1;
|
||||
windowBgRipple: #e5e5e5;
|
||||
windowFgOver: #000000; // windowBgOver;
|
||||
windowSubTextFg: #999999;
|
||||
windowSubTextFgOver: #919191;
|
||||
windowBoldFg: #222222;
|
||||
windowBoldFgOver: #222222;
|
||||
windowBgActive: #40a7e3;
|
||||
windowFgActive: #ffffff;
|
||||
windowActiveTextFg: #168acd;
|
||||
windowShadowFg: #000000;
|
||||
windowShadowFgFallback: #f1f1f1;
|
||||
shadowFg: #00000018;
|
||||
slideFadeOutBg: #0000003c;
|
||||
slideFadeOutShadowFg: #000000; // windowShadowFgFallback;
|
||||
imageBg: #000000;
|
||||
imageBgTransparent: #ffffff;
|
||||
activeButtonBg: #40a7e3; // windowFgActive;
|
||||
activeButtonBgOver: #39a5db;
|
||||
activeButtonBgRipple: #2095d0;
|
||||
activeButtonFg: #ffffff; // windowActiveTextFg;
|
||||
activeButtonFgOver: activeButtonFgOver;
|
||||
activeButtonSecondaryFg: #cceeff;
|
||||
activeButtonSecondaryFgOver: activeButtonSecondaryFgOver;
|
||||
activeLineFg: #37a1de;
|
||||
activeLineFgError: #e48383;
|
||||
lightButtonBg: #ffffff; // windowFg;
|
||||
lightButtonBgOver: #e3f1fa;
|
||||
lightButtonBgRipple: #c9e4f6;
|
||||
lightButtonFg: #168acd; // windowShadowFg;
|
||||
lightButtonFgOver: lightButtonFgOver;
|
||||
attentionButtonFg: #d14e4e;
|
||||
attentionButtonFgOver: #d14e4e;
|
||||
attentionButtonBgOver: #fcdfde;
|
||||
attentionButtonBgRipple: #f4c3c2;
|
||||
outlineButtonBg: #ffffff; // windowFg;
|
||||
outlineButtonBgOver: #e3f1fa; // lightButtonBgRipple;
|
||||
outlineButtonOutlineFg: #40a7e3; // windowFgActive;
|
||||
outlineButtonBgRipple: #c9e4f6; // lightButtonFg;
|
||||
menuBg: #ffffff; // windowFg;
|
||||
menuBgOver: #f1f1f1; // windowBgRipple;
|
||||
menuBgRipple: #e5e5e5; // windowFgOver;
|
||||
menuIconFg: #a8a8a8;
|
||||
menuIconFgOver: #999999;
|
||||
menuSubmenuArrowFg: #373737;
|
||||
menuFgDisabled: #cccccc;
|
||||
menuSeparatorFg: #f1f1f1;
|
||||
scrollBarBg: #00000053;
|
||||
scrollBarBgOver: #0000007a;
|
||||
scrollBg: #0000001a;
|
||||
scrollBgOver: #0000002c;
|
||||
smallCloseIconFg: #c7c7c7;
|
||||
smallCloseIconFgOver: #a3a3a3;
|
||||
radialFg: #ffffff; // windowActiveTextFg;
|
||||
radialBg: #00000056;
|
||||
placeholderFg: #999999; // windowSubTextFgOver;
|
||||
placeholderFgActive: #aaaaaa;
|
||||
inputBorderFg: #e0e0e0;
|
||||
filterInputBorderFg: #54c3f3;
|
||||
checkboxFg: #b3b3b3;
|
||||
sliderBgInactive: #e1eaef;
|
||||
sliderBgActive: #40a7e3; // windowFgActive;
|
||||
tooltipBg: #eef2f5;
|
||||
tooltipFg: #5d6c80;
|
||||
tooltipBorderFg: #c9d1db;
|
||||
titleBg: #f1f1f1; // windowBgRipple;
|
||||
titleShadow: #00000003;
|
||||
titleButtonFg: #ababab;
|
||||
titleButtonBgOver: #e5e5e5;
|
||||
titleButtonFgOver: #9a9a9a;
|
||||
titleButtonCloseBgOver: #e81123;
|
||||
titleButtonCloseFgOver: #ffffff; // windowActiveTextFg;
|
||||
titleFgActive: #3e3c3e;
|
||||
titleFg: #acacac;
|
||||
trayCounterBg: #f23c34;
|
||||
trayCounterBgMute: #888888;
|
||||
trayCounterFg: #ffffff;
|
||||
trayCounterBgMacInvert: #ffffff;
|
||||
trayCounterFgMacInvert: #ffffff01;
|
||||
layerBg: #0000007f;
|
||||
cancelIconFg: #a8a8a8; // menuIconFgOver;
|
||||
cancelIconFgOver: #999999; // menuSubmenuArrowFg;
|
||||
boxBg: #ffffff; // windowFg;
|
||||
boxTextFg: #000000; // windowBgOver;
|
||||
boxTextFgGood: #4ab44a;
|
||||
boxTextFgError: #d84d4d;
|
||||
boxTitleFg: #404040;
|
||||
boxSearchBg: #ffffff; // boxTextFg;
|
||||
boxSearchCancelIconFg: #a8a8a8; // cancelIconFgOver;
|
||||
boxSearchCancelIconFgOver: #999999; // boxBg;
|
||||
boxTitleAdditionalFg: #808080;
|
||||
boxTitleCloseFg: #a8a8a8; // cancelIconFgOver;
|
||||
boxTitleCloseFgOver: #999999; // boxBg;
|
||||
membersAboutLimitFg: #919191; // windowBoldFg;
|
||||
contactsBg: #ffffff; // windowFg;
|
||||
contactsBgOver: #f1f1f1; // windowBgRipple;
|
||||
contactsNameFg: #000000; // boxTextFgGood;
|
||||
contactsStatusFg: #999999; // windowSubTextFgOver;
|
||||
contactsStatusFgOver: #919191; // windowBoldFg;
|
||||
contactsStatusFgOnline: #168acd; // windowShadowFg;
|
||||
photoCropFadeBg: #0000007f; // cancelIconFg;
|
||||
photoCropPointFg: #ffffff7f;
|
||||
introBg: #ffffff; // windowFg;
|
||||
introTitleFg: windowBoldFgOver;
|
||||
introDescriptionFg: #999999; // windowSubTextFgOver;
|
||||
introErrorFg: #999999; // windowSubTextFgOver;
|
||||
introCoverTopBg: #0f89d0;
|
||||
introCoverBottomBg: #39b0f0;
|
||||
introCoverIconsFg: #5ec6ff;
|
||||
introCoverPlaneTrace: #5ec6ff69;
|
||||
introCoverPlaneInner: #c6d8e8;
|
||||
introCoverPlaneOuter: #a1bed4;
|
||||
introCoverPlaneTop: #ffffff;
|
||||
dialogsMenuIconFg: #a8a8a8; // menuIconFgOver;
|
||||
dialogsMenuIconFgOver: #999999; // menuSubmenuArrowFg;
|
||||
dialogsBg: #ffffff; // windowFg;
|
||||
dialogsNameFg: windowBoldFgOver;
|
||||
dialogsChatIconFg: dialogsChatIconFg;
|
||||
dialogsDateFg: #999999; // windowSubTextFgOver;
|
||||
dialogsTextFg: #999999; // windowSubTextFgOver;
|
||||
dialogsTextFgService: #168acd; // windowShadowFg;
|
||||
dialogsDraftFg: #dd4b39;
|
||||
dialogsVerifiedIconBg: #40a7e3; // windowFgActive;
|
||||
dialogsVerifiedIconFg: #ffffff; // windowActiveTextFg;
|
||||
dialogsSendingIconFg: #c1c1c1;
|
||||
dialogsSentIconFg: #5dc452;
|
||||
dialogsUnreadBg: #40a7e3; // windowFgActive;
|
||||
dialogsUnreadBgMuted: #bbbbbb;
|
||||
dialogsUnreadFg: #ffffff; // windowActiveTextFg;
|
||||
dialogsBgOver: #f1f1f1; // windowBgRipple;
|
||||
dialogsNameFgOver: #222222; // windowBgActive;
|
||||
dialogsChatIconFgOver: dialogsChatIconFgOver;
|
||||
dialogsDateFgOver: #919191; // windowBoldFg;
|
||||
dialogsTextFgOver: #919191; // windowBoldFg;
|
||||
dialogsTextFgServiceOver: #168acd; // dialogsDraftFg;
|
||||
dialogsDraftFgOver: #dd4b39; // dialogsVerifiedIconBg;
|
||||
dialogsVerifiedIconBgOver: #40a7e3; // dialogsVerifiedIconFg;
|
||||
dialogsVerifiedIconFgOver: #ffffff; // dialogsSendingIconFg;
|
||||
dialogsSendingIconFgOver: #c1c1c1; // dialogsSentIconFg;
|
||||
dialogsSentIconFgOver: #5dc452; // dialogsUnreadBg;
|
||||
dialogsUnreadBgOver: #40a7e3; // dialogsUnreadBgMuted;
|
||||
dialogsUnreadBgMutedOver: #bbbbbb; // dialogsUnreadFg;
|
||||
dialogsUnreadFgOver: #ffffff; // dialogsBgOver;
|
||||
dialogsBgActive: #419fd9;
|
||||
dialogsNameFgActive: #ffffff; // windowActiveTextFg;
|
||||
dialogsChatIconFgActive: dialogsChatIconFgActive;
|
||||
dialogsDateFgActive: #ffffff; // windowActiveTextFg;
|
||||
dialogsTextFgActive: #ffffff; // windowActiveTextFg;
|
||||
dialogsTextFgServiceActive: dialogsTextFgServiceActive;
|
||||
dialogsDraftFgActive: #c6e1f7;
|
||||
dialogsVerifiedIconBgActive: dialogsTextFgServiceActive;
|
||||
dialogsVerifiedIconFgActive: #419fd9; // dialogsNameFgActive;
|
||||
dialogsSendingIconFgActive: #ffffff99;
|
||||
dialogsSentIconFgActive: dialogsTextFgServiceActive;
|
||||
dialogsUnreadBgActive: dialogsTextFgServiceActive;
|
||||
dialogsUnreadBgMutedActive: #c6e1f7; // dialogsVerifiedIconBgActive;
|
||||
dialogsUnreadFgActive: #419fd9; // dialogsNameFgActive;
|
||||
dialogsForwardBg: #419fd9; // dialogsNameFgActive;
|
||||
dialogsForwardFg: dialogsChatIconFgActive;
|
||||
searchedBarBg: #f1f1f1; // windowBgRipple;
|
||||
searchedBarBorder: #00000018; // slideFadeOutBg;
|
||||
searchedBarFg: #919191; // windowBoldFg;
|
||||
topBarBg: #ffffff; // windowFg;
|
||||
emojiPanBg: #ffffff; // windowFg;
|
||||
emojiPanCategories: #f7f7f7; // windowFg;
|
||||
emojiPanHeaderFg: #999999; // windowSubTextFgOver;
|
||||
emojiPanHeaderBg: #fffffff2; // emojiPanCategories;
|
||||
stickerPanDeleteBg: #000000cc;
|
||||
stickerPanDeleteFg: #ffffff; // windowActiveTextFg;
|
||||
stickerPreviewBg: #ffffffb0;
|
||||
historyTextInFg: #000000; // windowBgOver;
|
||||
historyTextOutFg: #000000; // windowBgOver;
|
||||
historyCaptionInFg: historyTextOutFg;
|
||||
historyCaptionOutFg: historyCaptionInFg;
|
||||
historyFileNameInFg: historyTextOutFg;
|
||||
historyFileNameOutFg: historyCaptionInFg;
|
||||
historyOutIconFg: #5dc452; // dialogsUnreadBg;
|
||||
historyOutIconFgSelected: #4da79f;
|
||||
historyIconFgInverted: #ffffff; // windowActiveTextFg;
|
||||
historySendingOutIconFg: #98d292;
|
||||
historySendingInIconFg: #a0adb5;
|
||||
historySendingInvertedIconFg: #ffffffc8;
|
||||
historySystemBg: #89a0b47f;
|
||||
historySystemBgSelected: #bbc8d4a2;
|
||||
historySystemFg: #ffffff; // windowActiveTextFg;
|
||||
historyUnreadBarBg: #fcfbfa;
|
||||
historyUnreadBarBorder: #00000018; // slideFadeOutBg;
|
||||
historyUnreadBarFg: #538bb4;
|
||||
historyForwardChooseBg: #0000004c;
|
||||
historyForwardChooseFg: #ffffff; // windowActiveTextFg;
|
||||
historyPeer1NameFg: #c03d33;
|
||||
historyPeer1UserpicBg: #e17076;
|
||||
historyPeer2NameFg: #4fad2d;
|
||||
historyPeer2UserpicBg: #7bc862;
|
||||
historyPeer3NameFg: #d09306;
|
||||
historyPeer3UserpicBg: #e5ca77;
|
||||
historyPeer4NameFg: #168acd; // windowShadowFg;
|
||||
historyPeer4UserpicBg: #65aadd;
|
||||
historyPeer5NameFg: #8544d6;
|
||||
historyPeer5UserpicBg: #a695e7;
|
||||
historyPeer6NameFg: #cd4073;
|
||||
historyPeer6UserpicBg: #ee7aae;
|
||||
historyPeer7NameFg: #2996ad;
|
||||
historyPeer7UserpicBg: #6ec9cb;
|
||||
historyPeer8NameFg: #ce671b;
|
||||
historyPeer8UserpicBg: #faa774;
|
||||
historyPeerUserpicFg: #ffffff; // windowActiveTextFg;
|
||||
historyScrollBarBg: #556e837a;
|
||||
historyScrollBarBgOver: #556e83bc;
|
||||
historyScrollBg: #556e834c;
|
||||
historyScrollBgOver: #556e836b;
|
||||
msgInBg: #ffffff; // windowFg;
|
||||
msgInBgSelected: #c2dcf2;
|
||||
msgOutBg: #effdde;
|
||||
msgOutBgSelected: #b7dbdb;
|
||||
msgSelectOverlay: #358cd44c;
|
||||
msgStickerOverlay: #358cd47f;
|
||||
msgInServiceFg: #168acd; // windowShadowFg;
|
||||
msgInServiceFgSelected: #168acd; // windowShadowFg;
|
||||
msgOutServiceFg: #3a8e26;
|
||||
msgOutServiceFgSelected: #367570;
|
||||
msgInShadow: #748ea229;
|
||||
msgInShadowSelected: #548dbb29;
|
||||
msgOutShadow: #3ac34740;
|
||||
msgOutShadowSelected: #37a78e40;
|
||||
msgInDateFg: #a0acb6;
|
||||
msgInDateFgSelected: #6a9cc5;
|
||||
msgOutDateFg: #6cc264;
|
||||
msgOutDateFgSelected: #50a79c;
|
||||
msgServiceFg: #ffffff; // windowActiveTextFg;
|
||||
msgServiceBg: #556e837f;
|
||||
msgServiceBgSelected: #8ca0b3a2;
|
||||
msgInReplyBarColor: #37a1de; // activeLineFgError;
|
||||
msgInReplyBarSelColor: #37a1de; // activeLineFgError;
|
||||
msgOutReplyBarColor: #5dc452; // historyOutIconFgSelected;
|
||||
msgOutReplyBarSelColor: #4da79f; // historyIconFgInverted;
|
||||
msgImgReplyBarColor: #ffffff; // msgServiceBg;
|
||||
msgInMonoFg: #4e7391;
|
||||
msgOutMonoFg: #469165;
|
||||
msgDateImgFg: #ffffff; // msgServiceBg;
|
||||
msgDateImgBg: #00000054;
|
||||
msgDateImgBgOver: #00000074;
|
||||
msgDateImgBgSelected: #1c4a7187;
|
||||
msgFileThumbLinkInFg: lightButtonFgOver;
|
||||
msgFileThumbLinkInFgSelected: #168acd; // attentionButtonFg;
|
||||
msgFileThumbLinkOutFg: #5eba5b;
|
||||
msgFileThumbLinkOutFgSelected: #31a298;
|
||||
msgFileInBg: #40a7e3; // windowFgActive;
|
||||
msgFileInBgOver: #4eade3;
|
||||
msgFileInBgSelected: #51a3d3;
|
||||
msgFileOutBg: #78c67f;
|
||||
msgFileOutBgOver: #6bc272;
|
||||
msgFileOutBgSelected: #5fb389;
|
||||
msgFile1Bg: #72b1df;
|
||||
msgFile1BgDark: #5c9ece;
|
||||
msgFile1BgOver: #5294c4;
|
||||
msgFile1BgSelected: #5099d0;
|
||||
msgFile2Bg: #61b96e;
|
||||
msgFile2BgDark: #4da859;
|
||||
msgFile2BgOver: #44a050;
|
||||
msgFile2BgSelected: #46a07e;
|
||||
msgFile3Bg: #e47272;
|
||||
msgFile3BgDark: #cd5b5e;
|
||||
msgFile3BgOver: #c35154;
|
||||
msgFile3BgSelected: #9f6a82;
|
||||
msgFile4Bg: #efc274;
|
||||
msgFile4BgDark: #e6a561;
|
||||
msgFile4BgOver: #dc9c5a;
|
||||
msgFile4BgSelected: #b19d84;
|
||||
msgWaveformInActive: #40a7e3; // windowFgActive;
|
||||
msgWaveformInActiveSelected: #51a3d3;
|
||||
msgWaveformInInactive: #d4dee6;
|
||||
msgWaveformInInactiveSelected: #9cc1e1;
|
||||
msgWaveformOutActive: #78c67f;
|
||||
msgWaveformOutActiveSelected: #6badad;
|
||||
msgWaveformOutInactive: #b3e2b4;
|
||||
msgWaveformOutInactiveSelected: #91c3c3;
|
||||
msgBotKbOverBgAdd: #ffffff20;
|
||||
msgBotKbIconFg: #ffffff; // msgServiceBg;
|
||||
msgBotKbRippleBg: #00000020;
|
||||
mediaInFg: #a0acb6; // msgInDateFgSelected;
|
||||
mediaInFgSelected: #6a9cc5; // msgOutDateFg;
|
||||
mediaOutFg: #6cc264; // msgOutDateFgSelected;
|
||||
mediaOutFgSelected: #50a79c; // msgServiceFg;
|
||||
youtubePlayIconBg: #e83131c8;
|
||||
youtubePlayIconFg: #ffffff; // windowActiveTextFg;
|
||||
videoPlayIconBg: #0000007f;
|
||||
videoPlayIconFg: #ffffff;
|
||||
toastBg: #000000b2;
|
||||
toastFg: #ffffff; // windowActiveTextFg;
|
||||
reportSpamBg: #fffffff2; // stickerPanDeleteBg;
|
||||
reportSpamFg: #000000; // windowBgOver;
|
||||
historyToDownShadow: #00000040;
|
||||
historyComposeAreaBg: #ffffff; // msgInBgSelected;
|
||||
historyComposeAreaFg: historyTextOutFg;
|
||||
historyComposeAreaFgService: #a0acb6; // msgInDateFgSelected;
|
||||
historyComposeIconFg: #a8a8a8; // menuIconFgOver;
|
||||
historyComposeIconFgOver: #999999; // menuSubmenuArrowFg;
|
||||
historySendIconFg: #40a7e3; // windowFgActive;
|
||||
historySendIconFgOver: #40a7e3; // windowFgActive;
|
||||
historyPinnedBg: #ffffff; // historyComposeAreaFg;
|
||||
historyReplyBg: #ffffff; // historyComposeAreaFg;
|
||||
historyReplyCancelFg: #a8a8a8; // cancelIconFgOver;
|
||||
historyReplyCancelFgOver: #999999; // boxBg;
|
||||
historyComposeButtonBg: #ffffff; // historyComposeAreaFg;
|
||||
historyComposeButtonBgOver: #f1f1f1; // windowBgRipple;
|
||||
historyComposeButtonBgRipple: #e5e5e5; // windowFgOver;
|
||||
overviewCheckBg: #00000040;
|
||||
overviewCheckFg: #ffffff; // windowFg;
|
||||
overviewCheckFgActive: #ffffff; // windowFg;
|
||||
overviewPhotoSelectOverlay: #40ace333;
|
||||
profileStatusFgOver: #7c99b2;
|
||||
notificationsBoxMonitorFg: #000000; // windowBgOver;
|
||||
notificationsBoxScreenBg: #419fd9; // dialogsNameFgActive;
|
||||
notificationSampleUserpicFg: #40a7e3; // windowFgActive;
|
||||
notificationSampleCloseFg: #d7d7d7; // windowSubTextFgOver;
|
||||
notificationSampleTextFg: #d7d7d7; // windowSubTextFgOver;
|
||||
notificationSampleNameFg: #939393; // windowSubTextFgOver;
|
||||
mainMenuBg: #ffffff; // windowFg;
|
||||
mainMenuCoverBg: #419fd9; // dialogsNameFgActive;
|
||||
mainMenuCoverFg: #ffffff; // windowActiveTextFg;
|
||||
mediaPlayerBg: #ffffff; // windowFg;
|
||||
mediaPlayerActiveFg: #40a7e3; // windowFgActive;
|
||||
mediaPlayerInactiveFg: #e1eaef; // sliderBgActive;
|
||||
mediaPlayerDisabledFg: #9dd1ef;
|
||||
mediaviewFileBg: #ffffff; // windowFg;
|
||||
mediaviewFileNameFg: #000000; // windowBgOver;
|
||||
mediaviewFileSizeFg: #999999; // windowSubTextFgOver;
|
||||
mediaviewFileRedCornerFg: #d55959;
|
||||
mediaviewFileYellowCornerFg: #e8a659;
|
||||
mediaviewFileGreenCornerFg: #49a957;
|
||||
mediaviewFileBlueCornerFg: #599dcf;
|
||||
mediaviewFileExtFg: activeButtonFgOver;
|
||||
mediaviewMenuBg: #383838;
|
||||
mediaviewMenuBgOver: #505050;
|
||||
mediaviewMenuBgRipple: #676767;
|
||||
mediaviewMenuFg: #ffffff; // windowActiveTextFg;
|
||||
mediaviewBg: #222222eb;
|
||||
mediaviewVideoBg: #000000; // imageBgTransparent;
|
||||
mediaviewControlBg: #0000003c;
|
||||
mediaviewControlFg: #ffffff; // windowActiveTextFg;
|
||||
mediaviewCaptionBg: #11111180;
|
||||
mediaviewCaptionFg: #ffffff; // mediaviewCaptionBg;
|
||||
mediaviewTextLinkFg: #91d9ff;
|
||||
mediaviewSaveMsgBg: #000000b2; // toastFg;
|
||||
mediaviewSaveMsgFg: #ffffff; // reportSpamBg;
|
||||
mediaviewPlaybackActive: #c7c7c7;
|
||||
mediaviewPlaybackInactive: #252525;
|
||||
mediaviewPlaybackActiveOver: #ffffff;
|
||||
mediaviewPlaybackInactiveOver: #474747;
|
||||
mediaviewPlaybackProgressFg: #ffffffc7;
|
||||
mediaviewPlaybackIconFg: #c7c7c7; // mediaviewPlaybackInactive;
|
||||
mediaviewPlaybackIconFgOver: #ffffff; // mediaviewPlaybackInactiveOver;
|
||||
mediaviewTransparentBg: #ffffff;
|
||||
mediaviewTransparentFg: #cccccc;
|
||||
notificationBg: #ffffff; // windowFg;
|
@ -34,8 +34,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,10,20,7
|
||||
PRODUCTVERSION 0,10,20,7
|
||||
FILEVERSION 0,10,21,0
|
||||
PRODUCTVERSION 0,10,21,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -51,10 +51,10 @@ BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Telegram Messenger LLP"
|
||||
VALUE "FileVersion", "0.10.20.7"
|
||||
VALUE "FileVersion", "0.10.21.0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2014-2016"
|
||||
VALUE "ProductName", "Telegram Desktop"
|
||||
VALUE "ProductVersion", "0.10.20.7"
|
||||
VALUE "ProductVersion", "0.10.21.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,10,20,7
|
||||
PRODUCTVERSION 0,10,20,7
|
||||
FILEVERSION 0,10,21,0
|
||||
PRODUCTVERSION 0,10,21,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -43,10 +43,10 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Telegram Messenger LLP"
|
||||
VALUE "FileDescription", "Telegram Updater"
|
||||
VALUE "FileVersion", "0.10.20.7"
|
||||
VALUE "FileVersion", "0.10.21.0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2014-2016"
|
||||
VALUE "ProductName", "Telegram Desktop"
|
||||
VALUE "ProductVersion", "0.10.20.7"
|
||||
VALUE "ProductVersion", "0.10.21.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@ -1069,8 +1069,8 @@ void AppClass::checkMapVersion() {
|
||||
if (Local::oldMapVersion() < AppVersion) {
|
||||
if (Local::oldMapVersion()) {
|
||||
QString versionFeatures;
|
||||
if ((cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 10017) {
|
||||
versionFeatures = QString::fromUtf8("\xe2\x80\x94 New cute control for adding members to your groups");
|
||||
if ((cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 10021) {
|
||||
versionFeatures = QString::fromUtf8("\xe2\x80\x94 Fabulous new material-style design and animations.\n\xe2\x80\x94 This version already supports custom themes that are coming soon.\n\xe2\x80\x94 Pin important chats to the top of the list so that you never miss a new message (right click on a chat, then choose 'Pin to top').\n\xe2\x80\x94 Groups in common. A new option in your contacts' profiles that shows a list of all groups you share with that person.");
|
||||
} else if (!(cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 10018) {
|
||||
versionFeatures = langNewVersionText();
|
||||
} else {
|
||||
|
@ -289,7 +289,7 @@ void StickerSetBox::Inner::mouseReleaseEvent(QMouseEvent *e) {
|
||||
if (_previewTimer.isActive()) {
|
||||
_previewTimer.stop();
|
||||
int index = stickerFromGlobalPos(e->globalPos());
|
||||
if (index >= 0 && index < _pack.size()) {
|
||||
if (index >= 0 && index < _pack.size() && !isMasksSet()) {
|
||||
if (auto main = App::main()) {
|
||||
if (main->onSendSticker(_pack.at(index))) {
|
||||
Ui::hideSettingsAndLayer();
|
||||
|
@ -1254,7 +1254,7 @@ bool Generator::writeSampleTheme(const QString &filepath) {
|
||||
auto fallbackIndex = paletteIndices_.value(colorFallbackName(variable.value), -1);
|
||||
auto colorString = paletteColorValue(color);
|
||||
if (fallbackIndex >= 0) {
|
||||
auto fallbackVariable = module_.findVariableInModule(names[fallbackIndex], module_);
|
||||
auto fallbackVariable = module_.findVariableInModule(names[fallbackIndex - 1], module_);
|
||||
if (!fallbackVariable || fallbackVariable->value.type().tag != structure::TypeTag::Color) {
|
||||
return false;
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ bool Processor::write(const structure::Module &module) const {
|
||||
if (!generator.writeSource()) {
|
||||
return false;
|
||||
}
|
||||
auto themePath = srcFile.absoluteDir().absolutePath() + "/sample.tdesktop-theme";
|
||||
auto themePath = srcFile.absoluteDir().absolutePath() + "/default.tdesktop-theme";
|
||||
if (options_.isPalette && !generator.writeSampleTheme(themePath)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ TaskQueue *TaskQueue::TaskQueueList::TakeFirst(int list_index_) {
|
||||
void TaskQueue::TaskThreadPool::AddQueueTask(TaskQueue *queue, Task &&task) {
|
||||
QMutexLocker lock(&queues_mutex_);
|
||||
|
||||
queue->tasks_.push_back(new Task(std::move(task)));
|
||||
queue->tasks_.push_back(new Task(std_::move(task)));
|
||||
auto list_was_empty = queue_list_.Empty(kAllQueuesList);
|
||||
auto threads_count = threads_.size();
|
||||
auto all_threads_processing = (threads_count == tasks_in_process_);
|
||||
@ -332,7 +332,7 @@ TaskQueue::TaskQueue(Type type, Priority priority)
|
||||
|
||||
TaskQueue::~TaskQueue() {
|
||||
if (type_ != Type::Main && type_ != Type::Special) {
|
||||
if (auto thread_pool = weak_thread_pool_.lock()) {
|
||||
if (auto thread_pool = weak_thread_pool_.toStrongRef()) {
|
||||
thread_pool->RemoveQueue(this);
|
||||
}
|
||||
}
|
||||
@ -344,12 +344,12 @@ TaskQueue::~TaskQueue() {
|
||||
void TaskQueue::Put(Task &&task) {
|
||||
if (type_ == Type::Main) {
|
||||
QMutexLocker lock(&tasks_mutex_);
|
||||
tasks_.push_back(new Task(std::move(task)));
|
||||
tasks_.push_back(new Task(std_::move(task)));
|
||||
|
||||
Sandbox::MainThreadTaskAdded();
|
||||
} else {
|
||||
t_assert(type_ != Type::Special);
|
||||
TaskThreadPool::Instance()->AddQueueTask(this, std::move(task));
|
||||
TaskThreadPool::Instance()->AddQueueTask(this, std_::move(task));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -938,41 +938,52 @@ QString rusKeyboardLayoutSwitch(const QString &from) {
|
||||
|
||||
QStringList MimeType::globPatterns() const {
|
||||
switch (_type) {
|
||||
case WebP: return QStringList(qsl("*.webp"));
|
||||
case Known::WebP: return QStringList(qsl("*.webp"));
|
||||
case Known::TDesktopTheme: return QStringList(qsl("*.tdesktop-theme"));
|
||||
default: break;
|
||||
}
|
||||
return _typeStruct.globPatterns();
|
||||
}
|
||||
QString MimeType::filterString() const {
|
||||
switch (_type) {
|
||||
case WebP: return qsl("WebP image (*.webp)");
|
||||
case Known::WebP: return qsl("WebP image (*.webp)");
|
||||
case Known::TDesktopTheme: return qsl("Theme files (*.tdesktop-theme)");
|
||||
default: break;
|
||||
}
|
||||
return _typeStruct.filterString();
|
||||
}
|
||||
QString MimeType::name() const {
|
||||
switch (_type) {
|
||||
case WebP: return qsl("image/webp");
|
||||
case Known::WebP: return qsl("image/webp");
|
||||
case Known::TDesktopTheme: return qsl("application/x-tdesktop-theme");
|
||||
default: break;
|
||||
}
|
||||
return _typeStruct.name();
|
||||
}
|
||||
|
||||
MimeType mimeTypeForName(const QString &mime) {
|
||||
if (mime == qsl("image/webp")) return MimeType(MimeType::WebP);
|
||||
if (mime == qsl("image/webp")) {
|
||||
return MimeType(MimeType::Known::WebP);
|
||||
} else if (mime == qsl("application/x-tdesktop-theme")) {
|
||||
return MimeType(MimeType::Known::TDesktopTheme);
|
||||
}
|
||||
return MimeType(QMimeDatabase().mimeTypeForName(mime));
|
||||
}
|
||||
|
||||
MimeType mimeTypeForFile(const QFileInfo &file) {
|
||||
QString path = file.absoluteFilePath();
|
||||
if (path.endsWith(qsl(".webp"), Qt::CaseInsensitive)) return MimeType(MimeType::WebP);
|
||||
if (path.endsWith(qsl(".webp"), Qt::CaseInsensitive)) {
|
||||
return MimeType(MimeType::Known::WebP);
|
||||
} else if (path.endsWith(qsl(".tdesktop-theme"), Qt::CaseInsensitive)) {
|
||||
return MimeType(MimeType::Known::TDesktopTheme);
|
||||
}
|
||||
{
|
||||
QFile f(path);
|
||||
if (f.open(QIODevice::ReadOnly)) {
|
||||
QByteArray magic = f.read(12);
|
||||
if (magic.size() >= 12) {
|
||||
if (!memcmp(magic.constData(), "RIFF", 4) && !memcmp(magic.constData() + 8, "WEBP", 4)) {
|
||||
return MimeType(MimeType::WebP);
|
||||
return MimeType(MimeType::Known::WebP);
|
||||
}
|
||||
}
|
||||
f.close();
|
||||
@ -984,7 +995,7 @@ MimeType mimeTypeForFile(const QFileInfo &file) {
|
||||
MimeType mimeTypeForData(const QByteArray &data) {
|
||||
if (data.size() >= 12) {
|
||||
if (!memcmp(data.constData(), "RIFF", 4) && !memcmp(data.constData() + 8, "WEBP", 4)) {
|
||||
return MimeType(MimeType::WebP);
|
||||
return MimeType(MimeType::Known::WebP);
|
||||
}
|
||||
}
|
||||
return MimeType(QMimeDatabase().mimeTypeForData(data));
|
||||
|
@ -429,24 +429,23 @@ inline QString strMakeFromLetters(const uint32 *letters, int32 len) {
|
||||
|
||||
class MimeType {
|
||||
public:
|
||||
|
||||
enum TypeEnum {
|
||||
enum class Known {
|
||||
Unknown,
|
||||
TDesktopTheme,
|
||||
WebP,
|
||||
};
|
||||
|
||||
MimeType(const QMimeType &type) : _typeStruct(type), _type(Unknown) {
|
||||
MimeType(const QMimeType &type) : _typeStruct(type) {
|
||||
}
|
||||
MimeType(TypeEnum type) : _type(type) {
|
||||
MimeType(Known type) : _type(type) {
|
||||
}
|
||||
QStringList globPatterns() const;
|
||||
QString filterString() const;
|
||||
QString name() const;
|
||||
|
||||
private:
|
||||
|
||||
QMimeType _typeStruct;
|
||||
TypeEnum _type;
|
||||
Known _type = Known::Unknown;
|
||||
|
||||
};
|
||||
|
||||
|
@ -22,9 +22,9 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||
|
||||
#include "core/utils.h"
|
||||
|
||||
#define BETA_VERSION_MACRO (10020007ULL)
|
||||
#define BETA_VERSION_MACRO (0ULL)
|
||||
|
||||
constexpr int AppVersion = 10020;
|
||||
constexpr str_const AppVersionStr = "0.10.20";
|
||||
constexpr bool AppAlphaVersion = false;
|
||||
constexpr int AppVersion = 10021;
|
||||
constexpr str_const AppVersionStr = "0.10.21";
|
||||
constexpr bool AppAlphaVersion = true;
|
||||
constexpr uint64 AppBetaVersion = BETA_VERSION_MACRO;
|
||||
|
@ -91,10 +91,10 @@ namespace {
|
||||
|
||||
int32 documentMaxStatusWidth(DocumentData *document) {
|
||||
int32 result = st::normalFont->width(formatDownloadText(document->size, document->size));
|
||||
if (SongData *song = document->song()) {
|
||||
if (auto song = document->song()) {
|
||||
result = qMax(result, st::normalFont->width(formatPlayedText(song->duration, song->duration)));
|
||||
result = qMax(result, st::normalFont->width(formatDurationAndSizeText(song->duration, document->size)));
|
||||
} else if (VoiceData *voice = document->voice()) {
|
||||
} else if (auto voice = document->voice()) {
|
||||
result = qMax(result, st::normalFont->width(formatPlayedText(voice->duration, voice->duration)));
|
||||
result = qMax(result, st::normalFont->width(formatDurationAndSizeText(voice->duration, document->size)));
|
||||
} else if (document->isVideo()) {
|
||||
@ -1206,22 +1206,22 @@ void HistoryDocument::draw(Painter &p, const QRect &r, TextSelection selection,
|
||||
auto namewidth = _width - nameleft - nameright;
|
||||
|
||||
if (auto voice = Get<HistoryDocumentVoice>()) {
|
||||
const VoiceWaveform *wf = 0;
|
||||
const VoiceWaveform *wf = nullptr;
|
||||
uchar norm_value = 0;
|
||||
if (_data->voice()) {
|
||||
wf = &_data->voice()->waveform;
|
||||
if (wf->isEmpty()) {
|
||||
wf = 0;
|
||||
wf = nullptr;
|
||||
if (loaded) {
|
||||
Local::countVoiceWaveform(_data);
|
||||
}
|
||||
} else if (wf->at(0) < 0) {
|
||||
wf = 0;
|
||||
wf = nullptr;
|
||||
} else {
|
||||
norm_value = _data->voice()->wavemax;
|
||||
}
|
||||
}
|
||||
float64 prg = voice->_playback ? voice->_playback->a_progress.current() : 0;
|
||||
auto prg = voice->_playback ? voice->_playback->a_progress.current() : 0.;
|
||||
|
||||
// rescale waveform by going in waveform.size * bar_count 1D grid
|
||||
auto &active = outbg ? (selected ? st::msgWaveformOutActiveSelected : st::msgWaveformOutActive) : (selected ? st::msgWaveformInActiveSelected : st::msgWaveformInActive);
|
||||
@ -1232,7 +1232,8 @@ void HistoryDocument::draw(Painter &p, const QRect &r, TextSelection selection,
|
||||
}
|
||||
int32 bar_count = qMin(availw / int32(st::msgWaveformBar + st::msgWaveformSkip), wf_size);
|
||||
uchar max_value = 0;
|
||||
int32 max_delta = st::msgWaveformMax - st::msgWaveformMin, bottom = st::msgFilePadding.top() + st::msgWaveformMax;
|
||||
auto max_delta = st::msgWaveformMax - st::msgWaveformMin;
|
||||
auto bottom = st::msgFilePadding.top() - topMinus + st::msgWaveformMax;
|
||||
p.setPen(Qt::NoPen);
|
||||
for (int32 i = 0, bar_x = 0, sum_i = 0; i < wf_size; ++i) {
|
||||
uchar value = wf ? wf->at(i) : 0;
|
||||
|
@ -92,7 +92,7 @@ introStepHeight: 266px;
|
||||
introStepHeightAdd: 30px;
|
||||
introStepHeightFull: 590px;
|
||||
introSlideDuration: 200;
|
||||
introCoverDuration: 300;
|
||||
introCoverDuration: 200;
|
||||
|
||||
introNextButton: RoundButton(defaultActiveButton) {
|
||||
width: 300px;
|
||||
|
@ -29,6 +29,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||
#include "ui/widgets/labels.h"
|
||||
#include "ui/effects/widget_fade_wrap.h"
|
||||
#include "core/click_handler_types.h"
|
||||
#include "boxes/confirmbox.h"
|
||||
|
||||
namespace Intro {
|
||||
|
||||
@ -210,7 +211,10 @@ bool PhoneWidget::phoneSubmitFail(const RPCError &error) {
|
||||
stopCheck();
|
||||
_sentRequest = 0;
|
||||
auto &err = error.type();
|
||||
if (err == qstr("PHONE_NUMBER_INVALID")) { // show error
|
||||
if (err == qstr("PHONE_NUMBER_FLOOD")) {
|
||||
Ui::show(Box<InformBox>(lang(lng_error_phone_flood)));
|
||||
return true;
|
||||
} else if (err == qstr("PHONE_NUMBER_INVALID")) { // show error
|
||||
showPhoneError(lang(lng_bad_phone));
|
||||
return true;
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||
#include "styles/style_boxes.h"
|
||||
#include "ui/filedialog.h"
|
||||
#include "boxes/photocropbox.h"
|
||||
#include "boxes/confirmbox.h"
|
||||
#include "lang.h"
|
||||
#include "application.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
@ -170,7 +171,10 @@ bool SignupWidget::nameSubmitFail(const RPCError &error) {
|
||||
|
||||
stopCheck();
|
||||
auto &err = error.type();
|
||||
if (err == qstr("PHONE_NUMBER_INVALID") || err == qstr("PHONE_CODE_EXPIRED") ||
|
||||
if (err == qstr("PHONE_NUMBER_FLOOD")) {
|
||||
Ui::show(Box<InformBox>(lang(lng_error_phone_flood)));
|
||||
return true;
|
||||
} else if (err == qstr("PHONE_NUMBER_INVALID") || err == qstr("PHONE_CODE_EXPIRED") ||
|
||||
err == qstr("PHONE_CODE_EMPTY") || err == qstr("PHONE_CODE_INVALID") ||
|
||||
err == qstr("PHONE_NUMBER_OCCUPIED")) {
|
||||
goBack();
|
||||
|
@ -3664,6 +3664,11 @@ bool readBackground() {
|
||||
}
|
||||
_backgroundCanWrite = true;
|
||||
return true;
|
||||
} else if (id == Window::Theme::kThemeBackground && pngData.isEmpty()) {
|
||||
_backgroundCanWrite = false;
|
||||
Window::Theme::Background()->setImage(id);
|
||||
_backgroundCanWrite = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
QImage image;
|
||||
|
@ -509,6 +509,7 @@ void ChatBackground::keepApplied() {
|
||||
_id = kThemeBackground;
|
||||
_themeImage = _image.toImage();
|
||||
_themeTile = _tile;
|
||||
writeNewBackgroundSettings();
|
||||
} else if (_id == internal::kTestingDefaultBackground) {
|
||||
_id = kDefaultBackground;
|
||||
_themeImage = QImage();
|
||||
|
@ -1,6 +1,6 @@
|
||||
AppVersion 10020
|
||||
AppVersion 10021
|
||||
AppVersionStrMajor 0.10
|
||||
AppVersionStrSmall 0.10.20
|
||||
AppVersionStr 0.10.20
|
||||
AlphaChannel 0
|
||||
BetaVersion 10020007
|
||||
AppVersionStrSmall 0.10.21
|
||||
AppVersionStr 0.10.21
|
||||
AlphaChannel 1
|
||||
BetaVersion 0
|
||||
|
Loading…
Reference in New Issue
Block a user