tdf#143327 keep selection bounds on replacing color

so select-all and type 'a' will retain cursor at position 1

and

delete/backspace keep cursor position in a semi-rational way

Change-Id: I802f132e58cea9f111deb1c6d157706d08cb5b81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118978
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/svx/source/dialog/hexcolorcontrol.cxx b/svx/source/dialog/hexcolorcontrol.cxx
index ff9b10c..fbf6b9e 100644
--- a/svx/source/dialog/hexcolorcontrol.cxx
+++ b/svx/source/dialog/hexcolorcontrol.cxx
@@ -63,7 +63,10 @@ void HexColorControl::SetColor(Color nColor)
    OUString sColor = aBuffer.makeStringAndClear().copy(1);
    if (sColor == m_xEntry->get_text())
        return;
    int nStartPos, nEndPos;
    m_xEntry->get_selection_bounds(nStartPos, nEndPos);
    m_xEntry->set_text(sColor);
    m_xEntry->select_region(nStartPos, nEndPos);
}

Color HexColorControl::GetColor() const