From 4fd99ef4a3a8148ac5a692984fbd996ba6ecfed8 Mon Sep 17 00:00:00 2001 From: Emmanuel Pescosta Date: Wed, 9 Jan 2013 16:24:15 +0100 Subject: Show the real audio file duration in additional informations Big Thanks to Frank Reininghaus and Vishesh Handa! BUG: 311794 REVIEW: 108281 FIXED-IN: 4.10 --- src/kitemviews/private/knepomukrolesprovider.cpp | 2 +- src/kitemviews/private/knepomukrolesprovider.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/kitemviews') diff --git a/src/kitemviews/private/knepomukrolesprovider.cpp b/src/kitemviews/private/knepomukrolesprovider.cpp index 1bdac6dfc..3b1899278 100644 --- a/src/kitemviews/private/knepomukrolesprovider.cpp +++ b/src/kitemviews/private/knepomukrolesprovider.cpp @@ -183,7 +183,7 @@ QString KNepomukRolesProvider::orientationFromValue(int value) const QString KNepomukRolesProvider::durationFromValue(int value) const { QTime duration; - duration = duration.addMSecs(value); + duration = duration.addSecs(value); return duration.toString("hh:mm:ss"); } diff --git a/src/kitemviews/private/knepomukrolesprovider.h b/src/kitemviews/private/knepomukrolesprovider.h index 8290b571e..b8c7e51e6 100644 --- a/src/kitemviews/private/knepomukrolesprovider.h +++ b/src/kitemviews/private/knepomukrolesprovider.h @@ -73,7 +73,7 @@ private: /** * @return Duration in the format HH::MM::SS for the value given - * in milliseconds. + * in seconds. */ QString durationFromValue(int value) const; -- cgit v1.3 From 2a7e8b41d31f6395f3ca3803ed82a9a8094dda22 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Fri, 11 Jan 2013 16:57:43 +0100 Subject: Only use parallel sorting when sorting by name The reentrant natural comparison of strings is the only really expensive operation. Other comparison functions are much cheaper and might not be reentrant at all. Therefore, we disable parallel sorting when not sorting by name to prevent crashes and other unpleasant behaviour. BUG: 312679 FIXED-IN: 4.10 REVIEW: 108309 --- src/kitemviews/private/kfileitemmodelsortalgorithm.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/kitemviews') diff --git a/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp b/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp index 9588d19bf..ab650efea 100644 --- a/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp +++ b/src/kitemviews/private/kfileitemmodelsortalgorithm.cpp @@ -26,8 +26,17 @@ void KFileItemModelSortAlgorithm::sort(KFileItemModel* model, QList::iterator begin, QList::iterator end) { - static const int numberOfThreads = QThread::idealThreadCount(); - parallelSort(model, begin, end, numberOfThreads); + if (model->sortRole() == model->roleForType(KFileItemModel::NameRole)) { + // Sorting by name can be expensive, in particular if natural sorting is + // enabled. Use all CPU cores to speed up the sorting process. + static const int numberOfThreads = QThread::idealThreadCount(); + parallelSort(model, begin, end, numberOfThreads); + } else { + // Sorting by other roles is quite fast. Use only one thread to prevent + // problems caused by non-reentrant comparison functions, see + // https://bugs.kde.org/show_bug.cgi?id=312679 + sequentialSort(model, begin, end); + } } void KFileItemModelSortAlgorithm::sequentialSort(KFileItemModel* model, -- cgit v1.3 From d3b92d2d670f39aee1b48e676cdfa4067211f515 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Fri, 11 Jan 2013 17:12:34 +0100 Subject: Slightly reduce the tinting for selected icons and previews The intention of the tinting was to make it more obvious in icons view which icons are selected. However, some icons and previews look quite ugly with the current tinting value of 1.0 (i.e., the value passed to KIconEffect::colorize). A slight reduction of this value to 0.8 makes this a little less ugly. However, the real fix is to remove the tinting altogether and find something better to indicate which items are selected. CCBUG: 309722 --- src/kitemviews/kstandarditemlistwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/kitemviews') diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index e1f0f9df1..f3414e3f2 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -840,7 +840,7 @@ void KStandardItemListWidget::updatePixmapCache() if (isSelected()) { const QColor color = palette().brush(QPalette::Normal, QPalette::Highlight).color(); QImage image = m_pixmap.toImage(); - KIconEffect::colorize(image, color, 1.0f); + KIconEffect::colorize(image, color, 0.8f); m_pixmap = QPixmap::fromImage(image); } } -- cgit v1.3