Replace all base::Bind() with lambda functions

This commit is contained in:
David Capello 2020-07-03 21:51:46 -03:00
parent ddbbf12bfc
commit 35bb3af6e2
82 changed files with 368 additions and 447 deletions

View File

@ -26,7 +26,6 @@
#include "app/ui/main_window.h" #include "app/ui/main_window.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/util/filetoks.h" #include "app/util/filetoks.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/string.h" #include "base/string.h"
#include "fmt/format.h" #include "fmt/format.h"
@ -304,7 +303,7 @@ AppMenus* AppMenus::instance()
static AppMenus* instance = NULL; static AppMenus* instance = NULL;
if (!instance) { if (!instance) {
instance = new AppMenus; instance = new AppMenus;
App::instance()->Exit.connect(base::Bind<void>(&destroy_instance, instance)); App::instance()->Exit.connect([]{ destroy_instance(instance); });
} }
return instance; return instance;
} }
@ -315,7 +314,7 @@ AppMenus::AppMenus()
{ {
m_recentFilesConn = m_recentFilesConn =
App::instance()->recentFiles()->Changed.connect( App::instance()->recentFiles()->Changed.connect(
base::Bind(&AppMenus::rebuildRecentList, this)); [this]{ rebuildRecentList(); });
} }
AppMenus::~AppMenus() AppMenus::~AppMenus()

View File

@ -15,7 +15,6 @@
#include "app/check_update_delegate.h" #include "app/check_update_delegate.h"
#include "app/pref/preferences.h" #include "app/pref/preferences.h"
#include "base/bind.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/launcher.h" #include "base/launcher.h"
#include "base/replace_string.h" #include "base/replace_string.h"
@ -127,7 +126,7 @@ void CheckUpdateThreadLauncher::launch()
m_delegate->onCheckingUpdates(); m_delegate->onCheckingUpdates();
m_bgJob.reset(new CheckUpdateBackgroundJob); m_bgJob.reset(new CheckUpdateBackgroundJob);
m_thread.reset(new base::thread(base::Bind<void>(&CheckUpdateThreadLauncher::checkForUpdates, this))); m_thread.reset(new base::thread([this]{ checkForUpdates(); }));
// Start a timer to monitoring the progress of the background job // Start a timer to monitoring the progress of the background job
// executed in "m_thread". The "onMonitoringTick" method will be // executed in "m_thread". The "onMonitoringTick" method will be

View File

@ -13,7 +13,6 @@
#include "app/commands/command.h" #include "app/commands/command.h"
#include "app/modules/gui.h" #include "app/modules/gui.h"
#include "app/ui/main_window.h" #include "app/ui/main_window.h"
#include "base/bind.h"
#include "fmt/format.h" #include "fmt/format.h"
#include "ver/info.h" #include "ver/info.h"

View File

@ -23,7 +23,6 @@
#include "app/ui/editor/select_box_state.h" #include "app/ui/editor/select_box_state.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/mask.h" #include "doc/mask.h"
@ -79,13 +78,13 @@ public:
setBottom(0); setBottom(0);
updateBorderFromRect(); updateBorderFromRect();
width() ->Change.connect(base::Bind<void>(&CanvasSizeWindow::onSizeChange, this)); width() ->Change.connect([this]{ onSizeChange(); });
height()->Change.connect(base::Bind<void>(&CanvasSizeWindow::onSizeChange, this)); height()->Change.connect([this]{ onSizeChange(); });
dir() ->ItemChange.connect(base::Bind<void>(&CanvasSizeWindow::onDirChange, this));; dir() ->ItemChange.connect([this]{ onDirChange(); });
left() ->Change.connect(base::Bind<void>(&CanvasSizeWindow::onBorderChange, this)); left() ->Change.connect([this]{ onBorderChange(); });
right() ->Change.connect(base::Bind<void>(&CanvasSizeWindow::onBorderChange, this)); right() ->Change.connect([this]{ onBorderChange(); });
top() ->Change.connect(base::Bind<void>(&CanvasSizeWindow::onBorderChange, this)); top() ->Change.connect([this]{ onBorderChange(); });
bottom()->Change.connect(base::Bind<void>(&CanvasSizeWindow::onBorderChange, this)); bottom()->Change.connect([this]{ onBorderChange(); });
m_editor->setState(m_selectBoxState); m_editor->setState(m_selectBoxState);

View File

