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

View File

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

View File

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