/*************************************************************************** * Copyright 2007 by Aaron Seigo #include #include #include #include class KPropertiesDialog; namespace Plasma { class IconWidget; } class IconApplet : public Plasma::Applet { Q_OBJECT public: IconApplet(QObject *parent, const QVariantList &args); ~IconApplet(); void init(); void setUrl(const KUrl& url, bool fromConfigDialog = false); void constraintsEvent(Plasma::Constraints constraints); void setDisplayLines(int displayLines); int displayLines(); QPainterPath shape() const; public slots: void openUrl(); void updateDesktopFile(); void configChanged(); protected: void dropEvent(QGraphicsSceneDragDropEvent *event); void saveState(KConfigGroup &cg) const; void showConfigurationInterface(); QSizeF sizeHint(Qt::SizeHint which, const QSizeF & constraint = QSizeF()) const; private slots: void acceptedPropertiesDialog(); void cancelledPropertiesDialog(); void delayedDestroy(); void checkExistenceOfUrl(); void checkService(const QStringList &service); void iconSizeChanged(int group); private: //dropUrls from DolphinDropController void dropUrls(const KUrl::List& urls, const KUrl& destination, Qt::KeyboardModifiers modifier); Plasma::IconWidget* m_icon; QString m_text; QString m_genericName; QWeakPointer m_dialog; KUrl m_url; KUrl m_configTarget; KDirWatch *m_watcher; QSize m_lastFreeSize; KService::Ptr m_service; bool m_hasDesktopFile; }; K_EXPORT_PLASMA_APPLET(icon, IconApplet) #endif