author | zecke <zecke> | 2002-09-15 21:22:18 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-09-15 21:22:18 (UTC) |
commit | 568c816cc66f1566b8be6ff8d246e7b1465ae61e (patch) (side-by-side diff) | |
tree | 3c1d1f9ac7421ae27b18f580670ac1e1b8bf8a92 /libopie/ofileselector/ofileselector.cpp | |
parent | f2594358208bb2ea826bbea6afb0b3aa35947378 (diff) | |
download | opie-568c816cc66f1566b8be6ff8d246e7b1465ae61e.zip opie-568c816cc66f1566b8be6ff8d246e7b1465ae61e.tar.gz opie-568c816cc66f1566b8be6ff8d246e7b1465ae61e.tar.bz2 |
ok basicly all old functions are available again
what's now missing is the code switching Listers
and views
toggling the toolbar
filter
Diffstat (limited to 'libopie/ofileselector/ofileselector.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie/ofileselector/ofileselector.cpp | 261 |
1 files changed, 25 insertions, 236 deletions
diff --git a/libopie/ofileselector/ofileselector.cpp b/libopie/ofileselector/ofileselector.cpp index 16ee3ee..98b61f7 100644 --- a/libopie/ofileselector/ofileselector.cpp +++ b/libopie/ofileselector/ofileselector.cpp @@ -33,3 +33,3 @@ #include "ofileselector.h" - +#include "olister.h" @@ -38,2 +38,3 @@ QMap<QString,QPixmap> *OFileSelector::m_pixmaps = 0; namespace { + /* let's find the index for a specified string */ int indexByString( const QComboBox *box, const QString &str ){ @@ -41,2 +42,3 @@ namespace { for(int i= 0; i < box->count(); i++ ){ + /* found */ if( str == box->text(i ) ){ @@ -48,3 +50,2 @@ namespace { } - } @@ -60,3 +61,5 @@ OFileSelector::OFileSelector( QWidget *wid, int mode, int selector, m_name = fileName; + initVars(); + m_mode = mode; @@ -65,3 +68,2 @@ OFileSelector::OFileSelector( QWidget *wid, int mode, int selector, init(); - //QTimer::singleShot(6*1000, this, SLOT( slotTest() ) ); } @@ -73,2 +75,3 @@ OFileSelector::OFileSelector(const QString &mimeFilter, QWidget *parent, { + /* update the mimefilter */ if (!mimeFilter.isEmpty() ) { @@ -156,2 +159,3 @@ void OFileSelector::setToolbarVisible( bool show ) initializeListView(); // FIXME see above waste of memory + if(!m_shTool ){ @@ -634,22 +638,2 @@ void OFileSelector::initVars() } -void OFileSelector::addFile(const QString &, QFileInfo *info, bool ) -{ - if(!m_files) - return; - // if( !compliesMime(info->absFilePath(), mime ) ) - // return; - MimeType type( info->absFilePath() ); - if (!compliesMime( type.id() ) ) - return; - -} -void OFileSelector::addDir(const QString &, QFileInfo *, bool ) -{ - if(!m_dir) - return; -} -void OFileSelector::delItems() -{ - -} void OFileSelector::initializeName() @@ -731,2 +715,3 @@ void OFileSelector::initializeChooser() m_viewCheck->insertItem( tr("All Files") ); + /* update to custom views */ updateMimeCheck(); @@ -816,28 +801,4 @@ void OFileSelector::initializeListView() // make a QWidgetStack first so Views can share the Toolbar - m_View = new QListView( m_pseudo, "Extended view"); - QPEApplication::setStylusOperation( m_View->viewport(), - QPEApplication::RightOnHold); - m_View->addColumn(" " ); - m_View->addColumn(tr("Name"), 135 ); - m_View->addColumn(tr("Size"), -1 ); - m_View->addColumn(tr("Date"), 60 ); - m_View->addColumn(tr("Mime Type"), -1 ); - QHeader *header = m_View->header(); - header->hide(); - m_View->setSorting( 1 ); - m_View->setAllColumnsShowFocus( TRUE ); - - connect(m_View, SIGNAL(selectionChanged() ), - this, SLOT(slotSelectionChanged() ) ); - - connect(m_View, SIGNAL(currentChanged(QListViewItem *) ), - this, SLOT(slotCurrentChanged(QListViewItem * ) ) ); - - connect(m_View, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint &, int) ), - this, SLOT(slotClicked( int, QListViewItem *, const QPoint &, int) ) ); - - connect(m_View, SIGNAL(mouseButtonPressed(int, QListViewItem *, const QPoint &, int )), - this, SLOT(slotRightButton(int, QListViewItem *, const QPoint &, int ) ) ); - - m_pseudoLayout->addWidget( m_View, 288 ); + + // m_pseudoLayout->addWidget( m_View, 288 ); m_stack->addWidget( m_pseudo, Extended ); @@ -851,3 +812,2 @@ void OFileSelector::initializePerm() m_lay->addWidget( m_checkPerm ); - } @@ -859,2 +819,3 @@ void OFileSelector::initPics() QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); + QPainter painter( &pm ); @@ -918,6 +879,2 @@ bool OFileSelector::compliesMime( const QString& mime ) { } - // dump it now - //for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { - // qWarning( "%s", (*it).latin1() ); - //} @@ -947,107 +904,4 @@ void OFileSelector::slotFileBridgeSelected( const DocLnk &lnk ) } -void OFileSelector::slotSelectionChanged() -{ - -} -void OFileSelector::slotCurrentChanged(QListViewItem* /*item*/ ) -{ - /* - if( item == 0 ) - return; - if( m_selector == Extended || m_selector == ExtendedAll ) { - OFileSelectorItem *sel = (OFileSelectorItem*) item; // start to use the C++ casts ;) - qWarning("current changed"); - if(!sel->isDir() ){ - if( m_shLne ) - m_edit->setText( sel->text(1) ); - - if (m_mode == Fileselector ) { - QStringList str = QStringList::split("->", sel->text(1) ); - QString path =sel->directory() + "/" + str[0].stripWhiteSpace(); - emit fileSelected(path ); - DocLnk lnk( path ); - emit fileSelected(lnk ); - } - } - } */ -} -void OFileSelector::slotClicked( int /*button*/, QListViewItem */*item*/, const QPoint &, int) -{ - /* - if ( item == 0 ) - return; - - if( button != Qt::LeftButton ) - return; - - switch( m_selector ){ - default: - break; - case Extended: // fall through - case ExtendedAll:{ - OFileSelectorItem *sel = (OFileSelectorItem*)item; - if(!sel->isLocked() ){ - QStringList str = QStringList::split("->", sel->text(1) ); - if( sel->isDir() ){ - cd( sel->directory() + "/" + str[0].stripWhiteSpace() ); - // if MODE Dir m_shLne set the Text - }else{ - if( m_shLne ) - m_edit->setText( str[0].stripWhiteSpace() ); - qWarning("selected here in slot clicked"); - emit fileSelected( sel->directory() + "/" + str[0].stripWhiteSpace() ); - DocLnk lnk( sel->directory() + "/" + str[0].stripWhiteSpace() ); - qWarning("file selected"); - emit fileSelected( lnk ); - } - } - break; - } - } */ -} -void OFileSelector::slotRightButton(int button, QListViewItem *item, const QPoint &, int ) -{ - if( item == 0 ) - return; - if( button != Qt::RightButton ) - return; - slotContextMenu( item ); -} -void OFileSelector::slotContextMenu( QListViewItem */*item*/) -{ - -} -void OFileSelector::slotChangedDir() -{ - /* - OFileSelectorItem *sel = (OFileSelectorItem*)m_View->currentItem(); - if(sel->isDir() ){ - QStringList str = QStringList::split("->", sel->text(1) ); - cd( sel->directory() + "/" + str[0].stripWhiteSpace() ); - } - */ -} -void OFileSelector::slotOpen() -{ - /* - OFileSelectorItem *sel = (OFileSelectorItem*)m_View->currentItem(); - if(!sel->isDir() ){ - QStringList str = QStringList::split("->", sel->text(1) ); - slotFileSelected( sel->directory() +"/" +str[0].stripWhiteSpace() ); - qWarning("slot open"); - // DocLnk lnk( sel->directory() + "/" + str[0].stripWhiteSpace() ); - //emit fileSelected( lnk ); - } - */ -} -void OFileSelector::slotRescan() -{ - -} -void OFileSelector::slotRename() -{ - reparse(); -} void OFileSelector::slotDelete() @@ -1103,6 +957,5 @@ void OFileSelector::reparse() return; - if( m_selector == Extended || m_selector == ExtendedAll ) - m_View->clear(); - else // custom view - ; // currentView()->clear(); + + currentView()->clear(); + if( m_shChooser) @@ -1111,2 +964,3 @@ void OFileSelector::reparse() QString currentMimeType; + // let's update the mimetype @@ -1120,21 +974,4 @@ void OFileSelector::reparse() // let's find possible mimetypes - QDir dir( m_currentDir ); - dir.setFilter( QDir::Files | QDir::Readable ); - dir.setSorting( QDir::Size ); - const QFileInfoList *list = dir.entryInfoList(); - QFileInfoListIterator it( *list ); - QFileInfo *fi; - while( (fi=it.current() ) ) { - if( fi->extension() == QString::fromLatin1("desktop") ){ - ++it; - continue; - } - MimeType type( fi->absFilePath() ); - if( !m_mimetypes.contains( type.id() ) ){ - //qWarning("Type %s", type.id().latin1() ); - m_mimetypes.insert( type.id(), type.id() ); - } + m_mimetypes = currentLister()->mimeTypes( m_currentDir ); - ++it; - } // add them to the chooser @@ -1147,6 +984,5 @@ void OFileSelector::reparse() - if( m_shChooser ){ + if( m_shChooser ) currentMimeType = m_mimeCheck->currentText(); -// updateMimeCheck(); - } + } @@ -1154,58 +990,7 @@ void OFileSelector::reparse() - QDir dir( m_currentDir ); + currentLister()->reparse( m_currentDir ); + /* we're done with adding let's sort */ + currentView()->sort(); - int sort; - if ( m_case ) - sort = (QDir::IgnoreCase | QDir::Name | QDir::DirsFirst | QDir::Reversed); - else - sort = (QDir::Name | QDir::DirsFirst | QDir::Reversed); - dir.setSorting( sort ); - int filter; - if( m_selector == ExtendedAll /*|| m_selector ==CUSTOM_ALL */ ){ - filter = QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All; - }else - filter = QDir::Files | QDir::Dirs | QDir::All; - dir.setFilter( filter ); - - // now go through all files - const QFileInfoList *list = dir.entryInfoList(); - QFileInfoListIterator it( *list ); - QFileInfo *fi; - while( (fi=it.current() ) ){ - //qWarning("True and only" ); - if( fi->fileName() == QString::fromLatin1("..") || fi->fileName() == QString::fromLatin1(".") ){ - //qWarning(".. or ." ); - ++it; - continue; - } - if( fi->isSymLink() ){ - QString file = fi->dirPath( true ) + "/" + fi->readLink(); - for( int i = 0; i<=4; i++) { // 5 tries to prevent dos - QFileInfo info( file ); - if( !info.exists() ){ - addSymlink( currentMimeType, fi, TRUE ); - break; - }else if( info.isDir() ){ - addDir( currentMimeType, fi, TRUE ); - break; - }else if( info.isFile() ){ - addFile( currentMimeType, fi, TRUE ); - break; - }else if( info.isSymLink() ){ - file = info.dirPath(true ) + "/" + info.readLink() ; - break; - }else if( i == 4){ - addSymlink( currentMimeType, fi ); - } - } // off for loop - }else if( fi->isDir() ){ - addDir( currentMimeType, fi ); - }else if( fi->isFile() ){ - addFile( currentMimeType, fi ); - } - //qWarning( "%s", fi->fileName().latin1() ); - ++it; - } // of while loop - m_View->sort(); if( m_shTool ){ @@ -1254,2 +1039,3 @@ void OFileSelector::internChangedDir( const QString& s) { emit dirSelected( s ); + cd(s ); } @@ -1262 +1048,4 @@ QPixmap OFileSelector::pixmap( const QString& s ) { } +OLister* OFileSelector::currentLister()const { + return 0l; +} |