-rw-r--r-- | library/fileselector.cpp | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/library/fileselector.cpp b/library/fileselector.cpp index 365f383..013f43a 100644 --- a/library/fileselector.cpp +++ b/library/fileselector.cpp | |||
@@ -17,7 +17,13 @@ | |||
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | |||
21 | // WARNING: Do *NOT* define this yourself. The SL5xxx from SHARP does NOT | ||
22 | // have this class. | ||
23 | #define QTOPIA_INTERNAL_FSLP | ||
24 | |||
20 | #include "fileselector.h" | 25 | #include "fileselector.h" |
26 | #include "fileselector_p.h" | ||
21 | #include "global.h" | 27 | #include "global.h" |
22 | #include "resource.h" | 28 | #include "resource.h" |
23 | #include "config.h" | 29 | #include "config.h" |
@@ -56,6 +62,7 @@ class FileSelectorViewPrivate | |||
56 | { | 62 | { |
57 | public: | 63 | public: |
58 | CategoryMenu *cm; | 64 | CategoryMenu *cm; |
65 | bool m_noItems:1; | ||
59 | }; | 66 | }; |
60 | 67 | ||
61 | FileSelectorView::FileSelectorView( const QString &f, QWidget *parent, const char *name ) | 68 | FileSelectorView::FileSelectorView( const QString &f, QWidget *parent, const char *name ) |
@@ -63,6 +70,7 @@ FileSelectorView::FileSelectorView( const QString &f, QWidget *parent, const cha | |||
63 | { | 70 | { |
64 | d = new FileSelectorViewPrivate(); | 71 | d = new FileSelectorViewPrivate(); |
65 | d->cm = 0; | 72 | d->cm = 0; |
73 | d->m_noItems = false; | ||
66 | setAllColumnsShowFocus( TRUE ); | 74 | setAllColumnsShowFocus( TRUE ); |
67 | addColumn( tr( "Name" ) ); | 75 | addColumn( tr( "Name" ) ); |
68 | header()->hide(); | 76 | header()->hide(); |
@@ -80,14 +88,23 @@ FileSelectorView::~FileSelectorView() | |||
80 | 88 | ||
81 | void FileSelectorView::reread() | 89 | void FileSelectorView::reread() |
82 | { | 90 | { |
83 | FileSelectorItem *item = (FileSelectorItem *)selectedItem(); | ||
84 | QString oldFile; | 91 | QString oldFile; |
85 | if ( item ) | 92 | FileSelectorItem *item; |
86 | oldFile = item->file().file(); | 93 | if( !d->m_noItems ) { // there are items |
94 | item = (FileSelectorItem *)selectedItem(); | ||
95 | if ( item ) | ||
96 | oldFile = item->file().file(); | ||
97 | } | ||
87 | clear(); | 98 | clear(); |
88 | DocLnkSet files; | 99 | DocLnkSet files; |
89 | Global::findDocuments(&files, filter); | 100 | Global::findDocuments(&files, filter); |
90 | count = files.children().count(); | 101 | count = files.children().count(); |
102 | if(count == 0 ){ // No Documents | ||
103 | d->m_noItems = true; | ||
104 | QListViewItem *it = new QListViewItem(this, tr("There are no files in this directory." ), "empty" ); | ||
105 | it->setSelectable(FALSE ); | ||
106 | return; | ||
107 | } | ||
91 | QListIterator<DocLnk> dit( files.children() ); | 108 | QListIterator<DocLnk> dit( files.children() ); |
92 | for ( ; dit.current(); ++dit ) { | 109 | for ( ; dit.current(); ++dit ) { |
93 | if (d->cm) | 110 | if (d->cm) |
@@ -237,6 +254,9 @@ void FileSelector::fileClicked( int button, QListViewItem *i, const QPoint &, in | |||
237 | { | 254 | { |
238 | if ( !i ) | 255 | if ( !i ) |
239 | return; | 256 | return; |
257 | if(i->text(1) == QString::fromLatin1("empty" ) ) | ||
258 | return; | ||
259 | |||
240 | if ( button == Qt::LeftButton ) { | 260 | if ( button == Qt::LeftButton ) { |
241 | fileClicked( i ); | 261 | fileClicked( i ); |
242 | } | 262 | } |
@@ -246,6 +266,9 @@ void FileSelector::filePressed( int button, QListViewItem *i, const QPoint &, in | |||
246 | { | 266 | { |
247 | if ( !i ) | 267 | if ( !i ) |
248 | return; | 268 | return; |
269 | if(i->text(1) == QString::fromLatin1("empty" ) ) | ||
270 | return; | ||
271 | |||
249 | if ( button == Qt::RightButton ) { | 272 | if ( button == Qt::RightButton ) { |
250 | DocLnk l = ((FileSelectorItem *)i)->file(); | 273 | DocLnk l = ((FileSelectorItem *)i)->file(); |
251 | LnkProperties prop( &l ); | 274 | LnkProperties prop( &l ); |
@@ -321,20 +344,10 @@ void FileSelector::setCloseVisible( bool b ) | |||
321 | } | 344 | } |
322 | 345 | ||
323 | /*! | 346 | /*! |
324 | Sets whether a categories menu is visible, according to \a b. | ||
325 | */ | ||
326 | void FileSelector::setCategoriesVisible( bool b ) | ||
327 | { | ||
328 | if ( b ) | ||
329 | d->mb->show(); | ||
330 | else | ||
331 | d->mb->hide(); | ||
332 | } | ||
333 | |||
334 | /*! | ||
335 | Rereads the list of files. | 347 | Rereads the list of files. |
336 | */ | 348 | */ |
337 | void FileSelector::reread() | 349 | void FileSelector::reread() |
338 | { | 350 | { |
339 | view->reread(); | 351 | view->reread(); |
340 | } | 352 | } |
353 | |||