author | alwin <alwin> | 2005-03-23 19:28:15 (UTC) |
---|---|---|
committer | alwin <alwin> | 2005-03-23 19:28:15 (UTC) |
commit | 7f2338c33a3dd22d7f851909fb023a9364fdafd0 (patch) (side-by-side diff) | |
tree | d39ed1ff22f535c43b6c43f097c3b9eb02ad3b37 /noncore/unsupported/showimg/ImageFileSelector.h | |
parent | 76ea5ee6e306a4ee9fe6831dbe4c13ee53f6cdf5 (diff) | |
download | opie-7f2338c33a3dd22d7f851909fb023a9364fdafd0.zip opie-7f2338c33a3dd22d7f851909fb023a9364fdafd0.tar.gz opie-7f2338c33a3dd22d7f851909fb023a9364fdafd0.tar.bz2 |
showimg -> unsupported
Diffstat (limited to 'noncore/unsupported/showimg/ImageFileSelector.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/showimg/ImageFileSelector.h | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/noncore/unsupported/showimg/ImageFileSelector.h b/noncore/unsupported/showimg/ImageFileSelector.h new file mode 100644 index 0000000..798ebcc --- a/dev/null +++ b/noncore/unsupported/showimg/ImageFileSelector.h @@ -0,0 +1,134 @@ +#ifndef IMAGEFILE_SELECTOR_H +#define IMAGEFILE_SELECTOR_H + + +#include <qtoolbutton.h> +#include <qlistview.h> +#include <qwidgetstack.h> +#include <qlayout.h> + +#include "qpe/filemanager.h" +#include "qpe/applnk.h" + +class QScrollView; +class QLabel; +//class QValueList; + +class ThumbWidget : public QWidget +{ + Q_OBJECT +public: + ThumbWidget(QPixmap p,QString text,const DocLnk& f,QWidget *parent=0,int width=-1); + ~ThumbWidget() { } + + DocLnk file() const { + return fl; + } + + + signals: + void clicked(const DocLnk &); + +protected: + void paintEvent( QPaintEvent * ); + void resizeEvent(QResizeEvent *); + + void mouseReleaseEvent(QMouseEvent* event); + +private: + QPixmap pixmap; + QLabel *description; + DocLnk fl; +}; + + + + +class ImageFileSelectorItem : public QListViewItem +{ +public: + ImageFileSelectorItem( QListView *parent, const DocLnk& f ); + ~ImageFileSelectorItem(); + + DocLnk file() const { + return fl; + } +private: + DocLnk fl; +}; + +class ImageFileSelector : public QWidgetStack +{ + Q_OBJECT + +public: + + enum CURRENT_VIEW { + THUMBNAIL, + DETAILED, + UNKNOWN + }; + + + ImageFileSelector(CURRENT_VIEW scv=DETAILED, QWidget *parent=0, const char *name=0 ); + ~ImageFileSelector(); + + void reread(bool purgeCache=false); + int fileCount(); + const DocLnk *selected(); + + void setView(CURRENT_VIEW v); + + CURRENT_VIEW view() { + return cView; + } + + QValueList<DocLnk> fileList() const { + ((ImageFileSelector*)this)->fileCount(); // ensure all loaded when this is extended + QValueList<DocLnk> list; + ImageFileSelectorItem *item = (ImageFileSelectorItem *)detailed->firstChild(); + while (item) { + list.append(item->file()); + item = (ImageFileSelectorItem *)item->nextSibling(); + } + return list; + } + +public slots: + + void switchView(); + +signals: + void fileSelected( const DocLnk & ); + void closeMe(); + +protected: + + void resizeEvent(QResizeEvent *); + + +private slots: + void fileClicked( int, QListViewItem *, const QPoint &, int ); + // pressed to get 'right down' + void filePressed( int, QListViewItem *, const QPoint &, int ); + void fileClicked( QListViewItem *); + void thumbClicked(const DocLnk &); + +private: + + void updateSizes(); + + + CURRENT_VIEW cView; + int count; + + QListView *detailed; + QScrollView *thumb; + QList<ThumbWidget> tList; + QWidget *background; + QGridLayout *gl; + +}; +#endif // IMAGEFILE_SELECTOR_H + + |