From 5f8b00b9567d41d1f4681e2240528b9fce2d7b3b Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 23 Jun 2013 02:17:48 -0500 Subject: Use the largest possible font for the unread display in kmail and akregator if the tray icon size is less than 22 pixels This resolves Bug 1251 --- akregator/src/trayicon.cpp | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) (limited to 'akregator/src/trayicon.cpp') diff --git a/akregator/src/trayicon.cpp b/akregator/src/trayicon.cpp index fc26cadeb..240e2d5b5 100644 --- a/akregator/src/trayicon.cpp +++ b/akregator/src/trayicon.cpp @@ -123,22 +123,34 @@ TQPixmap TrayIcon::takeScreenshot() const return shot; // not finalShot?? -fo } +void TrayIcon::resizeEvent(TQResizeEvent *) +{ + setUnread(m_unread, true); +} + void TrayIcon::slotSetUnread(int unread) { - if (unread==m_unread) + setUnread(unread, false); +} + +void TrayIcon::setUnread(int unread, bool force) +{ + if ((unread==m_unread) && (!force)) + { return; - + } + m_unread=unread; - + TQToolTip::remove(this); TQToolTip::add(this, i18n("Akregator - 1 unread article", "Akregator - %n unread articles", unread > 0 ? unread : 0)); - + if (unread <= 0) - { + { setPixmap(m_defaultIcon); } else - { + { // from KMSystemTray int oldW = pixmap()->size().width(); int oldH = pixmap()->size().height(); @@ -146,6 +158,17 @@ void TrayIcon::slotSetUnread(int unread) TQString uStr=TQString::number( unread ); TQFont f=TDEGlobalSettings::generalFont(); f.setBold(true); + + // increase the size of the font for the number of unread messages if the + // icon size is less than 22 pixels + // see bug 1251 + int realIconHeight = height(); + if (realIconHeight < 22) { + f.setPointSizeFloat( f.pointSizeFloat() * 2.0 ); + } + + // decrease the size of the font for the number of unread articles if the + // number doesn't fit into the available space float pointSize=f.pointSizeFloat(); TQFontMetrics fm(f); int w=fm.width(uStr); -- cgit v1.2.1