61 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // This file is part of Desktop App Toolkit,
 | |
| // a set of libraries for developing nice desktop applications.
 | |
| //
 | |
| // For license and copyright information please follow this link:
 | |
| // https://github.com/desktop-app/legal/blob/master/LEGAL
 | |
| //
 | |
| #include "ui/layers/show.h"
 | |
| 
 | |
| #include "ui/toast/toast.h"
 | |
| 
 | |
| namespace Ui {
 | |
| namespace {
 | |
| 
 | |
| using namespace Toast;
 | |
| 
 | |
| } // namespace
 | |
| 
 | |
| void Show::showBox(
 | |
| 		object_ptr<BoxContent> content,
 | |
| 		LayerOptions options,
 | |
| 		anim::type animated) const {
 | |
| 	return showOrHideBoxOrLayer(std::move(content), options, animated);
 | |
| }
 | |
| 
 | |
| void Show::showLayer(
 | |
| 		std::unique_ptr<LayerWidget> layer,
 | |
| 		LayerOptions options,
 | |
| 		anim::type animated) const {
 | |
| 	return showOrHideBoxOrLayer(std::move(layer), options, animated);
 | |
| }
 | |
| 
 | |
| void Show::hideLayer(anim::type animated) const {
 | |
| 	return showOrHideBoxOrLayer(v::null, LayerOptions(), animated);
 | |
| }
 | |
| 
 | |
| base::weak_ptr<Instance> Show::showToast(Config &&config) const {
 | |
| 	if (const auto strong = _lastToast.get()) {
 | |
| 		strong->hideAnimated();
 | |
| 	}
 | |
| 	_lastToast = valid()
 | |
| 		? Toast::Show(toastParent(), std::move(config))
 | |
| 		: base::weak_ptr<Instance>();
 | |
| 	return _lastToast;
 | |
| }
 | |
| 
 | |
| base::weak_ptr<Instance> Show::showToast(
 | |
| 		TextWithEntities &&text,
 | |
| 		crl::time duration) const {
 | |
| 	return showToast({ .text = std::move(text), .duration = duration });
 | |
| }
 | |
| 
 | |
| base::weak_ptr<Instance> Show::showToast(
 | |
| 		const QString &text,
 | |
| 		crl::time duration) const {
 | |
| 	return showToast({
 | |
| 		.text = TextWithEntities{ text },
 | |
| 		.duration = duration,
 | |
| 	});
 | |
| }
 | |
| 
 | |
| } // namespace Ui
 | 
