Add ContextBar::BrushChange signal

This commit is contained in:
David Capello 2015-07-06 13:05:06 -03:00
parent 803d9e7a17
commit c6de475556
4 changed files with 11 additions and 10 deletions

View File

@ -1200,6 +1200,7 @@ bool ContextBar::isBrushSlotLocked(int slot) const
void ContextBar::setActiveBrush(const doc::BrushRef& brush)
{
m_activeBrush = brush;
BrushChange();
updateForCurrentTool();
}

View File

@ -66,6 +66,9 @@ namespace app {
static doc::BrushRef createBrushFromPreferences(
ToolPreferences::Brush* brushPref = nullptr);
// Signals
Signal0<void> BrushChange;
protected:
void onPreferredSize(ui::PreferredSizeEvent& ev) override;
void onToolSetOpacity(const int& newOpacity);

View File

@ -176,6 +176,10 @@ Editor::Editor(Document* document, EditorFlags flags)
Preferences::instance().colorBar.fgColor.AfterChange.connect(
Bind<void>(&Editor::onFgColorChange, this));
m_contextBarBrushChangeConn =
App::instance()->getMainWindow()->getContextBar()->BrushChange.connect(
Bind<void>(&Editor::onContextBarBrushChange, this));
DocumentPreferences& docPref = Preferences::instance().document(m_document);
// Restore last site in preferences
@ -1321,12 +1325,6 @@ void Editor::onInvalidateRegion(const gfx::Region& region)
void Editor::onCurrentToolChange()
{
m_state->onCurrentToolChange(this);
ToolPreferences::Brush& brushPref =
Preferences::instance().tool(App::instance()->activeTool()).brush;
m_sizeConn = brushPref.size.AfterChange.connect(Bind<void>(&Editor::onBrushSizeOrAngleChange, this));
m_angleConn = brushPref.angle.AfterChange.connect(Bind<void>(&Editor::onBrushSizeOrAngleChange, this));
}
void Editor::onFgColorChange()
@ -1334,7 +1332,7 @@ void Editor::onFgColorChange()
m_brushPreview.redraw();
}
void Editor::onBrushSizeOrAngleChange()
void Editor::onContextBarBrushChange()
{
m_brushPreview.redraw();
}

View File

@ -217,7 +217,7 @@ namespace app {
void onInvalidateRegion(const gfx::Region& region) override;
void onCurrentToolChange();
void onFgColorChange();
void onBrushSizeOrAngleChange();
void onContextBarBrushChange();
void onExposeSpritePixels(doc::DocumentEvent& ev);
private:
@ -278,8 +278,7 @@ namespace app {
// signals).
ScopedConnection m_currentToolChangeConn;
ScopedConnection m_fgColorChangeConn;
ScopedConnection m_sizeConn;
ScopedConnection m_angleConn;
ScopedConnection m_contextBarBrushChangeConn;
// Slots listeing document preferences.
ScopedConnection m_tiledConn;