forked from qt-creator/qt-creator
TextEditor: Fix updating TextMark priority
Change-Id: Ie88b75507faf1f467b4e044f2b06e25aae32bdcf Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -957,7 +957,13 @@ void TextDocument::removeMark(TextMark *mark)
|
|||||||
|
|
||||||
void TextDocument::updateMark(TextMark *mark)
|
void TextDocument::updateMark(TextMark *mark)
|
||||||
{
|
{
|
||||||
Q_UNUSED(mark)
|
QTextBlock block = d->m_document.findBlockByNumber(mark->lineNumber() - 1);
|
||||||
|
if (block.isValid()) {
|
||||||
|
TextBlockUserData *userData = TextDocumentLayout::userData(block);
|
||||||
|
// re-evaluate priority
|
||||||
|
userData->removeMark(mark);
|
||||||
|
userData->addMark(mark);
|
||||||
|
}
|
||||||
auto documentLayout = qobject_cast<TextDocumentLayout*>(d->m_document.documentLayout());
|
auto documentLayout = qobject_cast<TextDocumentLayout*>(d->m_document.documentLayout());
|
||||||
QTC_ASSERT(documentLayout, return);
|
QTC_ASSERT(documentLayout, return);
|
||||||
documentLayout->requestUpdate();
|
documentLayout->requestUpdate();
|
||||||
|
@@ -131,6 +131,12 @@ void TextMark::updateMarker()
|
|||||||
m_baseTextDocument->updateMark(this);
|
m_baseTextDocument->updateMark(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextMark::setPriority(TextMark::Priority prioriy)
|
||||||
|
{
|
||||||
|
m_priority = prioriy;
|
||||||
|
updateMarker();
|
||||||
|
}
|
||||||
|
|
||||||
bool TextMark::isVisible() const
|
bool TextMark::isVisible() const
|
||||||
{
|
{
|
||||||
return m_visible;
|
return m_visible;
|
||||||
@@ -139,8 +145,7 @@ bool TextMark::isVisible() const
|
|||||||
void TextMark::setVisible(bool visible)
|
void TextMark::setVisible(bool visible)
|
||||||
{
|
{
|
||||||
m_visible = visible;
|
m_visible = visible;
|
||||||
if (m_baseTextDocument)
|
updateMarker();
|
||||||
m_baseTextDocument->updateMark(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double TextMark::widthFactor() const
|
double TextMark::widthFactor() const
|
||||||
|
@@ -82,7 +82,7 @@ public:
|
|||||||
// call this if the icon has changed.
|
// call this if the icon has changed.
|
||||||
void updateMarker();
|
void updateMarker();
|
||||||
Priority priority() const { return m_priority;}
|
Priority priority() const { return m_priority;}
|
||||||
void setPriority(Priority prioriy) { m_priority = prioriy; }
|
void setPriority(Priority prioriy);
|
||||||
bool isVisible() const;
|
bool isVisible() const;
|
||||||
void setVisible(bool isVisible);
|
void setVisible(bool isVisible);
|
||||||
Core::Id category() const { return m_category; }
|
Core::Id category() const { return m_category; }
|
||||||
|
Reference in New Issue
Block a user