┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuel Pescosta <[email protected]>2012-08-13 18:40:43 +0200
committerEmmanuel Pescosta <[email protected]>2012-08-13 18:40:43 +0200
commit220d0d522dd3aca740c4c2d0c1f91f277f2405fd (patch)
tree56fffb1d7748fe34076da52c3ff4cdba792d53ff
parentdb54a5800efb727776c83cd810f40010da66c712 (diff)
Fix wrong text color in places and in folders panel.
FIXED-IN: 4.9.1 REVIEW: 105832 BUG: 303133
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp9
-rw-r--r--src/kitemviews/kstandarditemlistwidget.h2
-rw-r--r--src/panels/folders/foldersitemlistwidget.cpp36
-rw-r--r--src/panels/folders/foldersitemlistwidget.h42
-rw-r--r--src/panels/folders/folderspanel.cpp2
-rw-r--r--src/panels/places/placesitemlistwidget.cpp5
-rw-r--r--src/panels/places/placesitemlistwidget.h3
8 files changed, 97 insertions, 3 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5c1a6dad5..afc190f83 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -165,6 +165,7 @@ set(dolphin_SRCS
panels/places/placesitemmodel.cpp
panels/places/placesitemsignalhandler.cpp
panels/panel.cpp
+ panels/folders/foldersitemlistwidget.cpp
panels/folders/treeviewcontextmenu.cpp
panels/folders/folderspanel.cpp
search/dolphinfacetswidget.cpp
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp
index 5b0a0b741..d41b9161b 100644
--- a/src/kitemviews/kstandarditemlistwidget.cpp
+++ b/src/kitemviews/kstandarditemlistwidget.cpp
@@ -464,6 +464,11 @@ QFont KStandardItemListWidget::customizedFont(const QFont& baseFont) const
return baseFont;
}
+QPalette::ColorRole KStandardItemListWidget::normalTextColorPalette() const
+{
+ return QPalette::Text;
+}
+
void KStandardItemListWidget::setTextColor(const QColor& color)
{
if (color != m_customTextColor) {
@@ -480,7 +485,7 @@ QColor KStandardItemListWidget::textColor() const
}
const QPalette::ColorGroup group = isActiveWindow() ? QPalette::Active : QPalette::Inactive;
- const QPalette::ColorRole role = isSelected() ? QPalette::HighlightedText : QPalette::Text;
+ const QPalette::ColorRole role = isSelected() ? QPalette::HighlightedText : normalTextColorPalette();
return styleOption().palette.brush(group, role).color();
}
@@ -1037,7 +1042,7 @@ void KStandardItemListWidget::updateIconsLayoutTextCache()
const QString elidedText = m_customizedFontMetrics.elidedText(text, Qt::ElideRight, maxWidth);
textInfo->staticText.setText(elidedText);
requiredWidth = m_customizedFontMetrics.width(elidedText);
- } else if (role == "rating") {
+ } else if (role == "rating") {
// Use the width of the rating pixmap, because the rating text is empty.
requiredWidth = m_rating.width();
}
diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h
index 222d7b5f4..f559f3d22 100644
--- a/src/kitemviews/kstandarditemlistwidget.h
+++ b/src/kitemviews/kstandarditemlistwidget.h
@@ -120,6 +120,8 @@ protected:
*/
virtual QFont customizedFont(const QFont& baseFont) const;
+ virtual QPalette::ColorRole normalTextColorPalette() const;
+
void setTextColor(const QColor& color);
QColor textColor() const;
diff --git a/src/panels/folders/foldersitemlistwidget.cpp b/src/panels/folders/foldersitemlistwidget.cpp
new file mode 100644
index 000000000..513059204
--- /dev/null
+++ b/src/panels/folders/foldersitemlistwidget.cpp
@@ -0,0 +1,36 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Emmanuel Pescosta <[email protected]>*
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
+ ***************************************************************************/
+
+#include "foldersitemlistwidget.h"
+
+FoldersItemListWidget::FoldersItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent) :
+ KFileItemListWidget(informant, parent)
+{
+}
+
+FoldersItemListWidget::~FoldersItemListWidget()
+{
+}
+
+QPalette::ColorRole FoldersItemListWidget::normalTextColorPalette() const
+{
+ return QPalette::WindowText;
+}
+
+#include "foldersitemlistwidget.moc"
diff --git a/src/panels/folders/foldersitemlistwidget.h b/src/panels/folders/foldersitemlistwidget.h
new file mode 100644
index 000000000..fa7b143ae
--- /dev/null
+++ b/src/panels/folders/foldersitemlistwidget.h
@@ -0,0 +1,42 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Emmanuel Pescosta <[email protected]>*
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
+ ***************************************************************************/
+
+#ifndef FOLDERSITEMLISTWIDGET_H
+#define FOLDERSITEMLISTWIDGET_H
+
+#include <kitemviews/kfileitemlistwidget.h>
+
+/**
+ * @brief Extends KFileItemListWidget to use the right text color.
+*/
+class FoldersItemListWidget : public KFileItemListWidget
+{
+ Q_OBJECT
+
+public:
+ FoldersItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent);
+ virtual ~FoldersItemListWidget();
+
+protected:
+ virtual QPalette::ColorRole normalTextColorPalette() const;
+};
+
+#endif
+
+
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp
index 78e437a41..0760200b6 100644
--- a/src/panels/folders/folderspanel.cpp
+++ b/src/panels/folders/folderspanel.cpp
@@ -22,6 +22,7 @@
#include "dolphin_folderspanelsettings.h"
#include "dolphin_generalsettings.h"
#include "treeviewcontextmenu.h"
+#include "foldersitemlistwidget.h"
#include <kitemviews/kitemlistselectionmanager.h>
#include <kitemviews/kfileitemlistview.h>
@@ -120,6 +121,7 @@ void FoldersPanel::showEvent(QShowEvent* event)
// This assures that no performance and memory overhead is given when the folders panel is not
// used at all and stays invisible.
KFileItemListView* view = new KFileItemListView();
+ view->setWidgetCreator(new KItemListWidgetCreator<FoldersItemListWidget>());
view->setSupportsItemExpanding(true);
// Set the opacity to 0 initially. The opacity will be increased after the loading of the initial tree
// has been finished in slotLoadingCompleted(). This prevents an unnecessary animation-mess when
diff --git a/src/panels/places/placesitemlistwidget.cpp b/src/panels/places/placesitemlistwidget.cpp
index 24c2b3f11..00f0fdab0 100644
--- a/src/panels/places/placesitemlistwidget.cpp
+++ b/src/panels/places/placesitemlistwidget.cpp
@@ -35,4 +35,9 @@ bool PlacesItemListWidget::isHidden() const
return data().value("isHidden").toBool();
}
+QPalette::ColorRole PlacesItemListWidget::normalTextColorPalette() const
+{
+ return QPalette::WindowText;
+}
+
#include "placesitemlistwidget.moc"
diff --git a/src/panels/places/placesitemlistwidget.h b/src/panels/places/placesitemlistwidget.h
index d7a4f3ddd..93cd8f468 100644
--- a/src/panels/places/placesitemlistwidget.h
+++ b/src/panels/places/placesitemlistwidget.h
@@ -24,7 +24,7 @@
/**
* @brief Extends KStandardItemListWidget to interpret the hidden
- * property of the PlacesModel.
+ * property of the PlacesModel and use the right text color.
*/
class PlacesItemListWidget : public KStandardItemListWidget
{
@@ -36,6 +36,7 @@ public:
protected:
virtual bool isHidden() const;
+ virtual QPalette::ColorRole normalTextColorPalette() const;
};
#endif