[digikam] [Bug 361047] New: Wishlist: make grouped images more prominently visible [MOCKUP]

classic Classic list List threaded Threaded
98 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #38 from Omar Amin <[hidden email]> ---
Created attachment 98939
  --> https://bugs.kde.org/attachment.cgi?id=98939&action=edit
Group images highlighted when group is expanded

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #39 from Omar Amin <[hidden email]> ---
Dear Mr Gilles,

I've attached three images for the three problems i'm currently addressing:
1- Group border was transparent so when the theme is changed to black
background, the border is visible, but i think it can be better, please let me
know your opinion.

2- The Image to be totally included inside the thumbnail, i'm still solving
this, what i'm trying to do is to limit the image thumbnail size (the space in
which the image and its border to be drawn within) to make sure that the image
and its border doesn't go outside the thumbnail also, they doesn't overlay the
group indicator

3- the grouped images background color while expanded as requested by Mr Jens.

What i'm trying to do:
1- to add to each theme two more appropriate colors one for the grouped images
background color while expanded, the other to choose the border color depending
on the theme, the current setting is suitable when the background is white, but
it doesn't look good when using any other background color.

2- resize the image thumbnail to fit within a max width and max height that are
a function of the slider value in the buttom right so as to the grouped border
fit within the image thumbnail as requested, but i didn't manage to do it yet.


If there're other requests please let me know what are they, and i'll finish
within the next couple of days.

I'm expecting to finish these suggestions max by tomorrow(Friday) or by
Saturday.

I'm sorry for the long delay, it won't happen again

Thank you,
Omar

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #40 from Jens B. Benecke <[hidden email]> ---
Some comments from my side since I opened the original bug:

I like the progress and I am really thankful that there is so much effort
invested in this feature!
I think the size of the additional border should scale with the size of the
thumbnail and not be a fixed amount of pixels. In the screenshots mentioned
above the size of the group border is (IMHO) too small and not really well
visible. Look at iPhoto's borders (e.g. https://www.apple.com/de/mac/iphoto/,
scroll down to the screenshot titled "Share.") for example.
Also, the background for an expanded group should have a little less contrast,
the current dark yellow (is this fixed, configurable or depending on the
theme?) is a little too drastic for my taste.

But apart from that, very good work! Thank you to all involved!

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #41 from [hidden email] ---
Omar,

If you update you patch, Jens will be able to test last version of your code
(if he work with current implementation from git/master)...

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #42 from Omar Amin <[hidden email]> ---
Created attachment 98977
  --> https://bugs.kde.org/attachment.cgi?id=98977&action=edit
Not final patch, just a trial for feedback

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #43 from Omar Amin <[hidden email]> ---
Dear Mr Gilles, Mr Jens,

I've attached a draft patch for testing and getting your feedback, what is
supposed to be fixed in this patch:
1- The images are enclosed in the thumbnails border, not outside (i did so
through the increasing the margin, i'm still trying to adapt the margin with
the thumbnail size)
2- the grouped images while are in expanded mode are colored with different
colors than the background and selected images (still not in all themes, if you
can suggest the appropriate colors for each theme that would be great)
3- the group border is now visible nomatter the background color is.

What is still in progress:
1- Coloring the grouped images with less contrast colors depending on the theme
(the main issue for this would be the color needed for each theme, your
suggestions would be so much appreciated).
2- Adapting the margin with thumbnail size (currently it's 14, it needs to
decrease with thumbnail size)
3- adjusting the look and feel for the grouped images borders.
4- adjusting the rating rectangle color transparency as it in some cases
overlay the bottom group border.


Your feedback is so much appreciated, i'm still working on the patch and will
get back to you tomorrow with my updates.

Thank you

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #44 from Omar Amin <[hidden email]> ---
Created attachment 99001
  --> https://bugs.kde.org/attachment.cgi?id=99001&action=edit
