summaryrefslogtreecommitdiffstats
path: root/src/gui/imagewidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/imagewidget.h')
-rw-r--r--src/gui/imagewidget.h78
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
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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