Diffstat (limited to 'libopie2/opieui/fileselector/ofileselector.h') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie2/opieui/fileselector/ofileselector.h | 10 |
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 | ||
48 | class QLineEdit; | 49 | class QLineEdit; |
49 | class QComboBox; | 50 | class QComboBox; |
50 | class QWidgetStack; | 51 | class QWidgetStack; |
51 | class QHBox; | 52 | class QHBox; |
52 | 53 | ||
53 | typedef QMap<QString, QStringList> MimeTypes; | 54 | typedef QMap<QString, QStringList> MimeTypes; |
54 | 55 | ||
55 | namespace Opie { | 56 | namespace Opie { |
56 | namespace Ui { | 57 | namespace Ui { |
57 | 58 | ||
58 | namespace Internal { | 59 | namespace Internal { |
59 | class OFileViewInterface; | 60 | class OFileViewInterface; |
60 | class OFileViewFileListView; | 61 | class 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 */ |
172 | private: | 173 | private: |
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 | ||
178 | private: | 179 | private: |
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 | |||
186 | private: | 194 | private: |
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 | ||
207 | private slots: | 217 | private 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 | } |