[aseprite] 113/308: Add "Save Brush Here" option to brush slot popup

Tobias Hansen thansen at moszumanska.debian.org
Tue Mar 8 02:44:58 UTC 2016


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository aseprite.

commit 6ff62c899e6acd5a898440e308e2a5d566006916
Author: David Capello <davidcapello at gmail.com>
Date:   Tue Dec 15 17:58:55 2015 -0300

    Add "Save Brush Here" option to brush slot popup
---
 src/app/app_brushes.cpp    |  9 +++++++++
 src/app/app_brushes.h      |  1 +
 src/app/ui/brush_popup.cpp | 11 +++++++++++
 3 files changed, 21 insertions(+)

diff --git a/src/app/app_brushes.cpp b/src/app/app_brushes.cpp
index a3a2add..0cdba53 100644
--- a/src/app/app_brushes.cpp
+++ b/src/app/app_brushes.cpp
@@ -77,6 +77,15 @@ BrushRef AppBrushes::getCustomBrush(slot_id slot) const
     return BrushRef();
 }
 
+void AppBrushes::setCustomBrush(slot_id slot, const doc::BrushRef& brush)
+{
+  --slot;
+  if (slot >= 0 && slot < (int)m_slots.size()) {
+    m_slots[slot].setBrush(brush);
+    ItemsChange();
+  }
+}
+
 Brushes AppBrushes::getCustomBrushes()
 {
   Brushes brushes;
diff --git a/src/app/app_brushes.h b/src/app/app_brushes.h
index 12662ed..aa01103 100644
--- a/src/app/app_brushes.h
+++ b/src/app/app_brushes.h
@@ -32,6 +32,7 @@ namespace app {
     bool hasCustomBrush(slot_id slot) const;
     const doc::Brushes& getStandardBrushes() { return m_standard; }
     doc::BrushRef getCustomBrush(slot_id slot) const;
+    void setCustomBrush(slot_id slot, const doc::BrushRef& brush);
     doc::Brushes getCustomBrushes();
 
     void lockCustomBrush(slot_id slot);
diff --git a/src/app/ui/brush_popup.cpp b/src/app/ui/brush_popup.cpp
index 42d7e3c..fa2c8f5 100644
--- a/src/app/ui/brush_popup.cpp
+++ b/src/app/ui/brush_popup.cpp
@@ -121,12 +121,16 @@ private:
 
   void onClick() override {
     Menu menu;
+    AppMenuItem save("Save Brush Here");
     AppMenuItem lockItem(m_delegate->onIsBrushSlotLocked(m_slot) ? "Unlock Brush": "Lock Brush");
     AppMenuItem deleteItem("Delete");
     AppMenuItem deleteAllItem("Delete All");
+    save.Click.connect(&BrushOptionsItem::onSaveBrush, this);
     lockItem.Click.connect(&BrushOptionsItem::onLockBrush, this);
     deleteItem.Click.connect(&BrushOptionsItem::onDeleteBrush, this);
     deleteAllItem.Click.connect(&BrushOptionsItem::onDeleteAllBrushes, this);
+    menu.addChild(&save);
+    menu.addChild(new MenuSeparator);
     menu.addChild(&lockItem);
     menu.addChild(&deleteItem);
     menu.addChild(new MenuSeparator);
@@ -142,6 +146,13 @@ private:
 
 private:
 
+  void onSaveBrush() {
+    AppBrushes& brushes = App::instance()->brushes();
+    brushes.setCustomBrush(
+      m_slot, ContextBar::createBrushFromPreferences());
+    brushes.lockCustomBrush(m_slot);
+  }
+
   void onLockBrush() {
     if (m_delegate->onIsBrushSlotLocked(m_slot))
       m_delegate->onUnlockBrushSlot(m_slot);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git



More information about the Pkg-games-commits mailing list