If the third section is shown inside the existing window remember it as a zero window extension or third section show. That way it will hide correctly when it is closed by X button. Partially fixes #4091.
		
			
				
	
	
		
			334 lines
		
	
	
	
		
			9.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			334 lines
		
	
	
	
		
			9.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
/*
 | 
						|
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 "ui/widgets/widgets.style";
 | 
						|
using "history/history.style";
 | 
						|
 | 
						|
windowMinWidth: 380px;
 | 
						|
windowMinHeight: 480px;
 | 
						|
windowDefaultWidth: 800px;
 | 
						|
windowDefaultHeight: 600px;
 | 
						|
windowShadow: icon {{ "window_shadow", windowShadowFg }};
 | 
						|
windowShadowShift: 1px;
 | 
						|
 | 
						|
columnMinimalWidthLeft: 260px;
 | 
						|
columnMaximalWidthLeft: 540px;
 | 
						|
columnMinimalWidthMain: 380px;
 | 
						|
columnDesiredWidthMain: 512px;
 | 
						|
columnMinimalWidthThird: 292px;
 | 
						|
columnMaximalWidthThird: 392px;
 | 
						|
 | 
						|
adaptiveChatWideWidth: 880px;
 | 
						|
 | 
						|
notifyBorder: windowShadowFgFallback;
 | 
						|
notifyBorderWidth: 1px;
 | 
						|
notifySlowHide: 4000;
 | 
						|
notifyPhotoSize: 62px;
 | 
						|
notifyMacPhotoSize: 64px;
 | 
						|
notifyPhotoPos: point(9px, 9px);
 | 
						|
notifyClosePos: point(1px, 2px);
 | 
						|
notifyClose: IconButton {
 | 
						|
	width: 30px;
 | 
						|
	height: 30px;
 | 
						|
 | 
						|
	icon: smallCloseIcon;
 | 
						|
	iconOver: smallCloseIconOver;
 | 
						|
 | 
						|
	iconPosition: point(10px, 10px);
 | 
						|
 | 
						|
	rippleAreaPosition: point(5px, 5px);
 | 
						|
	rippleAreaSize: 20px;
 | 
						|
	ripple: RippleAnimation(defaultRippleAnimation) {
 | 
						|
		color: windowBgOver;
 | 
						|
	}
 | 
						|
}
 | 
						|
notifyItemTop: 12px;
 | 
						|
notifyTextLeft: 12px;
 | 
						|
notifyTextTop: 7px;
 | 
						|
notifyWaitLongHide: 3000;
 | 
						|
notifyFastAnim: 150;
 | 
						|
notifyWidth: 320px;
 | 
						|
notifyMinHeight: 80px;
 | 
						|
notifyDeltaX: 6px;
 | 
						|
notifyDeltaY: 7px;
 | 
						|
notifyActionsDuration: 200;
 | 
						|
 | 
						|
notifyHideAllHeight: 36px;
 | 
						|
 | 
						|
notifyReplyArea: InputField(defaultInputField) {
 | 
						|
	font: normalFont;
 | 
						|
	textMargins: margins(8px, 8px, 8px, 6px);
 | 
						|
	heightMin: 36px;
 | 
						|
	heightMax: 72px;
 | 
						|
	placeholderFg: placeholderFg;
 | 
						|
	placeholderFgActive: placeholderFgActive;
 | 
						|
	placeholderFgError: placeholderFgActive;
 | 
						|
	placeholderMargins: margins(2px, 0px, 2px, 0px);
 | 
						|
	placeholderScale: 0.;
 | 
						|
	placeholderFont: normalFont;
 | 
						|
	border: 0px;
 | 
						|
	borderActive: 0px;
 | 
						|
}
 | 
						|
notifySendReply: IconButton {
 | 
						|
	width: 36px;
 | 
						|
	height: 36px;
 | 
						|
 | 
						|
	icon: historySendIcon;
 | 
						|
	iconOver: historySendIconOver;
 | 
						|
	iconPosition: point(6px, 6px);
 | 
						|
}
 | 
						|
 | 
						|
titleUnreadCounterTop: 5px;
 | 
						|
titleUnreadCounterRight: 35px;
 | 
						|
 | 
						|
mainMenuWidth: 274px;
 | 
						|
mainMenuCoverHeight: 134px;
 | 
						|
mainMenuUserpicLeft: 24px;
 | 
						|
mainMenuUserpicTop: 20px;
 | 
						|
mainMenuUserpic: UserpicButton(defaultUserpicButton) {
 | 
						|
	size: size(48px, 48px);
 | 
						|
	photoSize: 48px;
 | 
						|
}
 | 
						|
mainMenuCloudButton: IconButton {
 | 
						|
	width: 64px;
 | 
						|
	height: 64px;
 | 
						|
 | 
						|
	icon: icon {
 | 
						|
		{ "menu_cloud", mainMenuCloudFg },
 | 
						|
	};
 | 
						|
	iconPosition: point(22px, 22px);
 | 
						|
}
 | 
						|
mainMenuCloudSize: 32px;
 | 
						|
mainMenuCoverTextLeft: 30px;
 | 
						|
mainMenuCoverNameTop: 84px;
 | 
						|
mainMenuCoverStatusTop: 102px;
 | 
						|
mainMenuSkip: 13px;
 | 
						|
mainMenu: Menu(defaultMenu) {
 | 
						|
	itemFg: windowBoldFg;
 | 
						|
	itemFgOver: windowBoldFgOver;
 | 
						|
	itemFont: semiboldFont;
 | 
						|
	itemIconPosition: point(28px, 10px);
 | 
						|
	itemPadding: margins(76px, 13px, 28px, 13px);
 | 
						|
	itemToggle: Toggle(defaultMenuToggle) {
 | 
						|
		toggledFg: mainMenuCoverBg;
 | 
						|
	}
 | 
						|
	itemToggleOver: Toggle(defaultMenuToggleOver) {
 | 
						|
		toggledFg: mainMenuCoverBg;
 | 
						|
	}
 | 
						|
	itemToggleShift: 11px;
 | 
						|
}
 | 
						|
mainMenuNewGroup: icon {{ "menu_new_group", menuIconFg }};
 | 
						|
mainMenuNewGroupOver: icon {{ "menu_new_group", menuIconFgOver }};
 | 
						|
mainMenuNewChannel: icon {{ "menu_new_channel", menuIconFg }};
 | 
						|
mainMenuNewChannelOver: icon {{ "menu_new_channel", menuIconFgOver }};
 | 
						|
mainMenuContacts: icon {{ "menu_contacts", menuIconFg }};
 | 
						|
mainMenuContactsOver: icon {{ "menu_contacts", menuIconFgOver }};
 | 
						|
mainMenuCalls: icon {{ "menu_calls", menuIconFg }};
 | 
						|
mainMenuCallsOver: icon {{ "menu_calls", menuIconFgOver }};
 | 
						|
mainMenuSettings: icon {{ "menu_settings", menuIconFg }};
 | 
						|
mainMenuSettingsOver: icon {{ "menu_settings", menuIconFgOver }};
 | 
						|
mainMenuNightMode: icon {{ "menu_night_mode", menuIconFg }};
 | 
						|
mainMenuNightModeOver: icon {{ "menu_night_mode", menuIconFgOver }};
 | 
						|
mainMenuFooterLeft: 30px;
 | 
						|
mainMenuTelegramLabel: FlatLabel(defaultFlatLabel) {
 | 
						|
	align: align(left);
 | 
						|
	textFg: windowSubTextFg;
 | 
						|
	style: TextStyle(defaultTextStyle) {
 | 
						|
		font: semiboldFont;
 | 
						|
		linkFont: semiboldFont;
 | 
						|
		linkFontOver: font(fsize semibold underline);
 | 
						|
	}
 | 
						|
	palette: TextPalette(defaultTextPalette) {
 | 
						|
		linkFg: windowSubTextFg;
 | 
						|
	}
 | 
						|
}
 | 
						|
mainMenuTelegramBottom: 43px;
 | 
						|
mainMenuVersionLabel: FlatLabel(mainMenuTelegramLabel) {
 | 
						|
	style: defaultTextStyle;
 | 
						|
}
 | 
						|
mainMenuVersionBottom: 21px;
 | 
						|
 | 
						|
// Windows specific title
 | 
						|
 | 
						|
titleHeight: 21px;
 | 
						|
titleButtonMinimize: IconButton {
 | 
						|
	width: 24px;
 | 
						|
	height: 21px;
 | 
						|
 | 
						|
	icon: icon {
 | 
						|
		{ size(24px, 21px), titleButtonBg },
 | 
						|
		{ "title_button_minimize", titleButtonFg, point(4px, 4px) },
 | 
						|
	};
 | 
						|
	iconOver: icon {
 | 
						|
		{ size(24px, 21px), titleButtonBgOver },
 | 
						|
		{ "title_button_minimize", titleButtonFgOver, point(4px, 4px) },
 | 
						|
	};
 | 
						|
	iconPosition: point(0px, 0px);
 | 
						|
}
 | 
						|
titleButtonMinimizeIconActive: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBgActive },
 | 
						|
	{ "title_button_minimize", titleButtonFgActive, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonMinimizeIconActiveOver: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBgActiveOver },
 | 
						|
	{ "title_button_minimize", titleButtonFgActiveOver, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonMaximize: IconButton(titleButtonMinimize) {
 | 
						|
	icon: icon {
 | 
						|
		{ size(24px, 21px), titleButtonBg },
 | 
						|
		{ "title_button_maximize", titleButtonFg, point(4px, 4px) },
 | 
						|
	};
 | 
						|
	iconOver: icon {
 | 
						|
		{ size(24px, 21px), titleButtonBgOver },
 | 
						|
		{ "title_button_maximize", titleButtonFgOver, point(4px, 4px) },
 | 
						|
	};
 | 
						|
}
 | 
						|
titleButtonMaximizeIconActive: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBgActive },
 | 
						|
	{ "title_button_maximize", titleButtonFgActive, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonMaximizeIconActiveOver: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBgActiveOver },
 | 
						|
	{ "title_button_maximize", titleButtonFgActiveOver, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonRestoreIcon: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBg },
 | 
						|
	{ "title_button_restore", titleButtonFg, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonRestoreIconOver: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBgOver },
 | 
						|
	{ "title_button_restore", titleButtonFgOver, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonRestoreIconActive: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBgActive },
 | 
						|
	{ "title_button_restore", titleButtonFgActive, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonRestoreIconActiveOver: icon {
 | 
						|
	{ size(24px, 21px), titleButtonBgActiveOver },
 | 
						|
	{ "title_button_restore", titleButtonFgActiveOver, point(4px, 4px) },
 | 
						|
};
 | 
						|
titleButtonClose: IconButton(titleButtonMinimize) {
 | 
						|
	width: 25px;
 | 
						|
 | 
						|
	icon: icon {
 | 
						|
		{ size(25px, 21px), titleButtonCloseBg },
 | 
						|
		{ "title_button_close", titleButtonCloseFg, point(5px, 4px) },
 | 
						|
	};
 | 
						|
	iconOver: icon {
 | 
						|
		{ size(25px, 21px), titleButtonCloseBgOver },
 | 
						|
		{ "title_button_close", titleButtonCloseFgOver, point(5px, 4px) },
 | 
						|
	};
 | 
						|
}
 | 
						|
titleButtonCloseIconActive: icon {
 | 
						|
	{ size(25px, 21px), titleButtonCloseBgActive },
 | 
						|
	{ "title_button_close", titleButtonCloseFgActive, point(5px, 4px) },
 | 
						|
};
 | 
						|
titleButtonCloseIconActiveOver: icon {
 | 
						|
	{ size(25px, 21px), titleButtonCloseBgActiveOver },
 | 
						|
	{ "title_button_close", titleButtonCloseFgActiveOver, point(5px, 4px) },
 | 
						|
};
 | 
						|
 | 
						|
// Legacy top bar.
 | 
						|
topBarHeight: 54px;
 | 
						|
topBarMenuPosition: point(-2px, 35px);
 | 
						|
topBarDuration: 200;
 | 
						|
topBarBackward: icon {{ "title_back", menuIconFg }};
 | 
						|
topBarForwardAlpha: 0.6;
 | 
						|
topBarBack: icon {{ "title_back", lightButtonFg }};
 | 
						|
topBarArrowPadding: margins(39px, 8px, 17px, 8px);
 | 
						|
topBarMinPadding: 5px;
 | 
						|
topBarButton: RoundButton(defaultLightButton) {
 | 
						|
	width: -18px;
 | 
						|
	padding: margins(0px, 10px, 12px, 10px);
 | 
						|
}
 | 
						|
topBarClearButton: RoundButton(defaultLightButton) {
 | 
						|
	width: -18px;
 | 
						|
}
 | 
						|
topBarSearch: IconButton {
 | 
						|
	width: 40px;
 | 
						|
	height: topBarHeight;
 | 
						|
 | 
						|
	icon: icon {{ "top_bar_search", menuIconFg }};
 | 
						|
	iconOver: icon {{ "top_bar_search", menuIconFgOver }};
 | 
						|
	iconPosition: point(4px, 11px);
 | 
						|
 | 
						|
	rippleAreaPosition: point(0px, 7px);
 | 
						|
	rippleAreaSize: 40px;
 | 
						|
	ripple: RippleAnimation(defaultRippleAnimation) {
 | 
						|
		color: windowBgOver;
 | 
						|
	}
 | 
						|
}
 | 
						|
topBarCall: IconButton(topBarSearch) {
 | 
						|
	icon: icon {{ "top_bar_call", menuIconFg }};
 | 
						|
	iconOver: icon {{ "top_bar_call", menuIconFgOver }};
 | 
						|
}
 | 
						|
topBarInfo: IconButton(topBarSearch) {
 | 
						|
	icon: icon {{ "top_bar_profile", menuIconFg }};
 | 
						|
	iconOver: icon {{ "top_bar_profile", menuIconFgOver }};
 | 
						|
}
 | 
						|
topBarInfoActive: icon {{ "top_bar_profile", windowActiveTextFg }};
 | 
						|
topBarSkip: -2px;
 | 
						|
topBarCallSkip: -1px;
 | 
						|
topBarMenuToggle: IconButton(topBarSearch) {
 | 
						|
	width: 44px;
 | 
						|
 | 
						|
	icon: icon {{ "title_menu_dots", menuIconFg }};
 | 
						|
	iconOver: icon {{ "title_menu_dots", menuIconFgOver }};
 | 
						|
	iconPosition: point(16px, 17px);
 | 
						|
 | 
						|
	rippleAreaPosition: point(0px, 7px);
 | 
						|
}
 | 
						|
topBarActionSkip: 10px;
 | 
						|
 | 
						|
topBarInfoButton: UserpicButton(defaultUserpicButton) {
 | 
						|
	size: size(52px, topBarHeight);
 | 
						|
	photoSize: 42px;
 | 
						|
	photoPosition: point(2px, -1px);
 | 
						|
}
 | 
						|
 | 
						|
themeEditorSampleSize: size(90px, 51px);
 | 
						|
themeEditorMargin: margins(17px, 10px, 17px, 10px);
 | 
						|
themeEditorDescriptionSkip: 10px;
 | 
						|
themeEditorNameFont: font(15px semibold);
 | 
						|
themeEditorCopyNameFont: font(fsize semibold);
 | 
						|
 | 
						|
windowEmojiSuggestionsPopup: PopupMenu(defaultPopupMenu) {
 | 
						|
	menu: Menu(defaultMenu) {
 | 
						|
		itemPadding: margins(48px, 8px, 17px, 7px);
 | 
						|
		widthMax: 512px;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
// Mac specific
 | 
						|
 | 
						|
macAccessoryWidth: 450.;
 | 
						|
macAccessoryHeight: 90.;
 | 
						|
macEnableFilterAdd: 2;
 | 
						|
macEnableFilterTop: 5;
 | 
						|
macSelectorTop: 6;
 | 
						|
macAlwaysThisAppTop: 4;
 | 
						|
macAppHintTop: 8;
 | 
						|
macCautionIconSize: 16;
 | 
						|
 | 
						|
macWindowRoundRadius: 5;
 | 
						|
macWindowShadowTopLeft: icon {{ "mac_window_shadow_top_left", windowShadowFg }};
 | 
						|
macTrayIcon: icon {{ "mac_tray_icon", windowFg }};
 |