summaryrefslogtreecommitdiff
path: root/library
authorzecke <zecke>2002-03-05 17:55:08 (UTC)
committer zecke <zecke>2002-03-05 17:55:08 (UTC)
commit7f0e92c12b41207fa75c82bc0b6f30fc57e7e77d (patch) (unidiff)
tree81cd1145d106a8f08b1727f60eed60d3cee306b6 /library
parent81000382c5869cb26c243ec9364b688524c8a566 (diff)
downloadopie-7f0e92c12b41207fa75c82bc0b6f30fc57e7e77d.zip
opie-7f0e92c12b41207fa75c82bc0b6f30fc57e7e77d.tar.gz
opie-7f0e92c12b41207fa75c82bc0b6f30fc57e7e77d.tar.bz2
My fileselector patch mentioned on the list
Diffstat (limited to 'library') (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
@@ -14,13 +14,19 @@
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
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"
24#include "applnk.h" 30#include "applnk.h"
25#include "storage.h" 31#include "storage.h"
26#include "qpemenubar.h" 32#include "qpemenubar.h"
@@ -53,19 +59,21 @@ FileSelectorItem::~FileSelectorItem()
53} 59}
54 60
55class FileSelectorViewPrivate 61class 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 )
62 : QListView( parent, name ), filter( f ), count( 0 ) 69 : QListView( parent, name ), filter( f ), count( 0 )
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();
69 77
70 fileManager = new FileManager; 78 fileManager = new FileManager;
71 reread(); 79 reread();
@@ -77,20 +85,29 @@ FileSelectorView::FileSelectorView( const QString &f, QWidget *parent, const cha
77FileSelectorView::~FileSelectorView() 85FileSelectorView::~FileSelectorView()
78{ 86{
79} 87}
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)
94 if (!d->cm->isSelected((**dit).categories())) 111 if (!d->cm->isSelected((**dit).categories()))
95 continue; 112 continue;
96 item = new FileSelectorItem( this, **dit ); 113 item = new FileSelectorItem( this, **dit );
@@ -234,21 +251,27 @@ void FileSelector::createNew()
234} 251}
235 252
236void FileSelector::fileClicked( int button, QListViewItem *i, const QPoint &, int ) 253void FileSelector::fileClicked( int button, QListViewItem *i, const QPoint &, int )
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 }
243} 263}
244 264
245void FileSelector::filePressed( int button, QListViewItem *i, const QPoint &, int ) 265void FileSelector::filePressed( int button, QListViewItem *i, const QPoint &, int )
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 );
252 prop.showMaximized(); 275 prop.showMaximized();
253 prop.exec(); 276 prop.exec();
254 d->cm->reload(); 277 d->cm->reload();
@@ -318,23 +341,13 @@ void FileSelector::setCloseVisible( bool b )
318 buttonClose->show(); 341 buttonClose->show();
319 else 342 else
320 buttonClose->hide(); 343 buttonClose->hide();
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