@@ -158,36 +158,50 @@ void FolderTreeDelegateEditor::updateDelegate()
158
158
auto displayName = m_index.data (NodeItem::Roles::DisplayText).toString ();
159
159
QFontMetrics fm (m_titleFont);
160
160
displayName = fm.elidedText (displayName, Qt::ElideRight, m_label->contentsRect ().width ());
161
+ QString labelStyle;
162
+ QString folderIconStyle;
161
163
162
164
if (m_view->selectionModel ()->isSelected (m_index)) {
163
- m_label-> setStyleSheet ( QStringLiteral (" QLabel{color: rgb(%1, %2, %3);}" )
164
- .arg (QString::number (m_titleSelectedColor.red ()),
165
- QString::number (m_titleSelectedColor.green ()),
166
- QString::number (m_titleSelectedColor.blue () )));
167
- m_folderIcon-> setStyleSheet (
165
+ labelStyle = QStringLiteral (" QLabel{color: rgb(%1, %2, %3);}" )
166
+ .arg (QString::number (m_titleSelectedColor.red ()),
167
+ QString::number (m_titleSelectedColor.green ()),
168
+ QString::number (m_titleSelectedColor.blue ()));
169
+ folderIconStyle =
168
170
QStringLiteral (" QPushButton{border: none; padding: 0px; color: rgb(%1, %2, %3);}" )
169
171
.arg (QString::number (m_titleSelectedColor.red ()),
170
172
QString::number (m_titleSelectedColor.green ()),
171
- QString::number (m_titleSelectedColor.blue ()))) ;
173
+ QString::number (m_titleSelectedColor.blue ()));
172
174
} else {
173
- m_label-> setStyleSheet ( QStringLiteral (" QLabel{color: rgb(%1, %2, %3);}" )
174
- .arg (QString::number (m_titleColor.red ()),
175
- QString::number (m_titleColor.green ()),
176
- QString::number (m_titleColor.blue () )));
177
- m_folderIcon-> setStyleSheet (
175
+ labelStyle = QStringLiteral (" QLabel{color: rgb(%1, %2, %3);}" )
176
+ .arg (QString::number (m_titleColor.red ()),
177
+ QString::number (m_titleColor.green ()),
178
+ QString::number (m_titleColor.blue ()));
179
+ folderIconStyle =
178
180
QStringLiteral (" QPushButton{border: none; padding: 0px; color: rgb(%1, %2, %3);}" )
179
181
.arg (QString::number (m_folderIconColor.red ()),
180
182
QString::number (m_folderIconColor.green ()),
181
- QString::number (m_folderIconColor.blue ()))) ;
183
+ QString::number (m_folderIconColor.blue ()));
182
184
}
183
185
m_label->setText (displayName);
184
186
auto theme = dynamic_cast <NodeTreeView *>(m_view)->theme ();
185
187
186
188
QColor chevronColor (theme == Theme::Dark ? QColor (169 , 160 , 172 ) : QColor (103 , 99 , 105 ));
187
- m_expandIcon->setStyleSheet (QStringLiteral (" QLabel{color: rgb(%1, %2, %3);}" )
188
- .arg (QString::number (chevronColor.red ()),
189
- QString::number (chevronColor.green ()),
190
- QString::number (chevronColor.blue ())));
189
+ QString expandIconStyle =
190
+ QStringLiteral (" QLabel{color: rgb(%1, %2, %3);}" )
191
+ .arg (QString::number (chevronColor.red ()), QString::number (chevronColor.green ()),
192
+ QString::number (chevronColor.blue ()));
193
+
194
+ if (m_folderIcon->styleSheet () != folderIconStyle) {
195
+ m_folderIcon->setStyleSheet (folderIconStyle);
196
+ }
197
+
198
+ if (m_label->styleSheet () != labelStyle) {
199
+ m_label->setStyleSheet (labelStyle);
200
+ }
201
+
202
+ if (m_expandIcon->styleSheet () != expandIconStyle) {
203
+ m_expandIcon->setStyleSheet (expandIconStyle);
204
+ }
191
205
192
206
if (m_index.data (NodeItem::Roles::IsExpandable).toBool ()) {
193
207
if (m_view->isExpanded (m_index)) {
0 commit comments