[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: [PATCH] Icon tooltips
From:       Marco Martin <notmart () gmail ! com>
Date:       2008-01-10 15:07:22
Message-ID: 200801101607.22179.notmart () gmail ! com
[Download RAW message or body]

On Wednesday 09 January 2008, Aaron J. Seigo wrote:
> yes, we need this in there.
>
> however, instead of keeping the data around, just create it when you need
> it (where you call setToolTip). that will prevent duplicating this data
> unecessarily in memory.
>
> with that change it doesn't really matter anymore, but the data member
> should have been m_data.

i didn't want to create a kdesktopfile in updateconstraints only for reading 
the generic name, in this second attempt only the generic name is stored 
globally and the tooltip data is created in updateconstraints.
Cheers,
Marco Martin

["icon_tooltip2.diff" (text/x-diff)]

Index: /opt/svn/kdebase/workspace/plasma/applets/icon/icon.cpp
===================================================================
--- /opt/svn/kdebase/workspace/plasma/applets/icon/icon.cpp	(revision 759431)
+++ /opt/svn/kdebase/workspace/plasma/applets/icon/icon.cpp	(working copy)
@@ -96,6 +96,8 @@
             m_text = m_url.fileName();
         }
         m_icon->setIcon(f->readIcon());
+
+        m_genericName = f->readGenericName();
     } else {
         m_text = m_url.fileName();
         m_icon->setIcon(KMimeType::iconNameForUrl(url));
@@ -125,9 +127,15 @@
             formFactor() == Plasma::MediaCenter) {
             m_icon->setText(m_text);
             setMinimumContentSize(m_icon->sizeFromIconSize(IconSize(KIconLoader::Desktop)));
+            m_icon->setToolTip(Plasma::ToolTipData());
         } else {
             m_icon->setText(QString());
             setMinimumContentSize(m_icon->sizeFromIconSize(IconSize(KIconLoader::Panel)));
+            Plasma::ToolTipData data;
+            data.mainText = m_text;
+            data.subText = m_genericName;
+            data.image = m_icon->icon().pixmap(IconSize(KIconLoader::Desktop));
+            m_icon->setToolTip(data);
         }
     }
 
Index: /opt/svn/kdebase/workspace/plasma/applets/icon/icon.h
===================================================================
--- /opt/svn/kdebase/workspace/plasma/applets/icon/icon.h	(revision 759431)
+++ /opt/svn/kdebase/workspace/plasma/applets/icon/icon.h	(working copy)
@@ -73,6 +73,7 @@
 
         Plasma::Icon* m_icon;
         QString m_text;
+        QString m_genericName;
         KPropertiesDialog *m_dialog;
         QString m_mimetype;
         KUrl m_url;


_______________________________________________
Panel-devel mailing list
Panel-devel@kde.org
https://mail.kde.org/mailman/listinfo/panel-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic