summaryrefslogtreecommitdiff
path: root/libopie/ofileselector.cc
Unidiff
Diffstat (limited to 'libopie/ofileselector.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ofileselector.cc39
1 files changed, 32 insertions, 7 deletions
diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc
index 824acf2..3c3a6c4 100644
--- a/libopie/ofileselector.cc
+++ b/libopie/ofileselector.cc
@@ -332,5 +332,9 @@ QString OFileSelector::selectedName() const
332 }else if( m_selector == EXTENDED || m_selector == EXTENDED_ALL ){ 332 }else if( m_selector == EXTENDED || m_selector == EXTENDED_ALL ){
333 QListViewItem *item = m_View->currentItem(); 333 if ( m_shLne ) {
334 if( item != 0 ) 334 name = m_currentDir + "/" +m_edit->text();
335 name = m_currentDir + "/" + item->text( 1 ); 335 }else{
336 QListViewItem *item = m_View->currentItem();
337 if( item != 0 )
338 name = m_currentDir + "/" + item->text( 1 );
339 }
336 }else { // installed view 340 }else { // installed view
@@ -523,6 +527,17 @@ void OFileSelector::slotMimeCheck(const QString &mime)
523} 527}
528/*
529 * Ok if a non dir gets inserted into this combobox
530 * we need to change it
531 * QFileInfo and dirPath will give us the right Dir
532 */
524void OFileSelector::slotLocationActivated(const QString &file) 533void OFileSelector::slotLocationActivated(const QString &file)
525{ 534{
526 cd(file.left(file.find("<-",0,TRUE))); 535 qWarning("slotLocationActivated");
527 reparse(); 536 QString name = file.left( file.find("<-", 0, TRUE ) );
537 QFileInfo info( name );
538 if ( info.isFile() )
539 cd(info.dirPath( TRUE ) ); //absolute
540 else
541 cd(name );
542 reparse();
528} 543}
@@ -546,6 +561,16 @@ void OFileSelector::slotInsertLocationPath(const QString &currentPath, int count
546} 561}
562/*
563 * Do not crash anymore
564 * don't try to change dir to a file
565 */
547void OFileSelector::locationComboChanged() 566void OFileSelector::locationComboChanged()
548{ 567{
549 cd( m_location->lineEdit()->text()); 568 QFileInfo info( m_location->lineEdit()->text() );
550 reparse(); 569 qWarning("info %s %s", info.dirPath(true).latin1(), m_location->lineEdit()->text().latin1() );
570 if (info.isFile() )
571 cd(info.dirPath(TRUE) ); //absolute path
572 else
573 cd( m_location->lineEdit()->text() );
574
575 reparse();
551} 576}