summaryrefslogtreecommitdiff
path: root/core/apps/textedit/fileBrowser.cpp
Side-by-side diff
Diffstat (limited to 'core/apps/textedit/fileBrowser.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp28
1 files changed, 20 insertions, 8 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index 92c15cb..8cb7c38 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -61,34 +61,35 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
homeButton->setMinimumSize( QSize( 25, 25 ) );
homeButton->setMaximumSize( QSize( 25, 25 ) );
connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
homeButton->setFlat(TRUE);
layout->addWidget( homeButton, 0, 2 );
FileStack = new QWidgetStack( this );
ListView = new QListView( this, "ListView" );
ListView->setMinimumSize( QSize( 100, 25 ) );
ListView->addColumn( tr( "Name" ) );
- ListView->setColumnWidth(0,140);
+ ListView->setColumnWidth(0,120);
ListView->setSorting( 2, FALSE);
ListView->addColumn( tr( "Size" ) );
- ListView->setColumnWidth(1,59);
+ ListView->setColumnWidth(1,-1);
+ ListView->addColumn( "Date",-1);
// ListView->addColumn( tr( "" ) );
ListView->setColumnWidthMode(0,QListView::Manual);
ListView->setColumnAlignment(1,QListView::AlignRight);
-// ListView->setMultiSelection(true);
-// ListView->setSelectionMode(QListView::Extended);
+ ListView->setColumnAlignment(2,QListView::AlignRight);
ListView->setAllColumnsShowFocus( TRUE );
+
connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
FileStack->addWidget( ListView, get_unique_id() );
fileSelector = new FileSelector( "text/*", FileStack, "fileselector" , FALSE, FALSE); //buggy
// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
layout->addMultiCellWidget( FileStack, 1, 1, 0, 2 );
SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
SelectionCombo->setMinimumSize( QSize( 200, 25 ) );
SelectionCombo->insertItem( tr( "Documents" ) );
@@ -109,56 +110,67 @@ fileBrowser::~fileBrowser()
{
}
void fileBrowser::setFileView( int selection )
{
SelectionCombo->setCurrentItem( selection );
selectionChanged( SelectionCombo->currentText() );
}
void fileBrowser::populateList()
{
ListView->clear();
+ bool isDir=FALSE;
//qDebug(currentDir.canonicalPath());
currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
currentDir.setMatchAllDirs(TRUE);
currentDir.setNameFilter(filterStr);
// currentDir.setNameFilter("*.txt;*.etx");
- QString fileL, fileS;
+ QString fileL, fileS, fileDate;
const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
QFileInfoListIterator it(*list);
QFileInfo *fi;
while ( (fi=it.current()) ) {
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 {
// 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;
// qDebug( fileL);
}
}
- item= new QListViewItem( ListView,fileL,fileS );
+ if(fileL !="./") {
+ item= new QListViewItem( ListView,fileL,fileS , fileDate);
+ if(isDir || fileL.find("/",0,TRUE) != -1)
+ item->setPixmap( 0, Resource::loadPixmap( "folder" ));
+ else
+ item->setPixmap( 0, Resource::loadPixmap( "fileopen" ));
+ }
+ isDir=FALSE;
++it;
}
- ListView->setSorting( 2, FALSE);
+// ListView->setSorting( 2, FALSE);
+ ListView->setSorting( 3, FALSE);
dirLabel->setText(currentDir.canonicalPath());
}
void fileBrowser::upDir()
{
// qDebug(currentDir.canonicalPath());
}
// you may want to switch these 2 functions. I like single clicks
void fileBrowser::listClicked(QListViewItem *selectedItem)
{
QString strItem=selectedItem->text(0);