Don't use ContextBar from BrushPopup

This commit is contained in:
David Capello 2015-12-15 18:17:21 -03:00
parent 6ff62c899e
commit 53b8eb7c4d
3 changed files with 11 additions and 4 deletions

View File

@ -19,7 +19,6 @@
#include "app/modules/palettes.h" #include "app/modules/palettes.h"
#include "app/ui/app_menuitem.h" #include "app/ui/app_menuitem.h"
#include "app/ui/button_set.h" #include "app/ui/button_set.h"
#include "app/ui/context_bar.h"
#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"
@ -149,7 +148,7 @@ private:
void onSaveBrush() { void onSaveBrush() {
AppBrushes& brushes = App::instance()->brushes(); AppBrushes& brushes = App::instance()->brushes();
brushes.setCustomBrush( brushes.setCustomBrush(
m_slot, ContextBar::createBrushFromPreferences()); m_slot, m_delegate->onCreateBrushFromActivePreferences());
brushes.lockCustomBrush(m_slot); brushes.lockCustomBrush(m_slot);
} }
@ -176,7 +175,8 @@ private:
class NewCustomBrushItem : public ButtonSet::Item { class NewCustomBrushItem : public ButtonSet::Item {
public: public:
NewCustomBrushItem() { NewCustomBrushItem(BrushPopupDelegate* delegate)
: m_delegate(delegate) {
setText("Save Brush"); setText("Save Brush");
} }
@ -184,9 +184,11 @@ private:
void onClick() override { void onClick() override {
AppBrushes& brushes = App::instance()->brushes(); AppBrushes& brushes = App::instance()->brushes();
auto slot = brushes.addCustomBrush( auto slot = brushes.addCustomBrush(
ContextBar::createBrushFromPreferences()); m_delegate->onCreateBrushFromActivePreferences());
brushes.lockCustomBrush(slot); brushes.lockCustomBrush(slot);
} }
BrushPopupDelegate* m_delegate;
}; };
} // anonymous namespace } // anonymous namespace

View File

@ -21,6 +21,7 @@ namespace app {
class BrushPopupDelegate { class BrushPopupDelegate {
public: public:
virtual ~BrushPopupDelegate() { } virtual ~BrushPopupDelegate() { }
virtual doc::BrushRef onCreateBrushFromActivePreferences() = 0;
virtual void onSelectBrush(const doc::BrushRef& brush) = 0; virtual void onSelectBrush(const doc::BrushRef& brush) = 0;
virtual void onSelectBrushSlot(int slot) = 0; virtual void onSelectBrushSlot(int slot) = 0;
virtual void onDeleteBrushSlot(int slot) = 0; virtual void onDeleteBrushSlot(int slot) = 0;

View File

@ -123,6 +123,10 @@ protected:
} }
// BrushPopupDelegate impl // BrushPopupDelegate impl
BrushRef onCreateBrushFromActivePreferences() {
return ContextBar::createBrushFromPreferences();
}
void onSelectBrush(const BrushRef& brush) { void onSelectBrush(const BrushRef& brush) {
if (brush->type() == kImageBrushType) if (brush->type() == kImageBrushType)
m_owner->setActiveBrush(brush); m_owner->setActiveBrush(brush);