From 82579c65f1c6d589f798237682d4b1d403bf4239 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Fri, 5 Apr 2013 11:01:10 +0200 Subject: [PATCH] Fix SourceDelegate editor geometry. --- src/sourcetree/SourceDelegate.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index 76139af47..1ec5e7f93 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -689,12 +689,18 @@ SourceDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co void SourceDelegate::updateEditorGeometry( QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index ) const { - if ( index.data( SourcesModel::SourceTreeItemTypeRole ).toInt() == SourcesModel::StaticPlaylist ) - editor->setGeometry( option.rect.adjusted( 20, 0, 0, 0 ) ); + SourcesModel::RowType type = static_cast< SourcesModel::RowType >( index.data( SourcesModel::SourceTreeItemTypeRole ).toInt() ); + if ( type == SourcesModel::StaticPlaylist || + type == SourcesModel::AutomaticPlaylist || + type == SourcesModel::Station ) + { + QRect newGeometry = option.rect.adjusted( 20, 0, 0, 0 ); //room for the icon + newGeometry.adjust( 3 * TREEVIEW_INDENT_ADD, 0, 0, 0 ); //compensate for indentation + editor->setGeometry( newGeometry ); + } else QStyledItemDelegate::updateEditorGeometry( editor, option, index ); - editor->setGeometry( editor->geometry().adjusted( 2 * TREEVIEW_INDENT_ADD, 0, 0, 0 ) ); }