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
|