mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-08-31 22:55:11 +00:00
Made base::lambda a copyable value type.
Now base::lambda can be copied and can wrap any immutable lambda. For mutable lambdas there is base::lambda_once (which you're supposed to call only once to pass data through lambda captures, for example by using std::unique_ptr). Generally base::lambda is passed by value and base::lambda_once is passed by rvalue reference.
This commit is contained in:
@@ -25,7 +25,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
|
||||
namespace Window {
|
||||
|
||||
PlayerWrapWidget::PlayerWrapWidget(QWidget *parent, base::lambda<void()> &&updateCallback) : Parent(parent
|
||||
PlayerWrapWidget::PlayerWrapWidget(QWidget *parent, base::lambda<void()> updateCallback) : Parent(parent
|
||||
, object_ptr<Media::Player::Widget>(parent)
|
||||
, style::margins(0, 0, 0, 0)
|
||||
, std::move(updateCallback)) {
|
||||
|
@@ -13,7 +13,7 @@ class PlayerWrapWidget : public Ui::WidgetSlideWrap<Media::Player::Widget> {
|
||||
using Parent = Ui::WidgetSlideWrap<Media::Player::Widget>;
|
||||
|
||||
public:
|
||||
PlayerWrapWidget(QWidget *parent, base::lambda<void()> &&updateCallback);
|
||||
PlayerWrapWidget(QWidget *parent, base::lambda<void()> updateCallback);
|
||||
|
||||
void updateAdaptiveLayout() {
|
||||
updateShadowGeometry();
|
||||
|
@@ -798,7 +798,7 @@ bool CopyColorsToPalette(const QString &path, const QByteArray &themeContent) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ReadPaletteValues(const QByteArray &content, base::lambda<bool(QLatin1String name, QLatin1String value)> &&callback) {
|
||||
bool ReadPaletteValues(const QByteArray &content, base::lambda<bool(QLatin1String name, QLatin1String value)> callback) {
|
||||
if (content.size() > kThemeSchemeSizeLimit) {
|
||||
LOG(("Theme Error: color scheme file too large (should be less than 1 MB, got %2)").arg(content.size()));
|
||||
return false;
|
||||
|
@@ -141,7 +141,7 @@ void ComputeBackgroundRects(QRect wholeFill, QSize imageSize, QRect &to, QRect &
|
||||
|
||||
bool CopyColorsToPalette(const QString &path, const QByteArray &themeContent);
|
||||
|
||||
bool ReadPaletteValues(const QByteArray &content, base::lambda<bool(QLatin1String name, QLatin1String value)> &&callback);
|
||||
bool ReadPaletteValues(const QByteArray &content, base::lambda<bool(QLatin1String name, QLatin1String value)> callback);
|
||||
|
||||
} // namespace Theme
|
||||
} // namespace Window
|
||||
|
@@ -208,13 +208,13 @@ class Editor::Inner : public TWidget, private base::Subscriber {
|
||||
public:
|
||||
Inner(QWidget *parent, const QString &path);
|
||||
|
||||
void setErrorCallback(base::lambda<void()> &&callback) {
|
||||
void setErrorCallback(base::lambda<void()> callback) {
|
||||
_errorCallback = std::move(callback);
|
||||
}
|
||||
void setFocusCallback(base::lambda<void()> &&callback) {
|
||||
void setFocusCallback(base::lambda<void()> callback) {
|
||||
_focusCallback = std::move(callback);
|
||||
}
|
||||
void setScrollCallback(base::lambda<void(int top, int bottom)> &&callback) {
|
||||
void setScrollCallback(base::lambda<void(int top, int bottom)> callback) {
|
||||
_scrollCallback = std::move(callback);
|
||||
}
|
||||
|
||||
|
@@ -31,7 +31,7 @@ class WarningWidget : public TWidget {
|
||||
public:
|
||||
WarningWidget(QWidget *parent);
|
||||
|
||||
void setHiddenCallback(base::lambda<void()> &&callback) {
|
||||
void setHiddenCallback(base::lambda<void()> callback) {
|
||||
_hiddenCallback = std::move(callback);
|
||||
}
|
||||
|
||||
|
@@ -126,7 +126,7 @@ void TopBarWidget::showMenu() {
|
||||
}
|
||||
}));
|
||||
_menuToggle->installEventFilter(_menu);
|
||||
App::main()->fillPeerMenu(peer, [this](const QString &text, base::lambda<void()> &&callback) {
|
||||
App::main()->fillPeerMenu(peer, [this](const QString &text, base::lambda<void()> callback) {
|
||||
return _menu->addAction(text, std::move(callback));
|
||||
}, false);
|
||||
_menu->moveToRight(st::topBarMenuPosition.x(), st::topBarMenuPosition.y());
|
||||
|
Reference in New Issue
Block a user