@ -22,7 +22,6 @@
#include "app/ui/timeline/timeline.h" #include "app/ui/timeline/timeline.h"
#include "app/ui/user_data_popup.h" #include "app/ui/user_data_popup.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/mem_utils.h" #include "base/mem_utils.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "doc/cel.h" #include "doc/cel.h"
@ -51,9 +50,9 @@ public:
, m_cel(nullptr) , m_cel(nullptr)
, m_selfUpdate(false) , m_selfUpdate(false)
, m_newUserData(false) { , m_newUserData(false) {
opacity()->Change.connect(base::Bind<void>(&CelPropertiesWindow::onStartTimer, this)); opacity()->Change.connect([this]{ onStartTimer(); });
userData()->Click.connect(base::Bind<void>(&CelPropertiesWindow::onPopupUserData, this)); userData()->Click.connect([this]{ onPopupUserData(); });
m_timer.Tick.connect(base::Bind<void>(&CelPropertiesWindow::onCommitChange, this)); m_timer.Tick.connect([this]{ onCommitChange(); });
remapWindow(); remapWindow();
centerWindow(); centerWindow();

View File

@ -27,7 +27,6 @@
#include "app/ui/editor/editor.h" #include "app/ui/editor/editor.h"
#include "app/ui/editor/editor_render.h" #include "app/ui/editor/editor_render.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/thread.h" #include "base/thread.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/layer.h" #include "doc/layer.h"
@ -217,11 +216,10 @@ public:
m_ditheringSelector->setSelectedItemIndex(index); m_ditheringSelector->setSelectedItemIndex(index);
} }
m_ditheringSelector->Change.connect( m_ditheringSelector->Change.connect([this]{ onDithering(); });
base::Bind<void>(&ColorModeWindow::onDithering, this));
ditheringPlaceholder()->addChild(m_ditheringSelector); ditheringPlaceholder()->addChild(m_ditheringSelector);
factor()->Change.connect(base::Bind<void>(&ColorModeWindow::onDithering, this)); factor()->Change.connect([this]{ onDithering(); });
} }
else { else {
amount()->setVisible(false); amount()->setVisible(false);
@ -229,15 +227,15 @@ public:
if (from != IMAGE_GRAYSCALE) { if (from != IMAGE_GRAYSCALE) {
colorMode()->addChild(new ConversionItem(IMAGE_GRAYSCALE)); colorMode()->addChild(new ConversionItem(IMAGE_GRAYSCALE));
toGrayCombobox()->Change.connect(base::Bind<void>(&ColorModeWindow::onToGrayChange, this)); toGrayCombobox()->Change.connect([this]{ onToGrayChange(); });
} }
colorModeView()->setMinSize( colorModeView()->setMinSize(
colorModeView()->sizeHint() + colorModeView()->sizeHint() +
colorMode()->sizeHint()); colorMode()->sizeHint());
colorMode()->Change.connect(base::Bind<void>(&ColorModeWindow::onChangeColorMode, this)); colorMode()->Change.connect([this]{ onChangeColorMode(); });
m_timer.Tick.connect(base::Bind<void>(&ColorModeWindow::onMonitorProgress, this)); m_timer.Tick.connect([this]{ onMonitorProgress(); });
progress()->setReadOnly(true); progress()->setReadOnly(true);

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -32,7 +32,6 @@
#include "app/ui/optional_alert.h" #include "app/ui/optional_alert.h"
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "app/ui/timeline/timeline.h" #include "app/ui/timeline/timeline.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/fs.h" #include "base/fs.h"
@ -318,11 +317,11 @@ public:
, m_executionID(0) , m_executionID(0)
, m_filenameFormat(params.filenameFormat()) , m_filenameFormat(params.filenameFormat())
{ {
sectionTabs()->ItemChange.connect(base::Bind<void>(&ExportSpriteSheetWindow::onChangeSection, this)); sectionTabs()->ItemChange.connect([this]{ onChangeSection(); });
expandSections()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onExpandSections, this)); expandSections()->Click.connect([this]{ onExpandSections(); });
closeSpriteSection()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onCloseSection, this, kSectionSprite)); closeSpriteSection()->Click.connect([this]{ onCloseSection(kSectionSprite); });
closeBordersSection()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onCloseSection, this, kSectionBorders)); closeBordersSection()->Click.connect([this]{ onCloseSection(kSectionBorders); });
closeOutputSection()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onCloseSection, this, kSectionOutput)); closeOutputSection()->Click.connect([this]{ onCloseSection(kSectionOutput); });
static_assert( static_assert(
(int)app::SpriteSheetType::None == 0 && (int)app::SpriteSheetType::None == 0 &&
@ -430,32 +429,32 @@ public:
m_dataFilename == kSpecifiedFilename) m_dataFilename == kSpecifiedFilename)
m_dataFilename = base + ".json"; m_dataFilename = base + ".json";
exportButton()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onExport, this)); exportButton()->Click.connect([this]{ onExport(); });
sheetType()->Change.connect(&ExportSpriteSheetWindow::onSheetTypeChange, this); sheetType()->Change.connect([this]{ onSheetTypeChange(); });
constraintType()->Change.connect(&ExportSpriteSheetWindow::onConstraintTypeChange, this); constraintType()->Change.connect([this]{ onConstraintTypeChange(); });
widthConstraint()->Change.connect(&ExportSpriteSheetWindow::generatePreview, this); widthConstraint()->Change.connect([this]{ generatePreview(); });
heightConstraint()->Change.connect(&ExportSpriteSheetWindow::generatePreview, this); heightConstraint()->Change.connect([this]{ generatePreview(); });
borderPadding()->Change.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); borderPadding()->Change.connect([this]{ generatePreview(); });
shapePadding()->Change.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); shapePadding()->Change.connect([this]{ generatePreview(); });
innerPadding()->Change.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); innerPadding()->Change.connect([this]{ generatePreview(); });
extrudeEnabled()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); extrudeEnabled()->Click.connect([this]{ generatePreview(); });
mergeDups()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); mergeDups()->Click.connect([this]{ generatePreview(); });
ignoreEmpty()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); ignoreEmpty()->Click.connect([this]{ generatePreview(); });
imageEnabled()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onImageEnabledChange, this)); imageEnabled()->Click.connect([this]{ onImageEnabledChange(); });
imageFilename()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onImageFilename, this)); imageFilename()->Click.connect([this]{ onImageFilename(); });
dataEnabled()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onDataEnabledChange, this)); dataEnabled()->Click.connect([this]{ onDataEnabledChange(); });
dataFilename()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onDataFilename, this)); dataFilename()->Click.connect([this]{ onDataFilename(); });
trimSpriteEnabled()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onTrimEnabledChange, this)); trimSpriteEnabled()->Click.connect([this]{ onTrimEnabledChange(); });
trimEnabled()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onTrimEnabledChange, this)); trimEnabled()->Click.connect([this]{ onTrimEnabledChange(); });
gridTrimEnabled()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); gridTrimEnabled()->Click.connect([this]{ generatePreview(); });
layers()->Change.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); layers()->Change.connect([this]{ generatePreview(); });
splitLayers()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onSplitLayersOrFrames, this)); splitLayers()->Click.connect([this]{ onSplitLayersOrFrames(); });
splitTags()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onSplitLayersOrFrames, this)); splitTags()->Click.connect([this]{ onSplitLayersOrFrames(); });
frames()->Change.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); frames()->Change.connect([this]{ generatePreview(); });
dataFilenameFormat()->Change.connect(base::Bind<void>(&ExportSpriteSheetWindow::onDataFilenameFormatChange, this)); dataFilenameFormat()->Change.connect([this]{ onDataFilenameFormatChange(); });
openGenerated()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::onOpenGeneratedChange, this)); openGenerated()->Click.connect([this]{ onOpenGeneratedChange(); });
preview()->Click.connect(base::Bind<void>(&ExportSpriteSheetWindow::generatePreview, this)); preview()->Click.connect([this]{ generatePreview(); });
m_genTimer.Tick.connect(base::Bind<void>(&ExportSpriteSheetWindow::onGenTimerTick, this)); m_genTimer.Tick.connect([this]{ onGenTimerTick(); });
// Select tabs // Select tabs
{ {

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -29,7 +29,6 @@
#include "app/ui/editor/select_box_state.h" #include "app/ui/editor/select_box_state.h"
#include "app/ui/editor/standby_state.h" #include "app/ui/editor/standby_state.h"
#include "app/ui/workspace.h" #include "app/ui/workspace.h"
#include "base/bind.h"
#include "doc/cel.h" #include "doc/cel.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/layer.h" #include "doc/layer.h"
@ -69,16 +68,16 @@ public:
sheetType()->addItem("By Columns"); sheetType()->addItem("By Columns");
sheetType()->setSelectedItemIndex((int)app::SpriteSheetType::Rows-1); sheetType()->setSelectedItemIndex((int)app::SpriteSheetType::Rows-1);
sheetType()->Change.connect(base::Bind<void>(&ImportSpriteSheetWindow::onSheetTypeChange, this)); sheetType()->Change.connect([this]{ onSheetTypeChange(); });
x()->Change.connect(base::Bind<void>(&ImportSpriteSheetWindow::onEntriesChange, this)); x()->Change.connect([this]{ onEntriesChange(); });
y()->Change.connect(base::Bind<void>(&ImportSpriteSheetWindow::onEntriesChange, this)); y()->Change.connect([this]{ onEntriesChange(); });
width()->Change.connect(base::Bind<void>(&ImportSpriteSheetWindow::onEntriesChange, this)); width()->Change.connect([this]{ onEntriesChange(); });
height()->Change.connect(base::Bind<void>(&ImportSpriteSheetWindow::onEntriesChange, this)); height()->Change.connect([this]{ onEntriesChange(); });
paddingEnabled()->Click.connect(base::Bind<void>(&ImportSpriteSheetWindow::onPaddingEnabledChange, this)); paddingEnabled()->Click.connect([this]{ onPaddingEnabledChange(); });
horizontalPadding()->Change.connect(base::Bind<void>(&ImportSpriteSheetWindow::onEntriesChange, this)); horizontalPadding()->Change.connect([this]{ onEntriesChange(); });
verticalPadding()->Change.connect(base::Bind<void>(&ImportSpriteSheetWindow::onEntriesChange, this)); verticalPadding()->Change.connect([this]{ onEntriesChange(); });
partialTiles()->Click.connect(base::Bind<void>(&ImportSpriteSheetWindow::onEntriesChange, this)); partialTiles()->Click.connect([this]{ onEntriesChange(); });
selectFile()->Click.connect(base::Bind<void>(&ImportSpriteSheetWindow::onSelectFile, this)); selectFile()->Click.connect([this]{ onSelectFile(); });
remapWindow(); remapWindow();
centerWindow(); centerWindow();

View File

@ -26,7 +26,6 @@
#include "app/ui/select_accelerator.h" #include "app/ui/select_accelerator.h"
#include "app/ui/separator_in_view.h" #include "app/ui/separator_in_view.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "base/split_string.h" #include "base/split_string.h"
@ -376,13 +375,13 @@ private:
m_changeConn = obs::connection(); m_changeConn = obs::connection();
m_changeButton.reset(new Button("")); m_changeButton.reset(new Button(""));
m_changeConn = m_changeButton->Click.connect(base::Bind<void>(&KeyItem::onChangeAccel, this, i)); m_changeConn = m_changeButton->Click.connect([this, i]{ onChangeAccel(i); });
m_changeButton->setStyle(SkinTheme::instance()->styles.miniButton()); m_changeButton->setStyle(SkinTheme::instance()->styles.miniButton());
addChild(m_changeButton.get()); addChild(m_changeButton.get());
m_deleteConn = obs::connection(); m_deleteConn = obs::connection();
m_deleteButton.reset(new Button("")); m_deleteButton.reset(new Button(""));
m_deleteConn = m_deleteButton->Click.connect(base::Bind<void>(&KeyItem::onDeleteAccel, this, i)); m_deleteConn = m_deleteButton->Click.connect([this, i]{ onDeleteAccel(i); });
m_deleteButton->setStyle(SkinTheme::instance()->styles.miniButton()); m_deleteButton->setStyle(SkinTheme::instance()->styles.miniButton());
addChild(m_deleteButton.get()); addChild(m_deleteButton.get());
@ -409,7 +408,7 @@ private:
(!m_menuitem || m_menuitem->getCommand())) { (!m_menuitem || m_menuitem->getCommand())) {
m_addConn = obs::connection(); m_addConn = obs::connection();
m_addButton.reset(new Button("")); m_addButton.reset(new Button(""));
m_addConn = m_addButton->Click.connect(base::Bind<void>(&KeyItem::onAddAccel, this)); m_addConn = m_addButton->Click.connect([this]{ onAddAccel(); });
m_addButton->setStyle(SkinTheme::instance()->styles.miniButton()); m_addButton->setStyle(SkinTheme::instance()->styles.miniButton());
addChild(m_addButton.get()); addChild(m_addButton.get());
@ -511,14 +510,14 @@ public:
onWheelBehaviorChange(); onWheelBehaviorChange();
wheelBehavior()->ItemChange.connect(base::Bind<void>(&KeyboardShortcutsWindow::onWheelBehaviorChange, this)); wheelBehavior()->ItemChange.connect([this]{ onWheelBehaviorChange(); });
wheelZoom()->Click.connect(base::Bind<void>(&KeyboardShortcutsWindow::onWheelZoomChange, this)); wheelZoom()->Click.connect([this]{ onWheelZoomChange(); });
search()->Change.connect(base::Bind<void>(&KeyboardShortcutsWindow::onSearchChange, this)); search()->Change.connect([this]{ onSearchChange(); });
section()->Change.connect(base::Bind<void>(&KeyboardShortcutsWindow::onSectionChange, this)); section()->Change.connect([this]{ onSectionChange(); });
importButton()->Click.connect(base::Bind<void>(&KeyboardShortcutsWindow::onImport, this)); importButton()->Click.connect([this]{ onImport(); });
exportButton()->Click.connect(base::Bind<void>(&KeyboardShortcutsWindow::onExport, this)); exportButton()->Click.connect([this]{ onExport(); });
resetButton()->Click.connect(base::Bind<void>(&KeyboardShortcutsWindow::onReset, this)); resetButton()->Click.connect([this]{ onReset(); });
fillAllLists(); fillAllLists();

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -24,7 +25,6 @@
#include "app/ui/timeline/timeline.h" #include "app/ui/timeline/timeline.h"
#include "app/ui/user_data_popup.h" #include "app/ui/user_data_popup.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/layer.h" #include "doc/layer.h"
@ -99,11 +99,11 @@ public:
mode()->addItem(new BlendModeItem("Color", doc::BlendMode::HSL_COLOR)); mode()->addItem(new BlendModeItem("Color", doc::BlendMode::HSL_COLOR));
mode()->addItem(new BlendModeItem("Luminosity", doc::BlendMode::HSL_LUMINOSITY)); mode()->addItem(new BlendModeItem("Luminosity", doc::BlendMode::HSL_LUMINOSITY));
name()->Change.connect(base::Bind<void>(&LayerPropertiesWindow::onStartTimer, this)); name()->Change.connect([this]{ onStartTimer(); });
mode()->Change.connect(base::Bind<void>(&LayerPropertiesWindow::onStartTimer, this)); mode()->Change.connect([this]{ onStartTimer(); });
opacity()->Change.connect(base::Bind<void>(&LayerPropertiesWindow::onStartTimer, this)); opacity()->Change.connect([this]{ onStartTimer(); });
m_timer.Tick.connect(base::Bind<void>(&LayerPropertiesWindow::onCommitChange, this)); m_timer.Tick.connect([this]{ onCommitChange(); });
userData()->Click.connect(base::Bind<void>(&LayerPropertiesWindow::onPopupUserData, this)); userData()->Click.connect([this]{ onPopupUserData(); });
remapWindow(); remapWindow();
centerWindow(); centerWindow();

View File

@ -24,7 +24,6 @@
#include "app/ui/color_bar.h" #include "app/ui/color_bar.h"
#include "app/ui/color_button.h" #include "app/ui/color_button.h"
#include "app/ui/selection_mode_field.h" #include "app/ui/selection_mode_field.h"
#include "base/bind.h"
#include "base/chrono.h" #include "base/chrono.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
@ -136,13 +135,13 @@ void MaskByColorCommand::onExecute(Context* context)
if (get_config_bool("MaskColor", "Preview", true)) if (get_config_bool("MaskColor", "Preview", true))
m_checkPreview->setSelected(true); m_checkPreview->setSelected(true);
button_ok->Click.connect(base::Bind<void>(&Window::closeWindow, m_window, button_ok)); button_ok->Click.connect([this, button_ok]{ m_window->closeWindow(button_ok); });
button_cancel->Click.connect(base::Bind<void>(&Window::closeWindow, m_window, button_cancel)); button_cancel->Click.connect([this, button_cancel]{ m_window->closeWindow(button_cancel); });
m_buttonColor->Change.connect(base::Bind<void>(&MaskByColorCommand::maskPreview, this, base::Ref(reader))); m_buttonColor->Change.connect([&]{ maskPreview(reader); });
m_sliderTolerance->Change.connect(base::Bind<void>(&MaskByColorCommand::maskPreview, this, base::Ref(reader))); m_sliderTolerance->Change.connect([&]{ maskPreview(reader); });
m_checkPreview->Click.connect(base::Bind<void>(&MaskByColorCommand::maskPreview, this, base::Ref(reader))); m_checkPreview->Click.connect([&]{ maskPreview(reader); });
m_selMode->ModeChange.connect(base::Bind<void>(&MaskByColorCommand::maskPreview, this, base::Ref(reader))); m_selMode->ModeChange.connect([&]{ maskPreview(reader); });
button_ok->setFocusMagnet(true); button_ok->setFocusMagnet(true);
m_buttonColor->setExpansive(true); m_buttonColor->setExpansive(true);

View File

@ -27,7 +27,6 @@
#include "app/util/clipboard.h" #include "app/util/clipboard.h"
#include "app/util/clipboard.h" #include "app/util/clipboard.h"
#include "app/util/pixel_ratio.h" #include "app/util/pixel_ratio.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "doc/cel.h" #include "doc/cel.h"
#include "doc/image.h" #include "doc/image.h"
@ -155,16 +154,15 @@ void NewFileCommand::onExecute(Context* ctx)
bool advanced = pref.newFile.advanced(); bool advanced = pref.newFile.advanced();
window.advancedCheck()->setSelected(advanced); window.advancedCheck()->setSelected(advanced);
window.advancedCheck()->Click.connect( window.advancedCheck()->Click.connect(
base::Bind<void>( [&]{
[&]{ gfx::Rect bounds = window.bounds();
gfx::Rect bounds = window.bounds(); window.advanced()->setVisible(window.advancedCheck()->isSelected());
window.advanced()->setVisible(window.advancedCheck()->isSelected()); window.setBounds(gfx::Rect(window.bounds().origin(),
window.setBounds(gfx::Rect(window.bounds().origin(), window.sizeHint()));
window.sizeHint())); window.layout();
window.layout();
window.manager()->invalidateRect(bounds); window.manager()->invalidateRect(bounds);
})); });
window.advanced()->setVisible(advanced); window.advanced()->setVisible(advanced);
if (advanced) if (advanced)
window.pixelRatio()->setValue(pref.newFile.pixelRatio()); window.pixelRatio()->setValue(pref.newFile.pixelRatio());

View File

@ -25,7 +25,6 @@
#include "app/recent_files.h" #include "app/recent_files.h"
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/thread.h" #include "base/thread.h"
#include "doc/sprite.h" #include "doc/sprite.h"

View File

@ -30,7 +30,6 @@
#include "app/ui/pref_widget.h" #include "app/ui/pref_widget.h"
#include "app/ui/separator_in_view.h" #include "app/ui/separator_in_view.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/fs.h" #include "base/fs.h"
@ -202,7 +201,7 @@ public:
, m_restoreScreenScaling(m_pref.general.screenScale()) , m_restoreScreenScaling(m_pref.general.screenScale())
, m_restoreUIScaling(m_pref.general.uiScale()) , m_restoreUIScaling(m_pref.general.uiScale())
{ {
sectionListbox()->Change.connect(base::Bind<void>(&OptionsWindow::onChangeSection, this)); sectionListbox()->Change.connect([this]{ onChangeSection(); });
// Default extension to save files // Default extension to save files
fillExtensionsCombobox(defaultExtension(), m_pref.saveFile.defaultExtension()); fillExtensionsCombobox(defaultExtension(), m_pref.saveFile.defaultExtension());
@ -212,15 +211,15 @@ public:
// Number of recent items // Number of recent items
recentFiles()->setValue(m_pref.general.recentItems()); recentFiles()->setValue(m_pref.general.recentItems());
clearRecentFiles()->Click.connect(base::Bind<void>(&OptionsWindow::onClearRecentFiles, this)); clearRecentFiles()->Click.connect([this]{ onClearRecentFiles(); });
// Template item for active display color profiles // Template item for active display color profiles
m_templateTextForDisplayCS = windowCs()->getItem(2)->text(); m_templateTextForDisplayCS = windowCs()->getItem(2)->text();
windowCs()->deleteItem(2); windowCs()->deleteItem(2);
// Color profiles // Color profiles
resetColorManagement()->Click.connect(base::Bind<void>(&OptionsWindow::onResetColorManagement, this)); resetColorManagement()->Click.connect([this]{ onResetColorManagement(); });
colorManagement()->Click.connect(base::Bind<void>(&OptionsWindow::onColorManagement, this)); colorManagement()->Click.connect([this]{ onColorManagement(); });
{ {
os::instance()->listColorSpaces(m_colorSpaces); os::instance()->listColorSpaces(m_colorSpaces);
for (auto& cs : m_colorSpaces) { for (auto& cs : m_colorSpaces) {
@ -236,7 +235,7 @@ public:
} }
// Alerts // Alerts
resetAlerts()->Click.connect(base::Bind<void>(&OptionsWindow::onResetAlerts, this)); resetAlerts()->Click.connect([this]{ onResetAlerts(); });
// Cursor // Cursor
paintingCursorType()->setSelectedItemIndex(int(m_pref.cursor.paintingCursorType())); paintingCursorType()->setSelectedItemIndex(int(m_pref.cursor.paintingCursorType()));
@ -250,7 +249,7 @@ public:
cursorColorType()->setSelectedItemIndex(1); cursorColorType()->setSelectedItemIndex(1);
cursorColor()->setVisible(true); cursorColor()->setVisible(true);
} }
cursorColorType()->Change.connect(base::Bind<void>(&OptionsWindow::onCursorColorType, this)); cursorColorType()->Change.connect([this]{ onCursorColorType(); });
// Brush preview // Brush preview
brushPreview()->setSelectedItemIndex( brushPreview()->setSelectedItemIndex(
@ -334,7 +333,7 @@ public:
int(os::Capabilities::CustomNativeMouseCursor)) != 0) { int(os::Capabilities::CustomNativeMouseCursor)) != 0) {
if (m_pref.cursor.useNativeCursor()) if (m_pref.cursor.useNativeCursor())
nativeCursor()->setSelected(true); nativeCursor()->setSelected(true);
nativeCursor()->Click.connect(base::Bind<void>(&OptionsWindow::onNativeCursorChange, this)); nativeCursor()->Click.connect([this]{ onNativeCursorChange(); });
cursorScale()->setSelectedItemIndex( cursorScale()->setSelectedItemIndex(
cursorScale()->findItemIndexByValue( cursorScale()->findItemIndexByValue(
@ -418,11 +417,11 @@ public:
if (context->activeDocument()) { if (context->activeDocument()) {
bgScope()->addItem("Background for the Active Document"); bgScope()->addItem("Background for the Active Document");
bgScope()->setSelectedItemIndex(1); bgScope()->setSelectedItemIndex(1);
bgScope()->Change.connect(base::Bind<void>(&OptionsWindow::onChangeBgScope, this)); bgScope()->Change.connect([this]{ onChangeBgScope(); });
gridScope()->addItem("Grid for the Active Document"); gridScope()->addItem("Grid for the Active Document");
gridScope()->setSelectedItemIndex(1); gridScope()->setSelectedItemIndex(1);
gridScope()->Change.connect(base::Bind<void>(&OptionsWindow::onChangeGridScope, this)); gridScope()->Change.connect([this]{ onChangeGridScope(); });
} }
selectScalingItems(); selectScalingItems();
@ -477,21 +476,21 @@ public:
checkedBgSize()->addItem("2x2"); checkedBgSize()->addItem("2x2");
checkedBgSize()->addItem("1x1"); checkedBgSize()->addItem("1x1");
checkedBgSize()->addItem("Custom"); checkedBgSize()->addItem("Custom");
checkedBgSize()->Change.connect(base::Bind<void>(&OptionsWindow::onCheckedBgSizeChange, this)); checkedBgSize()->Change.connect([this]{ onCheckedBgSizeChange(); });
// Reset buttons // Reset buttons
resetBg()->Click.connect(base::Bind<void>(&OptionsWindow::onResetBg, this)); resetBg()->Click.connect([this]{ onResetBg(); });
resetGrid()->Click.connect(base::Bind<void>(&OptionsWindow::onResetGrid, this)); resetGrid()->Click.connect([this]{ onResetGrid(); });
// Links // Links
locateFile()->Click.connect(base::Bind<void>(&OptionsWindow::onLocateConfigFile, this)); locateFile()->Click.connect([this]{ onLocateConfigFile(); });
if (!App::instance()->memoryDumpFilename().empty()) if (!App::instance()->memoryDumpFilename().empty())
locateCrashFolder()->Click.connect(base::Bind<void>(&OptionsWindow::onLocateCrashFolder, this)); locateCrashFolder()->Click.connect([this]{ onLocateCrashFolder(); });
else else
locateCrashFolder()->setVisible(false); locateCrashFolder()->setVisible(false);
// Undo preferences // Undo preferences
limitUndo()->Click.connect(base::Bind<void>(&OptionsWindow::onLimitUndoCheck, this)); limitUndo()->Click.connect([this]{ onLimitUndoCheck(); });
limitUndo()->setSelected(m_pref.undo.sizeLimit() != 0); limitUndo()->setSelected(m_pref.undo.sizeLimit() != 0);
onLimitUndoCheck(); onLimitUndoCheck();
@ -499,20 +498,20 @@ public:
undoAllowNonlinearHistory()->setSelected(m_pref.undo.allowNonlinearHistory()); undoAllowNonlinearHistory()->setSelected(m_pref.undo.allowNonlinearHistory());
// Theme buttons // Theme buttons
themeList()->Change.connect(base::Bind<void>(&OptionsWindow::onThemeChange, this)); themeList()->Change.connect([this]{ onThemeChange(); });
themeList()->DoubleClickItem.connect(base::Bind<void>(&OptionsWindow::onSelectTheme, this)); themeList()->DoubleClickItem.connect([this]{ onSelectTheme(); });
selectTheme()->Click.connect(base::Bind<void>(&OptionsWindow::onSelectTheme, this)); selectTheme()->Click.connect([this]{ onSelectTheme(); });
openThemeFolder()->Click.connect(base::Bind<void>(&OptionsWindow::onOpenThemeFolder, this)); openThemeFolder()->Click.connect([this]{ onOpenThemeFolder(); });
// Extensions buttons // Extensions buttons
extensionsList()->Change.connect(base::Bind<void>(&OptionsWindow::onExtensionChange, this)); extensionsList()->Change.connect([this]{ onExtensionChange(); });
addExtension()->Click.connect(base::Bind<void>(&OptionsWindow::onAddExtension, this)); addExtension()->Click.connect([this]{ onAddExtension(); });
disableExtension()->Click.connect(base::Bind<void>(&OptionsWindow::onDisableExtension, this)); disableExtension()->Click.connect([this]{ onDisableExtension(); });
uninstallExtension()->Click.connect(base::Bind<void>(&OptionsWindow::onUninstallExtension, this)); uninstallExtension()->Click.connect([this]{ onUninstallExtension(); });
openExtensionFolder()->Click.connect(base::Bind<void>(&OptionsWindow::onOpenExtensionFolder, this)); openExtensionFolder()->Click.connect([this]{ onOpenExtensionFolder(); });
// Apply button // Apply button
buttonApply()->Click.connect(base::Bind<void>(&OptionsWindow::onApply, this)); buttonApply()->Click.connect([this]{ onApply(); });
onChangeBgScope(); onChangeBgScope();
onChangeGridScope(); onChangeGridScope();
@ -521,12 +520,12 @@ public:
// Refill languages combobox when extensions are enabled/disabled // Refill languages combobox when extensions are enabled/disabled
m_extLanguagesChanges = m_extLanguagesChanges =
App::instance()->extensions().LanguagesChange.connect( App::instance()->extensions().LanguagesChange.connect(
base::Bind<void>(&OptionsWindow::refillLanguages, this)); [this]{ refillLanguages(); });
// Reload themes when extensions are enabled/disabled // Reload themes when extensions are enabled/disabled
m_extThemesChanges = m_extThemesChanges =
App::instance()->extensions().ThemesChange.connect( App::instance()->extensions().ThemesChange.connect(
base::Bind<void>(&OptionsWindow::reloadThemes, this)); [this]{ reloadThemes(); });
} }
bool ok() { bool ok() {

View File

@ -21,7 +21,6 @@
#include "app/ui/font_popup.h" #include "app/ui/font_popup.h"
#include "app/ui/timeline/timeline.h" #include "app/ui/timeline/timeline.h"
#include "app/util/freetype_utils.h" #include "app/util/freetype_utils.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/string.h" #include "base/string.h"
@ -69,8 +68,8 @@ public:
updateFontFaceButton(); updateFontFaceButton();
fontSize()->setTextf("%d", size); fontSize()->setTextf("%d", size);
fontFace()->Click.connect(base::Bind<void>(&PasteTextWindow::onSelectFontFile, this)); fontFace()->Click.connect([this]{ onSelectFontFile(); });
fontFace()->DropDownClick.connect(base::Bind<void>(&PasteTextWindow::onSelectSystemFont, this)); fontFace()->DropDownClick.connect([this]{ onSelectSystemFont(); });
fontColor()->setColor(color); fontColor()->setColor(color);
this->antialias()->setSelected(antialias); this->antialias()->setSelected(antialias);
} }
@ -116,7 +115,7 @@ private:
try { try {
m_fontPopup.reset(new FontPopup()); m_fontPopup.reset(new FontPopup());
m_fontPopup->Load.connect(&PasteTextWindow::setFontFace, this); m_fontPopup->Load.connect(&PasteTextWindow::setFontFace, this);
m_fontPopup->Close.connect(base::Bind<void>(&PasteTextWindow::onCloseFontPopup, this)); m_fontPopup->Close.connect([this]{ onCloseFontPopup(); });
} }
catch (const std::exception& ex) { catch (const std::exception& ex) {
Console::showException(ex); Console::showException(ex);

View File

@ -33,7 +33,6 @@
#include "app/ui/layer_frame_comboboxes.h" #include "app/ui/layer_frame_comboboxes.h"
#include "app/ui/optional_alert.h" #include "app/ui/optional_alert.h"
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "base/bind.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2018 Igara Studio S.A. // Copyright (C) 2018-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -22,7 +22,6 @@
#include "app/tx.h" #include "app/tx.h"
#include "app/ui/color_button.h" #include "app/ui/color_button.h"
#include "app/util/pixel_ratio.h" #include "app/util/pixel_ratio.h"
#include "base/bind.h"
#include "base/mem_utils.h" #include "base/mem_utils.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/palette.h" #include "doc/palette.h"

View File

@ -20,7 +20,6 @@
#include "app/modules/palettes.h" #include "app/modules/palettes.h"
#include "app/sprite_job.h" #include "app/sprite_job.h"
#include "app/util/resize_image.h" #include "app/util/resize_image.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "doc/algorithm/resize_image.h" #include "doc/algorithm/resize_image.h"
@ -184,11 +183,11 @@ protected:
class SpriteSizeWindow : public app::gen::SpriteSize { class SpriteSizeWindow : public app::gen::SpriteSize {
public: public:
SpriteSizeWindow(Context* ctx, const SpriteSizeParams& params) : m_ctx(ctx) { SpriteSizeWindow(Context* ctx, const SpriteSizeParams& params) : m_ctx(ctx) {
lockRatio()->Click.connect(base::Bind<void>(&SpriteSizeWindow::onLockRatioClick, this)); lockRatio()->Click.connect([this]{ onLockRatioClick(); });
widthPx()->Change.connect(base::Bind<void>(&SpriteSizeWindow::onWidthPxChange, this)); widthPx()->Change.connect([this]{ onWidthPxChange(); });
heightPx()->Change.connect(base::Bind<void>(&SpriteSizeWindow::onHeightPxChange, this)); heightPx()->Change.connect([this]{ onHeightPxChange(); });
widthPerc()->Change.connect(base::Bind<void>(&SpriteSizeWindow::onWidthPercChange, this)); widthPerc()->Change.connect([this]{ onWidthPercChange(); });
heightPerc()->Change.connect(base::Bind<void>(&SpriteSizeWindow::onHeightPercChange, this)); heightPerc()->Change.connect([this]{ onHeightPercChange(); });
widthPx()->setTextf("%d", params.width()); widthPx()->setTextf("%d", params.width());
heightPx()->setTextf("%d", params.height()); heightPx()->setTextf("%d", params.height());

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2015-2018 David Capello // Copyright (C) 2015-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -21,7 +22,6 @@
#include "app/modules/gui.h" #include "app/modules/gui.h"
#include "app/modules/palettes.h" #include "app/modules/palettes.h"
#include "app/site.h" #include "app/site.h"
#include "base/bind.h"
#include "base/mem_utils.h" #include "base/mem_utils.h"
#include "ui/listitem.h" #include "ui/listitem.h"
#include "ui/message.h" #include "ui/message.h"

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2017 David Capello // Copyright (C) 2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -21,7 +21,6 @@
#include "app/ui/color_button.h" #include "app/ui/color_button.h"
#include "app/ui/color_sliders.h" #include "app/ui/color_sliders.h"
#include "app/ui/slider2.h" #include "app/ui/slider2.h"
#include "base/bind.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/mask.h" #include "doc/mask.h"
#include "doc/sprite.h" #include "doc/sprite.h"
@ -59,8 +58,8 @@ public:
getContainer()->addChild(&m_brightness); getContainer()->addChild(&m_brightness);
getContainer()->addChild(new ui::Label("Contrast:")); getContainer()->addChild(new ui::Label("Contrast:"));
getContainer()->addChild(&m_contrast); getContainer()->addChild(&m_contrast);
m_brightness.Change.connect(base::Bind<void>(&BrightnessContrastWindow::onChange, this)); m_brightness.Change.connect([this]{ onChange(); });
m_contrast.Change.connect(base::Bind<void>(&BrightnessContrastWindow::onChange, this)); m_contrast.Change.connect([this]{ onChange(); });
} }
private: private:

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -23,7 +23,6 @@
#include "app/ini_file.h" #include "app/ini_file.h"
#include "app/load_widget.h" #include "app/load_widget.h"
#include "app/pref/preferences.h" #include "app/pref/preferences.h"
#include "base/bind.h"
#include "doc/mask.h" #include "doc/mask.h"
#include "doc/sprite.h" #include "doc/sprite.h"
#include "filters/convolution_matrix.h" #include "filters/convolution_matrix.h"
@ -58,7 +57,9 @@ static const char* ConfigSection = "ConvolutionMatrix";
class ConvolutionMatrixWindow : public FilterWindow { class ConvolutionMatrixWindow : public FilterWindow {
public: public:
ConvolutionMatrixWindow(ConvolutionMatrixFilter& filter, FilterManagerImpl& filterMgr, ConvolutionMatrixStock& stock) ConvolutionMatrixWindow(ConvolutionMatrixFilter& filter,
FilterManagerImpl& filterMgr,
ConvolutionMatrixStock& stock)
: FilterWindow("Convolution Matrix", ConfigSection, &filterMgr, : FilterWindow("Convolution Matrix", ConfigSection, &filterMgr,
WithChannelsSelector, WithChannelsSelector,
WithTiledCheckBox, WithTiledCheckBox,
@ -72,14 +73,14 @@ public:
{ {
getContainer()->addChild(m_controlsWidget.get()); getContainer()->addChild(m_controlsWidget.get());
m_reloadButton->Click.connect(&ConvolutionMatrixWindow::onReloadStock, this); m_reloadButton->Click.connect([this]{ onReloadStock(); });
m_stockListBox->Change.connect(base::Bind<void>(&ConvolutionMatrixWindow::onMatrixChange, this)); m_stockListBox->Change.connect([this]{ onMatrixChange(); });
fillStockListBox(); fillStockListBox();
} }
private: private:
void onReloadStock(Event& ev) { void onReloadStock() {
m_stock.reloadStock(); m_stock.reloadStock();
fillStockListBox(); fillStockListBox();
} }

View File

@ -22,7 +22,6 @@
#include "app/ui/button_set.h" #include "app/ui/button_set.h"
#include "app/ui/color_button.h" #include "app/ui/color_button.h"
#include "app/ui/color_sliders.h" #include "app/ui/color_sliders.h"
#include "base/bind.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/mask.h" #include "doc/mask.h"
#include "doc/sprite.h" #include "doc/sprite.h"
@ -75,11 +74,11 @@ public:
m_colorType.addItem("HSV+")->setFocusStop(false); m_colorType.addItem("HSV+")->setFocusStop(false);
m_colorType.addItem("HSL+")->setFocusStop(false); m_colorType.addItem("HSL+")->setFocusStop(false);
m_colorType.setSelectedItem(int(mode)); m_colorType.setSelectedItem(int(mode));
m_colorType.ItemChange.connect(base::Bind<void>(&HueSaturationWindow::onChangeMode, this)); m_colorType.ItemChange.connect([this]{ onChangeMode(); });
m_sliders.setColorType(app::Color::HslType); m_sliders.setColorType(app::Color::HslType);
m_sliders.setMode(ColorSliders::Mode::Relative); m_sliders.setMode(ColorSliders::Mode::Relative);
m_sliders.ColorChange.connect(base::Bind<void>(&HueSaturationWindow::onChangeControls, this)); m_sliders.ColorChange.connect([this]{ onChangeControls(); });
onChangeMode(); onChangeMode();
} }

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2017 David Capello // Copyright (C) 2001-2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -19,7 +19,6 @@
#include "app/ini_file.h" #include "app/ini_file.h"
#include "app/modules/gui.h" #include "app/modules/gui.h"
#include "app/ui/color_button.h" #include "app/ui/color_button.h"
#include "base/bind.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/mask.h" #include "doc/mask.h"
#include "doc/sprite.h" #include "doc/sprite.h"

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// //
// This program is distributed under the terms of // This program is distributed under the terms of
// the End-User License Agreement for Aseprite. // the End-User License Agreement for Aseprite.
@ -22,7 +22,6 @@
#include "app/ui/color_bar.h" #include "app/ui/color_bar.h"
#include "app/ui/color_button.h" #include "app/ui/color_button.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/mask.h" #include "doc/mask.h"
#include "doc/sprite.h" #include "doc/sprite.h"

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -30,7 +30,6 @@
#include "app/ui/color_button.h" #include "app/ui/color_button.h"
#include "app/ui/keyboard_shortcuts.h" #include "app/ui/keyboard_shortcuts.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/mask.h" #include "doc/mask.h"
#include "doc/sprite.h" #include "doc/sprite.h"

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -15,7 +15,6 @@
#include "app/modules/gfx.h" #include "app/modules/gfx.h"
#include "app/modules/gui.h" #include "app/modules/gui.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "doc/image.h" #include "doc/image.h"
#include "ui/box.h" #include "ui/box.h"
#include "ui/button.h" #include "ui/button.h"

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -17,7 +18,6 @@
#include "app/modules/gui.h" #include "app/modules/gui.h"
#include "app/pref/preferences.h" #include "app/pref/preferences.h"
#include "app/ui/editor/editor.h" #include "app/ui/editor/editor.h"
#include "base/bind.h"
namespace app { namespace app {
@ -73,7 +73,7 @@ FilterWindow::FilterWindow(const char* title, const char* cfgSection,
if (m_tiledCheck) { if (m_tiledCheck) {
m_tiledCheck->setSelected(tiledMode != TiledMode::NONE); m_tiledCheck->setSelected(tiledMode != TiledMode::NONE);
m_tiledCheck->Click.connect(base::Bind<void>(&FilterWindow::onTiledChange, this)); m_tiledCheck->Click.connect([this]{ onTiledChange(); });
m_vbox.addChild(m_tiledCheck); m_vbox.addChild(m_tiledCheck);
} }

View File

@ -35,14 +35,13 @@ public:
ConsoleWindow() : Window(Window::WithTitleBar, "Console"), ConsoleWindow() : Window(Window::WithTitleBar, "Console"),
m_textbox("", WORDWRAP), m_textbox("", WORDWRAP),
m_button("Cancel") { m_button("Cancel") {
m_button.Click.connect(base::Bind<void>(&ConsoleWindow::closeWindow, this, &m_button)); m_button.Click.connect([this]{ closeWindow(&m_button); });
// When the window is closed, we clear the text // When the window is closed, we clear the text
Close.connect( Close.connect(
base::Bind<void>( [this]{
[this] { m_textbox.setText(std::string());
m_textbox.setText(std::string()); });
}));
m_view.attachToView(&m_textbox); m_view.attachToView(&m_textbox);

View File

@ -26,7 +26,6 @@
#include "app/doc_access.h" #include "app/doc_access.h"
#include "app/doc_diff.h" #include "app/doc_diff.h"
#include "app/pref/preferences.h" #include "app/pref/preferences.h"
#include "base/bind.h"
#include "base/chrono.h" #include "base/chrono.h"
#include "base/remove_from_container.h" #include "base/remove_from_container.h"
#include "ui/system.h" #include "ui/system.h"
@ -63,7 +62,7 @@ BackupObserver::BackupObserver(RecoveryConfig* config,
, m_session(session) , m_session(session)
, m_ctx(ctx) , m_ctx(ctx)
, m_done(false) , m_done(false)
, m_thread(base::Bind<void>(&BackupObserver::backgroundThread, this)) , m_thread([this]{ backgroundThread(); })
{ {
m_ctx->add_observer(this); m_ctx->add_observer(this);
m_ctx->documents().add_observer(this); m_ctx->documents().add_observer(this);

View File

@ -20,7 +20,6 @@
#include "app/doc_access.h" #include "app/doc_access.h"
#include "app/file/file.h" #include "app/file/file.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/fstream_path.h" #include "base/fstream_path.h"

View File

@ -20,7 +20,6 @@
#include "app/file/webp_options.h" #include "app/file/webp_options.h"
#include "app/ini_file.h" #include "app/ini_file.h"
#include "app/pref/preferences.h" #include "app/pref/preferences.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/file_handle.h" #include "base/file_handle.h"
@ -421,7 +420,7 @@ FormatOptionsPtr WebPFormat::onAskUserForFormatOptions(FileOp* fop)
win.imagePreset()->setSelectedItemIndex(opts->imagePreset()); win.imagePreset()->setSelectedItemIndex(opts->imagePreset());
updatePanels(); updatePanels();
win.type()->Change.connect(base::Bind<void>(updatePanels)); win.type()->Change.connect(updatePanels);
win.openWindowInForeground(); win.openWindowInForeground();

View File

@ -11,7 +11,6 @@
#include "app/res/http_loader.h" #include "app/res/http_loader.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/fstream_path.h" #include "base/fstream_path.h"
#include "base/replace_string.h" #include "base/replace_string.h"
@ -29,7 +28,7 @@ HttpLoader::HttpLoader(const std::string& url)
: m_url(url) : m_url(url)
, m_done(false) , m_done(false)
, m_request(nullptr) , m_request(nullptr)
, m_thread(base::Bind<void>(&HttpLoader::threadHttpRequest, this)) , m_thread([this]{ threadHttpRequest(); })
{ {
} }

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2017 David Capello // Copyright (C) 2001-2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -17,7 +17,6 @@
#include "app/file_system.h" #include "app/file_system.h"
#include "app/res/palette_resource.h" #include "app/res/palette_resource.h"
#include "app/resource_finder.h" #include "app/resource_finder.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "doc/palette.h" #include "doc/palette.h"

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -14,7 +15,6 @@
#include "app/res/resource.h" #include "app/res/resource.h"
#include "app/res/resources_loader_delegate.h" #include "app/res/resources_loader_delegate.h"
#include "app/resource_finder.h" #include "app/resource_finder.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
@ -24,9 +24,7 @@ ResourcesLoader::ResourcesLoader(ResourcesLoaderDelegate* delegate)
: m_delegate(delegate) : m_delegate(delegate)
, m_done(false) , m_done(false)
, m_cancel(false) , m_cancel(false)
, m_thread( , m_thread(new base::thread([this]{ threadLoadResources(); }))
new base::thread(
base::Bind<void>(&ResourcesLoader::threadLoadResources, this)))
{ {
} }
@ -87,8 +85,7 @@ void ResourcesLoader::threadLoadResources()
base::thread* ResourcesLoader::createThread() base::thread* ResourcesLoader::createThread()
{ {
return new base::thread( return new base::thread([this]{ threadLoadResources(); });
base::Bind<void>(&ResourcesLoader::threadLoadResources, this));
} }
} // namespace app } // namespace app

View File

@ -19,7 +19,6 @@
#include "app/ui/color_shades.h" #include "app/ui/color_shades.h"
#include "app/ui/expr_entry.h" #include "app/ui/expr_entry.h"
#include "app/ui/filename_field.h" #include "app/ui/filename_field.h"
#include "base/bind.h"
#include "base/paths.h" #include "base/paths.h"
#include "base/remove_from_container.h" #include "base/remove_from_container.h"
#include "ui/box.h" #include "ui/box.h"

View File

@ -16,7 +16,6 @@
#include "app/i18n/strings.h" #include "app/i18n/strings.h"
#include "app/resource_finder.h" #include "app/resource_finder.h"
#include "app/task.h" #include "app/task.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/launcher.h" #include "base/launcher.h"
#include "fmt/format.h" #include "fmt/format.h"
@ -139,7 +138,7 @@ void SendCrash::notificationClick()
if (isDev) { if (isDev) {
dlg.official()->setVisible(false); dlg.official()->setVisible(false);
dlg.devFilename()->setText(m_dumpFilename); dlg.devFilename()->setText(m_dumpFilename);
dlg.devFilename()->Click.connect(base::Bind(&SendCrash::onClickDevFilename, this)); dlg.devFilename()->Click.connect([this]{ onClickDevFilename(); });
} }
else else
#endif // On other platforms the crash file might be useful even in #endif // On other platforms the crash file might be useful even in
@ -148,7 +147,7 @@ void SendCrash::notificationClick()
{ {
dlg.dev()->setVisible(false); dlg.dev()->setVisible(false);
dlg.filename()->setText(m_dumpFilename); dlg.filename()->setText(m_dumpFilename);
dlg.filename()->Click.connect(base::Bind(&SendCrash::onClickFilename, this)); dlg.filename()->Click.connect([this]{ onClickFilename(); });
} }
dlg.openWindowInForeground(); dlg.openWindowInForeground();

View File

@ -17,7 +17,6 @@
#include "app/file/file.h" #include "app/file/file.h"
#include "app/file_system.h" #include "app/file_system.h"
#include "app/util/conversion_to_surface.h" #include "app/util/conversion_to_surface.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/scoped_lock.h" #include "base/scoped_lock.h"
#include "base/thread.h" #include "base/thread.h"
@ -46,7 +45,7 @@ public:
: m_queue(queue) : m_queue(queue)
, m_fop(nullptr) , m_fop(nullptr)
, m_isDone(false) , m_isDone(false)
, m_thread(base::Bind<void>(&Worker::loadBgThread, this)) { , m_thread([this]{ loadBgThread(); }) {
} }
~Worker() { ~Worker() {
@ -226,7 +225,7 @@ ThumbnailGenerator* ThumbnailGenerator::instance()
static ThumbnailGenerator* singleton = nullptr; static ThumbnailGenerator* singleton = nullptr;
if (singleton == NULL) { if (singleton == NULL) {
singleton = new ThumbnailGenerator(); singleton = new ThumbnailGenerator();
App::instance()->Exit.connect(base::Bind<void>(&delete_singleton, singleton)); App::instance()->Exit.connect([&]{ delete_singleton(singleton); });
} }
return singleton; return singleton;
} }

View File

@ -20,7 +20,6 @@
#include "app/tools/stroke.h" #include "app/tools/stroke.h"
#include "app/tools/tool_group.h" #include "app/tools/tool_group.h"
#include "app/tools/tool_loop.h" #include "app/tools/tool_loop.h"
#include "base/bind.h"
#include "base/exception.h" #include "base/exception.h"
#include "doc/algo.h" #include "doc/algo.h"
#include "doc/algorithm/floodfill.h" #include "doc/algorithm/floodfill.h"

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2016 David Capello // Copyright (C) 2001-2016 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -11,7 +12,6 @@
#include "app/ui/backup_indicator.h" #include "app/ui/backup_indicator.h"
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "base/bind.h"
#include "ui/manager.h" #include "ui/manager.h"
namespace app { namespace app {
@ -21,7 +21,7 @@ BackupIndicator::BackupIndicator()
, m_small(false) , m_small(false)
, m_running(false) , m_running(false)
{ {
m_timer.Tick.connect(base::Bind<void>(&BackupIndicator::onTick, this)); m_timer.Tick.connect([this]{ onTick(); });
} }
BackupIndicator::~BackupIndicator() BackupIndicator::~BackupIndicator()

View File

@ -27,7 +27,6 @@
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/util/conversion_to_surface.h" #include "app/util/conversion_to_surface.h"
#include "base/bind.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "doc/brush.h" #include "doc/brush.h"
#include "doc/image.h" #include "doc/image.h"

View File

@ -13,7 +13,6 @@
#include "app/modules/gui.h" #include "app/modules/gui.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "gfx/color.h" #include "gfx/color.h"
#include "os/surface.h" #include "os/surface.h"
#include "ui/box.h" #include "ui/box.h"

View File

@ -50,7 +50,6 @@
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/util/clipboard.h" #include "app/util/clipboard.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "doc/cel.h" #include "doc/cel.h"
@ -200,14 +199,14 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
m_fgColor.setExpansive(true); m_fgColor.setExpansive(true);
m_bgColor.setExpansive(true); m_bgColor.setExpansive(true);
m_remapButton.Click.connect(base::Bind<void>(&ColorBar::onRemapButtonClick, this)); m_remapButton.Click.connect([this]{ onRemapButtonClick(); });
m_fgColor.Change.connect(&ColorBar::onFgColorButtonChange, this); m_fgColor.Change.connect(&ColorBar::onFgColorButtonChange, this);
m_fgColor.BeforeChange.connect(&ColorBar::onFgColorButtonBeforeChange, this); m_fgColor.BeforeChange.connect(&ColorBar::onFgColorButtonBeforeChange, this);
m_bgColor.Change.connect(&ColorBar::onBgColorButtonChange, this); m_bgColor.Change.connect(&ColorBar::onBgColorButtonChange, this);
m_fgWarningIcon->Click.connect(base::Bind<void>(&ColorBar::onFixWarningClick, this, &m_fgColor, m_fgWarningIcon)); m_fgWarningIcon->Click.connect([this]{ onFixWarningClick(&m_fgColor, m_fgWarningIcon); });
m_bgWarningIcon->Click.connect(base::Bind<void>(&ColorBar::onFixWarningClick, this, &m_bgColor, m_bgWarningIcon)); m_bgWarningIcon->Click.connect([this]{ onFixWarningClick(&m_bgColor, m_bgWarningIcon); });
m_redrawTimer.Tick.connect(base::Bind<void>(&ColorBar::onTimerTick, this)); m_redrawTimer.Tick.connect([this]{ onTimerTick(); });
m_buttons.ItemChange.connect(base::Bind<void>(&ColorBar::onPaletteButtonClick, this)); m_buttons.ItemChange.connect([this]{ onPaletteButtonClick(); });
tooltipManager->addTooltipFor(&m_fgColor, "Foreground color", LEFT); tooltipManager->addTooltipFor(&m_fgColor, "Foreground color", LEFT);
tooltipManager->addTooltipFor(&m_bgColor, "Background color", LEFT); tooltipManager->addTooltipFor(&m_bgColor, "Background color", LEFT);
@ -270,13 +269,13 @@ ColorBar::ColorBar(int align, TooltipManager* tooltipManager)
UIContext::instance()->add_observer(this); UIContext::instance()->add_observer(this);
m_beforeCmdConn = UIContext::instance()->BeforeCommandExecution.connect(&ColorBar::onBeforeExecuteCommand, this); m_beforeCmdConn = UIContext::instance()->BeforeCommandExecution.connect(&ColorBar::onBeforeExecuteCommand, this);
m_afterCmdConn = UIContext::instance()->AfterCommandExecution.connect(&ColorBar::onAfterExecuteCommand, this); m_afterCmdConn = UIContext::instance()->AfterCommandExecution.connect(&ColorBar::onAfterExecuteCommand, this);
m_fgConn = Preferences::instance().colorBar.fgColor.AfterChange.connect(base::Bind<void>(&ColorBar::onFgColorChangeFromPreferences, this)); m_fgConn = Preferences::instance().colorBar.fgColor.AfterChange.connect([this]{ onFgColorChangeFromPreferences(); });
m_bgConn = Preferences::instance().colorBar.bgColor.AfterChange.connect(base::Bind<void>(&ColorBar::onBgColorChangeFromPreferences, this)); m_bgConn = Preferences::instance().colorBar.bgColor.AfterChange.connect([this]{ onBgColorChangeFromPreferences(); });
m_sepConn = Preferences::instance().colorBar.entriesSeparator.AfterChange.connect(base::Bind<void>(&ColorBar::invalidate, this)); m_sepConn = Preferences::instance().colorBar.entriesSeparator.AfterChange.connect([this]{ invalidate(); });
m_paletteView.FocusOrClick.connect(&ColorBar::onFocusPaletteView, this); m_paletteView.FocusOrClick.connect(&ColorBar::onFocusPaletteView, this);
m_appPalChangeConn = App::instance()->PaletteChange.connect(&ColorBar::onAppPaletteChange, this); m_appPalChangeConn = App::instance()->PaletteChange.connect(&ColorBar::onAppPaletteChange, this);
KeyboardShortcuts::instance()->UserChange.connect( KeyboardShortcuts::instance()->UserChange.connect(
base::Bind<void>(&ColorBar::setupTooltips, this, tooltipManager)); [this, tooltipManager]{ setupTooltips(tooltipManager); });
setEditMode(false); setEditMode(false);
registerCommands(); registerCommands();
@ -1279,18 +1278,18 @@ void ColorBar::showPaletteSortOptions()
if (m_ascending) asc.setSelected(true); if (m_ascending) asc.setSelected(true);
else des.setSelected(true); else des.setSelected(true);
rev.Click.connect(base::Bind<void>(&ColorBar::onReverseColors, this)); rev.Click.connect([this]{ onReverseColors(); });
grd.Click.connect(base::Bind<void>(&ColorBar::onGradient, this)); grd.Click.connect([this]{ onGradient(); });
hue.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::HUE)); hue.Click.connect([this]{ onSortBy(SortPaletteBy::HUE); });
sat.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::SATURATION)); sat.Click.connect([this]{ onSortBy(SortPaletteBy::SATURATION); });
bri.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::VALUE)); bri.Click.connect([this]{ onSortBy(SortPaletteBy::VALUE); });
lum.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::LUMA)); lum.Click.connect([this]{ onSortBy(SortPaletteBy::LUMA); });
red.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::RED)); red.Click.connect([this]{ onSortBy(SortPaletteBy::RED); });
grn.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::GREEN)); grn.Click.connect([this]{ onSortBy(SortPaletteBy::GREEN); });
blu.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::BLUE)); blu.Click.connect([this]{ onSortBy(SortPaletteBy::BLUE); });
alp.Click.connect(base::Bind<void>(&ColorBar::onSortBy, this, SortPaletteBy::ALPHA)); alp.Click.connect([this]{ onSortBy(SortPaletteBy::ALPHA); });
asc.Click.connect(base::Bind<void>(&ColorBar::setAscending, this, true)); asc.Click.connect([this]{ setAscending(true); });
des.Click.connect(base::Bind<void>(&ColorBar::setAscending, this, false)); des.Click.connect([this]{ setAscending(false); });
menu.showPopup(gfx::Point(bounds.x, bounds.y+bounds.h)); menu.showPopup(gfx::Point(bounds.x, bounds.y+bounds.h));
} }

View File

@ -28,7 +28,6 @@
#include "app/ui/palette_view.h" #include "app/ui/palette_view.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "doc/image_impl.h" #include "doc/image_impl.h"
#include "doc/palette.h" #include "doc/palette.h"
@ -251,7 +250,7 @@ ColorPopup::ColorPopup(const ColorButtonOptions& options)
m_vbox.addChild(&m_maskLabel); m_vbox.addChild(&m_maskLabel);
addChild(&m_vbox); addChild(&m_vbox);
m_colorType.ItemChange.connect(base::Bind<void>(&ColorPopup::onColorTypeClick, this)); m_colorType.ItemChange.connect([this]{ onColorTypeClick(); });
m_sliders.ColorChange.connect(&ColorPopup::onColorSlidersChange, this); m_sliders.ColorChange.connect(&ColorPopup::onColorSlidersChange, this);
m_hexColorEntry.ColorChange.connect(&ColorPopup::onColorHexEntryChange, this); m_hexColorEntry.ColorChange.connect(&ColorPopup::onColorHexEntryChange, this);

View File

@ -17,7 +17,6 @@
#include "app/shade.h" #include "app/shade.h"
#include "app/ui/color_bar.h" #include "app/ui/color_bar.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "doc/color_mode.h" #include "doc/color_mode.h"
#include "doc/palette.h" #include "doc/palette.h"

View File

@ -16,7 +16,6 @@
#include "app/ui/color_sliders.h" #include "app/ui/color_sliders.h"
#include "app/ui/skin/skin_slider_property.h" #include "app/ui/skin/skin_slider_property.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "gfx/hsl.h" #include "gfx/hsl.h"
#include "gfx/rgb.h" #include "gfx/rgb.h"
@ -375,9 +374,9 @@ void ColorSliders::addSlider(const Channel channel,
item.absSlider->setDoubleBuffered(true); item.absSlider->setDoubleBuffered(true);
get_skin_property(item.entry)->setLook(MiniLook); get_skin_property(item.entry)->setLook(MiniLook);
item.absSlider->Change.connect(base::Bind<void>(&ColorSliders::onSliderChange, this, channel)); item.absSlider->Change.connect([this, channel]{ onSliderChange(channel); });
item.relSlider->Change.connect(base::Bind<void>(&ColorSliders::onSliderChange, this, channel)); item.relSlider->Change.connect([this, channel]{ onSliderChange(channel); });
item.entry->Change.connect(base::Bind<void>(&ColorSliders::onEntryChange, this, channel)); item.entry->Change.connect([this, channel]{ onEntryChange(channel); });
item.box->addChild(item.absSlider); item.box->addChild(item.absSlider);
item.box->addChild(item.relSlider); item.box->addChild(item.relSlider);

View File

@ -15,7 +15,6 @@
#include "app/pref/preferences.h" #include "app/pref/preferences.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/pi.h" #include "base/pi.h"
#include "filters/color_curve.h" #include "filters/color_curve.h"
@ -56,7 +55,7 @@ ColorWheel::ColorWheel()
, m_options("") , m_options("")
, m_harmonyPicked(false) , m_harmonyPicked(false)
{ {
m_options.Click.connect(base::Bind<void>(&ColorWheel::onOptions, this)); m_options.Click.connect([this]{ onOptions(); });
addChild(&m_options); addChild(&m_options);
InitTheme.connect( InitTheme.connect(
@ -389,7 +388,7 @@ void ColorWheel::onOptions()
if (isDiscrete()) if (isDiscrete())
discrete.setSelected(true); discrete.setSelected(true);
discrete.Click.connect(base::Bind<void>(&ColorWheel::setDiscrete, this, !isDiscrete())); discrete.Click.connect([this]{ setDiscrete(!isDiscrete()); });
if (m_colorModel != ColorModel::NORMAL_MAP) { if (m_colorModel != ColorModel::NORMAL_MAP) {
switch (m_harmony) { switch (m_harmony) {
@ -402,14 +401,14 @@ void ColorWheel::onOptions()
case Harmony::TETRADIC: tetradic.setSelected(true); break; case Harmony::TETRADIC: tetradic.setSelected(true); break;
case Harmony::SQUARE: square.setSelected(true); break; case Harmony::SQUARE: square.setSelected(true); break;
} }
none.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::NONE)); none.Click.connect([this]{ setHarmony(Harmony::NONE); });
complementary.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::COMPLEMENTARY)); complementary.Click.connect([this]{ setHarmony(Harmony::COMPLEMENTARY); });
monochromatic.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::MONOCHROMATIC)); monochromatic.Click.connect([this]{ setHarmony(Harmony::MONOCHROMATIC); });
analogous.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::ANALOGOUS)); analogous.Click.connect([this]{ setHarmony(Harmony::ANALOGOUS); });
split.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::SPLIT)); split.Click.connect([this]{ setHarmony(Harmony::SPLIT); });
triadic.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::TRIADIC)); triadic.Click.connect([this]{ setHarmony(Harmony::TRIADIC); });
tetradic.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::TETRADIC)); tetradic.Click.connect([this]{ setHarmony(Harmony::TETRADIC); });
square.Click.connect(base::Bind<void>(&ColorWheel::setHarmony, this, Harmony::SQUARE)); square.Click.connect([this]{ setHarmony(Harmony::SQUARE); });
} }
gfx::Rect rc = m_options.bounds(); gfx::Rect rc = m_options.bounds();

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -22,7 +23,6 @@
#include "app/ui/main_window.h" #include "app/ui/main_window.h"
#include "app/ui/timeline/timeline.h" #include "app/ui/timeline/timeline.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
#include "ui/box.h" #include "ui/box.h"
#include "ui/button.h" #include "ui/button.h"
@ -53,22 +53,22 @@ ConfigureTimelinePopup::ConfigureTimelinePopup()
m_box = new app::gen::TimelineConf(); m_box = new app::gen::TimelineConf();
addChild(m_box); addChild(m_box);
m_box->position()->ItemChange.connect(base::Bind<void>(&ConfigureTimelinePopup::onChangePosition, this)); m_box->position()->ItemChange.connect([this]{ onChangePosition(); });
m_box->firstFrame()->Change.connect(base::Bind<void>(&ConfigureTimelinePopup::onChangeFirstFrame, this)); m_box->firstFrame()->Change.connect([this]{ onChangeFirstFrame(); });
m_box->merge()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onChangeType, this)); m_box->merge()->Click.connect([this]{ onChangeType(); });
m_box->tint()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onChangeType, this)); m_box->tint()->Click.connect([this]{ onChangeType(); });
m_box->opacity()->Change.connect(base::Bind<void>(&ConfigureTimelinePopup::onOpacity, this)); m_box->opacity()->Change.connect([this]{ onOpacity(); });
m_box->opacityStep()->Change.connect(base::Bind<void>(&ConfigureTimelinePopup::onOpacityStep, this)); m_box->opacityStep()->Change.connect([this]{ onOpacityStep(); });
m_box->resetOnionskin()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onResetOnionskin, this)); m_box->resetOnionskin()->Click.connect([this]{ onResetOnionskin(); });
m_box->loopTag()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onLoopTagChange, this)); m_box->loopTag()->Click.connect([this]{ onLoopTagChange(); });
m_box->currentLayer()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onCurrentLayerChange, this)); m_box->currentLayer()->Click.connect([this]{ onCurrentLayerChange(); });
m_box->behind()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onPositionChange, this)); m_box->behind()->Click.connect([this]{ onPositionChange(); });
m_box->infront()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onPositionChange, this)); m_box->infront()->Click.connect([this]{ onPositionChange(); });
m_box->zoom()->Change.connect(base::Bind<void>(&ConfigureTimelinePopup::onZoomChange, this)); m_box->zoom()->Change.connect([this]{ onZoomChange(); });
m_box->thumbEnabled()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onThumbEnabledChange, this)); m_box->thumbEnabled()->Click.connect([this]{ onThumbEnabledChange(); });
m_box->thumbOverlayEnabled()->Click.connect(base::Bind<void>(&ConfigureTimelinePopup::onThumbOverlayEnabledChange, this)); m_box->thumbOverlayEnabled()->Click.connect([this]{ onThumbOverlayEnabledChange(); });
m_box->thumbOverlaySize()->Change.connect(base::Bind<void>(&ConfigureTimelinePopup::onThumbOverlaySizeChange, this)); m_box->thumbOverlaySize()->Change.connect([this]{ onThumbOverlaySizeChange(); });
const bool visibleThumb = docPref().thumbnails.enabled(); const bool visibleThumb = docPref().thumbnails.enabled();
m_box->thumbHSeparator()->setVisible(visibleThumb); m_box->thumbHSeparator()->setVisible(visibleThumb);

