summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/libopie.control2
-rw-r--r--libopie/ofileselector.cc159
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,4 +1,4 @@
1Files: $QTDIR/lib/libopie.so.1.0.0 $QTDIR/lib/libopie.so.1.0 $QTDIR/lib/libopie.so.1 1Files: $QTDIR/lib/libopie.so.1.0.0 $QTDIR/lib/libopie.so.1.0 $QTDIR/lib/libopie.so.1 $QTDIR/pics/opie/*
2Priority: optional 2Priority: optional
3Section: opie/system 3Section: opie/system
4Package: libopie 4Package: libopie
diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc
index ea19143..cb18039 100644
--- a/libopie/ofileselector.cc
+++ b/libopie/ofileselector.cc
@@ -66,8 +66,8 @@ namespace {
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;
@@ -77,16 +77,16 @@ namespace {
77 77
78 78
79OFileSelector::OFileSelector(QWidget *wid, int mode, int selector, const QString &dirName, 79OFileSelector::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;
@@ -139,7 +139,7 @@ void OFileSelector::initPics()
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 ) );
@@ -418,12 +418,12 @@ void OFileSelector::reparse()
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 }
@@ -467,26 +467,26 @@ void OFileSelector::reparse()
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 );
@@ -536,9 +536,9 @@ void OFileSelector::initializeYes()
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}
544void OFileSelector::initializeChooser() 544void OFileSelector::initializeChooser()
@@ -548,32 +548,33 @@ void OFileSelector::initializeChooser()
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}
572void OFileSelector::slotMimeCheck(const QString &view ){ 573void 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{
@@ -597,7 +598,7 @@ void OFileSelector::slotViewCheck(const QString &view ){
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;
@@ -610,7 +611,7 @@ void OFileSelector::slotViewCheck(const QString &view ){
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;
@@ -694,20 +695,17 @@ void OFileSelector::initializeListView()
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
@@ -739,20 +737,21 @@ void OFileSelector::initializeListView()
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};
@@ -791,20 +790,20 @@ void OFileSelector::addFile(const QString &mime, QFileInfo *info, bool symlink )
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}
809void OFileSelector::addDir(const QString &mime, QFileInfo *info, bool symlink ) 808void OFileSelector::addDir(const QString &mime, QFileInfo *info, bool symlink )
810{ 809{
@@ -818,15 +817,15 @@ void OFileSelector::addDir(const QString &mime, QFileInfo *info, bool symlink )
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){
@@ -838,8 +837,8 @@ void OFileSelector::addDir(const QString &mime, QFileInfo *info, bool symlink )
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}
@@ -878,8 +877,8 @@ void OFileSelector::slotCurrentChanged(QListViewItem *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 {
@@ -902,13 +901,13 @@ void OFileSelector::slotClicked( int button, QListViewItem *item, const QPoint &
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" );
@@ -939,7 +938,7 @@ void OFileSelector::slotContextMenu(QListViewItem *item)
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;
@@ -947,31 +946,31 @@ void OFileSelector::slotContextMenu(QListViewItem *item)
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 }