author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /library/fileselector.h | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
-rw-r--r-- | library/fileselector.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/library/fileselector.h b/library/fileselector.h new file mode 100644 index 0000000..ef8efea --- a/dev/null +++ b/library/fileselector.h @@ -0,0 +1,108 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef FILESELECTOR_H +#define FILESELECTOR_H + +#include <qhbox.h> +#include <qvbox.h> +#include <qlistview.h> +#include <qtoolbutton.h> + +#include "filemanager.h" +#include "applnk.h" + +class QPopupMenu; +class QPushButton; + +class FileSelectorItem : public QListViewItem +{ +public: + FileSelectorItem( QListView *parent, const DocLnk& f ); + ~FileSelectorItem(); + + DocLnk file() const { return fl; } + +private: + DocLnk fl; +}; + +class CategoryMenu; +class FileSelectorViewPrivate; +class FileSelectorView : public QListView +{ + Q_OBJECT + +public: + FileSelectorView( const QString &mimefilter, QWidget *parent, const char *name ); + ~FileSelectorView(); + void reread(); + int fileCount() { return count; } + + void setCategoryFilter(CategoryMenu *); +protected: + void keyPressEvent( QKeyEvent *e ); + +protected slots: + void cardMessage( const QCString &, const QByteArray &); + + void categoryChanged(); + +private: + QString filter; + FileManager *fileManager; + int count; + FileSelectorViewPrivate *d; +}; + +class FileSelectorPrivate; +class FileSelector : public QVBox +{ + Q_OBJECT + +public: + FileSelector( const QString &mimefilter, QWidget *parent, const char *name, bool newVisible = TRUE, bool closeVisible = TRUE ); + ~FileSelector(); + void setNewVisible( bool b ); + void setCloseVisible( bool b ); + void setCategoriesVisible( bool b ); + void reread(); + int fileCount(); + const DocLnk *selected(); + +signals: + void fileSelected( const DocLnk & ); + void newSelected( const DocLnk & ); + void closeMe(); + +private slots: + void createNew(); + void fileClicked( int, QListViewItem *, const QPoint &, int ); + // pressed to get 'right down' + void filePressed( int, QListViewItem *, const QPoint &, int ); + void fileClicked( QListViewItem *); + +private: + FileSelectorView *view; + QString filter; + QToolButton *buttonNew, *buttonClose; + FileSelectorPrivate *d; +}; + +#endif |