View File

@ -46,7 +46,6 @@
#include "app/ui/selection_mode_field.h" #include "app/ui/selection_mode_field.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/scoped_value.h" #include "base/scoped_value.h"
@ -520,10 +519,10 @@ public:
m_shade.setText("Select colors in the palette"); m_shade.setText("Select colors in the palette");
m_shade.setMinColors(2); m_shade.setMinColors(2);
m_conn = colorBar->ChangeSelection.connect( m_conn = colorBar->ChangeSelection.connect(
base::Bind<void>(&InkShadesField::onChangeColorBarSelection, this)); [this]{ onChangeColorBarSelection(); });
m_button.setFocusStop(false); m_button.setFocusStop(false);
m_button.Click.connect(base::Bind<void>(&InkShadesField::onShowMenu, this)); m_button.Click.connect([this]{ onShowMenu(); });
initTheme(); initTheme();
} }
@ -582,8 +581,8 @@ private:
bool hasShade = (m_shade.size() >= 2); bool hasShade = (m_shade.size() >= 2);
reverse.setEnabled(hasShade); reverse.setEnabled(hasShade);
save.setEnabled(hasShade); save.setEnabled(hasShade);
reverse.Click.connect(base::Bind<void>(&InkShadesField::reverseShadeColors, this)); reverse.Click.connect([this]{ reverseShadeColors(); });
save.Click.connect(base::Bind<void>(&InkShadesField::onSaveShade, this)); save.Click.connect([this]{ onSaveShade(); });
if (!m_shades.empty()) { if (!m_shades.empty()) {
SkinTheme* theme = SkinTheme::instance(); SkinTheme* theme = SkinTheme::instance();
@ -607,11 +606,10 @@ private:
}); });
close->initTheme(); close->initTheme();
close->Click.connect( close->Click.connect(
base::Bind<void>( [this, i, close]{
[this, i, close]{ m_shades.erase(m_shades.begin()+i);
m_shades.erase(m_shades.begin()+i); close->closeWindow();
close->closeWindow(); });
}));
auto item = new HBox(); auto item = new HBox();
item->InitTheme.connect( item->InitTheme.connect(
@ -770,11 +768,11 @@ public:
sz.w += 2*guiscale(); sz.w += 2*guiscale();
m_icon.getItem(0)->setMinSize(sz); m_icon.getItem(0)->setMinSize(sz);
m_icon.ItemChange.connect(base::Bind<void>(&TransparentColorField::onPopup, this)); m_icon.ItemChange.connect([this]{ onPopup(); });
m_maskColor.Change.connect(base::Bind<void>(&TransparentColorField::onChangeColor, this)); m_maskColor.Change.connect([this]{ onChangeColor(); });
Preferences::instance().selection.opaque.AfterChange.connect( Preferences::instance().selection.opaque.AfterChange.connect(
base::Bind<void>(&TransparentColorField::onOpaqueChange, this)); [this]{ onOpaqueChange(); });
onOpaqueChange(); onOpaqueChange();
@ -803,9 +801,9 @@ private:
masked.setSelected(true); masked.setSelected(true);
automatic.setSelected(Preferences::instance().selection.autoOpaque()); automatic.setSelected(Preferences::instance().selection.autoOpaque());
opaque.Click.connect(base::Bind<void>(&TransparentColorField::setOpaque, this, true)); opaque.Click.connect([this]{ setOpaque(true); });
masked.Click.connect(base::Bind<void>(&TransparentColorField::setOpaque, this, false)); masked.Click.connect([this]{ setOpaque(false); });
automatic.Click.connect(base::Bind<void>(&TransparentColorField::onAutomatic, this)); automatic.Click.connect([this]{ onAutomatic(); });
menu.showPopup(gfx::Point(bounds.x, bounds.y+bounds.h)); menu.showPopup(gfx::Point(bounds.x, bounds.y+bounds.h));
} }
@ -855,7 +853,7 @@ public:
addItem(SkinTheme::instance()->parts.pivotCenter()); addItem(SkinTheme::instance()->parts.pivotCenter());
Preferences::instance().selection.pivotPosition.AfterChange.connect( Preferences::instance().selection.pivotPosition.AfterChange.connect(
base::Bind<void>(&PivotField::onPivotChange, this)); [this]{ onPivotChange(); });
onPivotChange(); onPivotChange();
} }
@ -1166,8 +1164,8 @@ public:
addChild(new Label("Sample:")); addChild(new Label("Sample:"));
addChild(&m_sample); addChild(&m_sample);
m_channel.Change.connect(base::Bind<void>(&EyedropperField::onChannelChange, this)); m_channel.Change.connect([this]{ onChannelChange(); });
m_sample.Change.connect(base::Bind<void>(&EyedropperField::onSampleChange, this)); m_sample.Change.connect([this]{ onSampleChange(); });
} }
void updateFromPreferences(app::Preferences::Eyedropper& prefEyedropper) { void updateFromPreferences(app::Preferences::Eyedropper& prefEyedropper) {
@ -1586,14 +1584,14 @@ ContextBar::ContextBar(TooltipManager* tooltipManager,
auto& pref = Preferences::instance(); auto& pref = Preferences::instance();
pref.symmetryMode.enabled.AfterChange.connect( pref.symmetryMode.enabled.AfterChange.connect(
base::Bind<void>(&ContextBar::onSymmetryModeChange, this)); [this]{ onSymmetryModeChange(); });
pref.colorBar.fgColor.AfterChange.connect( pref.colorBar.fgColor.AfterChange.connect(
base::Bind<void>(&ContextBar::onFgOrBgColorChange, this, doc::Brush::ImageColor::MainColor)); [this]{ onFgOrBgColorChange(doc::Brush::ImageColor::MainColor); });
pref.colorBar.bgColor.AfterChange.connect( pref.colorBar.bgColor.AfterChange.connect(
base::Bind<void>(&ContextBar::onFgOrBgColorChange, this, doc::Brush::ImageColor::BackgroundColor)); [this]{ onFgOrBgColorChange(doc::Brush::ImageColor::BackgroundColor); });
KeyboardShortcuts::instance()->UserChange.connect( KeyboardShortcuts::instance()->UserChange.connect(
base::Bind<void>(&ContextBar::setupTooltips, this, tooltipManager)); [this, tooltipManager]{ setupTooltips(tooltipManager); });
m_dropPixels->DropPixels.connect(&ContextBar::onDropPixels, this); m_dropPixels->DropPixels.connect(&ContextBar::onDropPixels, this);
@ -1771,11 +1769,11 @@ void ContextBar::updateForTool(tools::Tool* tool)
} }
if (toolPref) { if (toolPref) {
m_sizeConn = brushPref->size.AfterChange.connect(base::Bind<void>(&ContextBar::onBrushSizeChange, this)); m_sizeConn = brushPref->size.AfterChange.connect([this]{ onBrushSizeChange(); });
m_angleConn = brushPref->angle.AfterChange.connect(base::Bind<void>(&ContextBar::onBrushAngleChange, this)); m_angleConn = brushPref->angle.AfterChange.connect([this]{ onBrushAngleChange(); });
m_opacityConn = toolPref->opacity.AfterChange.connect(&ContextBar::onToolSetOpacity, this); m_opacityConn = toolPref->opacity.AfterChange.connect(&ContextBar::onToolSetOpacity, this);
m_freehandAlgoConn = toolPref->freehandAlgorithm.AfterChange.connect(base::Bind<void>(&ContextBar::onToolSetFreehandAlgorithm, this)); m_freehandAlgoConn = toolPref->freehandAlgorithm.AfterChange.connect([this]{ onToolSetFreehandAlgorithm(); });
m_contiguousConn = toolPref->contiguous.AfterChange.connect(base::Bind<void>(&ContextBar::onToolSetContiguous, this)); m_contiguousConn = toolPref->contiguous.AfterChange.connect([this]{ onToolSetContiguous(); });
} }
if (tool) if (tool)

View File

@ -29,7 +29,6 @@
#include "app/ui/workspace.h" #include "app/ui/workspace.h"
#include "app/ui/workspace.h" #include "app/ui/workspace.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "fmt/format.h" #include "fmt/format.h"
#include "ui/alert.h" #include "ui/alert.h"
@ -264,13 +263,13 @@ DataRecoveryView::DataRecoveryView(crash::DataRecovery* dataRecovery)
fillList(); fillList();
onChangeSelection(); onChangeSelection();
m_openButton.Click.connect(base::Bind(&DataRecoveryView::onOpen, this)); m_openButton.Click.connect([this]{ onOpen(); });
m_openButton.DropDownClick.connect(base::Bind<void>(&DataRecoveryView::onOpenMenu, this)); m_openButton.DropDownClick.connect([this]{ onOpenMenu(); });
m_deleteButton.Click.connect(base::Bind(&DataRecoveryView::onDelete, this)); m_deleteButton.Click.connect([this]{ onDelete(); });
m_refreshButton.Click.connect(base::Bind(&DataRecoveryView::onRefresh, this)); m_refreshButton.Click.connect([this]{ onRefresh(); });
m_listBox.Change.connect(base::Bind(&DataRecoveryView::onChangeSelection, this)); m_listBox.Change.connect([this]{ onChangeSelection(); });
m_listBox.DoubleClickItem.connect(base::Bind(&DataRecoveryView::onOpen, this)); m_listBox.DoubleClickItem.connect([this]{ onOpen(); });
m_waitToEnableRefreshTimer.Tick.connect(base::Bind(&DataRecoveryView::onCheckIfWeCanEnableRefreshButton, this)); m_waitToEnableRefreshTimer.Tick.connect([this]{ onCheckIfWeCanEnableRefreshButton(); });
m_conn = Preferences::instance() m_conn = Preferences::instance()
.general.showFullPath.AfterChange.connect( .general.showFullPath.AfterChange.connect(
@ -454,8 +453,8 @@ void DataRecoveryView::onOpenMenu()
menu.addChild(&rawFrames); menu.addChild(&rawFrames);
menu.addChild(&rawLayers); menu.addChild(&rawLayers);
rawFrames.Click.connect(base::Bind(&DataRecoveryView::onOpenRaw, this, crash::RawImagesAs::kFrames)); rawFrames.Click.connect([this]{ onOpenRaw(crash::RawImagesAs::kFrames); });
rawLayers.Click.connect(base::Bind(&DataRecoveryView::onOpenRaw, this, crash::RawImagesAs::kLayers)); rawLayers.Click.connect([this]{ onOpenRaw(crash::RawImagesAs::kLayers); });
menu.showPopup(gfx::Point(bounds.x, bounds.y+bounds.h)); menu.showPopup(gfx::Point(bounds.x, bounds.y+bounds.h));
} }

View File

@ -16,7 +16,6 @@
#include "app/modules/palettes.h" #include "app/modules/palettes.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/util/conversion_to_surface.h" #include "app/util/conversion_to_surface.h"
#include "base/bind.h"
#include "doc/image.h" #include "doc/image.h"
#include "doc/image_ref.h" #include "doc/image_ref.h"
#include "doc/primitives.h" #include "doc/primitives.h"
@ -179,7 +178,7 @@ DitheringSelector::DitheringSelector(Type type)
// regenerate this DitheringSelector // regenerate this DitheringSelector
m_extChanges = m_extChanges =
extensions.DitheringMatricesChange.connect( extensions.DitheringMatricesChange.connect(
base::Bind<void>(&DitheringSelector::regenerate, this)); [this]{ regenerate(); });
setUseCustomWidget(true); setUseCustomWidget(true);
regenerate(); regenerate();

View File

@ -53,7 +53,6 @@
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/util/conversion_to_surface.h" #include "app/util/conversion_to_surface.h"
#include "app/util/layer_utils.h" #include "app/util/layer_utils.h"
#include "base/bind.h"
#include "base/chrono.h" #include "base/chrono.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
@ -173,11 +172,11 @@ Editor::Editor(Doc* document, EditorFlags flags)
m_fgColorChangeConn = m_fgColorChangeConn =
Preferences::instance().colorBar.fgColor.AfterChange.connect( Preferences::instance().colorBar.fgColor.AfterChange.connect(
base::Bind<void>(&Editor::onFgColorChange, this)); [this]{ onFgColorChange(); });
m_contextBarBrushChangeConn = m_contextBarBrushChangeConn =
App::instance()->contextBar()->BrushChange.connect( App::instance()->contextBar()->BrushChange.connect(
base::Bind<void>(&Editor::onContextBarBrushChange, this)); [this]{ onContextBarBrushChange(); });
// Restore last site in preferences // Restore last site in preferences
{ {
@ -191,16 +190,16 @@ Editor::Editor(Doc* document, EditorFlags flags)
setLayer(layers[layerIndex]); setLayer(layers[layerIndex]);
} }
m_tiledConnBefore = m_docPref.tiled.BeforeChange.connect(base::Bind<void>(&Editor::onTiledModeBeforeChange, this)); m_tiledConnBefore = m_docPref.tiled.BeforeChange.connect([this]{ onTiledModeBeforeChange(); });
m_tiledConn = m_docPref.tiled.AfterChange.connect(base::Bind<void>(&Editor::onTiledModeChange, this)); m_tiledConn = m_docPref.tiled.AfterChange.connect([this]{ onTiledModeChange(); });
m_gridConn = m_docPref.grid.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this)); m_gridConn = m_docPref.grid.AfterChange.connect([this]{ invalidate(); });
m_pixelGridConn = m_docPref.pixelGrid.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this)); m_pixelGridConn = m_docPref.pixelGrid.AfterChange.connect([this]{ invalidate(); });
m_bgConn = m_docPref.bg.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this)); m_bgConn = m_docPref.bg.AfterChange.connect([this]{ invalidate(); });
m_onionskinConn = m_docPref.onionskin.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this)); m_onionskinConn = m_docPref.onionskin.AfterChange.connect([this]{ invalidate(); });
m_symmetryModeConn = Preferences::instance().symmetryMode.enabled.AfterChange.connect(base::Bind<void>(&Editor::invalidateIfActive, this)); m_symmetryModeConn = Preferences::instance().symmetryMode.enabled.AfterChange.connect([this]{ invalidateIfActive(); });
m_showExtrasConn = m_showExtrasConn =
m_docPref.show.AfterChange.connect( m_docPref.show.AfterChange.connect(
base::Bind<void>(&Editor::onShowExtrasChange, this)); [this]{ onShowExtrasChange(); });
m_document->add_observer(this); m_document->add_observer(this);
@ -2610,7 +2609,7 @@ void Editor::showAnimationSpeedMultiplierPopup(Option<bool>& playOnce,
for (double option : options) { for (double option : options) {
MenuItem* item = new MenuItem("Speed x" + base::convert_to<std::string>(option)); MenuItem* item = new MenuItem("Speed x" + base::convert_to<std::string>(option));
item->Click.connect(base::Bind<void>(&Editor::setAnimationSpeedMultiplier, this, option)); item->Click.connect([this, option]{ setAnimationSpeedMultiplier(option); });
item->setSelected(m_aniSpeed == option); item->setSelected(m_aniSpeed == option);
menu.addChild(item); menu.addChild(item);
} }

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2016 David Capello // Copyright (C) 2001-2016 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -11,7 +12,6 @@
#include "app/ui/editor/editor_observers.h" #include "app/ui/editor/editor_observers.h"
#include "app/ui/editor/editor_observer.h" #include "app/ui/editor/editor_observer.h"
#include "base/bind.h"
namespace app { namespace app {

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2017 David Capello // Copyright (C) 2001-2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -16,7 +17,6 @@
#include "app/pref/preferences.h" #include "app/pref/preferences.h"
#include "app/ui/editor/editor.h" #include "app/ui/editor/editor.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "os/surface.h" #include "os/surface.h"
#include "ui/paint_event.h" #include "ui/paint_event.h"
#include "ui/resize_event.h" #include "ui/resize_event.h"
@ -42,7 +42,7 @@ EditorView::EditorView(EditorView::Type type)
{ {
m_scrollSettingsConn = m_scrollSettingsConn =
Preferences::instance().editor.showScrollbars.AfterChange.connect( Preferences::instance().editor.showScrollbars.AfterChange.connect(
base::Bind(&EditorView::setupScrollbars, this)); [this]{ setupScrollbars(); });
InitTheme.connect( InitTheme.connect(
[this]{ [this]{

View File

@ -38,7 +38,6 @@
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/util/clipboard.h" #include "app/util/clipboard.h"
#include "app/util/layer_utils.h" #include "app/util/layer_utils.h"
#include "base/bind.h"
#include "base/gcd.h" #include "base/gcd.h"
#include "base/pi.h" #include "base/pi.h"
#include "doc/algorithm/flip_image.h" #include "doc/algorithm/flip_image.h"
@ -98,10 +97,10 @@ MovingPixelsState::MovingPixelsState(Editor* editor, MouseMessage* msg, PixelsMo
// Listen to any change to the transparent color from the ContextBar. // Listen to any change to the transparent color from the ContextBar.
m_opaqueConn = m_opaqueConn =
Preferences::instance().selection.opaque.AfterChange.connect( Preferences::instance().selection.opaque.AfterChange.connect(
base::Bind<void>(&MovingPixelsState::onTransparentColorChange, this)); [this]{ onTransparentColorChange(); });
m_transparentConn = m_transparentConn =
Preferences::instance().selection.transparentColor.AfterChange.connect( Preferences::instance().selection.transparentColor.AfterChange.connect(
base::Bind<void>(&MovingPixelsState::onTransparentColorChange, this)); [this]{ onTransparentColorChange(); });
// Add the current editor as filter for key message of the manager // Add the current editor as filter for key message of the manager
// so we can catch the Enter key, and avoid to execute the // so we can catch the Enter key, and avoid to execute the

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -29,7 +29,6 @@
#include "app/util/expand_cel_canvas.h" #include "app/util/expand_cel_canvas.h"
#include "app/util/new_image_from_mask.h" #include "app/util/new_image_from_mask.h"
#include "app/util/range_utils.h" #include "app/util/range_utils.h"
#include "base/bind.h"
#include "base/pi.h" #include "base/pi.h"
#include "base/vector2d.h" #include "base/vector2d.h"
#include "doc/algorithm/flip_image.h" #include "doc/algorithm/flip_image.h"
@ -146,13 +145,13 @@ PixelsMovement::PixelsMovement(
m_pivotVisConn = m_pivotVisConn =
Preferences::instance().selection.pivotVisibility.AfterChange.connect( Preferences::instance().selection.pivotVisibility.AfterChange.connect(
base::Bind<void>(&PixelsMovement::onPivotChange, this)); [this]{ onPivotChange(); });
m_pivotPosConn = m_pivotPosConn =
Preferences::instance().selection.pivotPosition.AfterChange.connect( Preferences::instance().selection.pivotPosition.AfterChange.connect(
base::Bind<void>(&PixelsMovement::onPivotChange, this)); [this]{ onPivotChange(); });
m_rotAlgoConn = m_rotAlgoConn =
Preferences::instance().selection.rotationAlgorithm.AfterChange.connect( Preferences::instance().selection.rotationAlgorithm.AfterChange.connect(
base::Bind<void>(&PixelsMovement::onRotationAlgorithmChange, this)); [this]{ onRotationAlgorithmChange(); });
// The extra cel must be null, because if it's not null, it means // The extra cel must be null, because if it's not null, it means
// that someone else is using it (e.g. the editor brush preview), // that someone else is using it (e.g. the editor brush preview),

View File

@ -51,7 +51,6 @@
#include "app/util/layer_utils.h" #include "app/util/layer_utils.h"
#include "app/util/new_image_from_mask.h" #include "app/util/new_image_from_mask.h"
#include "app/util/readable_time.h" #include "app/util/readable_time.h"
#include "base/bind.h"
#include "base/pi.h" #include "base/pi.h"
#include "doc/layer.h" #include "doc/layer.h"
#include "doc/mask.h" #include "doc/mask.h"
@ -108,10 +107,10 @@ void StandbyState::onEnterState(Editor* editor)
m_pivotVisConn = m_pivotVisConn =
Preferences::instance().selection.pivotVisibility.AfterChange.connect( Preferences::instance().selection.pivotVisibility.AfterChange.connect(
base::Bind<void>(&StandbyState::onPivotChange, this, editor)); [this, editor]{ onPivotChange(editor); });
m_pivotPosConn = m_pivotPosConn =
Preferences::instance().selection.pivotPosition.AfterChange.connect( Preferences::instance().selection.pivotPosition.AfterChange.connect(
base::Bind<void>(&StandbyState::onPivotChange, this, editor)); [this, editor]{ onPivotChange(editor); });
} }
void StandbyState::onActiveToolChange(Editor* editor, tools::Tool* tool) void StandbyState::onActiveToolChange(Editor* editor, tools::Tool* tool)

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2018 David Capello // Copyright (C) 2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -17,7 +17,6 @@
#include "app/site.h" #include "app/site.h"
#include "app/ui/layer_frame_comboboxes.h" #include "app/ui/layer_frame_comboboxes.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/string.h" #include "base/string.h"
@ -70,25 +69,23 @@ ExportFileWindow::ExportFileWindow(const Doc* doc)
updateAdjustResizeButton(); updateAdjustResizeButton();
outputFilename()->Change.connect( outputFilename()->Change.connect(
base::Bind<void>( [this]{
[this]{ m_outputFilename = outputFilename()->text();
m_outputFilename = outputFilename()->text(); onOutputFilenameEntryChange();
onOutputFilenameEntryChange(); });
}));
outputFilenameBrowse()->Click.connect( outputFilenameBrowse()->Click.connect(
base::Bind<void>( [this]{
[this]{ std::string fn = SelectOutputFile();
std::string fn = SelectOutputFile(); if (!fn.empty()) {
if (!fn.empty()) { setOutputFilename(fn);
setOutputFilename(fn); }
} });
}));
resize()->Change.connect(base::Bind<void>(&ExportFileWindow::updateAdjustResizeButton, this)); resize()->Change.connect([this]{ updateAdjustResizeButton(); });
frames()->Change.connect(base::Bind<void>(&ExportFileWindow::updateAniDir, this)); frames()->Change.connect([this]{ updateAniDir(); });
forTwitter()->Click.connect(base::Bind<void>(&ExportFileWindow::updateAdjustResizeButton, this)); forTwitter()->Click.connect([this]{ updateAdjustResizeButton(); });
adjustResize()->Click.connect(base::Bind<void>(&ExportFileWindow::onAdjustResize, this)); adjustResize()->Click.connect([this]{ onAdjustResize(); });
ok()->Click.connect(base::Bind<void>(&ExportFileWindow::onOK, this)); ok()->Click.connect([this]{ onOK(); });
} }
bool ExportFileWindow::show() bool ExportFileWindow::show()

View File

@ -24,7 +24,6 @@
#include "app/ui/separator_in_view.h" #include "app/ui/separator_in_view.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/widget_loader.h" #include "app/widget_loader.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/fs.h" #include "base/fs.h"
@ -336,16 +335,16 @@ FileSelector::FileSelector(FileSelectorType type)
m_fileView->setExpansive(true); m_fileView->setExpansive(true);
fileViewPlaceholder()->addChild(m_fileView); fileViewPlaceholder()->addChild(m_fileView);
goBackButton()->Click.connect(base::Bind<void>(&FileSelector::onGoBack, this)); goBackButton()->Click.connect([this]{ onGoBack(); });
goForwardButton()->Click.connect(base::Bind<void>(&FileSelector::onGoForward, this)); goForwardButton()->Click.connect([this]{ onGoForward(); });
goUpButton()->Click.connect(base::Bind<void>(&FileSelector::onGoUp, this)); goUpButton()->Click.connect([this]{ onGoUp(); });
newFolderButton()->Click.connect(base::Bind<void>(&FileSelector::onNewFolder, this)); newFolderButton()->Click.connect([this]{ onNewFolder(); });
viewType()->ItemChange.connect(base::Bind<void>(&FileSelector::onChangeViewType, this)); viewType()->ItemChange.connect([this]{ onChangeViewType(); });
location()->CloseListBox.connect(base::Bind<void>(&FileSelector::onLocationCloseListBox, this)); location()->CloseListBox.connect([this]{ onLocationCloseListBox(); });
fileType()->Change.connect(base::Bind<void>(&FileSelector::onFileTypeChange, this)); fileType()->Change.connect([this]{ onFileTypeChange(); });
m_fileList->FileSelected.connect(base::Bind<void>(&FileSelector::onFileListFileSelected, this)); m_fileList->FileSelected.connect([this]{ onFileListFileSelected(); });
m_fileList->FileAccepted.connect(base::Bind<void>(&FileSelector::onFileListFileAccepted, this)); m_fileList->FileAccepted.connect([this]{ onFileListFileAccepted(); });
m_fileList->CurrentFolderChanged.connect(base::Bind<void>(&FileSelector::onFileListCurrentFolderChanged, this)); m_fileList->CurrentFolderChanged.connect([this]{ onFileListCurrentFolderChanged(); });
} }
void FileSelector::setDefaultExtension(const std::string& extension) void FileSelector::setDefaultExtension(const std::string& extension)

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// //
// This program is distributed under the terms of // This program is distributed under the terms of
// the End-User License Agreement for Aseprite. // the End-User License Agreement for Aseprite.
@ -12,7 +12,6 @@
#include "app/i18n/strings.h" #include "app/i18n/strings.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "ui/box.h" #include "ui/box.h"
#include "ui/button.h" #include "ui/button.h"
@ -43,21 +42,19 @@ FilenameField::FilenameField(const Type type,
if (m_entry) { if (m_entry) {
m_entry->Change.connect( m_entry->Change.connect(
base::Bind<void>( [this]{
[this]{ m_file = m_entry->text();
m_file = m_entry->text(); Change();
Change(); });
}));
} }
m_button.Click.connect( m_button.Click.connect(
base::Bind<void>( [this]{
[this]{ std::string fn = SelectFile();
std::string fn = SelectFile(); if (!fn.empty()) {
if (!fn.empty()) { setFilename(fn);
setFilename(fn); }
} });
}));
initTheme(); initTheme();
} }

View File

@ -21,7 +21,6 @@
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/util/conversion_to_surface.h" #include "app/util/conversion_to_surface.h"
#include "app/util/freetype_utils.h" #include "app/util/freetype_utils.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/string.h" #include "base/string.h"
#include "doc/image.h" #include "doc/image.h"
@ -144,11 +143,11 @@ FontPopup::FontPopup()
addChild(m_popup); addChild(m_popup);
m_popup->search()->Change.connect(base::Bind<void>(&FontPopup::onSearchChange, this)); m_popup->search()->Change.connect([this]{ onSearchChange(); });
m_popup->loadFont()->Click.connect(base::Bind<void>(&FontPopup::onLoadFont, this)); m_popup->loadFont()->Click.connect([this]{ onLoadFont(); });
m_listBox.setFocusMagnet(true); m_listBox.setFocusMagnet(true);
m_listBox.Change.connect(base::Bind<void>(&FontPopup::onChangeFont, this)); m_listBox.Change.connect([this]{ onChangeFont(); });
m_listBox.DoubleClickItem.connect(base::Bind<void>(&FontPopup::onLoadFont, this)); m_listBox.DoubleClickItem.connect([this]{ onLoadFont(); });
m_popup->view()->attachToView(&m_listBox); m_popup->view()->attachToView(&m_listBox);

View File

@ -25,7 +25,6 @@
#include "app/ui/workspace.h" #include "app/ui/workspace.h"
#include "app/ui/workspace_tabs.h" #include "app/ui/workspace_tabs.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/exception.h" #include "base/exception.h"
#include "fmt/format.h" #include "fmt/format.h"
#include "ui/label.h" #include "ui/label.h"
@ -53,10 +52,10 @@ HomeView::HomeView()
, m_dataRecovery(App::instance()->dataRecovery()) , m_dataRecovery(App::instance()->dataRecovery())
, m_dataRecoveryView(nullptr) , m_dataRecoveryView(nullptr)
{ {
newFile()->Click.connect(base::Bind(&HomeView::onNewFile, this)); newFile()->Click.connect([this]{ onNewFile(); });
openFile()->Click.connect(base::Bind(&HomeView::onOpenFile, this)); openFile()->Click.connect([this]{ onOpenFile(); });
if (m_dataRecovery) if (m_dataRecovery)
recoverSprites()->Click.connect(base::Bind(&HomeView::onRecoverSprites, this)); recoverSprites()->Click.connect([this]{ onRecoverSprites(); });
else else
recoverSprites()->setVisible(false); recoverSprites()->setVisible(false);

View File

@ -14,7 +14,6 @@
#include "app/app.h" #include "app/app.h"
#include "app/app_menus.h" #include "app/app_menus.h"
#include "app/extensions.h" #include "app/extensions.h"
#include "base/bind.h"
namespace app { namespace app {
@ -24,7 +23,7 @@ MainMenuBar::MainMenuBar()
m_extScripts = m_extScripts =
extensions.ScriptsChange.connect( extensions.ScriptsChange.connect(
base::Bind<void>(&MainMenuBar::reload, this)); [this]{ reload(); });
} }
void MainMenuBar::reload() void MainMenuBar::reload()

View File

@ -38,7 +38,6 @@
#include "app/ui/workspace.h" #include "app/ui/workspace.h"
#include "app/ui/workspace_tabs.h" #include "app/ui/workspace_tabs.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "os/display.h" #include "os/display.h"
#include "os/system.h" #include "os/system.h"
@ -153,10 +152,8 @@ MainWindow::MainWindow()
// Reconfigure workspace when the timeline position is changed. // Reconfigure workspace when the timeline position is changed.
auto& pref = Preferences::instance(); auto& pref = Preferences::instance();
pref.general.timelinePosition pref.general.timelinePosition.AfterChange.connect([this]{ configureWorkspaceLayout(); });
.AfterChange.connect(base::Bind<void>(&MainWindow::configureWorkspaceLayout, this)); pref.general.showMenuBar.AfterChange.connect([this]{ configureWorkspaceLayout(); });
pref.general.showMenuBar
.AfterChange.connect(base::Bind<void>(&MainWindow::configureWorkspaceLayout, this));
// Prepare the window // Prepare the window
remapWindow(); remapWindow();

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -19,7 +20,6 @@
#include "app/ui/palettes_listbox.h" #include "app/ui/palettes_listbox.h"
#include "app/ui/search_entry.h" #include "app/ui/search_entry.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "ui/box.h" #include "ui/box.h"
#include "ui/button.h" #include "ui/button.h"
#include "ui/scale.h" #include "ui/scale.h"
@ -41,11 +41,11 @@ PalettePopup::PalettePopup()
addChild(m_popup); addChild(m_popup);
m_paletteListBox.DoubleClickItem.connect(base::Bind<void>(&PalettePopup::onLoadPal, this)); m_paletteListBox.DoubleClickItem.connect([this]{ onLoadPal(); });
m_paletteListBox.FinishLoading.connect(base::Bind<void>(&PalettePopup::onSearchChange, this)); m_paletteListBox.FinishLoading.connect([this]{ onSearchChange(); });
m_popup->search()->Change.connect(base::Bind<void>(&PalettePopup::onSearchChange, this)); m_popup->search()->Change.connect([this]{ onSearchChange(); });
m_popup->loadPal()->Click.connect(base::Bind<void>(&PalettePopup::onLoadPal, this)); m_popup->loadPal()->Click.connect([this]{ onLoadPal(); });
m_popup->openFolder()->Click.connect(base::Bind<void>(&PalettePopup::onOpenFolder, this)); m_popup->openFolder()->Click.connect([this]{ onOpenFolder(); });
m_popup->view()->attachToView(&m_paletteListBox); m_popup->view()->attachToView(&m_paletteListBox);

View File

@ -23,7 +23,6 @@
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "app/util/clipboard.h" #include "app/util/clipboard.h"
#include "app/util/pal_ops.h" #include "app/util/pal_ops.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "doc/image.h" #include "doc/image.h"
@ -72,7 +71,7 @@ PaletteView::PaletteView(bool editable, PaletteViewStyle style, PaletteViewDeleg
m_palConn = App::instance()->PaletteChange.connect(&PaletteView::onAppPaletteChange, this); m_palConn = App::instance()->PaletteChange.connect(&PaletteView::onAppPaletteChange, this);
m_csConn = App::instance()->ColorSpaceChange.connect( m_csConn = App::instance()->ColorSpaceChange.connect(
base::Bind<void>(&PaletteView::invalidate, this)); [this]{ invalidate(); });
{ {
auto& entriesSep = Preferences::instance().colorBar.entriesSeparator; auto& entriesSep = Preferences::instance().colorBar.entriesSeparator;

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2017 David Capello // Copyright (C) 2001-2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -21,7 +22,6 @@
#include "app/ui/icon_button.h" #include "app/ui/icon_button.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/launcher.h" #include "base/launcher.h"
#include "doc/palette.h" #include "doc/palette.h"
#include "doc/sprite.h" #include "doc/sprite.h"
@ -123,10 +123,10 @@ PalettesListBox::PalettesListBox()
m_extPaletteChanges = m_extPaletteChanges =
App::instance()->extensions().PalettesChange.connect( App::instance()->extensions().PalettesChange.connect(
base::Bind<void>(&PalettesListBox::reload, this)); [this]{ reload(); });
m_extPresetsChanges = m_extPresetsChanges =
App::instance()->PalettePresetsChange.connect( App::instance()->PalettePresetsChange.connect(
base::Bind<void>(&PalettesListBox::reload, this)); [this]{ reload(); });
} }
doc::Palette* PalettesListBox::selectedPalette() doc::Palette* PalettesListBox::selectedPalette()

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2017 David Capello // Copyright (C) 2001-2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -13,7 +14,6 @@
#include "app/modules/gfx.h" #include "app/modules/gfx.h"
#include "app/modules/gui.h" #include "app/modules/gui.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "gfx/border.h" #include "gfx/border.h"
#include "gfx/size.h" #include "gfx/size.h"
#include "ui/ui.h" #include "ui/ui.h"

View File

@ -28,7 +28,6 @@
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "app/ui/toolbar.h" #include "app/ui/toolbar.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "doc/sprite.h" #include "doc/sprite.h"
#include "gfx/rect.h" #include "gfx/rect.h"
#include "ui/base.h" #include "ui/base.h"
@ -188,9 +187,9 @@ PreviewEditorWindow::PreviewEditorWindow()
m_isEnabled = get_config_bool("MiniEditor", "Enabled", true); m_isEnabled = get_config_bool("MiniEditor", "Enabled", true);
m_centerButton->Click.connect(base::Bind<void>(&PreviewEditorWindow::onCenterClicked, this)); m_centerButton->Click.connect([this]{ onCenterClicked(); });
m_playButton->Click.connect(base::Bind<void>(&PreviewEditorWindow::onPlayClicked, this)); m_playButton->Click.connect([this]{ onPlayClicked(); });
m_playButton->Popup.connect(base::Bind<void>(&PreviewEditorWindow::onPopupSpeed, this)); m_playButton->Popup.connect([this]{ onPopupSpeed(); });
addChild(m_centerButton); addChild(m_centerButton);
addChild(m_playButton); addChild(m_playButton);

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2018 Igara Studio S.A. // Copyright (C) 2018-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -20,7 +20,6 @@
#include "app/ui/draggable_widget.h" #include "app/ui/draggable_widget.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "ui/alert.h" #include "ui/alert.h"
#include "ui/graphics.h" #include "ui/graphics.h"
@ -233,11 +232,11 @@ RecentListBox::RecentListBox()
{ {
m_recentFilesConn = m_recentFilesConn =
App::instance()->recentFiles()->Changed.connect( App::instance()->recentFiles()->Changed.connect(
base::Bind(&RecentListBox::rebuildList, this)); [this]{ rebuildList(); });
m_showFullPathConn = m_showFullPathConn =
Preferences::instance().general.showFullPath.AfterChange.connect( Preferences::instance().general.showFullPath.AfterChange.connect(
base::Bind<void>(&RecentListBox::invalidate, this)); [this]{ invalidate(); });
} }
void RecentListBox::rebuildList() void RecentListBox::rebuildList()

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -13,7 +14,6 @@
#include "app/res/resource.h" #include "app/res/resource.h"
#include "app/res/resources_loader.h" #include "app/res/resources_loader.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "ui/graphics.h" #include "ui/graphics.h"
#include "ui/message.h" #include "ui/message.h"
#include "ui/paint_event.h" #include "ui/paint_event.h"
@ -114,7 +114,7 @@ ResourcesListBox::ResourcesListBox(ResourcesLoader* resourcesLoader)
, m_reload(false) , m_reload(false)
, m_loadingItem(nullptr) , m_loadingItem(nullptr)
{ {
m_resourcesTimer.Tick.connect(base::Bind<void>(&ResourcesListBox::onTick, this)); m_resourcesTimer.Tick.connect([this]{ onTick(); });
} }
Resource* ResourcesListBox::selectedResource() Resource* ResourcesListBox::selectedResource()

View File

@ -1,4 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -12,7 +13,6 @@
#include "app/ui/key.h" #include "app/ui/key.h"
#include "app/ui/keyboard_shortcuts.h" #include "app/ui/keyboard_shortcuts.h"
#include "base/bind.h"
#include "obs/signal.h" #include "obs/signal.h"
#include "ui/entry.h" #include "ui/entry.h"
#include "ui/message.h" #include "ui/message.h"
@ -101,17 +101,17 @@ SelectAccelerator::SelectAccelerator(const ui::Accelerator& accel,
keyPlaceholder()->addChild(m_keyField); keyPlaceholder()->addChild(m_keyField);
alt()->Click.connect(base::Bind<void>(&SelectAccelerator::onModifierChange, this, kKeyAltModifier, alt())); alt()->Click.connect([this]{ onModifierChange(kKeyAltModifier, alt()); });
cmd()->Click.connect(base::Bind<void>(&SelectAccelerator::onModifierChange, this, kKeyCmdModifier, cmd())); cmd()->Click.connect([this]{ onModifierChange(kKeyCmdModifier, cmd()); });
ctrl()->Click.connect(base::Bind<void>(&SelectAccelerator::onModifierChange, this, kKeyCtrlModifier, ctrl())); ctrl()->Click.connect([this]{ onModifierChange(kKeyCtrlModifier, ctrl()); });
shift()->Click.connect(base::Bind<void>(&SelectAccelerator::onModifierChange, this, kKeyShiftModifier, shift())); shift()->Click.connect([this]{ onModifierChange(kKeyShiftModifier, shift()); });
space()->Click.connect(base::Bind<void>(&SelectAccelerator::onModifierChange, this, kKeySpaceModifier, space())); space()->Click.connect([this]{ onModifierChange(kKeySpaceModifier, space()); });
win()->Click.connect(base::Bind<void>(&SelectAccelerator::onModifierChange, this, kKeyWinModifier, win())); win()->Click.connect([this]{ onModifierChange(kKeyWinModifier, win()); });
m_keyField->AccelChange.connect(&SelectAccelerator::onAccelChange, this); m_keyField->AccelChange.connect(&SelectAccelerator::onAccelChange, this);
clearButton()->Click.connect(base::Bind<void>(&SelectAccelerator::onClear, this)); clearButton()->Click.connect([this]{ onClear(); });
okButton()->Click.connect(base::Bind<void>(&SelectAccelerator::onOK, this)); okButton()->Click.connect([this]{ onOK(); });
cancelButton()->Click.connect(base::Bind<void>(&SelectAccelerator::onCancel, this)); cancelButton()->Click.connect([this]{ onCancel(); });
addChild(&m_tooltipManager); addChild(&m_tooltipManager);
} }

View File

@ -25,7 +25,6 @@
#include "app/ui/skin/skin_slider_property.h" #include "app/ui/skin/skin_slider_property.h"
#include "app/xml_document.h" #include "app/xml_document.h"
#include "app/xml_exception.h" #include "app/xml_exception.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/log.h" #include "base/log.h"

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2017 David Capello // Copyright (C) 2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -13,7 +13,6 @@
#include "app/doc.h" #include "app/doc.h"
#include "app/ui/user_data_popup.h" #include "app/ui/user_data_popup.h"
#include "base/bind.h"
#include "doc/slice.h" #include "doc/slice.h"
#include "doc/sprite.h" #include "doc/sprite.h"
@ -30,7 +29,7 @@ SliceWindow::SliceWindow(const doc::Sprite* sprite,
Slice* slice = slices.frontAs<Slice>(); Slice* slice = slices.frontAs<Slice>();
m_userData = slice->userData(); m_userData = slice->userData();
userData()->Click.connect(base::Bind<void>(&SliceWindow::onPopupUserData, this)); userData()->Click.connect([this]{ onPopupUserData(); });
if (slices.size() == 1) { if (slices.size() == 1) {
// If we are going to edit just one slice, we indicate like all // If we are going to edit just one slice, we indicate like all
@ -51,8 +50,8 @@ SliceWindow::SliceWindow(const doc::Sprite* sprite,
boundsW()->setTextf("%d", key->bounds().w); boundsW()->setTextf("%d", key->bounds().w);
boundsH()->setTextf("%d", key->bounds().h); boundsH()->setTextf("%d", key->bounds().h);
center()->Click.connect(base::Bind<void>(&SliceWindow::onCenterChange, this)); center()->Click.connect([this]{ onCenterChange(); });
pivot()->Click.connect(base::Bind<void>(&SliceWindow::onPivotChange, this)); pivot()->Click.connect([this]{ onPivotChange(); });
if (key->hasCenter()) { if (key->hasCenter()) {
center()->setSelected(true); center()->setSelected(true);

View File

@ -12,7 +12,6 @@
#include "app/ui/slider2.h" #include "app/ui/slider2.h"
#include "app/ui/skin/skin_property.h" #include "app/ui/skin/skin_property.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "ui/manager.h" #include "ui/manager.h"
#include "ui/message.h" #include "ui/message.h"
@ -97,8 +96,8 @@ Slider2::Slider2(int min, int max, int value)
m_slider.setSizeHint(gfx::Size(128, 0)); m_slider.setSizeHint(gfx::Size(128, 0));
skin::get_skin_property(&m_entry)->setLook(skin::MiniLook); skin::get_skin_property(&m_entry)->setLook(skin::MiniLook);
m_slider.Change.connect(base::Bind<void>(&Slider2::onSliderChange, this)); m_slider.Change.connect([this]{ onSliderChange(); });
m_entry.Change.connect(base::Bind<void>(&Slider2::onEntryChange, this)); m_entry.Change.connect([this]{ onEntryChange(); });
addChild(&m_slider); addChild(&m_slider);
addChild(&m_entry); addChild(&m_entry);

View File

@ -35,7 +35,6 @@
#include "app/ui/zoom_entry.h" #include "app/ui/zoom_entry.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "app/util/range_utils.h" #include "app/util/range_utils.h"
#include "base/bind.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/string.h" #include "base/string.h"
#include "doc/image.h" #include "doc/image.h"
@ -507,7 +506,7 @@ public:
makeFloating(); makeFloating();
addChild(&m_button); addChild(&m_button);
m_button.Click.connect(base::Bind<void>(&SnapToGridWindow::onDisableSnapToGrid, this)); m_button.Click.connect([this]{ onDisableSnapToGrid(); });
} }
void setDocument(Doc* doc) { void setDocument(Doc* doc) {
@ -605,7 +604,7 @@ StatusBar::StatusBar(TooltipManager* tooltipManager)
m_frameLabel = new Label("Frame:"); m_frameLabel = new Label("Frame:");
m_currentFrame = new GotoFrameEntry(); m_currentFrame = new GotoFrameEntry();
m_newFrame = new Button("+"); m_newFrame = new Button("+");
m_newFrame->Click.connect(base::Bind<void>(&StatusBar::newFrame, this)); m_newFrame->Click.connect([this]{ newFrame(); });
m_zoomEntry = new ZoomEntry; m_zoomEntry = new ZoomEntry;
m_zoomEntry->ZoomChange.connect(&StatusBar::onChangeZoom, this); m_zoomEntry->ZoomChange.connect(&StatusBar::onChangeZoom, this);

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2018 Igara Studio S.A. // Copyright (C) 2018-2020 Igara Studio S.A.
// Copyright (C) 2001-2017 David Capello // Copyright (C) 2001-2017 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -18,7 +18,6 @@
#include "app/ui/keyboard_shortcuts.h" #include "app/ui/keyboard_shortcuts.h"
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "ui/tooltips.h" #include "ui/tooltips.h"
#include <algorithm> #include <algorithm>
@ -50,7 +49,7 @@ AniControls::AniControls(TooltipManager* tooltipManager)
addItem(theme->parts.aniPlay()); addItem(theme->parts.aniPlay());
addItem(theme->parts.aniNext()); addItem(theme->parts.aniNext());
addItem(theme->parts.aniLast()); addItem(theme->parts.aniLast());
ItemChange.connect(base::Bind(&AniControls::onClickButton, this)); ItemChange.connect([this]{ onClickButton(); });
setTriggerOnMouseUp(true); setTriggerOnMouseUp(true);
setTransparent(true); setTransparent(true);

View File

@ -44,7 +44,6 @@
#include "app/util/layer_boundaries.h" #include "app/util/layer_boundaries.h"
#include "app/util/layer_utils.h" #include "app/util/layer_utils.h"
#include "app/util/readable_time.h" #include "app/util/readable_time.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/memory.h" #include "base/memory.h"
@ -354,7 +353,7 @@ void Timeline::updateUsingEditor(Editor* editor)
DocumentPreferences& docPref = Preferences::instance().document(app_document); DocumentPreferences& docPref = Preferences::instance().document(app_document);
m_thumbnailsPrefConn = docPref.thumbnails.AfterChange.connect( m_thumbnailsPrefConn = docPref.thumbnails.AfterChange.connect(
base::Bind<void>(&Timeline::onThumbnailsPrefChange, this)); [this]{ onThumbnailsPrefChange(); });
setZoom( setZoom(
docPref.thumbnails.enabled() ? docPref.thumbnails.enabled() ?
@ -377,7 +376,7 @@ void Timeline::updateUsingEditor(Editor* editor)
m_clk.part = PART_NOTHING; m_clk.part = PART_NOTHING;
m_firstFrameConn = Preferences::instance().document(m_document) m_firstFrameConn = Preferences::instance().document(m_document)
.timeline.firstFrame.AfterChange.connect(base::Bind<void>(&Timeline::invalidate, this)); .timeline.firstFrame.AfterChange.connect([this]{ invalidate(); });
setFocusStop(true); setFocusStop(true);
regenerateRows(); regenerateRows();

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2018 Igara Studio S.A. // Copyright (C) 2018-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -25,7 +25,6 @@
#include "app/ui/skin/skin_theme.h" #include "app/ui/skin/skin_theme.h"
#include "app/ui/status_bar.h" #include "app/ui/status_bar.h"
#include "app/ui_context.h" #include "app/ui_context.h"
#include "base/bind.h"
#include "fmt/format.h" #include "fmt/format.h"
#include "gfx/size.h" #include "gfx/size.h"
#include "obs/signal.h" #include "obs/signal.h"
@ -405,7 +404,7 @@ void ToolBar::openPopupWindow(int group_index, ToolGroup* tool_group)
// In case this tool contains more than just one tool, show the popup window // In case this tool contains more than just one tool, show the popup window
m_popupWindow = new TransparentPopupWindow(PopupWindow::ClickBehavior::CloseOnClickOutsideHotRegion); m_popupWindow = new TransparentPopupWindow(PopupWindow::ClickBehavior::CloseOnClickOutsideHotRegion);
m_closeConn = m_popupWindow->Close.connect(base::Bind<void, ToolBar, ToolBar>(&ToolBar::onClosePopup, this)); m_closeConn = m_popupWindow->Close.connect([this]{ onClosePopup(); });
m_openedRecently = true; m_openedRecently = true;
ToolStrip* toolstrip = new ToolStrip(tool_group, this); ToolStrip* toolstrip = new ToolStrip(tool_group, this);

View File

@ -1,5 +1,5 @@
// Aseprite // Aseprite
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This program is distributed under the terms of // This program is distributed under the terms of
@ -27,7 +27,6 @@
#include "app/widget_not_found.h" #include "app/widget_not_found.h"
#include "app/xml_document.h" #include "app/xml_document.h"
#include "app/xml_exception.h" #include "app/xml_exception.h"
#include "base/bind.h"
#include "base/exception.h" #include "base/exception.h"
#include "base/fs.h" #include "base/fs.h"
#include "base/memory.h" #include "base/memory.h"
@ -184,7 +183,7 @@ Widget* WidgetLoader::convertXmlElementToWidget(const TiXmlElement* elem, Widget
if (closewindow) { if (closewindow) {
static_cast<Button*>(widget) static_cast<Button*>(widget)
->Click.connect(base::Bind<void>(&Widget::closeWindow, widget)); ->Click.connect([widget]{ widget->closeWindow(); });
} }
} }
else if (elem_name == "check") { else if (elem_name == "check") {

View File

@ -1,5 +1,5 @@
// Aseprite UI Library // Aseprite UI Library
// Copyright (C) 2019 Igara Studio S.A. // Copyright (C) 2019-2020 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello // Copyright (C) 2001-2018 David Capello
// //
// This file is released under the terms of the MIT license. // This file is released under the terms of the MIT license.
@ -35,7 +35,6 @@
#include "ui/alert.h" #include "ui/alert.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/string.h" #include "base/string.h"
#include "ui/box.h" #include "ui/box.h"
@ -119,7 +118,7 @@ void Alert::addButton(const std::string& text)
char id[256]; char id[256];
sprintf(id, "button-%lu", m_buttons.size()); sprintf(id, "button-%lu", m_buttons.size());
button->setId(id); button->setId(id);
button->Click.connect(base::Bind<void>(&Window::closeWindow, this, button)); button->Click.connect([this, button]{ closeWindow(button); });
m_buttonsPlaceholder->addChild(button); m_buttonsPlaceholder->addChild(button);
} }

View File

@ -11,7 +11,6 @@
#include "ui/entry.h" #include "ui/entry.h"
#include "base/bind.h"
#include "base/clamp.h" #include "base/clamp.h"
#include "base/string.h" #include "base/string.h"
#include "os/draw_text.h" #include "os/draw_text.h"
@ -809,9 +808,9 @@ void Entry::showEditPopupMenu(const gfx::Point& pt)
menu.addChild(&cut); menu.addChild(&cut);
menu.addChild(&copy); menu.addChild(&copy);
menu.addChild(&paste); menu.addChild(&paste);
cut.Click.connect(base::Bind(&Entry::executeCmd, this, EntryCmd::Cut, 0, false)); cut.Click.connect([this]{ executeCmd(EntryCmd::Cut, 0, false); });
copy.Click.connect(base::Bind(&Entry::executeCmd, this, EntryCmd::Copy, 0, false)); copy.Click.connect([this]{ executeCmd(EntryCmd::Copy, 0, false); });
paste.Click.connect(base::Bind(&Entry::executeCmd, this, EntryCmd::Paste, 0, false)); paste.Click.connect([this]{ executeCmd(EntryCmd::Paste, 0, false); });
if (isReadOnly()) { if (isReadOnly()) {
cut.setEnabled(false); cut.setEnabled(false);

View File

@ -11,7 +11,6 @@
#include "updater/check_update.h" #include "updater/check_update.h"
#include "base/bind.h"
#include "base/convert_to.h" #include "base/convert_to.h"
#include "base/debug.h" #include "base/debug.h"
#include "net/http_headers.h" #include "net/http_headers.h"