From 15318cad33835e4e2dc620d033e43cd930676cdd Mon Sep 17 00:00:00 2001 From: kergoth Date: Fri, 25 Jan 2002 22:14:26 +0000 Subject: Initial revision --- (limited to 'library/fileselector.h') 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 +#include +#include +#include + +#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 -- cgit v0.9.0.2