Merge pull request #642 from andreasb242/master

Store fill config
presentation
andreasb242 7 years ago committed by GitHub
commit d169fee520
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      src/control/Control.cpp
  2. 28
      src/control/Tool.cpp
  3. 5
      src/control/Tool.h
  4. 23
      src/control/ToolHandler.cpp
  5. 10
      src/control/ToolHandler.h
  6. 2
      src/control/settings/Settings.cpp

@ -348,6 +348,7 @@ void Control::initWindow(MainWindow* win)
eraserSizeChanged();
hilighterSizeChanged();
updateDeletePageButton();
toolFillChanged();
this->clipboardHandler = new ClipboardHandler(this, win->getXournal()->getWidget());
@ -1816,6 +1817,8 @@ void Control::toolFillChanged()
XOJ_CHECK_TYPE(Control);
fireActionSelected(GROUP_FILL, toolHandler->getFill() != -1 ? ACTION_TOOL_FILL : ACTION_NONE);
fireActionSelected(GROUP_PEN_FILL, toolHandler->getPenFillEnabled() != -1 ? ACTION_TOOL_PEN_FILL : ACTION_NONE);
fireActionSelected(GROUP_HILIGHTER_FILL, toolHandler->getHilighterFillEnabled() != -1 ? ACTION_TOOL_HILIGHTER_FILL : ACTION_NONE);
}
/**

@ -64,6 +64,34 @@ void Tool::setSize(ToolSize size)
this->size = size;
}
bool Tool::getFill()
{
XOJ_CHECK_TYPE(Tool);
return this->fill;
}
void Tool::setFill(bool fill)
{
XOJ_CHECK_TYPE(Tool);
this->fill = fill;
}
int Tool::getFillAlpha()
{
XOJ_CHECK_TYPE(Tool);
return this->fillAlpha;
}
void Tool::setFillAlpha(int fillAlpha)
{
XOJ_CHECK_TYPE(Tool);
this->fillAlpha = fillAlpha;
}
void Tool::setCapability(int capability, bool enabled)
{
XOJ_CHECK_TYPE(Tool);

@ -119,6 +119,11 @@ public:
ToolSize getSize();
void setSize(ToolSize size);
bool getFill();
void setFill(bool fill);
int getFillAlpha();
void setFillAlpha(int fillAlpha);
DrawingType getDrawingType();
void setDrawingType(DrawingType drawingType);

@ -13,15 +13,10 @@ ToolHandler::ToolHandler(ToolListener* listener, ActionHandler* actionHandler, S
{
XOJ_INIT_TYPE(ToolHandler);
this->colorFound = false;
this->listener = NULL;
this->actionHandler = NULL;
this->settings = settings;
this->lastSelectedTool = NULL;
initTools();
this->listener = listener;
this->actionHandler = actionHandler;
this->eraserType = ERASER_TYPE_DEFAULT;
}
@ -495,6 +490,12 @@ void ToolHandler::saveSettings()
st.setString("size", value);
}
if (t->type == TOOL_PEN || t->type == TOOL_HILIGHTER)
{
st.setInt("fill", t->getFill());
st.setInt("fillAlpha", t->getFillAlpha());
}
if (t->type == TOOL_ERASER)
{
if (this->eraserType == ERASER_TYPE_DELETE_STROKE)
@ -548,8 +549,18 @@ void ToolHandler::loadSettings()
t->setDrawingType(drawingTypeFromString(drawingType));
}
string value;
int fill = -1;
if (st.getInt("fill", fill))
{
t->setFill(fill);
}
int fillAlpha = -1;
if (st.getInt("fillAlpha", fillAlpha))
{
t->setFillAlpha(fillAlpha);
}
string value;
if (t->hasCapability(TOOL_CAP_SIZE) && st.getString("size", value))
{
if (value == "VERY_THIN") t->setSize(TOOL_SIZE_VERY_FINE);

@ -121,7 +121,7 @@ private:
/**
* Last selected tool, reference with color values etc.
*/
LastSelectedTool* lastSelectedTool;
LastSelectedTool* lastSelectedTool = NULL;
EraserType eraserType;
@ -130,9 +130,11 @@ private:
* so its a "predefined" color for us, but may it is
* not in the list, so its a "custom" color for us
*/
bool colorFound;
ToolListener* listener;
ActionHandler* actionHandler;
bool colorFound = false;
ToolListener* listener = NULL;
ActionHandler* actionHandler = NULL;
Settings* settings;
};

@ -1728,7 +1728,7 @@ void SElement::setInt(const string name, const int value)
XOJ_CHECK_TYPE_OBJ(&attrib, SAttribute);
attrib.iValue = value;
attrib.type = ATTRIBUTE_TYPE_INT_HEX;
attrib.type = ATTRIBUTE_TYPE_INT;
}
void SElement::setBool(const string name, const bool value)

Loading…
Cancel
Save