author | llornkcor <llornkcor> | 2002-03-20 00:50:29 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-03-20 00:50:29 (UTC) |
commit | 090ac02da739600c577ed6396e04ed0e121f7890 (patch) (side-by-side diff) | |
tree | b994655686701aa5482e98a455141eb1757cc952 | |
parent | 5f6144b48cac5cc058ee06461e865ce03cda00f1 (diff) | |
download | opie-090ac02da739600c577ed6396e04ed0e121f7890.zip opie-090ac02da739600c577ed6396e04ed0e121f7890.tar.gz opie-090ac02da739600c577ed6396e04ed0e121f7890.tar.bz2 |
added hidden file option.
-rw-r--r-- | noncore/unsupported/filebrowser/filebrowser.cpp | 39 | ||||
-rw-r--r-- | noncore/unsupported/filebrowser/filebrowser.h | 6 |
2 files changed, 39 insertions, 6 deletions
diff --git a/noncore/unsupported/filebrowser/filebrowser.cpp b/noncore/unsupported/filebrowser/filebrowser.cpp index 41e7634..d9aabfd 100644 --- a/noncore/unsupported/filebrowser/filebrowser.cpp +++ b/noncore/unsupported/filebrowser/filebrowser.cpp @@ -175,8 +175,10 @@ FileView::FileView( const QString & dir, QWidget * parent, addColumn( "Date" ); addColumn( "Size" ); addColumn( "Type" ); + showingHidden=FALSE; + setMultiSelection( TRUE ); header()->hide(); setColumnWidthMode( 0, Manual ); @@ -205,8 +207,11 @@ void FileView::resizeEvent( QResizeEvent *e ) } void FileView::updateDir() { + setCaption( "Boogie on boogieboy"); + //qDebug("Caption should be "+currentDir); + generateDir( currentDir ); } void FileView::setDir( const QString & dir ) @@ -227,26 +232,29 @@ void FileView::generateDir( const QString & dir ) if( d.exists() && !d.isReadable() ) return; currentDir = d.canonicalPath(); + if( !showingHidden) d.setFilter( QDir::Dirs | QDir::Files ); - d.setSorting( QDir::Name | QDir::DirsFirst | QDir::IgnoreCase | - QDir::Reversed ); + else + d.setFilter( QDir::Dirs | QDir::Files |QDir::Hidden | QDir::All); + + d.setSorting( QDir::Name | QDir::DirsFirst | QDir::IgnoreCase | QDir::Reversed ); + const QFileInfoList * list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; clear(); while( (fi = it.current()) ){ - if( (fi->fileName() == ".") || (fi->fileName() == "..") ){ + if( (fi->fileName() == ".") || (fi->fileName() == "..") ){ ++it; continue; } (void) new FileItem( (QListView *) this, *fi ); ++it; } - emit dirChanged(); } void FileView::rename() @@ -654,13 +662,14 @@ void FileView::showFileMenu() m->insertItem( tr( "Rename" ), this, SLOT( rename() ) ); m->insertItem( Resource::loadPixmap("cut"), tr( "Cut" ), this, SLOT( cut() ) ); m->insertItem( Resource::loadPixmap("copy"), + tr( "Copy" ), this, SLOT( copy() ) ); m->insertItem( Resource::loadPixmap("paste"), tr( "Paste" ), this, SLOT( paste() ) ); m->insertItem( tr( "Change Permissions" ), this, SLOT( chPerm() ) ); - m->insertItem( tr( "Delete" ), this, SLOT( del() ) ); + m->insertItem(Resource::loadPixmap( "close" ), tr( "Delete" ), this, SLOT( del() ) ); m->insertSeparator(); m->insertItem( tr( "Select all" ), this, SLOT( selectAll() ) ); m->insertItem( tr( "Deselect all" ), this, SLOT( deselectAll() ) ); m->popup( QCursor::pos() ); @@ -710,8 +719,12 @@ void FileBrowser::init(const QString & dir) sortMenu->insertItem( tr( "by Date "), this, SLOT( sortDate() ) ); sortMenu->insertItem( tr( "by Type "), this, SLOT( sortType() ) ); sortMenu->insertSeparator(); sortMenu->insertItem( tr( "Ascending" ), this, SLOT( updateSorting() ) ); + sortMenu->insertSeparator(); + sortMenu->insertItem( tr( "Show Hidden "), this, SLOT( showHidden() ) ); + fileView->showingHidden=FALSE; + sortMenu->setItemChecked( sortMenu->idAt( 5 ), TRUE ); sortMenu->setItemChecked( sortMenu->idAt( 0 ), TRUE ); toolBar = new QPEToolBar( this ); @@ -746,8 +759,9 @@ void FileBrowser::init(const QString & dir) QString::null, 0, this, 0 ); connect( pasteAction, SIGNAL( activated() ), fileView, SLOT( paste() ) ); pasteAction->addTo( toolBar ); +// dirLabel = new QLabel(this, "DirLabel"); connect( fileView, SIGNAL( dirChanged() ), SLOT( updateDirMenu() ) ); updateDirMenu(); @@ -763,8 +777,12 @@ void FileBrowser::pcmciaMessage( const QCString &msg, const QByteArray &) fileView->updateDir(); } } +void FileBrowser::changeCaption(const QString & dir) { + setCaption( dir); +} + void FileBrowser::dirSelected( int id ) { int i = 0, j; QString dir; @@ -853,8 +871,19 @@ void FileBrowser::updateSorting() else sortType(); } +void FileBrowser::showHidden() { + if(! fileView->showingHidden) { + fileView->showingHidden=TRUE; + sortMenu->setItemChecked( sortMenu->idAt( 7),TRUE); + } else { + fileView->showingHidden=FALSE; + sortMenu->setItemChecked( sortMenu->idAt( 7),FALSE); + } + fileView->updateDir(); +} + void FileView::chPerm() { FileItem * i; QStringList fl; QString cmd; diff --git a/noncore/unsupported/filebrowser/filebrowser.h b/noncore/unsupported/filebrowser/filebrowser.h index c214dbe..54856a0 100644 --- a/noncore/unsupported/filebrowser/filebrowser.h +++ b/noncore/unsupported/filebrowser/filebrowser.h @@ -25,9 +25,9 @@ #include <qfileinfo.h> #include <qaction.h> #include <qtimer.h> #include <qstringlist.h> - +class QLabel; class InlineEdit; class FileItem : public QListViewItem { @@ -57,8 +57,9 @@ public: const char * name = 0 ); void setDir( const QString & dir ); QString cd(){ return currentDir; } QStringList history() const { return dirHistory; } + bool showingHidden; public slots: void updateDir(); void parentDir(); @@ -113,8 +114,10 @@ public: FileBrowser( QWidget * parent = 0, const char * name = 0, WFlags f = 0 ); FileBrowser( const QString & dir, QWidget * parent = 0, const char * name = 0, WFlags f = 0 ); +public slots: + void changeCaption(const QString &); private: void init(const QString & dir); QString fileToCopy; QPopupMenu * dirMenu, * sortMenu; @@ -135,7 +138,8 @@ private slots: void updateSorting(); void updateDirMenu(); void dirSelected( int id ); + void showHidden(); }; #endif |