summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/fileselector.cpp41
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{
57public: 63public:
58 CategoryMenu *cm; 64 CategoryMenu *cm;
65 bool m_noItems:1;
59}; 66};
60 67
61FileSelectorView::FileSelectorView( const QString &f, QWidget *parent, const char *name ) 68FileSelectorView::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
81void FileSelectorView::reread() 89void 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*/
326void 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*/
337void FileSelector::reread() 349void FileSelector::reread()
338{ 350{
339 view->reread(); 351 view->reread();
340} 352}
353