diff options
Diffstat (limited to 'src/gui/imagewidget.h')
-rw-r--r-- | src/gui/imagewidget.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/gui/imagewidget.h b/src/gui/imagewidget.h new file mode 100644 index 0000000..7780be4 --- /dev/null +++ b/src/gui/imagewidget.h @@ -0,0 +1,78 @@ +/*************************************************************************** + copyright : (C) 2003-2006 by Robby Stephenson + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License as * + * published by the Free Software Foundation; * + * * + ***************************************************************************/ + +#ifndef TELLICOIMAGEWIDGET_H +#define TELLICOIMAGEWIDGET_H + +#include <kurl.h> +#include <qwidget.h> +#include <qpixmap.h> +#include <qpoint.h> + +class QLabel; +class QResizeEvent; +class QMouseEvent; +class QDragEnterEvent; +class QDropEvent; +class QCheckBox; + +namespace Tellico { + namespace GUI { + +/** + * @author Robby Stephenson + */ +class ImageWidget : public QWidget { +Q_OBJECT + +public: + ImageWidget(QWidget* parent, const char* name = 0); + virtual ~ImageWidget() {} + + const QString& id() const { return m_imageID; } + void setImage(const QString& id); + void setLinkOnlyChecked(bool l); + +public slots: + void slotClear(); + +signals: + void signalModified(); + +protected: + virtual void resizeEvent(QResizeEvent* ev); + virtual void mousePressEvent(QMouseEvent* ev); + virtual void mouseMoveEvent(QMouseEvent* ev); + virtual void dragEnterEvent(QDragEnterEvent* ev); + virtual void dropEvent(QDropEvent* ev); + +private slots: + void slotGetImage(); + void slotLinkOnlyClicked(); + +private: + void scale(); + void loadImage(const KURL& url); + + QString m_imageID; + QPixmap m_pixmap; + QPixmap m_scaled; + QLabel* m_label; + QCheckBox* m_cbLinkOnly; + KURL m_originalURL; + QPoint m_dragStart; +}; + + } // end GUI namespace +} // end namespace +#endif |