/* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ #ifndef PICTUREVIEWER_H #define PICTUREVIEWER_H #include #include #include class QGraphicsScene; class QGraphicsPixmapItem; class QWheelEvent; class PictureviewerInfoItem; class PictureViewer : public QGraphicsView { Q_OBJECT public: PictureViewer(QWidget *parent = 0); public slots: void showPic(const QString &path, bool enableDirEntries = true); void next(); void previous(); protected: void wheelEvent(QWheelEvent *event); private: void setGradient(); void setDir(const QString &path); bool isPic(const QString &path); QPointF center(const QPixmap &pic); QGraphicsScene *mScene; QGraphicsPixmapItem *mCurrentPic; PictureviewerInfoItem *mInfoItem; QString mCurrentDir; QFileInfoList mDirEntries; QFileInfoList::const_iterator mCurrentEntry; }; class PictureviewerInfoItem : public QGraphicsItem { public: PictureviewerInfoItem(const QString &fileName, QGraphicsItem *parent = 0); QRectF boundingRect() const; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); private: const QString mFileName; }; #endif