Replace ISettings::get/setRightClickMode() with Preferences class

This commit is contained in:
David Capello 2015-05-13 11:19:16 -03:00
parent 70f844380b
commit 06b53981d4
7 changed files with 13 additions and 55 deletions

View File

@ -10,6 +10,7 @@
<value id="LOCK_ALPHA" value="2" />
</enum>
<enum id="RightClickMode">
<value id="DEFAULT" value="0" />
<value id="PAINT_BGCOLOR" value="0" />
<value id="PICK_FGCOLOR" value="1" />
<value id="ERASE" value="2" />
@ -70,7 +71,7 @@
<option id="zoom_from_center_with_wheel" type="bool" default="false" />
<option id="zoom_from_center_with_keys" type="bool" default="false" />
<option id="show_scrollbars" type="bool" default="true" migrate="Options.ShowScrollbars" />
<option id="right_click_mode" type="RightClickMode" default="RightClickMode::PAINT_BGCOLOR" />
<option id="right_click_mode" type="RightClickMode" default="RightClickMode::PAINT_BGCOLOR" migrate="Options.RightClickMode" />
<option id="grab_alpha" type="bool" default="false" />
<option id="auto_select_layer" type="bool" default="false" />
<option id="fg_color" type="app::Color" />

View File

@ -117,7 +117,7 @@ public:
rightClickBehavior()->addItem("Paint with background color");
rightClickBehavior()->addItem("Pick foreground color");
rightClickBehavior()->addItem("Erase");
rightClickBehavior()->setSelectedItemIndex((int)m_settings->getRightClickMode());
rightClickBehavior()->setSelectedItemIndex((int)m_preferences.editor.rightClickMode());
// Zoom with Scroll Wheel
wheelZoom()->setSelected(m_preferences.editor.zoomWithWheel());
@ -179,7 +179,7 @@ public:
m_preferences.editor.zoomFromCenterWithKeys(zoomFromCenterWithKeys()->isSelected());
m_preferences.editor.showScrollbars(showScrollbars()->isSelected());
m_preferences.editor.zoomWithWheel(wheelZoom()->isSelected());
m_settings->setRightClickMode(static_cast<RightClickMode>(rightClickBehavior()->getSelectedItemIndex()));
m_preferences.editor.rightClickMode(static_cast<app::gen::RightClickMode>(rightClickBehavior()->getSelectedItemIndex()));
m_curPref->grid.color(m_gridColor->getColor());
m_curPref->grid.opacity(gridOpacity()->getValue());

View File

@ -1,24 +0,0 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
#ifndef APP_SETTINGS_RIGHT_CLICK_MODE_H_INCLUDED
#define APP_SETTINGS_RIGHT_CLICK_MODE_H_INCLUDED
#pragma once
namespace app {
enum class RightClickMode {
PaintBgColor,
PickFgColor,
Erase,
Default = PaintBgColor
};
} // namespace app
#endif

View File

