summaryrefslogtreecommitdiff
path: root/library/fileselector.h
authorkergoth <kergoth>2002-01-25 22:14:26 (UTC)
committer kergoth <kergoth>2002-01-25 22:14:26 (UTC)
commit15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff)
treec2fa0399a2c47fda8e2cd0092c73a809d17f68eb /library/fileselector.h
downloadopie-15318cad33835e4e2dc620d033e43cd930676cdd.zip
opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz
opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2
Initial revision
Diffstat (limited to 'library/fileselector.h') (more/less context) (ignore whitespace changes)
-rw-r--r--library/fileselector.h108
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