summaryrefslogtreecommitdiff
path: root/libopie2/opieui/fileselector/ofileselector.h
Unidiff
Diffstat (limited to 'libopie2/opieui/fileselector/ofileselector.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofileselector.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/libopie2/opieui/fileselector/ofileselector.h b/libopie2/opieui/fileselector/ofileselector.h
index 8bcd9ee..de2b98a 100644
--- a/libopie2/opieui/fileselector/ofileselector.h
+++ b/libopie2/opieui/fileselector/ofileselector.h
@@ -23,48 +23,49 @@
23 If not, write to the Free Software Foundation, 23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, 24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29/* 29/*
30 This is based on code and ideas of 30 This is based on code and ideas of
31 L. J. Potter ljp@llornkcor.com 31 L. J. Potter ljp@llornkcor.com
32 Thanks a lot 32 Thanks a lot
33*/ 33*/
34 34
35#ifndef OFILESELECTOR_H 35#ifndef OFILESELECTOR_H
36#define OFILESELECTOR_H 36#define OFILESELECTOR_H
37 37
38/* OPIE */ 38/* OPIE */
39#include <qpe/applnk.h> 39#include <qpe/applnk.h>
40 40
41/* QT */ 41/* QT */
42#include <qlist.h> 42#include <qlist.h>
43#include <qwidget.h> 43#include <qwidget.h>
44#include <qmap.h> 44#include <qmap.h>
45#include <qvaluelist.h> 45#include <qvaluelist.h>
46#include <qstringlist.h> 46#include <qstringlist.h>
47#include <qlist.h>
47 48
48class QLineEdit; 49class QLineEdit;
49class QComboBox; 50class QComboBox;
50class QWidgetStack; 51class QWidgetStack;
51class QHBox; 52class QHBox;
52 53
53typedef QMap<QString, QStringList> MimeTypes; 54typedef QMap<QString, QStringList> MimeTypes;
54 55
55namespace Opie { 56namespace Opie {
56namespace Ui { 57namespace Ui {
57 58
58namespace Internal { 59namespace Internal {
59class OFileViewInterface; 60class OFileViewInterface;
60class OFileViewFileListView; 61class OFileViewFileListView;
61} 62}
62 63
63 64
64/** 65/**
65 * @short a dropin replacement for the FileSelector 66 * @short a dropin replacement for the FileSelector
66 * 67 *
67 * This class is first used insert the OFileDialog. 68 * This class is first used insert the OFileDialog.
68 * It supports multiple view and mimetype filtering for now. 69 * It supports multiple view and mimetype filtering for now.
69 * 70 *
70 * @see OFileDialog 71 * @see OFileDialog
@@ -162,59 +163,68 @@ signals:
162 void closeMe(); 163 void closeMe();
163 164
164 /** 165 /**
165 * Ok is emitted on a Qt::Key_Return or Q::Key_Enter 166 * Ok is emitted on a Qt::Key_Return or Q::Key_Enter
166 * in the line edit 167 * in the line edit
167 */ 168 */
168 void ok(); 169 void ok();
169 void cancel(); 170 void cancel();
170 171
171 /* used by the ViewInterface */ 172 /* used by the ViewInterface */
172private: 173private:
173 bool showNew()const; 174 bool showNew()const;
174 bool showClose()const; 175 bool showClose()const;
175 MimeTypes mimeTypes()const; 176 MimeTypes mimeTypes()const;
176 QStringList currentMimeType()const; 177 QStringList currentMimeType()const;
177 178
178private: 179private:
179 /* inits the Widgets */ 180 /* inits the Widgets */
180 void initUI(); 181 void initUI();
181 /* inits the MimeType ComboBox content + connects signals and slots */ 182 /* inits the MimeType ComboBox content + connects signals and slots */
182 void initMime(); 183 void initMime();
183 /* init the Views :) */ 184 /* init the Views :) */
184 void initViews(); 185 void initViews();
185 186
187
188 /*
189 * register a view for deletion.
190 * This happens on creation of a OFileViewInterface
191 */
192 void registerView( const Internal::OFileViewInterface* );
193
186private: 194private:
187 QLineEdit* m_lneEdit; // the LineEdit for the Name 195 QLineEdit* m_lneEdit; // the LineEdit for the Name
188 QComboBox *m_cmbView, *m_cmbMime; // two ComboBoxes to select the View and MimeType 196 QComboBox *m_cmbView, *m_cmbMime; // two ComboBoxes to select the View and MimeType
189 QWidgetStack* m_stack; // our widget stack which will contain the views 197 QWidgetStack* m_stack; // our widget stack which will contain the views
190 Internal::OFileViewInterface* currentView() const; // returns the currentView 198 Internal::OFileViewInterface* currentView() const; // returns the currentView
191 Internal::OFileViewInterface* m_current; // here is the view saved 199 Internal::OFileViewInterface* m_current; // here is the view saved
192 bool m_shNew : 1; // should we show New? 200 bool m_shNew : 1; // should we show New?
193 bool m_shClose : 1; // should we show Close? 201 bool m_shClose : 1; // should we show Close?
194 MimeTypes m_mimeType; // list of mimetypes 202 MimeTypes m_mimeType; // list of mimetypes
195 203
196 QMap<QString, Internal::OFileViewInterface*> m_views; // QString translated view name + ViewInterface Ptr 204 QMap<QString, Internal::OFileViewInterface*> m_views; // QString translated view name + ViewInterface Ptr
205 /* views register themselves automatically */
206 QList<Internal::OFileViewInterface> m_viewsPtr;
197 QHBox* m_nameBox; // the LineEdit + Label is hold here 207 QHBox* m_nameBox; // the LineEdit + Label is hold here
198 QHBox* m_cmbBox; // this holds the two combo boxes 208 QHBox* m_cmbBox; // this holds the two combo boxes
199 209
200 QString m_startDir; 210 QString m_startDir;
201 int m_mode; 211 int m_mode;
202 int m_selector; 212 int m_selector;
203 213
204 struct Data; // used for future versions 214 struct Data; // used for future versions
205 Data *d; 215 Data *d;
206 216
207private slots: 217private slots:
208 void slotMimeTypeChanged(); 218 void slotMimeTypeChanged();
209 219
210 /* will set the text of the lineedit and emit a fileChanged signal */ 220 /* will set the text of the lineedit and emit a fileChanged signal */
211 void slotDocLnkBridge( const DocLnk& ); 221 void slotDocLnkBridge( const DocLnk& );
212 void slotFileBridge( const QString& ); 222 void slotFileBridge( const QString& );
213 void slotViewChange( const QString& ); 223 void slotViewChange( const QString& );
214 224
215 bool eventFilter (QObject *o, QEvent *e); 225 bool eventFilter (QObject *o, QEvent *e);
216 226
217}; 227};
218 228
219} 229}
220} 230}