Applets
icon.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ICON_APPLET_H
00021 #define ICON_APPLET_H
00022
00023 #include <KMimeType>
00024 #include <KUrl>
00025
00026 #include <plasma/applet.h>
00027
00028 class KPropertiesDialog;
00029 class QGraphicsItem;
00030 class QGraphicsSceneMouseEvent;
00031 class QEvent;
00032
00033 namespace Plasma
00034 {
00035 class Icon;
00036 }
00037
00038 class IconApplet : public Plasma::Applet
00039 {
00040 Q_OBJECT
00041 public:
00042 IconApplet(QObject *parent, const QVariantList &args);
00043 ~IconApplet();
00044
00045 void init();
00046 void setUrl(const KUrl& url);
00047 void constraintsEvent(Plasma::Constraints constraints);
00048 void setDisplayLines(int displayLines);
00049 int displayLines();
00050 QPainterPath shape() const;
00051
00052 public slots:
00053 void openUrl();
00054
00055 protected:
00056 void dropEvent(QGraphicsSceneDragDropEvent *event);
00057 void saveState(KConfigGroup &cg) const;
00058 void showConfigurationInterface();
00059
00060 private slots:
00061 void acceptedPropertiesDialog();
00062 void propertiesDialogClosed();
00063
00064 private:
00065
00066 void dropUrls(const KUrl::List& urls,
00067 const KUrl& destination,
00068 Qt::KeyboardModifiers modifier);
00069
00070 Plasma::Icon* m_icon;
00071 QString m_text;
00072 QString m_genericName;
00073 QAction *m_propertiesAction;
00074 KPropertiesDialog *m_dialog;
00075 KMimeType::Ptr m_mimetype;
00076 KUrl m_url;
00077 int m_displayLines;
00078 };
00079
00080 K_EXPORT_PLASMA_APPLET(icon, IconApplet)
00081
00082 #endif