diff options
| author | Peter Penz <[email protected]> | 2007-12-06 21:06:45 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-12-06 21:06:45 +0000 |
| commit | e65154552769e648bcbe14429123ff9fcd48bd29 (patch) | |
| tree | 83d9a825642bf72dc4e2bc2b13a94c6331a19ec3 /src/dolphincolumnwidget.cpp | |
| parent | 4939ae662fad860d8355a799f2d7121fe538ee92 (diff) | |
Fixed wrong usage of QStyleOptionViewItem: caching of the file item in the constructor is too early (thanks to Fredrik for the hint!). This fixes 2 issues:
* the selection color of the details view now uses the correct selection color
* changing the colors of KDE results in updating the colors of all Dolphin views
CCMAIL: [email protected]
CCMAIL: [email protected]
CCMAIL: [email protected]
svn path=/trunk/KDE/kdebase/apps/; revision=745700
Diffstat (limited to 'src/dolphincolumnwidget.cpp')
| -rw-r--r-- | src/dolphincolumnwidget.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp index 677215972..bc692ee1b 100644 --- a/src/dolphincolumnwidget.cpp +++ b/src/dolphincolumnwidget.cpp @@ -55,7 +55,8 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent, m_view(columnView), m_url(url), m_childUrl(), - m_viewOptions(), + m_font(), + m_decorationSize(), m_dirLister(0), m_dolphinModel(0), m_proxyModel(0), @@ -84,17 +85,12 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent, const ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings(); Q_ASSERT(settings != 0); - m_viewOptions = QListView::viewOptions(); - - QFont font(settings->fontFamily(), settings->fontSize()); - font.setItalic(settings->italicFont()); - font.setBold(settings->boldFont()); - m_viewOptions.font = font; + m_font = QFont(settings->fontFamily(), settings->fontSize()); + m_font.setItalic(settings->italicFont()); + m_font.setBold(settings->boldFont()); const int iconSize = settings->iconSize(); - m_viewOptions.decorationSize = QSize(iconSize, iconSize); - - m_viewOptions.showDecorationSelected = true; + m_decorationSize = QSize(iconSize, iconSize); KFileItemDelegate* delegate = new KFileItemDelegate(this); setItemDelegate(delegate); @@ -137,7 +133,7 @@ DolphinColumnWidget::~DolphinColumnWidget() void DolphinColumnWidget::setDecorationSize(const QSize& size) { - m_viewOptions.decorationSize = size; + m_decorationSize = size; doItemsLayout(); } @@ -197,6 +193,16 @@ void DolphinColumnWidget::setNameFilter(const QString& nameFilter) m_proxyModel->setFilterRegExp(nameFilter); } + +QStyleOptionViewItem DolphinColumnWidget::viewOptions() const +{ + QStyleOptionViewItem viewOptions = QListView::viewOptions(); + viewOptions.font = m_font; + viewOptions.decorationSize = m_decorationSize; + viewOptions.showDecorationSelected = true; + return viewOptions; +} + void DolphinColumnWidget::startDrag(Qt::DropActions supportedActions) { DragAndDropHelper::startDrag(this, supportedActions); @@ -278,7 +284,7 @@ void DolphinColumnWidget::paintEvent(QPaintEvent* event) // TODO: remove this code when the issue #160611 is solved in Qt 4.4 if (m_dragging) { - const QBrush& brush = m_viewOptions.palette.brush(QPalette::Normal, QPalette::Highlight); + const QBrush& brush = viewOptions().palette.brush(QPalette::Normal, QPalette::Highlight); DragAndDropHelper::drawHoverIndication(viewport(), m_dropRect, brush); } } |
