author | llornkcor <llornkcor> | 2002-03-27 04:33:32 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-03-27 04:33:32 (UTC) |
commit | 7d6828df281631bce0aaa2aaa229b69b9329e03c (patch) (side-by-side diff) | |
tree | efd928de11a2d7d2ae33bbccf737fae7a51ff36d /core/apps/textedit/fileBrowser.cpp | |
parent | 524ad1da733675debd5c248b54efc5d58e855485 (diff) | |
download | opie-7d6828df281631bce0aaa2aaa229b69b9329e03c.zip opie-7d6828df281631bce0aaa2aaa229b69b9329e03c.tar.gz opie-7d6828df281631bce0aaa2aaa229b69b9329e03c.tar.bz2 |
fixed something erother.. probably something todo with deleting or somesuch. probably broke something else in the process
Diffstat (limited to 'core/apps/textedit/fileBrowser.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/apps/textedit/fileBrowser.cpp | 117 |
1 files changed, 62 insertions, 55 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp index 8c942a1..8ea8067 100644 --- a/core/apps/textedit/fileBrowser.cpp +++ b/core/apps/textedit/fileBrowser.cpp @@ -121,7 +121,7 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold); connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), - this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); + this, SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); @@ -171,6 +171,7 @@ void fileBrowser::setFileView( int selection ) void fileBrowser::populateList() { ListView->clear(); + QListViewItem * item; bool isDir=FALSE; //qDebug(currentDir.canonicalPath()); currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); @@ -182,58 +183,58 @@ void fileBrowser::populateList() QFileInfoListIterator it(*list); QFileInfo *fi; while ( (fi=it.current()) ) { - - if (fi->isSymLink() ){ - QString symLink=fi->readLink(); + if (fi->isSymLink() ){ + QString symLink=fi->readLink(); // qDebug("Symlink detected "+symLink); - QFileInfo sym( symLink); - fileS.sprintf( "%10li", sym.size() ); - fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); - fileDate = sym.lastModified().toString(); - } else { + QFileInfo sym( symLink); + fileS.sprintf( "%10li", sym.size() ); + fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); + fileDate = sym.lastModified().toString(); + } else { // qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); - fileS.sprintf( "%10li", fi->size() ); - fileL.sprintf( "%s",fi->fileName().data() ); - fileDate= fi->lastModified().toString(); - if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { - fileL+="/"; - isDir=TRUE; + fileS.sprintf( "%10li", fi->size() ); + fileL.sprintf( "%s",fi->fileName().data() ); + fileDate= fi->lastModified().toString(); + if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { + fileL+="/"; + isDir=TRUE; // qDebug( fileL); + } } - } - if(fileL !="./") { - item= new QListViewItem( ListView,fileL,fileS , fileDate); - QPixmap pm; + if(fileL !="./" && fi->exists()) { + item= new QListViewItem( ListView,fileL,fileS , fileDate); + QPixmap pm; - if(isDir || fileL.find("/",0,TRUE) != -1) { - if( !QDir( fi->filePath() ).isReadable()) - pm = Resource::loadPixmap( "lockedfolder" ); - else + if(isDir || fileL.find("/",0,TRUE) != -1) { + if( !QDir( fi->filePath() ).isReadable()) + pm = Resource::loadPixmap( "lockedfolder" ); + else + pm= Resource::loadPixmap( "folder" ); + item->setPixmap( 0,pm ); + } else { + if( !fi->isReadable() ) + pm = Resource::loadPixmap( "locked" ); + else { + MimeType mt(fi->filePath()); + pm=mt.pixmap(); + if(pm.isNull()) + pm = Resource::loadPixmap( "UnknownDocument-14" ); + item->setPixmap( 0,pm); + } + } + if( fileL.find("->",0,TRUE) != -1) { + // overlay link image pm= Resource::loadPixmap( "folder" ); - item->setPixmap( 0,pm ); - } else { - if( !fi->isReadable() ) - pm = Resource::loadPixmap( "locked" ); - else { - MimeType mt(fi->filePath()); - pm=mt.pixmap(); - if(pm.isNull()) - pm = Resource::loadPixmap( "UnknownDocument-14" ); - item->setPixmap( 0,pm); + QPixmap lnk = Resource::loadPixmap( "symlink" ); + QPainter painter( &pm ); + painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); + pm.setMask( pm.createHeuristicMask( FALSE ) ); + item->setPixmap( 0, pm); } } - if( fileL.find("->",0,TRUE) != -1) { - // overlay link image - pm= Resource::loadPixmap( "folder" ); - QPixmap lnk = Resource::loadPixmap( "symlink" ); - QPainter painter( &pm ); - painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); - pm.setMask( pm.createHeuristicMask( FALSE ) ); - item->setPixmap( 0, pm); - } - } - isDir=FALSE; - ++it; + isDir=FALSE; + ++it; +// } } ListView->setSorting( 3, FALSE); QString currentPath = currentDir.canonicalPath(); @@ -263,6 +264,7 @@ void fileBrowser::upDir() // you may want to switch these 2 functions. I like single clicks void fileBrowser::listClicked(QListViewItem *selectedItem) { + if(selectedItem) { QString strItem=selectedItem->text(0); QString strSize=selectedItem->text(1); // qDebug("strItem is "+strItem); @@ -302,6 +304,7 @@ void fileBrowser::listClicked(QListViewItem *selectedItem) } //end not symlink chdir(strItem.latin1()); } + } } void fileBrowser::OnOK() @@ -378,16 +381,20 @@ void fileBrowser::ListPressed( int mouse, QListViewItem *item, const QPoint &poi void fileBrowser::showListMenu(QListViewItem *item) { QPopupMenu m;// = new QPopupMenu( Local_View ); - if( item->text(0).find("/",0,TRUE)) - m.insertItem( tr( "Change Directory" ), this, SLOT( doCd() )); - else - m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() )); - m.insertItem( tr( "Rescan" ), this, SLOT( populateList() )); - m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); - m.insertSeparator(); - m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); + if(item) { + if( item->text(0).find("/",0,TRUE)) + m.insertItem( tr( "Change Directory" ), this, SLOT( doCd() )); + m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() )); + m.insertItem( tr( "Rescan" ), this, SLOT( populateList() )); + m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); + m.insertSeparator(); + m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); + } else { + m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() )); + m.insertItem( tr( "Rescan" ), this, SLOT( populateList() )); + + } m.exec( QCursor::pos() ); - } void fileBrowser::doCd() { @@ -400,6 +407,7 @@ void fileBrowser::makDir() { fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); + qDebug("Make dir"); currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); } populateList(); @@ -436,7 +444,6 @@ void fileBrowser::localDelete() { // exit break; }; - } else { switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f +" ?","Yes","No",0,0,1) ) { |