-rw-r--r-- | libopie/libopie.control | 2 | ||||
-rw-r--r-- | libopie/ofileselector.cc | 159 |
2 files changed, 80 insertions, 81 deletions
diff --git a/libopie/libopie.control b/libopie/libopie.control index 80bd2fc..e5416bf 100644 --- a/libopie/libopie.control +++ b/libopie/libopie.control | |||
@@ -1,9 +1,9 @@ | |||
1 | Files: $QTDIR/lib/libopie.so.1.0.0 $QTDIR/lib/libopie.so.1.0 $QTDIR/lib/libopie.so.1 | 1 | Files: $QTDIR/lib/libopie.so.1.0.0 $QTDIR/lib/libopie.so.1.0 $QTDIR/lib/libopie.so.1 $QTDIR/pics/opie/* |
2 | Priority: optional | 2 | Priority: optional |
3 | Section: opie/system | 3 | Section: opie/system |
4 | Package: libopie | 4 | Package: libopie |
5 | Maintainer: - | 5 | Maintainer: - |
6 | Architecture: arm | 6 | Architecture: arm |
7 | Version: $QPE_VERSION-$SUB_VERSION | 7 | Version: $QPE_VERSION-$SUB_VERSION |
8 | Depends: qt-embedded (>=$QTE_VERSION) | 8 | Depends: qt-embedded (>=$QTE_VERSION) |
9 | Description: Opie library | 9 | Description: Opie library |
diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc index ea19143..cb18039 100644 --- a/libopie/ofileselector.cc +++ b/libopie/ofileselector.cc | |||
@@ -61,37 +61,37 @@ QMap<QString,QPixmap> *OFileSelector::m_pixmaps = 0; | |||
61 | 61 | ||
62 | namespace { | 62 | namespace { |
63 | 63 | ||
64 | int indexByString( const QComboBox *box, const QString &str ){ | 64 | int indexByString( const QComboBox *box, const QString &str ){ |
65 | int index= -1; | 65 | int index= -1; |
66 | for(int i= 0; i < box->count(); i++ ){ | 66 | for(int i= 0; i < box->count(); i++ ){ |
67 | qWarning("str T%sT boxT%sT", str.latin1(), box->text(i).latin1() ); | 67 | qWarning("str T%sT boxT%sT", str.latin1(), box->text(i).latin1() ); |
68 | if( str == box->text(i ) ){ | 68 | if( str == box->text(i ) ){ |
69 | index= i; | 69 | index= i; |
70 | break; | 70 | break; |
71 | } | 71 | } |
72 | } | 72 | } |
73 | return index; | 73 | return index; |
74 | } | 74 | } |
75 | 75 | ||
76 | }; | 76 | }; |
77 | 77 | ||
78 | 78 | ||
79 | OFileSelector::OFileSelector(QWidget *wid, int mode, int selector, const QString &dirName, | 79 | OFileSelector::OFileSelector(QWidget *wid, int mode, int selector, const QString &dirName, |
80 | const QString &fileName, const QStringList &mimetypes ) : QWidget( wid ) | 80 | const QString &fileName, const QStringList &mimetypes ) : QWidget( wid ) |
81 | { | 81 | { |
82 | if(wid!=0) | 82 | if(wid!=0) |
83 | resize(wid->width(),wid->height()); | 83 | resize(wid->width(),wid->height()); |
84 | m_selector = selector; | 84 | m_selector = selector; |
85 | m_currentDir = dirName; | 85 | m_currentDir = dirName; |
86 | m_name = fileName; | 86 | m_name = fileName; |
87 | m_mimetypes = mimetypes; | 87 | m_mimetypes = mimetypes; |
88 | if( mimetypes.isEmpty() ) | 88 | // if( mimetypes.isEmpty() ) |
89 | m_autoMime = true; | 89 | // m_autoMime = true; |
90 | 90 | ||
91 | m_mode = mode; | 91 | m_mode = mode; |
92 | m_shTool = true; | 92 | m_shTool = true; |
93 | m_shPerm = true; | 93 | m_shPerm = true; |
94 | m_shLne = true; | 94 | m_shLne = true; |
95 | m_shChooser = true; | 95 | m_shChooser = true; |
96 | m_shYesNo = true; | 96 | m_shYesNo = true; |
97 | // for FILESELECTOR only view is interesting | 97 | // for FILESELECTOR only view is interesting |
@@ -134,17 +134,17 @@ OFileSelector::OFileSelector(QWidget *wid, int mode, int selector, const QString | |||
134 | init(); | 134 | init(); |
135 | m_edit->setText( fileName ); | 135 | m_edit->setText( fileName ); |
136 | } | 136 | } |
137 | void OFileSelector::initPics() | 137 | void OFileSelector::initPics() |
138 | { | 138 | { |
139 | qWarning("init pics" ); | 139 | qWarning("init pics" ); |
140 | m_pixmaps = new QMap<QString,QPixmap>; | 140 | m_pixmaps = new QMap<QString,QPixmap>; |
141 | QPixmap pm = Resource::loadPixmap( "folder" ); | 141 | QPixmap pm = Resource::loadPixmap( "folder" ); |
142 | QPixmap lnk = Resource::loadPixmap( "symlink" ); | 142 | QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); |
143 | QPainter painter( &pm ); | 143 | QPainter painter( &pm ); |
144 | painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); | 144 | painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); |
145 | pm.setMask( pm.createHeuristicMask( FALSE ) ); | 145 | pm.setMask( pm.createHeuristicMask( FALSE ) ); |
146 | m_pixmaps->insert("dirsymlink", pm ); | 146 | m_pixmaps->insert("dirsymlink", pm ); |
147 | 147 | ||
148 | QPixmap pm2 = Resource::loadPixmap( "lockedfolder" ); | 148 | QPixmap pm2 = Resource::loadPixmap( "lockedfolder" ); |
149 | QPainter pen(&pm2 ); | 149 | QPainter pen(&pm2 ); |
150 | pen.drawPixmap(pm2.width()-lnk.width(), pm2.height()-lnk.height(), lnk ); | 150 | pen.drawPixmap(pm2.width()-lnk.width(), pm2.height()-lnk.height(), lnk ); |
@@ -413,22 +413,22 @@ void OFileSelector::reparse() | |||
413 | m_mimeCheck->clear(); | 413 | m_mimeCheck->clear(); |
414 | dir.setFilter( QDir::Files | QDir::Readable ); | 414 | dir.setFilter( QDir::Files | QDir::Readable ); |
415 | dir.setSorting(QDir::Size ); | 415 | dir.setSorting(QDir::Size ); |
416 | const QFileInfoList *list = dir.entryInfoList(); | 416 | const QFileInfoList *list = dir.entryInfoList(); |
417 | QFileInfoListIterator it( *list ); | 417 | QFileInfoListIterator it( *list ); |
418 | QFileInfo *fi; | 418 | QFileInfo *fi; |
419 | while( (fi=it.current()) ){ | 419 | while( (fi=it.current()) ){ |
420 | if(fi->extension() == QString::fromLatin1("desktop") ){ | 420 | if(fi->extension() == QString::fromLatin1("desktop") ){ |
421 | ++it; | 421 | ++it; |
422 | continue; | 422 | continue; |
423 | } | 423 | } |
424 | MimeType type(fi->filePath() ); | 424 | MimeType type(fi->filePath() ); |
425 | if( !m_mimetypes.contains( type.id() ) ) | 425 | if( !m_mimetypes.contains( type.id() ) ) |
426 | m_mimetypes.append( type.id() ); | 426 | m_mimetypes.append( type.id() ); |
427 | 427 | ||
428 | ++it; | 428 | ++it; |
429 | } | 429 | } |
430 | m_mimetypes.prepend("All" ); | 430 | m_mimetypes.prepend("All" ); |
431 | m_mimeCheck->insertStringList(m_mimetypes ); | 431 | m_mimeCheck->insertStringList(m_mimetypes ); |
432 | // set it to the current mimetype | 432 | // set it to the current mimetype |
433 | m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currMime ) ); | 433 | m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currMime ) ); |
434 | }; | 434 | }; |
@@ -462,36 +462,36 @@ void OFileSelector::reparse() | |||
462 | continue; | 462 | continue; |
463 | } | 463 | } |
464 | qWarning("Test: %s", fi->fileName().latin1() ); | 464 | qWarning("Test: %s", fi->fileName().latin1() ); |
465 | if(fi->isSymLink() ){ | 465 | if(fi->isSymLink() ){ |
466 | qWarning("Symlink %s", fi->fileName().latin1() ); | 466 | qWarning("Symlink %s", fi->fileName().latin1() ); |
467 | QString file = fi->dirPath(true)+"/"+ fi->readLink(); | 467 | QString file = fi->dirPath(true)+"/"+ fi->readLink(); |
468 | qWarning("File ->%s", file.latin1() ); | 468 | qWarning("File ->%s", file.latin1() ); |
469 | for(int i=0; i<=4; i++ ){ // prepend from dos | 469 | for(int i=0; i<=4; i++ ){ // prepend from dos |
470 | QFileInfo info( file ); | 470 | QFileInfo info( file ); |
471 | if( !info.exists() ){ | 471 | if( !info.exists() ){ |
472 | qWarning("does not exist" ); | 472 | qWarning("does not exist" ); |
473 | addSymlink(currMime, fi, TRUE ); | 473 | addSymlink(currMime, fi, TRUE ); |
474 | break; | 474 | break; |
475 | }else if( info.isDir() ){ | 475 | }else if( info.isDir() ){ |
476 | qWarning("isDir" ); | 476 | qWarning("isDir" ); |
477 | addDir(currMime, fi, TRUE ); | 477 | addDir(currMime, fi, TRUE ); |
478 | break; | 478 | break; |
479 | }else if( info.isFile() ){ | 479 | }else if( info.isFile() ){ |
480 | qWarning("isFile" ); | 480 | qWarning("isFile" ); |
481 | addFile(currMime, fi, TRUE ); | 481 | addFile(currMime, fi, TRUE ); |
482 | break; | 482 | break; |
483 | }else if( info.isSymLink() ){ | 483 | }else if( info.isSymLink() ){ |
484 | file = info.dirPath(true)+ "/"+ info.readLink(); | 484 | file = info.dirPath(true)+ "/"+ info.readLink(); |
485 | qWarning("isSymlink again %s", file.latin1() ); | 485 | qWarning("isSymlink again %s", file.latin1() ); |
486 | }else if( i == 4 ){ // just insert it and have the symlink symbol | 486 | }else if( i == 4 ){ // just insert it and have the symlink symbol |
487 | addSymlink(currMime, fi ); | 487 | addSymlink(currMime, fi ); |
488 | qWarning("level too deep" ); | 488 | qWarning("level too deep" ); |
489 | } | 489 | } |
490 | } | 490 | } |
491 | }else if( fi->isDir() ){ | 491 | }else if( fi->isDir() ){ |
492 | addDir(currMime, fi ); | 492 | addDir(currMime, fi ); |
493 | }else if( fi->isFile() ) { // file ? | 493 | }else if( fi->isFile() ) { // file ? |
494 | addFile(currMime, fi ); | 494 | addFile(currMime, fi ); |
495 | } | 495 | } |
496 | ++it; | 496 | ++it; |
497 | } | 497 | } |
@@ -531,54 +531,55 @@ void OFileSelector::initializeYes() | |||
531 | m_ok = new QPushButton("&Save", this, "save" ); | 531 | m_ok = new QPushButton("&Save", this, "save" ); |
532 | m_cancel = new QPushButton("C&ancel", this, "cancel" ); | 532 | m_cancel = new QPushButton("C&ancel", this, "cancel" ); |
533 | m_boxOk = new QHBoxLayout(this ); | 533 | m_boxOk = new QHBoxLayout(this ); |
534 | m_boxOk->addWidget( m_ok, Qt::AlignHCenter ); | 534 | m_boxOk->addWidget( m_ok, Qt::AlignHCenter ); |
535 | m_boxOk->insertSpacing(1, 8 ); | 535 | m_boxOk->insertSpacing(1, 8 ); |
536 | m_boxOk->addWidget( m_cancel, Qt::AlignHCenter); | 536 | m_boxOk->addWidget( m_cancel, Qt::AlignHCenter); |
537 | m_lay->addLayout(m_boxOk ); | 537 | m_lay->addLayout(m_boxOk ); |
538 | connect(m_ok, SIGNAL(clicked() ), | 538 | connect(m_ok, SIGNAL(clicked() ), |
539 | this, SLOT(slotOk() ) ); | 539 | this, SLOT(slotOk() ) ); |
540 | connect(m_cancel, SIGNAL(clicked() ), | 540 | connect(m_cancel, SIGNAL(clicked() ), |
541 | this, SLOT(slotCancel() ) ); | 541 | this, SLOT(slotCancel() ) ); |
542 | 542 | ||
543 | } | 543 | } |
544 | void OFileSelector::initializeChooser() | 544 | void OFileSelector::initializeChooser() |
545 | { | 545 | { |
546 | m_boxView = new QHBoxLayout(this ); | 546 | m_boxView = new QHBoxLayout(this ); |
547 | 547 | ||
548 | m_mimeCheck = new QComboBox(this, "mime check"); | 548 | m_mimeCheck = new QComboBox(this, "mime check"); |
549 | m_viewCheck = new QComboBox(this, "view check"); | 549 | m_viewCheck = new QComboBox(this, "view check"); |
550 | m_boxView->addWidget(m_viewCheck, 0 ); | 550 | m_boxView->addWidget(m_viewCheck, 0 ); |
551 | m_boxView->insertSpacing(1, 8 ); | 551 | m_boxView->insertSpacing(2, 8 ); |
552 | m_boxView->addWidget(m_mimeCheck, 0 ); | 552 | m_boxView->addWidget(m_mimeCheck, 0 ); |
553 | m_lay->addLayout(m_boxView ); | 553 | m_lay->addLayout(m_boxView ); |
554 | m_lay->insertSpacing( 4, 8); | ||
554 | 555 | ||
555 | m_viewCheck->insertItem(tr("Documents") ); | 556 | m_viewCheck->insertItem(tr("Documents") ); |
556 | m_viewCheck->insertItem(tr("Files") ); | 557 | m_viewCheck->insertItem(tr("Files") ); |
557 | m_viewCheck->insertItem(tr("All Files") ); | 558 | m_viewCheck->insertItem(tr("All Files") ); |
558 | 559 | ||
559 | if(!m_autoMime ) | 560 | // if(!m_autoMime ) |
560 | m_mimeCheck->insertItem(m_mimetypes.join("," ) ); | 561 | // m_mimeCheck->insertItem(m_mimetypes.join("," ) ); |
561 | else{ // check | 562 | // else{ // check |
562 | updateMimes(); | 563 | updateMimes(); |
563 | m_mimeCheck->insertStringList( m_mimetypes ); | 564 | m_mimeCheck->insertStringList( m_mimetypes ); |
564 | } | 565 | // } |
565 | 566 | ||
566 | connect( m_viewCheck, SIGNAL(activated(const QString &) ), | 567 | connect( m_viewCheck, SIGNAL(activated(const QString &) ), |
567 | this, SLOT(slotViewCheck(const QString & ) ) ); | 568 | this, SLOT(slotViewCheck(const QString & ) ) ); |
568 | 569 | ||
569 | connect( m_mimeCheck, SIGNAL(activated(const QString &) ), | 570 | connect( m_mimeCheck, SIGNAL(activated(const QString &) ), |
570 | this, SLOT(slotMimeCheck(const QString & ) ) ); | 571 | this, SLOT(slotMimeCheck(const QString & ) ) ); |
571 | } | 572 | } |
572 | void OFileSelector::slotMimeCheck(const QString &view ){ | 573 | void OFileSelector::slotMimeCheck(const QString &view ){ |
573 | if(m_selector == NORMAL ){ | 574 | if(m_selector == NORMAL ){ |
574 | delete m_select; | 575 | delete m_select; |
575 | m_select = new FileSelector(view == "All" ? QString::null : view | 576 | m_select = new FileSelector(view == "All" ? QString::null : view |
576 | , m_stack, "fileselector", FALSE, FALSE ); | 577 | , m_stack, "fileselector", FALSE, FALSE ); |
577 | m_stack->addWidget( m_select, NORMAL ); | 578 | m_stack->addWidget( m_select, NORMAL ); |
578 | m_stack->raiseWidget( NORMAL ); | 579 | m_stack->raiseWidget( NORMAL ); |
579 | }else{ | 580 | }else{ |
580 | reparse(); | 581 | reparse(); |
581 | } | 582 | } |
582 | } | 583 | } |
583 | 584 | ||
584 | void OFileSelector::slotViewCheck(const QString &view ){ | 585 | void OFileSelector::slotViewCheck(const QString &view ){ |
@@ -592,30 +593,30 @@ void OFileSelector::slotViewCheck(const QString &view ){ | |||
592 | delete m_View; | 593 | delete m_View; |
593 | delete m_boxToolbar; | 594 | delete m_boxToolbar; |
594 | delete m_homeButton; | 595 | delete m_homeButton; |
595 | delete m_docButton; | 596 | delete m_docButton; |
596 | delete m_location; | 597 | delete m_location; |
597 | delete m_up; | 598 | delete m_up; |
598 | delete m_pseudo; | 599 | delete m_pseudo; |
599 | //if(m_pseudoLayout!=0 ) | 600 | //if(m_pseudoLayout!=0 ) |
600 | //delete m_pseudoLayout; | 601 | // delete m_pseudoLayout; |
601 | } | 602 | } |
602 | m_View = 0; | 603 | m_View = 0; |
603 | m_boxToolbar = 0; | 604 | m_boxToolbar = 0; |
604 | m_homeButton = 0; | 605 | m_homeButton = 0; |
605 | m_docButton = 0; | 606 | m_docButton = 0; |
606 | m_location = 0; | 607 | m_location = 0; |
607 | m_up = 0; | 608 | m_up = 0; |
608 | m_pseudo = 0; | 609 | m_pseudo = 0; |
609 | m_pseudoLayout = 0; | 610 | m_pseudoLayout = 0; |
610 | 611 | ||
611 | delete m_select; | 612 | delete m_select; |
612 | m_select = new FileSelector( currMime == "All" ? QString::null : currMime, | 613 | m_select = new FileSelector( currMime == "All" ? QString::null : currMime, |
613 | m_stack,"fileselector", FALSE, FALSE ); | 614 | m_stack,"fileselector", FALSE, FALSE ); |
614 | m_stack->addWidget( m_select, NORMAL ); | 615 | m_stack->addWidget( m_select, NORMAL ); |
615 | m_mimeCheck->clear(); | 616 | m_mimeCheck->clear(); |
616 | m_selector = NORMAL; | 617 | m_selector = NORMAL; |
617 | updateMimes(); | 618 | updateMimes(); |
618 | m_mimeCheck->insertStringList( m_mimetypes ); | 619 | m_mimeCheck->insertStringList( m_mimetypes ); |
619 | m_stack->raiseWidget( NORMAL ); | 620 | m_stack->raiseWidget( NORMAL ); |
620 | connect(m_select, SIGNAL(fileSelected( const DocLnk &) ), this, SLOT(slotFileBridgeSelected(const DocLnk &) ) ); | 621 | connect(m_select, SIGNAL(fileSelected( const DocLnk &) ), this, SLOT(slotFileBridgeSelected(const DocLnk &) ) ); |
621 | 622 | ||
@@ -689,30 +690,27 @@ void OFileSelector::initializeListView() | |||
689 | m_pseudo = new QWidget(m_stack, "Pseudo Widget"); | 690 | m_pseudo = new QWidget(m_stack, "Pseudo Widget"); |
690 | m_pseudoLayout = new QVBoxLayout(m_pseudo ); | 691 | m_pseudoLayout = new QVBoxLayout(m_pseudo ); |
691 | if(m_shTool ){ | 692 | if(m_shTool ){ |
692 | m_boxToolbar = new QHBoxLayout( ); | 693 | m_boxToolbar = new QHBoxLayout( ); |
693 | m_boxToolbar->setAutoAdd( true ); | 694 | m_boxToolbar->setAutoAdd( true ); |
694 | m_location = new QComboBox(m_pseudo ); | 695 | m_location = new QComboBox(m_pseudo ); |
695 | 696 | ||
696 | m_up = new QPushButton(Resource::loadIconSet("up"),"", m_pseudo,"cdUpButton"); | 697 | m_up = new QPushButton(Resource::loadIconSet("up"),"", m_pseudo,"cdUpButton"); |
697 | m_up->setMinimumSize( QSize( 20, 20 ) ); | 698 | m_up->setFixedSize( QSize( 20, 20 ) ); |
698 | m_up->setMaximumSize( QSize( 20, 20 ) ); | ||
699 | connect(m_up ,SIGNAL(clicked()),this,SLOT(cdUP() ) ); | 699 | connect(m_up ,SIGNAL(clicked()),this,SLOT(cdUP() ) ); |
700 | m_up->setFlat(TRUE); | 700 | m_up->setFlat(TRUE); |
701 | 701 | ||
702 | m_homeButton = new QPushButton(Resource::loadIconSet("home") , "", m_pseudo); | 702 | m_homeButton = new QPushButton(Resource::loadIconSet("home") , "", m_pseudo); |
703 | m_homeButton->setMinimumSize( QSize( 20, 20 ) ); | 703 | m_homeButton->setFixedSize( QSize( 20, 20 ) ); |
704 | m_homeButton->setMaximumSize( QSize( 20, 20 ) ); | ||
705 | connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotHome() ) ); | 704 | connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotHome() ) ); |
706 | m_homeButton->setFlat(TRUE); | 705 | m_homeButton->setFlat(TRUE); |
707 | 706 | ||
708 | m_docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"", m_pseudo,"docsButton"); | 707 | m_docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"", m_pseudo,"docsButton"); |
709 | m_docButton->setMinimumSize( QSize( 20, 20 ) ); | 708 | m_docButton->setFixedSize( QSize( 20, 20 ) ); |
710 | m_docButton->setMaximumSize( QSize( 20, 20 ) ); | ||
711 | connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotDoc() ) ); | 709 | connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotDoc() ) ); |
712 | m_docButton->setFlat(TRUE); | 710 | m_docButton->setFlat(TRUE); |
713 | 711 | ||
714 | m_boxToolbar->addWidget(m_location ); | 712 | m_boxToolbar->addWidget(m_location ); |
715 | m_boxToolbar->addWidget(m_up ); | 713 | m_boxToolbar->addWidget(m_up ); |
716 | m_boxToolbar->addWidget(m_homeButton ); | 714 | m_boxToolbar->addWidget(m_homeButton ); |
717 | m_boxToolbar->addWidget(m_docButton ); | 715 | m_boxToolbar->addWidget(m_docButton ); |
718 | m_pseudoLayout->addLayout(m_boxToolbar ); | 716 | m_pseudoLayout->addLayout(m_boxToolbar ); |
@@ -734,30 +732,31 @@ void OFileSelector::initializeListView() | |||
734 | m_stack->raiseWidget( EXTENDED ); | 732 | m_stack->raiseWidget( EXTENDED ); |
735 | m_pseudoLayout->addWidget(m_View ); | 733 | m_pseudoLayout->addWidget(m_View ); |
736 | QPEApplication::setStylusOperation( m_View->viewport(),QPEApplication::RightOnHold); | 734 | QPEApplication::setStylusOperation( m_View->viewport(),QPEApplication::RightOnHold); |
737 | // set up the stuff | 735 | // set up the stuff |
738 | // Pixmap Name Date Size mime | 736 | // Pixmap Name Date Size mime |
739 | //(m_View->header() )->hide(); | 737 | //(m_View->header() )->hide(); |
740 | //m_View->setRootIsDecorated(false); | 738 | //m_View->setRootIsDecorated(false); |
741 | m_View->addColumn(" "); | 739 | m_View->addColumn(" "); |
742 | m_View->addColumn(tr("Name") ); | 740 | m_View->addColumn(tr("Name"),135 ); |
743 | m_View->addColumn(tr("Size") ); | 741 | m_View->addColumn(tr("Size"),-1 ); |
744 | m_View->addColumn(tr("Date"), 60 ); | 742 | m_View->addColumn(tr("Date"), 60 ); |
745 | m_View->addColumn(tr("Mime Type") ); | 743 | m_View->addColumn(tr("Mime Type"),-1 ); |
746 | QHeader *header = m_View->header(); | 744 | QHeader *header = m_View->header(); |
747 | header->hide(); | 745 | header->hide(); |
748 | m_View->setSorting(1 ); | 746 | m_View->setSorting(1 ); |
747 | m_View->setAllColumnsShowFocus( TRUE); | ||
749 | // connect now | 748 | // connect now |
750 | connect(m_View, SIGNAL(selectionChanged() ), this, SLOT(slotSelectionChanged() ) ); | 749 | connect(m_View, SIGNAL(selectionChanged() ), this, SLOT(slotSelectionChanged() ) ); |
751 | connect(m_View, SIGNAL(currentChanged(QListViewItem *) ), this, SLOT(slotCurrentChanged(QListViewItem * ) ) ); | 750 | connect(m_View, SIGNAL(currentChanged(QListViewItem *) ), this, SLOT(slotCurrentChanged(QListViewItem * ) ) ); |
752 | connect(m_View, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint &, int) ), | 751 | connect(m_View, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint &, int) ), |
753 | this, SLOT(slotClicked( int, QListViewItem *, const QPoint &, int) ) ); | 752 | this, SLOT(slotClicked( int, QListViewItem *, const QPoint &, int) ) ); |
754 | connect(m_View, SIGNAL(mouseButtonPressed(int, QListViewItem *, const QPoint &, int )), | 753 | connect(m_View, SIGNAL(mouseButtonPressed(int, QListViewItem *, const QPoint &, int )), |
755 | this, SLOT(slotRightButton(int, QListViewItem *, const QPoint &, int ) ) ); | 754 | this, SLOT(slotRightButton(int, QListViewItem *, const QPoint &, int ) ) ); |
756 | 755 | ||
757 | 756 | ||
758 | }; | 757 | }; |
759 | /* If a item is locked depends on the mode | 758 | /* If a item is locked depends on the mode |
760 | if we're in OPEN !isReadable is locked | 759 | if we're in OPEN !isReadable is locked |
761 | if we're in SAVE !isWriteable is locked | 760 | if we're in SAVE !isWriteable is locked |
762 | 761 | ||
763 | 762 | ||
@@ -786,65 +785,65 @@ void OFileSelector::addFile(const QString &mime, QFileInfo *info, bool symlink ) | |||
786 | dir = info->dirPath( true ); | 785 | dir = info->dirPath( true ); |
787 | if( symlink ) { // check if the readLink is readable | 786 | if( symlink ) { // check if the readLink is readable |
788 | // do it right later | 787 | // do it right later |
789 | name = info->fileName() + " -> " + info->dirPath() + "/" + info->readLink(); | 788 | name = info->fileName() + " -> " + info->dirPath() + "/" + info->readLink(); |
790 | }else{ // keep track of the icons | 789 | }else{ // keep track of the icons |
791 | name = info->fileName(); | 790 | name = info->fileName(); |
792 | if( m_mode == OPEN ){ | 791 | if( m_mode == OPEN ){ |
793 | if( !info->isReadable() ){ | 792 | if( !info->isReadable() ){ |
794 | locked = true; | 793 | locked = true; |
795 | pix = Resource::loadPixmap("locked" ); | 794 | pix = Resource::loadPixmap("locked" ); |
796 | } | 795 | } |
797 | }else if( m_mode == SAVE ){ | 796 | }else if( m_mode == SAVE ){ |
798 | if( !info->isWritable() ){ | 797 | if( !info->isWritable() ){ |
799 | locked = true; | 798 | locked = true; |
800 | pix = Resource::loadPixmap("locked" ); | 799 | pix = Resource::loadPixmap("locked" ); |
801 | } | 800 | } |
802 | } | 801 | } |
803 | } | 802 | } |
804 | new OFileSelectorItem( m_View, pix, name, | 803 | new OFileSelectorItem( m_View, pix, name, |
805 | info->lastModified().toString(), | 804 | info->lastModified().toString(), |
806 | QString::number( info->size() ), | 805 | QString::number( info->size() ), |
807 | dir, locked ); | 806 | dir, locked ); |
808 | } | 807 | } |
809 | void OFileSelector::addDir(const QString &mime, QFileInfo *info, bool symlink ) | 808 | void OFileSelector::addDir(const QString &mime, QFileInfo *info, bool symlink ) |
810 | { | 809 | { |
811 | if(!m_dir ) | 810 | if(!m_dir ) |
812 | return; | 811 | return; |
813 | //if( showDirs ) | 812 | //if( showDirs ) |
814 | { | 813 | { |
815 | bool locked=false; | 814 | bool locked=false; |
816 | QString name; | 815 | QString name; |
817 | QPixmap pix; | 816 | QPixmap pix; |
818 | if( ( m_mode == OPEN && !info->isReadable() ) || ( m_mode == SAVE && !info->isWritable() ) ){ | 817 | if( ( m_mode == OPEN && !info->isReadable() ) || ( m_mode == SAVE && !info->isWritable() ) ){ |
819 | locked = true; | 818 | locked = true; |
820 | if( symlink ){ | 819 | if( symlink ){ |
821 | pix = (*m_pixmaps)["symlinkedlocked"]; | 820 | pix = (*m_pixmaps)["symlinkedlocked"]; |
822 | }else{ | 821 | }else{ |
823 | pix = Resource::loadPixmap("lockedfolder" ); | 822 | pix = Resource::loadPixmap("lockedfolder" ); |
824 | } | 823 | } |
825 | }else{ | 824 | }else{ |
826 | if( symlink ){ | 825 | if( symlink ){ |
827 | pix = (*m_pixmaps)["dirsymlink" ]; | 826 | pix = (*m_pixmaps)["dirsymlink" ]; |
828 | }else{ | 827 | }else{ |
829 | pix = Resource::loadPixmap("folder" ); | 828 | pix = Resource::loadPixmap("folder" ); |
830 | } | 829 | } |
831 | } | 830 | } |
832 | if( symlink){ | 831 | if( symlink){ |
833 | name = info->fileName()+ "->"+ info->dirPath(true) +"/" +info->readLink(); | 832 | name = info->fileName()+ "->"+ info->dirPath(true) +"/" +info->readLink(); |
834 | 833 | ||
835 | }else{ | 834 | }else{ |
836 | //if(info->isReadable() ) | 835 | //if(info->isReadable() ) |
837 | name = info->fileName(); | 836 | name = info->fileName(); |
838 | } | 837 | } |
839 | 838 | ||
840 | new OFileSelectorItem(m_View, pix, | 839 | new OFileSelectorItem(m_View, pix, |
841 | name, info->lastModified().toString(), | 840 | name, info->lastModified().toString(), |
842 | QString::number(info->size() ),info->dirPath(true), locked, true ); | 841 | QString::number(info->size() ),info->dirPath(true), locked, true ); |
843 | 842 | ||
844 | } | 843 | } |
845 | } | 844 | } |
846 | void OFileSelector::setShowDirs(bool dir ) | 845 | void OFileSelector::setShowDirs(bool dir ) |
847 | { | 846 | { |
848 | m_dir = dir; | 847 | m_dir = dir; |
849 | reparse(); | 848 | reparse(); |
850 | } | 849 | } |
@@ -873,18 +872,18 @@ void OFileSelector::slotCurrentChanged(QListViewItem *item ) | |||
873 | if( item == 0 ) | 872 | if( item == 0 ) |
874 | return; | 873 | return; |
875 | 874 | ||
876 | if( m_selector == EXTENDED || m_selector == EXTENDED_ALL ){ | 875 | if( m_selector == EXTENDED || m_selector == EXTENDED_ALL ){ |
877 | OFileSelectorItem *sel = (OFileSelectorItem*)item; | 876 | OFileSelectorItem *sel = (OFileSelectorItem*)item; |
878 | if(!sel->isDir() ){ | 877 | if(!sel->isDir() ){ |
879 | qWarning("is not dir" ); | 878 | qWarning("is not dir" ); |
880 | if(m_shLne ){ | 879 | if(m_shLne ){ |
881 | m_edit->setText(sel->text(1) ); | 880 | m_edit->setText(sel->text(1) ); |
882 | qWarning("setTexy" ); | 881 | qWarning("setTexy" ); |
883 | } | 882 | } |
884 | } | 883 | } |
885 | }else { | 884 | }else { |
886 | qWarning("mode not extended" ); | 885 | qWarning("mode not extended" ); |
887 | } | 886 | } |
888 | } | 887 | } |
889 | // either select or change dir | 888 | // either select or change dir |
890 | void OFileSelector::slotClicked( int button, QListViewItem *item, const QPoint &point, int ) | 889 | void OFileSelector::slotClicked( int button, QListViewItem *item, const QPoint &point, int ) |
@@ -897,23 +896,23 @@ void OFileSelector::slotClicked( int button, QListViewItem *item, const QPoint & | |||
897 | 896 | ||
898 | qWarning("clicked" ); | 897 | qWarning("clicked" ); |
899 | if(m_selector == EXTENDED || m_selector == EXTENDED_ALL ){ | 898 | if(m_selector == EXTENDED || m_selector == EXTENDED_ALL ){ |
900 | qWarning("inside" ); | 899 | qWarning("inside" ); |
901 | OFileSelectorItem *sel = (OFileSelectorItem*)item; | 900 | OFileSelectorItem *sel = (OFileSelectorItem*)item; |
902 | if(!sel->isLocked() ){ // not locked either changedir or open | 901 | if(!sel->isLocked() ){ // not locked either changedir or open |
903 | QStringList str = QStringList::split("->", sel->text(1) ); | 902 | QStringList str = QStringList::split("->", sel->text(1) ); |
904 | if(sel->isDir() ){ | 903 | if(sel->isDir() ){ |
905 | cd( sel->directory() + "/" + str[0] ); | 904 | cd( sel->directory() + "/" + str[0] ); |
906 | }else{ | 905 | }else{ |
907 | qWarning("file" ); | 906 | qWarning("file" ); |
908 | if(m_shLne ) | 907 | if(m_shLne ) |
909 | m_edit->setText(str[0] ); | 908 | m_edit->setText(str[0] ); |
910 | emit fileSelected(str[0] ); | 909 | emit fileSelected(str[0] ); |
911 | // emit DocLnk need to do it | 910 | // emit DocLnk need to do it |
912 | } | 911 | } |
913 | }else{ | 912 | }else{ |
914 | qWarning( "locked" ); | 913 | qWarning( "locked" ); |
915 | } | 914 | } |
916 | }; | 915 | }; |
917 | } | 916 | } |
918 | void OFileSelector::slotRightButton(int button, QListViewItem *item, const QPoint &, int ) | 917 | void OFileSelector::slotRightButton(int button, QListViewItem *item, const QPoint &, int ) |
919 | { | 918 | { |
@@ -934,49 +933,49 @@ void OFileSelector::slotContextMenu(QListViewItem *item) | |||
934 | if( m_custom !=0){ | 933 | if( m_custom !=0){ |
935 | m_custom->exec(); | 934 | m_custom->exec(); |
936 | }else{ | 935 | }else{ |
937 | QPopupMenu menu; | 936 | QPopupMenu menu; |
938 | QAction up; | 937 | QAction up; |
939 | up.setText("cd up"); | 938 | up.setText("cd up"); |
940 | up.addTo( &menu ); | 939 | up.addTo( &menu ); |
941 | connect(&up, SIGNAL(activated() ), | 940 | connect(&up, SIGNAL(activated() ), |
942 | this, SLOT(cdUP() ) ); | 941 | this, SLOT(cdUP() ) ); |
943 | 942 | ||
944 | QAction act; | 943 | QAction act; |
945 | OFileSelectorItem *sel = (OFileSelectorItem*)item; | 944 | OFileSelectorItem *sel = (OFileSelectorItem*)item; |
946 | if(sel->isDir() ){ | 945 | if(sel->isDir() ){ |
947 | act.setText( tr("Change Directory") ); | 946 | act.setText( tr("Change Directory") ); |
948 | act.addTo(&menu ); | 947 | act.addTo(&menu ); |
949 | connect(&act, SIGNAL(activated() ), | 948 | connect(&act, SIGNAL(activated() ), |
950 | this, SLOT(slotChangedDir() ) ); | 949 | this, SLOT(slotChangedDir() ) ); |
951 | }else{ | 950 | }else{ |
952 | act.setText( tr("Open file" ) ); | 951 | act.setText( tr("Open file" ) ); |
953 | act.addTo( &menu ); | 952 | act.addTo( &menu ); |
954 | connect(&act, SIGNAL(activated() ), | 953 | connect(&act, SIGNAL(activated() ), |
955 | this, SLOT(slotOpen() ) ); | 954 | this, SLOT(slotOpen() ) ); |
956 | } | 955 | } |
957 | QAction rescan; | 956 | QAction rescan; |
958 | rescan.setText( tr("Rescan") ); | 957 | rescan.setText( tr("Rescan") ); |
959 | rescan.addTo( &menu ); | 958 | rescan.addTo( &menu ); |
960 | connect(&rescan, SIGNAL(activated() ), | 959 | connect(&rescan, SIGNAL(activated() ), |
961 | this, SLOT(slotRescan() ) ); | 960 | this, SLOT(slotRescan() ) ); |
962 | 961 | ||
963 | QAction rename; | 962 | QAction rename; |
964 | rename.setText( tr("Rename") ); | 963 | rename.setText( tr("Rename") ); |
965 | rename.addTo( &menu ); | 964 | rename.addTo( &menu ); |
966 | connect(&rename, SIGNAL(activated() ), | 965 | connect(&rename, SIGNAL(activated() ), |
967 | this, SLOT(slotRename() ) ); | 966 | this, SLOT(slotRename() ) ); |
968 | 967 | ||
969 | menu.insertSeparator(); | 968 | menu.insertSeparator(); |
970 | QAction delItem; | 969 | QAction delItem; |
971 | delItem.setText( tr("Delete") ); | 970 | delItem.setText( tr("Delete") ); |
972 | delItem.addTo(&menu ); | 971 | delItem.addTo(&menu ); |
973 | connect(&delItem, SIGNAL(activated() ), | 972 | connect(&delItem, SIGNAL(activated() ), |
974 | this, SLOT(slotDelete() ) ); | 973 | this, SLOT(slotDelete() ) ); |
975 | 974 | ||
976 | menu.exec(QCursor::pos() ); | 975 | menu.exec(QCursor::pos() ); |
977 | } | 976 | } |
978 | } | 977 | } |
979 | bool OFileSelector::cd(const QString &str ) | 978 | bool OFileSelector::cd(const QString &str ) |
980 | { | 979 | { |
981 | qWarning(" dir %s", str.latin1() ); | 980 | qWarning(" dir %s", str.latin1() ); |
982 | QDir dir( str); | 981 | QDir dir( str); |