@ -14,7 +14,6 @@
#include "app/settings/ink_type.h"
#include "app/settings/rotation_algorithm.h"
#include "app/settings/selection_mode.h"
#include "app/settings/right_click_mode.h"
#include "gfx/point.h"
#include "gfx/rect.h"
#include "doc/brush_type.h"
@ -44,7 +43,6 @@ namespace app {
virtual ~ISettings() { }
// General settings
virtual RightClickMode getRightClickMode() = 0;
virtual bool getGrabAlpha() = 0;
virtual bool getAutoSelectLayer() = 0;
virtual app::Color getFgColor() = 0;
@ -52,7 +50,6 @@ namespace app {
virtual tools::Tool* getCurrentTool() = 0;
virtual app::ColorSwatches* getColorSwatches() = 0;
virtual void setRightClickMode(RightClickMode mode) = 0;
virtual void setGrabAlpha(bool state) = 0;
virtual void setAutoSelectLayer(bool state) = 0;
virtual void setFgColor(const app::Color& color) = 0;

View File

@ -80,8 +80,6 @@ UISettingsImpl::UISettingsImpl()
, m_selectionSettings(new UISelectionSettingsImpl)
, m_grabAlpha(get_config_bool("Options", "GrabAlpha", false))
, m_autoSelectLayer(get_config_bool("Options", "AutoSelectLayer", false))
, m_rightClickMode(static_cast<RightClickMode>(get_config_int("Options", "RightClickMode",
static_cast<int>(RightClickMode::Default))))
{
m_colorSwatches = new app::ColorSwatches("Default");
for (size_t i=0; i<16; ++i)
@ -94,7 +92,6 @@ UISettingsImpl::~UISettingsImpl()
{
set_config_bool("Options", "GrabAlpha", m_grabAlpha);
set_config_bool("Options", "AutoSelectLayer", m_autoSelectLayer);
set_config_int("Options", "RightClickMode", static_cast<int>(m_rightClickMode));
for (auto it : m_toolSettings)
delete it.second;
@ -106,11 +103,6 @@ UISettingsImpl::~UISettingsImpl()
//////////////////////////////////////////////////////////////////////
// General settings
RightClickMode UISettingsImpl::getRightClickMode()
{
return m_rightClickMode;
}
bool UISettingsImpl::getGrabAlpha()
{
return m_grabAlpha;
@ -146,11 +138,6 @@ app::ColorSwatches* UISettingsImpl::getColorSwatches()
return m_colorSwatches;
}
void UISettingsImpl::setRightClickMode(RightClickMode mode)
{
m_rightClickMode = mode;
}
void UISettingsImpl::setGrabAlpha(bool state)
{
m_grabAlpha = state;

View File

@ -30,7 +30,6 @@ namespace app {
~UISettingsImpl();
// ISettings implementation
RightClickMode getRightClickMode() override;
bool getGrabAlpha() override;
bool getAutoSelectLayer() override;
app::Color getFgColor() override;
@ -38,7 +37,6 @@ namespace app {
tools::Tool* getCurrentTool() override;
app::ColorSwatches* getColorSwatches() override;
void setRightClickMode(RightClickMode mode) override;
void setGrabAlpha(bool state) override;
void setAutoSelectLayer(bool state) override;
void setFgColor(const app::Color& color) override;
@ -67,7 +65,6 @@ namespace app {
base::UniquePtr<ISelectionSettings> m_selectionSettings;
bool m_grabAlpha;
bool m_autoSelectLayer;
RightClickMode m_rightClickMode;
};
} // namespace app

View File

@ -867,14 +867,14 @@ tools::Tool* Editor::getCurrentEditorTool()
if (m_secondaryButton && isCurrentToolAffectedByRightClickMode()) {
tools::ToolBox* toolbox = App::instance()->getToolBox();
switch (context->settings()->getRightClickMode()) {
case RightClickMode::PaintBgColor:
switch (App::instance()->preferences().editor.rightClickMode()) {
case app::gen::RightClickMode::PAINT_BGCOLOR:
// Do nothing, use the current tool
break;
case RightClickMode::PickFgColor:
case app::gen::RightClickMode::PICK_FGCOLOR:
tool = toolbox->getToolById(tools::WellKnownTools::Eyedropper);
break;
case RightClickMode::Erase:
case app::gen::RightClickMode::ERASE:
tool = toolbox->getToolById(tools::WellKnownTools::Eraser);
break;
}
@ -896,21 +896,21 @@ tools::Ink* Editor::getCurrentEditorInk()
if (m_quicktool)
return ink;
RightClickMode rightClickMode = context->settings()->getRightClickMode();
app::gen::RightClickMode rightClickMode = App::instance()->preferences().editor.rightClickMode();
if (m_secondaryButton &&
rightClickMode != RightClickMode::Default &&
rightClickMode != app::gen::RightClickMode::DEFAULT &&
isCurrentToolAffectedByRightClickMode()) {
tools::ToolBox* toolbox = App::instance()->getToolBox();
switch (rightClickMode) {
case RightClickMode::Default:
case app::gen::RightClickMode::DEFAULT:
// Do nothing
break;
case RightClickMode::PickFgColor:
case app::gen::RightClickMode::PICK_FGCOLOR:
ink = toolbox->getInkById(tools::WellKnownInks::PickFg);
break;
case RightClickMode::Erase:
case app::gen::RightClickMode::ERASE:
ink = toolbox->getInkById(tools::WellKnownInks::Eraser);
break;
}