[Bug 279279] New: (KStatusNotifierItem): Message Counts in KMail tray icon don't show when using a plasma themed svg icon

Kubicle public.kubicle+kdebugs at gmail.com
Wed Aug 3 12:34:14 BST 2011


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

           Summary: (KStatusNotifierItem): Message Counts in KMail tray
                    icon don't show when using a plasma themed svg icon
           Product: kmail2
           Version: 2.1.0
          Platform: Ubuntu Packages
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: kdepim-bugs at kde.org
        ReportedBy: public.kubicle+kdebugs at gmail.com


Version:           2.1.0 (using KDE 4.7.0) 
OS:                Linux

Kmail2 now uses KStatusNotifierItem for the tray icon, which means the icon is
plasma themable by adding a kmail.svg(z) file in a plasma theme.

The svg icon works fine, but the unread email overlays don't show on the icon
when using a svg icon, probably because of the way the overlay is drawn in
kmsystemtray.cpp:

[quote]
// Paint the number in a pixmap
  QPixmap overlayPixmap( overlaySize, overlaySize );
  overlayPixmap.fill( Qt::transparent );

  QPainter p( &overlayPixmap );
  p.setFont( countFont );
  KColorScheme scheme( QPalette::Active, KColorScheme::View );

  p.setBrush( Qt::NoBrush );
  p.setPen( scheme.foreground( KColorScheme::LinkText ).color() );
  p.setOpacity( 1.0 );
  p.drawText( overlayPixmap.rect(), Qt::AlignCenter, countString );
  p.end();

  QPixmap iconPixmap = mIcon.pixmap(overlaySize, overlaySize);

  QPainter pp(&iconPixmap);
  pp.drawPixmap(0, 0, overlayPixmap);
  pp.end();

  setIconByPixmap( iconPixmap );
[/quote]

Because of this, a user cannot tell whether there is new mail by looking at the
tray icon.

Possible ways to fix:
1. draw the message count overlay in an plasma theme (svg) friendly way, if
possible, or
2. use a different icon (mail-unread-new, for example) when there is new mail.
This won't show the email counts either, but provides visual feedback for the
user when there are new mails.

Reproducible: Always

Steps to Reproduce:
1. Create a valid plasma themed kmail.svg icon in your plasma themes icon
folder. 
2. Configure kmail to always show the tray icon
3. Restart plasma and kmail if necessary to show the new icon
4. Wait for new mail

Actual Results:  
New message count is not shown on the tray icon.

Expected Results:  
Message count is shown on the icon when there are new mails.

The above is also true for akregator's icon (when using a plasma themed svg), I
can report a new bug report for akregator if requested.

If you need more information, I'd be happy to provide it.

Thanks for your time.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list