18 #include "colormanager.h"
28 ColorManager::~ColorManager()
32 bool ColorManager::init()
39 mCurrentColorIndex = 0;
40 mCurrentFrontColor = o->data()->getCurrentColor();
47 o->data()->setCurrentColor(mCurrentFrontColor);
51 void ColorManager::workingLayerChanged(
Layer* layer)
53 mIsWorkingOnVectorLayer = (layer->type() == Layer::VECTOR);
54 if (mIsWorkingOnVectorLayer)
56 mCurrentFrontColor = object()->getColor(mCurrentColorIndex).color;
57 emit colorChanged(mCurrentFrontColor, mCurrentColorIndex);
61 QColor ColorManager::frontColor()
64 if (mIsWorkingOnVectorLayer)
65 return object()->getColor(mCurrentColorIndex).color;
67 return mCurrentFrontColor;
70 void ColorManager::setColorNumber(
int n)
74 mCurrentColorIndex = n;
76 QColor currentColor = object()->getColor(mCurrentColorIndex).color;
78 emit colorNumberChanged(mCurrentColorIndex);
79 emit colorChanged(currentColor, mCurrentColorIndex);
82 void ColorManager::setColor(
const QColor& newColor)
84 if (mCurrentFrontColor != newColor)
86 mCurrentFrontColor = newColor;
88 emit colorChanged(mCurrentFrontColor, mCurrentColorIndex);
90 if (mIsWorkingOnVectorLayer)
92 object()->setColor(mCurrentColorIndex, newColor);
97 int ColorManager::frontColorNumber()
99 return mCurrentColorIndex;