From 00b4ef8ec06b296539e0bcfeb76b1702f173c579 Mon Sep 17 00:00:00 2001
From: ck <qt-info@nokia.com>
Date: Mon, 26 Apr 2010 11:56:37 +0200
Subject: [PATCH] Help documents list: Only show close button when closing is
 possible.

---
 src/plugins/help/openpageswidget.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/plugins/help/openpageswidget.cpp b/src/plugins/help/openpageswidget.cpp
index 985e7a956cb..5de1e56eece 100644
--- a/src/plugins/help/openpageswidget.cpp
+++ b/src/plugins/help/openpageswidget.cpp
@@ -68,7 +68,8 @@ void OpenPagesDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opt
 
     QStyledItemDelegate::paint(painter, option, index);
 
-    if (index.column() == 1 && option.state & QStyle::State_MouseOver) {
+    if (index.column() == 1 && index.model()->rowCount() > 1
+        && option.state & QStyle::State_MouseOver) {
         QIcon icon((option.state & QStyle::State_Selected)
             ? ":/core/images/closebutton.png" : ":/core/images/darkclosebutton.png");
 
@@ -137,10 +138,12 @@ void OpenPagesWidget::allowContextMenu(bool ok)
 
 void OpenPagesWidget::contextMenuRequested(QPoint pos)
 {
-    const QModelIndex &index = indexAt(pos);
+    QModelIndex index = indexAt(pos);
     if (!index.isValid() || !m_allowContextMenu)
         return;
 
+    if (index.column() == 1)
+        index = index.sibling(index.row(), 0);
     QMenu contextMenu;
     QAction *closeEditor = contextMenu.addAction(tr("Close %1").arg(index.data()
         .toString()));
-- 
GitLab