@@ -130,7 +130,7 @@ QDomElement CommentItem::serialize(QDomElement &parent) const
130130 + " :" + QString::number (y1 () + scenePos ().y ()));
131131 commentNode.setAttribute (" end" , QString::number (x2 () + scenePos ().x ())
132132 + " :" + QString::number (y2 () + scenePos ().y ()));
133- commentNode.setAttribute (" text" , mIsEditing ? mTextItem .toPlainText () : mHtmlText );
133+ commentNode.setAttribute (" text" , mTextItem .toHtml () );
134134 return commentNode;
135135}
136136
@@ -140,7 +140,7 @@ void CommentItem::deserialize(const QDomElement &element)
140140 AbstractItem::deserialize (element);
141141
142142 mTextItem .setHtml (element.attribute (" text" ));
143-
143+ mHtmlText = mTextItem . toHtml ();
144144 const QString beginStr = element.attribute (" begin" , " 0:0" );
145145 QStringList splittedStr = beginStr.split (" :" );
146146 auto x = splittedStr[0 ].toDouble ();
@@ -183,12 +183,7 @@ void CommentItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
183183 if (selectedAction == removeAction) {
184184 emit deletedWithContextMenu ();
185185 } else if (selectedAction == editAction) {
186- if (mIsEditing ) {
187- mHtmlText = mTextItem .toPlainText ();
188- endEditing ();
189- } else {
190- startEditing ();
191- }
186+ mIsEditing ? endEditing () : startEditing ();
192187 } else if (selectedAction == cancelAction) {
193188 endEditing ();
194189 }
@@ -198,7 +193,7 @@ void CommentItem::startEditing() {
198193 mIsEditing = true ;
199194 setBrushStyle (" Solid" );
200195 mTextItem .setTextInteractionFlags (Qt::TextEditorInteraction);
201- mTextItem .setPlainText (mHtmlText );
196+ mTextItem .setHtml (mHtmlText );
202197 mTextItem .setFocus ();
203198 update ();
204199}
@@ -208,6 +203,7 @@ void CommentItem::endEditing()
208203 mIsEditing = false ;
209204 setBrushStyle (" None" );
210205 mTextItem .setTextInteractionFlags (Qt::NoTextInteraction);
206+ mHtmlText = mTextItem .toHtml ();
211207 mTextItem .setHtml (mHtmlText );
212208 updateSize ();
213209 update ();
@@ -238,7 +234,7 @@ void CommentItem::setPrivateData()
238234 auto font = mTextItem .font ();
239235 font.setPixelSize (20 );
240236 mTextItem .setFont (font);
241- mTextItem .setPlainText (mHtmlText );
237+ mTextItem .setHtml (mHtmlText );
242238 updateTextPos ();
243239 updateSize ();
244240}
0 commit comments