patch3 grouped images, fitting grouped borders

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

Omar Amin <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #99001|0                           |1
        is obsolete|                            |

--- Comment #45 from Omar Amin <[hidden email]> ---
Comment on attachment 99001
  --> https://bugs.kde.org/attachment.cgi?id=99001
patch3 grouped images, fitting grouped borders

>diff --git a/app/items/imagedelegate.cpp b/app/items/imagedelegate.cpp
>index 25f36c8..716afc4 100644
>--- a/app/items/imagedelegate.cpp
>+++ b/app/items/imagedelegate.cpp
>@@ -253,16 +253,22 @@ void ImageDelegate::paint(QPainter* p, const QStyleOptionViewItem& option, const
>     // Thumbnail
>     QPixmap pix;
>
>+    bool isGroupExpanded = (info.hasGroupedImages() && index.data(ImageFilterModel::GroupIsOpenRole).toBool())
>+            || (info.isGrouped());
>     if (isSelected)
>     {
>         pix = d->selPixmap;
>     }
>+    else if(isGroupExpanded)
>+    {
>+        pix = d->grpPixmap;
>+    }
>     else
>     {
>         pix = d->regPixmap;
>     }
>
>-    QRect actualPixmapRect = drawThumbnail(p, d->pixmapRect, pix, thumbnailPixmap(index));
>+    QRect actualPixmapRect = drawThumbnail(p, d->pixmapRect, pix, thumbnailPixmap(index), info.hasGroupedImages());
>
>     if (!actualPixmapRect.isNull())
>     {
>@@ -271,7 +277,16 @@ void ImageDelegate::paint(QPainter* p, const QStyleOptionViewItem& option, const
>
>     if (!d->ratingRect.isNull())
>     {
>-        drawRating(p, index, d->ratingRect, info.rating(), isSelected);
>+        int backgroundtype = 0;
>+        if(isSelected)
>+        {
>+            backgroundtype = 1;
>+        }
>+        else if(isGroupExpanded)
>+        {
>+            backgroundtype = 2;
>+        }
>+        drawRating(p, index, d->ratingRect, info.rating(), backgroundtype);
>     }
>
>     // Draw Color Label rectangle
>diff --git a/libs/widgets/itemview/ditemdelegate.cpp b/libs/widgets/itemview/ditemdelegate.cpp
>index b92fd43..9fa3824 100644
>--- a/libs/widgets/itemview/ditemdelegate.cpp
>+++ b/libs/widgets/itemview/ditemdelegate.cpp
>@@ -78,19 +78,35 @@ void DItemDelegate::clearCaches()
>     d->squeezedTextCache.clear();
> }
>
>-QPixmap DItemDelegate::thumbnailBorderPixmap(const QSize& pixSize) const
>+QPixmap DItemDelegate::thumbnailBorderPixmap(const QSize& pixSize, bool isGrouped) const
> {
>     const QColor borderColor = QColor(0, 0, 0, 128);
>-    QString cacheKey         = QString::number(pixSize.width()) + QLatin1Char('-') + QString::number(pixSize.height());
>+    QString cacheKey         = QString::number(pixSize.width())  + QLatin1Char('-')
>+                             + QString::number(pixSize.height()) + QLatin1Char('-')
>+                             + QString::number(isGrouped);
>     QPixmap* const cachePix  = d->thumbnailBorderCache.object(cacheKey);
>
>     if (!cachePix)
>     {
>         const int radius = 3;
>-        QPixmap pix      = ThumbBarDock::generateFuzzyRect(QSize(pixSize.width()  + 2*radius,
>-                           pixSize.height() + 2*radius),
>-                           borderColor, radius);
>-        const_cast<DItemDelegate*>(this)->d->thumbnailBorderCache.insert(cacheKey, new QPixmap(pix));
>+        QPixmap pix;
>+        const int width  = pixSize.width()  + 2*radius;
>+        const int height = pixSize.height() + 2*radius;
>+
>+        if(!isGrouped)
>+        {
>+            pix = ThumbBarDock::generateFuzzyRect(QSize(width, height),
>+                                                  borderColor,
>+                                                  radius);
>+        }
>+        else
>+        {
>+            pix = ThumbBarDock::generateFuzzyRectForGroup(QSize(width, height),
>+                                                          borderColor,
>+                                                          radius);
>+        }
>+
>+        d->thumbnailBorderCache.insert(cacheKey, new QPixmap(pix));
>         return pix;
>     }
>
>diff --git a/libs/widgets/itemview/ditemdelegate.h b/libs/widgets/itemview/ditemdelegate.h
>index 87f4614..7caa5c0 100644
>--- a/libs/widgets/itemview/ditemdelegate.h
>+++ b/libs/widgets/itemview/ditemdelegate.h
>@@ -85,7 +85,7 @@ protected:
>     virtual void clearCaches();
>
>     QString squeezedTextCached(QPainter* const p, int width, const QString& text) const;
>-    QPixmap thumbnailBorderPixmap(const QSize& pixSize) const;
>+    QPixmap thumbnailBorderPixmap(const QSize& pixSize, bool isGrouped = false) const;
>
> private:
>
>diff --git a/libs/widgets/itemview/itemviewimagedelegate.cpp b/libs/widgets/itemview/itemviewimagedelegate.cpp
>index 35b9177..cba6afc 100644
>--- a/libs/widgets/itemview/itemviewimagedelegate.cpp
>+++ b/libs/widgets/itemview/itemviewimagedelegate.cpp
>@@ -62,11 +62,13 @@ ItemViewImageDelegatePrivate::ItemViewImageDelegatePrivate()
>
>     // painting constants
>     radius    = 3;
>-    margin    = 5;
>+    margin    = 14;
>
>     makeStarPolygon();
>
>-    ratingPixmaps = QVector<QPixmap>(10);
>+    setGroupBackgroundColors();
>+
>+    ratingPixmaps = QVector<QPixmap>(15);
> }
>
> void ItemViewImageDelegatePrivate::init(ItemViewImageDelegate* const _q)
>@@ -77,6 +79,28 @@ void ItemViewImageDelegatePrivate::init(ItemViewImageDelegate* const _q)
>                q, SLOT(slotThemeChanged()));
> }
>
>+void ItemViewImageDelegatePrivate::setGroupBackgroundColors()
>+{
>+    grpBackgroundColors["Breeze"]                = QColor(200, 200, 200);
>+    grpBackgroundColors["Breeze Dark"]           = QColor(200, 200, 200);
>+    grpBackgroundColors["Breeze High Contrast"]  = QColor(200, 200, 200);
>+    grpBackgroundColors["ColorContrast"]         = QColor(200, 200, 200);
>+    grpBackgroundColors["DarkRoom"]              = QColor(200, 200, 200);
>+    grpBackgroundColors["GrayCard"]              = QColor(200, 200, 200);
>+    grpBackgroundColors["Honeycomb"]             = QColor(200, 200, 200);
>+    grpBackgroundColors["LowKey"]                = QColor(200, 200, 200);
>+    grpBackgroundColors["Norway"]                = QColor(200, 200, 200);
>+    grpBackgroundColors["Obsidian Coast"]        = QColor(200, 200, 200);
>+    grpBackgroundColors["Oxygen"]                = QColor(200, 200, 200);
>+    grpBackgroundColors["Oxygen Cold"]           = QColor(200, 200, 200);
>+    grpBackgroundColors["Steel"]                 = QColor(200, 200, 200);
>+    grpBackgroundColors["SunsetColor"]           = QColor(200, 200, 200);
>+    grpBackgroundColors["Wonton Soup"]           = QColor(200, 200, 200);
>+    grpBackgroundColors["Zion"]                  = QColor(200, 200, 200);
>+    grpBackgroundColors["Zion (Reversed)"]       = QColor(200, 200, 200);
>+    grpBackgroundColors["Default"]               = grpBackgroundColors["Breeze"] ;
>+}
>+
> void ItemViewImageDelegatePrivate::clearRects()
> {
>     gridSize   = QSize(0, 0);
>@@ -267,7 +291,7 @@ void ItemViewImageDelegate::invalidatePaintingCache()
> }
>
> QRect ItemViewImageDelegate::drawThumbnail(QPainter* p, const QRect& thumbRect, const QPixmap& background,
>-                                           const QPixmap& thumbnail) const
>+                                           const QPixmap& thumbnail, bool isGrouped) const
> {
>     p->drawPixmap(0, 0, background);
>
>@@ -293,24 +317,38 @@ QRect ItemViewImageDelegate::drawThumbnail(QPainter* p, const QRect& thumbRect,
>
>     p->drawPixmap(0, 0, background);
> */
>-    QPixmap borderPix = thumbnailBorderPixmap(actualPixmapRect.size());
>-    p->drawPixmap(actualPixmapRect.x()-3, actualPixmapRect.y()-3, borderPix);
>+    QPixmap borderPix = thumbnailBorderPixmap(actualPixmapRect.size(), isGrouped);
>+
>+    if(isGrouped)
>+    {
>+        const int xPadding = (borderPix.width()-actualPixmapRect.width())/2;
>+        const int yPadding = (borderPix.height()-actualPixmapRect.height())/2;
>+
>+        p->drawPixmap(actualPixmapRect.x()-xPadding,
>+                      actualPixmapRect.y()-yPadding, borderPix);
>+    }
>+    else
>+    {
>+        p->drawPixmap(actualPixmapRect.x()-IMAGE_BORDER_RADIUS,
>+                      actualPixmapRect.y()-IMAGE_BORDER_RADIUS, borderPix);
>+    }
>
>     p->drawPixmap(r.x() + (r.width()-thumbnail.width())/2,
>                   r.y() + (r.height()-thumbnail.height())/2,
>                   thumbnail);
>+
>     //p->restore();
>     return actualPixmapRect;
> }
>
> void ItemViewImageDelegate::drawRating(QPainter* p, const QModelIndex& index, const QRect& ratingRect,
>-                                       int rating, bool isSelected) const
>+                                       int rating, int bgType) const
> {
>     Q_D(const ItemViewImageDelegate);
>
>     if (d->editingRating != index)
>     {
>-        p->drawPixmap(ratingRect, ratingPixmap(rating, isSelected));
>+        p->drawPixmap(ratingRect, ratingPixmap(rating, bgType));
>     }
> }
>
>@@ -622,6 +660,7 @@ void ItemViewImageDelegate::prepareBackground()
>     {
>         d->regPixmap = QPixmap();
>         d->selPixmap = QPixmap();
>+        d->grpPixmap = QPixmap();
>     }
>     else
>     {
>@@ -636,6 +675,15 @@ void ItemViewImageDelegate::prepareBackground()
>         QPainter p2(&d->selPixmap);
>         p2.setPen(qApp->palette().color(QPalette::Midlight));
>         p2.drawRect(0, 0, d->rect.width()-1, d->rect.height()-1);
>+
>+        // getting grouped background color
>+        QColor groupedImagesBGColor = d->grpBackgroundColors[ThemeManager::instance()->currentThemeName()];
>+
>+        d->grpPixmap = QPixmap(d->rect.width(), d->rect.height());
>+        d->grpPixmap.fill(groupedImagesBGColor);
>+        QPainter p3(&d->grpPixmap);
>+        p3.setPen(qApp->palette().color(QPalette::Midlight));
>+        p3.drawRect(0, 0, d->rect.width()-1, d->rect.height()-1);
>     }
> }
>
>@@ -653,33 +701,34 @@ void ItemViewImageDelegate::prepareRatingPixmaps(bool composeOverBackground)
>     // We use antialiasing and want to pre-render the pixmaps.
>     // So we need the background at the time of painting,
>     // and the background may be a gradient, and will be different for selected items.
>-    // This makes 5*2 (small) pixmaps.
>+    // This makes 5*3 (small) pixmaps.
>
>-    for (int sel=0; sel<2; ++sel)
>+    for (int sel=0; sel<3; ++sel)
>     {
>         QPixmap basePix;
>
>-        if (composeOverBackground)
>-        {
>-            // do this once for regular, once for selected backgrounds
>-            if (sel)
>-            {
>-                basePix = d->selPixmap.copy(d->ratingRect);
>-            }
>-            else
>-            {
>-                basePix = d->regPixmap.copy(d->ratingRect);
>-            }
>-        }
>-        else
>-        {
>-            basePix = QPixmap(d->ratingRect.size());
>-            basePix.fill(Qt::transparent);
>-        }
>+//        if (composeOverBackground)
>+//        {
>+//            // do this once for regular, once for selected backgrounds, and once for grouped backgrounds
>+//            if(sel == 2)
>+//            {
>+//                basePix = d->grpPixmap.copy(d->ratingRect);
>+//            }
>+//            else if(sel == 1)
>+//            {
>+//                basePix = d->selPixmap.copy(d->ratingRect);
>+//            }
>+//            else
>+//            {
>+//                basePix = d->regPixmap.copy(d->ratingRect);
>+//            }
>+//        }
>+        basePix = QPixmap(d->ratingRect.size());
>+        basePix.fill(Qt::transparent);
>
>         for (int rating=1; rating<=5; ++rating)
>         {
>-            // we store first the 5 regular, then the 5 selected pixmaps, for simplicity
>+            // we store first the 5 regular, then the 5 selected ,then the 5 grouped pixmaps
>             int index = (sel * 5 + rating) - 1;
>
>             // copy background
>@@ -707,7 +756,7 @@ void ItemViewImageDelegate::prepareRatingPixmaps(bool composeOverBackground)
>     }
> }
>
>-QPixmap ItemViewImageDelegate::ratingPixmap(int rating, bool selected) const
>+QPixmap ItemViewImageDelegate::ratingPixmap(int rating, int backgroundType) const
> {
>     Q_D(const ItemViewImageDelegate);
>
>@@ -718,7 +767,11 @@ QPixmap ItemViewImageDelegate::ratingPixmap(int rating, bool selected) const
>
>     --rating;
>
>-    if (selected)
>+    if(backgroundType == 2)
>+    {
>+        return d->ratingPixmaps.at(10 + rating);
>+    }
>+    else if (backgroundType == 1)
>     {
>         return d->ratingPixmaps.at(5 + rating);
>     }
>diff --git a/libs/widgets/itemview/itemviewimagedelegate.h b/libs/widgets/itemview/itemviewimagedelegate.h
>index 16e1f0a..bfcabd9 100644
>--- a/libs/widgets/itemview/itemviewimagedelegate.h
>+++ b/libs/widgets/itemview/itemviewimagedelegate.h
>@@ -100,8 +100,9 @@ Q_SIGNALS:
> protected:
>
>     /// Use the tool methods for painting in subclasses
>-    QRect drawThumbnail(QPainter* p, const QRect& thumbRect, const QPixmap& background, const QPixmap& thumbnail) const;
>-    void drawRating(QPainter* p, const QModelIndex& index, const QRect& ratingRect, int rating, bool isSelected)  const;
>+    QRect drawThumbnail(QPainter* p, const QRect& thumbRect,
>+                        const QPixmap& background, const QPixmap& thumbnail, bool isGrouped) const;
>+    void drawRating(QPainter* p, const QModelIndex& index, const QRect& ratingRect, int rating, int bgType)       const;
>     void drawName(QPainter* p,const QRect& nameRect, const QString& name)                                         const;
>     void drawTitle(QPainter *p, const QRect& titleRect, const QString& title)                                     const;
>     void drawComments(QPainter* p, const QRect& commentsRect, const QString& comments)                            const;
>@@ -126,7 +127,7 @@ protected:
>
>     /** Returns the relevant pixmap from the cached rating pixmaps.
>      */
>-    QPixmap ratingPixmap(int rating, bool selected) const;
>+    QPixmap ratingPixmap(int rating, int backgroundType) const;
>
>     virtual QAbstractItemDelegate* asDelegate();
>
>diff --git a/libs/widgets/itemview/itemviewimagedelegatepriv.h b/libs/widgets/itemview/itemviewimagedelegatepriv.h
>index 5c38998..a5159e2 100644
>--- a/libs/widgets/itemview/itemviewimagedelegatepriv.h
>+++ b/libs/widgets/itemview/itemviewimagedelegatepriv.h
>@@ -33,6 +33,7 @@
> #include <QFont>
> #include <QPainter>
> #include <QPolygon>
>+#include <QMap>
>
> // Local includes
>
>@@ -57,6 +58,8 @@ public:
>
>     void makeStarPolygon();
>
>+    void setGroupBackgroundColors();
>+
>     /// Resets cached rects. Remember to reimplement in subclass for added rects.
>     virtual void clearRects();
>
>@@ -70,6 +73,7 @@ public:
>
>     QPixmap                   regPixmap;
>     QPixmap                   selPixmap;
>+    QPixmap                   grpPixmap;
>     QVector<QPixmap>          ratingPixmaps;
>
>     QFont                     font;
>@@ -90,6 +94,8 @@ public:
>     QRect                     oneRowComRect;
>     QRect                     oneRowXtraRect;
>
>+    QMap<QString,QColor>      grpBackgroundColors;
>+
>     // constant values for drawing
>     int                       radius;
>     int                       margin;
>diff --git a/libs/widgets/mainview/thumbbardock.cpp b/libs/widgets/mainview/thumbbardock.cpp
>index 21d42a6..2910339 100644
>--- a/libs/widgets/mainview/thumbbardock.cpp
>+++ b/libs/widgets/mainview/thumbbardock.cpp
>@@ -239,7 +239,7 @@ void ThumbBarDock::showThumbBar(bool status)
> QPixmap ThumbBarDock::generateFuzzyRect(const QSize& size, const QColor& color, int radius)
> {
>     QPixmap pix(size);
>-    pix.fill(Qt::transparent);
>+    pix.fill(Qt::white);
>
>     QPainter painter(&pix);
>     painter.setRenderHint(QPainter::Antialiasing, true);
>@@ -304,4 +304,37 @@ QPixmap ThumbBarDock::generateFuzzyRect(const QSize& size, const QColor& color,
>     return pix;
> }
>
>+
>+QPixmap ThumbBarDock::generateFuzzyRectForGroup(const QSize& size, const QColor& color, int radius)
>+{
>+    // Create two normal borders
>+    QPixmap border1 = generateFuzzyRect(size, color,radius);
>+    QPixmap border2 = border1.copy();
>+
>+    QTransform rm;
>+    // Rotate first border right by 3 degrees
>+    rm.rotate(3);
>+    border1 = border1.transformed(rm, Qt::SmoothTransformation);
>+
>+    // Rotate second border left by 3 degrees
>+    rm.rotate(-6);
>+    border2 = border2.transformed(rm, Qt::SmoothTransformation);
>+
>+    // Combine both borders
>+    int width  = std::max(border1.size().width()  , border2.size().width());
>+    int height = std::max(border1.size().height() , border2.size().height());
>+
>+    QPixmap result(QSize(width, height));
>+    result.fill(Qt::transparent); // force alpha channel
>+    {
>+        QPainter painter(&result);
>+        painter.setRenderHints(QPainter::Antialiasing, true);
>+        painter.drawPixmap(0, 0, border1);
>+        painter.drawPixmap(0, 0, border2);
>+    }
>+
>+    return result;
>+}
>+
>+
> } // namespace Digikam
>diff --git a/libs/widgets/mainview/thumbbardock.h b/libs/widgets/mainview/thumbbardock.h
>index 655bf11..2b7f136 100644
>--- a/libs/widgets/mainview/thumbbardock.h
>+++ b/libs/widgets/mainview/thumbbardock.h
>@@ -123,7 +123,8 @@ public:
>     void setShouldBeVisible(bool);
>     void restoreVisibility();
>
>-    static QPixmap generateFuzzyRect(const QSize& size, const QColor& color, int radius);    
>+    static QPixmap generateFuzzyRect(const QSize& size, const QColor& color, int radius);
>+    static QPixmap generateFuzzyRectForGroup(const QSize& size, const QColor& color, int radius);
>
> public Q_SLOTS:
>

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #46 from Omar Amin <[hidden email]> ---
Dear Mr Gilles,

I'm sorry for the last comment, it seems that i don't have the previlledge to
delete this comment.

The updates:
1- Now each theme has a customizable color for the background of grouped images
when expanded, i'll tomorrow change these colors to be user friendly, now it's
the same gray level for all themes, but it's customizable, we can change it for
each theme independently.

2- rating rectangle now is not overlaying group borders.

In progress:
- updating margin with thumbnail size
- improving look and feel for the group border background images.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

Omar Amin <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #98977|0                           |1
        is obsolete|                            |

--- Comment #47 from Omar Amin <[hidden email]> ---
Created attachment 99002
  --> https://bugs.kde.org/attachment.cgi?id=99002&action=edit
group border fitting, different background colors for grouped images.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #48 from [hidden email] ---
Jens,

Did you test the last Omar patch against current implementation from git/master
? Any feedback ?

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #49 from Jens B. Benecke <[hidden email]> ---
Right now, I do not have the chance to compile KDE or Digikam, but I will
happily review and comment any screenshots. Sorry ... maybe in two weeks time.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #50 from Omar Amin <[hidden email]> ---
Sure.
I'll max tomorrow send you a list of screenshots with the colors for feedback,
I've found a side effect from my patch and i'm working on it and will get back
to you soon.

Omar

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

Maik Qualmann <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #51 from Maik Qualmann <[hidden email]> ---
Omar,

the thumbnails in the icon view are now much larger with a wider frame. The
frame around the thumbnails looks visually now different. The thumbnails should
not change the appearance. The rotating stack must not be larger than the
thumbnail image. The thumbnail image must be drawn smaller over the rotated
stack. And the background color here is black with a dark theme and gray with a
bright theme. I also believe that colorize the background color is not a good
idea in different themes. I use a self-created theme. Maybe change only the
frame color from the thumbnail image...

I have also a compiler error:

itemviewimagedelegate.cpp:296
Q_D(ItemViewImageDelegate); ==> Q_D(const ItemViewImageDelegate);

Maik

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

andreas <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |[hidden email]

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |---

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #52 from Jens B. Benecke <[hidden email]> ---
I just updated to Digikam 5.3 and this patch does not seem to be applied to it
yet. Is there something I need to configure to have this functionality?

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #53 from [hidden email] ---
The patch is not yet integrated because Its not visually suitable and do not
work yet in all conditions. The basis is here but GUI code need to be rewrites.

Gilles caulier

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

--- Comment #54 from Jens B. Benecke <[hidden email]> ---
OK, no hurry. .)
Anything I can do to help (non-coder)? I have some more time now.

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 361047] Wishlist: make grouped images more prominently visible [patch]

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=361047

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |wishlist

--
You are receiving this mail because:
You are the assignee for the bug.
12345