Get user prefs at time of use

This commit is contained in:
WandererFan
2016-07-14 13:50:49 -04:00
parent 9dc0b909d0
commit dd543c22ef
14 changed files with 206 additions and 122 deletions

View File

@@ -88,15 +88,6 @@ QGIDatumLabel::QGIDatumLabel(int ref, QGraphicsScene *scene ) : reference(ref)
setFlag(ItemIsMovable, true);
setFlag(ItemIsSelectable, true);
setAcceptHoverEvents(true);
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("NormalColor", 0x00000000));
m_colNormal = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x0000FF00));
m_colSel = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0x00080800));
m_colPre = fcColor.asValue<QColor>();
}
QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &value)
@@ -104,10 +95,10 @@ QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &va
if (change == ItemSelectedHasChanged && scene()) {
if(isSelected()) {
Q_EMIT selected(true);
setDefaultTextColor(m_colSel);
setDefaultTextColor(getSelectColor());
} else {
Q_EMIT selected(false);
setDefaultTextColor(m_colNormal);
setDefaultTextColor(getNormalColor());
}
update();
} else if(change == ItemPositionHasChanged && scene()) {
@@ -134,7 +125,7 @@ void QGIDatumLabel::setLabelCenter()
void QGIDatumLabel::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{
Q_EMIT hover(true);
setDefaultTextColor(m_colPre);
setDefaultTextColor(getPreColor());
update();
}
@@ -145,7 +136,7 @@ void QGIDatumLabel::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
Q_EMIT hover(false);
if(!isSelected() && !view->isSelected()) {
setDefaultTextColor(m_colNormal);
setDefaultTextColor(getNormalColor());
update();
}
}
@@ -193,15 +184,6 @@ QGIViewDimension::QGIViewDimension() :
pen.setCosmetic(true);
pen.setWidthF(1.);
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("NormalColor", 0x00000000));
m_colNormal = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x0000FF00));
m_colSel = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0x00080800));
m_colPre = fcColor.asValue<QColor>();
addToGroup(arrows);
addToGroup(datumLabel);
addToGroup(centreLines);
@@ -332,11 +314,11 @@ void QGIViewDimension::draw()
// Crude method of determining state [TODO] improve
if(isSelected()) {
pen.setColor(m_colSel);
pen.setColor(getSelectColor());
} else if (hasHover) {
pen.setColor(m_colPre);
pen.setColor(getPreColor());
} else {
pen.setColor(m_colNormal);
pen.setColor(getNormalColor());
}
QString labelText = lbl->toPlainText();