summaryrefslogtreecommitdiff
authorzecke <zecke>2002-04-12 13:24:38 (UTC)
committer zecke <zecke>2002-04-12 13:24:38 (UTC)
commite3443eef4d49c7e91369790c29dd3b15b5dba854 (patch) (unidiff)
treeb92f78798a247ecf3eec501c64f5f8c81dc043fe
parent3973cf42c778055ab81a9ee254eaf8829464f936 (diff)
downloadopie-e3443eef4d49c7e91369790c29dd3b15b5dba854.zip
opie-e3443eef4d49c7e91369790c29dd3b15b5dba854.tar.gz
opie-e3443eef4d49c7e91369790c29dd3b15b5dba854.tar.bz2
fix the crash
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/TODO1
-rw-r--r--libopie/ofileselector.cc10
2 files changed, 6 insertions, 5 deletions
diff --git a/libopie/TODO b/libopie/TODO
index a4e1ada..d49910c 100644
--- a/libopie/TODO
+++ b/libopie/TODO
@@ -1,19 +1,20 @@
1- xmltree done 1- xmltree done
2 2
3- tododb 3- tododb
4 - set Alarms 4 - set Alarms
5 - multiple categories 5 - multiple categories
6 - Attendees 6 - Attendees
7 7
8- OFileSelector 8- OFileSelector
9 - fix the weird view change bug delete m_pseudoLayout crash
9 - DocLnk when not in Document Mode ( and vice versa ) 10 - DocLnk when not in Document Mode ( and vice versa )
10 - MultipleDocuments 11 - MultipleDocuments
11 - TreeView have a own OFileSelectorItem for this 12 - TreeView have a own OFileSelectorItem for this
12 - IconView add a QIconView to the widgetstack 13 - IconView add a QIconView to the widgetstack
13 - Move OFileSelectorItem to it's own files 14 - Move OFileSelectorItem to it's own files
14 - add functions to access the member variables 15 - add functions to access the member variables
15 - debug 16 - debug
16 - new Dirs created inside the listview 17 - new Dirs created inside the listview
17 18
18- Clickable labels? 19- Clickable labels?
19 Harlekin you wanted them in the libs? \ No newline at end of file 20 Harlekin you wanted them in the libs? \ No newline at end of file
diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc
index 7451c1b..968541a 100644
--- a/libopie/ofileselector.cc
+++ b/libopie/ofileselector.cc
@@ -503,274 +503,274 @@ QString OFileSelector::directory()const
503} 503}
504int OFileSelector::fileCount() 504int OFileSelector::fileCount()
505{ 505{
506 return 0; 506 return 0;
507} 507}
508void OFileSelector::slotOk( ) 508void OFileSelector::slotOk( )
509{ 509{
510 emit ok(); 510 emit ok();
511} 511}
512void OFileSelector::slotCancel( ) 512void OFileSelector::slotCancel( )
513{ 513{
514 emit cancel(); 514 emit cancel();
515} 515}
516 516
517void OFileSelector::initializeName() 517void OFileSelector::initializeName()
518{ 518{
519 m_boxName = new QHBoxLayout(this ); 519 m_boxName = new QHBoxLayout(this );
520 m_edit = new QLineEdit(this ); 520 m_edit = new QLineEdit(this );
521 m_fnLabel = new QLabel(this ); 521 m_fnLabel = new QLabel(this );
522 m_fnLabel->setText(tr("Name:") ); 522 m_fnLabel->setText(tr("Name:") );
523 m_boxName->addWidget(m_fnLabel ); 523 m_boxName->addWidget(m_fnLabel );
524 m_boxName->insertSpacing(1, 8 ); 524 m_boxName->insertSpacing(1, 8 );
525 m_boxName->addWidget(m_edit, 100 ); 525 m_boxName->addWidget(m_edit, 100 );
526 526
527 m_lay->addLayout(m_boxName); 527 m_lay->addLayout(m_boxName);
528} 528}
529void OFileSelector::initializeYes() 529void OFileSelector::initializeYes()
530{ 530{
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}
544void OFileSelector::initializeChooser() 544void 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(1, 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 554
555 m_viewCheck->insertItem(tr("Documents") ); 555 m_viewCheck->insertItem(tr("Documents") );
556 m_viewCheck->insertItem(tr("Files") ); 556 m_viewCheck->insertItem(tr("Files") );
557 m_viewCheck->insertItem(tr("All Files") ); 557 m_viewCheck->insertItem(tr("All Files") );
558 558
559 if(!m_autoMime ) 559 if(!m_autoMime )
560 m_mimeCheck->insertItem(m_mimetypes.join("," ) ); 560 m_mimeCheck->insertItem(m_mimetypes.join("," ) );
561 else{ // check 561 else{ // check
562 updateMimes(); 562 updateMimes();
563 m_mimeCheck->insertStringList( m_mimetypes ); 563 m_mimeCheck->insertStringList( m_mimetypes );
564 } 564 }
565 565
566 connect( m_viewCheck, SIGNAL(activated(const QString &) ), 566 connect( m_viewCheck, SIGNAL(activated(const QString &) ),
567 this, SLOT(slotViewCheck(const QString & ) ) ); 567 this, SLOT(slotViewCheck(const QString & ) ) );
568 568
569 connect( m_mimeCheck, SIGNAL(activated(const QString &) ), 569 connect( m_mimeCheck, SIGNAL(activated(const QString &) ),
570 this, SLOT(slotMimeCheck(const QString & ) ) ); 570 this, SLOT(slotMimeCheck(const QString & ) ) );
571} 571}
572void OFileSelector::slotMimeCheck(const QString &view ){ 572void OFileSelector::slotMimeCheck(const QString &view ){
573 if(m_selector == NORMAL ){ 573 if(m_selector == NORMAL ){
574 delete m_select; 574 delete m_select;
575 m_select = new FileSelector(view == "All" ? QString::null : view 575 m_select = new FileSelector(view == "All" ? QString::null : view
576 , m_stack, "fileselector", FALSE, FALSE ); 576 , m_stack, "fileselector", FALSE, FALSE );
577 m_stack->addWidget( m_select, NORMAL ); 577 m_stack->addWidget( m_select, NORMAL );
578 m_stack->raiseWidget( NORMAL ); 578 m_stack->raiseWidget( NORMAL );
579 }else{ 579 }else{
580 reparse(); 580 reparse();
581 } 581 }
582} 582}
583 583
584void OFileSelector::slotViewCheck(const QString &view ){ 584void OFileSelector::slotViewCheck(const QString &view ){
585 qWarning("changed: show %s", view.latin1() ); 585 qWarning("changed: show %s", view.latin1() );
586 // if the current view is the one 586 // if the current view is the one
587 QString currMime = m_mimeCheck->currentText(); 587 QString currMime = m_mimeCheck->currentText();
588 if( view == QString::fromLatin1("Documents") ){ 588 if( view == QString::fromLatin1("Documents") ){
589 // get the mimetype now 589 // get the mimetype now
590 // check if we're the current widget and return 590 // check if we're the current widget and return
591 if( m_View != 0) { // delete 0 shouldn't crash but it did :( 591 if( m_View != 0) { // delete 0 shouldn't crash but it did :(
592 delete m_View; 592 delete m_View;
593 delete m_boxToolbar; 593 delete m_boxToolbar;
594 delete m_homeButton; 594 delete m_homeButton;
595 delete m_docButton; 595 delete m_docButton;
596 delete m_location; 596 delete m_location;
597 delete m_up; 597 delete m_up;
598 delete m_pseudo; 598 delete m_pseudo;
599 if(m_pseudoLayout!=0 ) 599 //if(m_pseudoLayout!=0 )
600 delete m_pseudoLayout; 600 //delete m_pseudoLayout;
601 } 601 }
602 m_View = 0; 602 m_View = 0;
603 m_boxToolbar = 0; 603 m_boxToolbar = 0;
604 m_homeButton = 0; 604 m_homeButton = 0;
605 m_docButton = 0; 605 m_docButton = 0;
606 m_location = 0; 606 m_location = 0;
607 m_up = 0; 607 m_up = 0;
608 m_pseudo = 0; 608 m_pseudo = 0;
609 m_pseudoLayout = 0; 609 m_pseudoLayout = 0;
610 610
611 delete m_select; 611 delete m_select;
612 m_select = new FileSelector( currMime == "All" ? QString::null : currMime, 612 m_select = new FileSelector( currMime == "All" ? QString::null : currMime,
613 m_stack,"fileselector", FALSE, FALSE ); 613 m_stack,"fileselector", FALSE, FALSE );
614 m_stack->addWidget( m_select, NORMAL ); 614 m_stack->addWidget( m_select, NORMAL );
615 m_mimeCheck->clear(); 615 m_mimeCheck->clear();
616 m_selector = NORMAL; 616 m_selector = NORMAL;
617 updateMimes(); 617 updateMimes();
618 m_mimeCheck->insertStringList( m_mimetypes ); 618 m_mimeCheck->insertStringList( m_mimetypes );
619 m_stack->raiseWidget( NORMAL ); 619 m_stack->raiseWidget( NORMAL );
620 connect(m_select, SIGNAL(fileSelected( const DocLnk &) ), this, SLOT(slotFileBridgeSelected(const DocLnk &) ) ); 620 connect(m_select, SIGNAL(fileSelected( const DocLnk &) ), this, SLOT(slotFileBridgeSelected(const DocLnk &) ) );
621 621
622 }else if(view == QString::fromLatin1("Files") ){ 622 }else if(view == QString::fromLatin1("Files") ){
623 // remove from the stack 623 // remove from the stack
624 delete m_select; 624 delete m_select;
625 m_select = 0; 625 m_select = 0;
626 delete m_View; 626 delete m_View;
627 m_View = 0; 627 m_View = 0;
628 628
629 629
630 630
631 m_selector = EXTENDED; 631 m_selector = EXTENDED;
632 // create the ListView or IconView 632 // create the ListView or IconView
633 initializeListView(); 633 initializeListView();
634 634
635 reparse(); 635 reparse();
636 }else if(view == QString::fromLatin1("All Files") ) { 636 }else if(view == QString::fromLatin1("All Files") ) {
637 // remove from the stack 637 // remove from the stack
638 delete m_select; 638 delete m_select;
639 m_select = 0; 639 m_select = 0;
640 delete m_View; 640 delete m_View;
641 m_View = 0; 641 m_View = 0;
642 642
643 m_selector = EXTENDED_ALL; 643 m_selector = EXTENDED_ALL;
644 initializeListView(); 644 initializeListView();
645 reparse(); 645 reparse();
646 }; 646 };
647}; 647};
648 648
649 649
650void OFileSelector::updateMimes() // lets check which mode is active 650void OFileSelector::updateMimes() // lets check which mode is active
651 // check the current dir for items then 651 // check the current dir for items then
652{ 652{
653 m_mimetypes.clear(); 653 m_mimetypes.clear();
654 m_mimetypes.append("All" ); 654 m_mimetypes.append("All" );
655 if( m_selector == NORMAL ){ 655 if( m_selector == NORMAL ){
656 DocLnkSet set; 656 DocLnkSet set;
657 Global::findDocuments(&set, QString::null ); 657 Global::findDocuments(&set, QString::null );
658 QListIterator<DocLnk> dit( set.children() ); 658 QListIterator<DocLnk> dit( set.children() );
659 for ( ; dit.current(); ++dit ) { 659 for ( ; dit.current(); ++dit ) {
660 if( !m_mimetypes.contains((*dit)->type() ) ) 660 if( !m_mimetypes.contains((*dit)->type() ) )
661 m_mimetypes.append( (*dit)->type() ); 661 m_mimetypes.append( (*dit)->type() );
662 } 662 }
663 }else{ 663 }else{
664 // should be allreday updatet 664 // should be allreday updatet
665 ; 665 ;
666 } 666 }
667}; 667};
668void OFileSelector::initializeListView() 668void OFileSelector::initializeListView()
669{ 669{
670 // just to make sure but clean it up better FIXME 670 // just to make sure but clean it up better FIXME
671 delete m_View; 671 delete m_View;
672 m_View = 0; 672 m_View = 0;
673 delete m_boxToolbar; 673 delete m_boxToolbar;
674 delete m_homeButton; 674 delete m_homeButton;
675 delete m_docButton; 675 delete m_docButton;
676 delete m_location; 676 delete m_location;
677 delete m_up; 677 delete m_up;
678 delete m_pseudo; 678 //delete m_pseudo;
679 if(m_pseudoLayout!=0 ) // why did you overload malloc 679 //if(m_pseudoLayout!=0 ) // why did you overload malloc
680 delete m_pseudoLayout; 680 //delete m_pseudoLayout;
681 m_boxToolbar = 0; 681 m_boxToolbar = 0;
682 m_homeButton = 0; 682 m_homeButton = 0;
683 m_docButton = 0; 683 m_docButton = 0;
684 m_location = 0; 684 m_location = 0;
685 m_up = 0; 685 m_up = 0;
686 m_pseudo = 0; 686 m_pseudo = 0;
687 m_pseudoLayout = 0; 687 m_pseudoLayout = 0;
688 // time for the toolbar 688 // time for the toolbar
689 m_pseudo = new QWidget(m_stack, "Pseudo Widget"); 689 m_pseudo = new QWidget(m_stack, "Pseudo Widget");
690 m_pseudoLayout = new QVBoxLayout(m_pseudo ); 690 m_pseudoLayout = new QVBoxLayout(m_pseudo );
691 if(m_shTool ){ 691 if(m_shTool ){
692 m_boxToolbar = new QHBoxLayout( ); 692 m_boxToolbar = new QHBoxLayout( );
693 m_boxToolbar->setAutoAdd( true ); 693 m_boxToolbar->setAutoAdd( true );
694 m_location = new QComboBox(m_pseudo ); 694 m_location = new QComboBox(m_pseudo );
695 695
696 m_up = new QPushButton(Resource::loadIconSet("up"),"", m_pseudo,"cdUpButton"); 696 m_up = new QPushButton(Resource::loadIconSet("up"),"", m_pseudo,"cdUpButton");
697 m_up->setMinimumSize( QSize( 20, 20 ) ); 697 m_up->setMinimumSize( QSize( 20, 20 ) );
698 m_up->setMaximumSize( 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->setMinimumSize( QSize( 20, 20 ) );
704 m_homeButton->setMaximumSize( QSize( 20, 20 ) ); 704 m_homeButton->setMaximumSize( QSize( 20, 20 ) );
705 connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotHome() ) ); 705 connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotHome() ) );
706 m_homeButton->setFlat(TRUE); 706 m_homeButton->setFlat(TRUE);
707 707
708 m_docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"", m_pseudo,"docsButton"); 708 m_docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"", m_pseudo,"docsButton");
709 m_docButton->setMinimumSize( QSize( 20, 20 ) ); 709 m_docButton->setMinimumSize( QSize( 20, 20 ) );
710 m_docButton->setMaximumSize( QSize( 20, 20 ) ); 710 m_docButton->setMaximumSize( QSize( 20, 20 ) );
711 connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotDoc() ) ); 711 connect(m_homeButton,SIGNAL(clicked()),this,SLOT(slotDoc() ) );
712 m_docButton->setFlat(TRUE); 712 m_docButton->setFlat(TRUE);
713 713
714 m_boxToolbar->addWidget(m_location ); 714 m_boxToolbar->addWidget(m_location );
715 m_boxToolbar->addWidget(m_up ); 715 m_boxToolbar->addWidget(m_up );
716 m_boxToolbar->addWidget(m_homeButton ); 716 m_boxToolbar->addWidget(m_homeButton );
717 m_boxToolbar->addWidget(m_docButton ); 717 m_boxToolbar->addWidget(m_docButton );
718 m_pseudoLayout->addLayout(m_boxToolbar ); 718 m_pseudoLayout->addLayout(m_boxToolbar );
719 // lets fill the combobox 719 // lets fill the combobox
720 StorageInfo storage; 720 StorageInfo storage;
721 const QList<FileSystem> &fs = storage.fileSystems(); 721 const QList<FileSystem> &fs = storage.fileSystems();
722 QListIterator<FileSystem> it ( fs ); 722 QListIterator<FileSystem> it ( fs );
723 for( ; it.current(); ++it ){ 723 for( ; it.current(); ++it ){
724 const QString disk = (*it)->name(); 724 const QString disk = (*it)->name();
725 const QString path = (*it)->path(); 725 const QString path = (*it)->path();
726 m_location->insertItem(path+ "<-"+disk ); 726 m_location->insertItem(path+ "<-"+disk );
727 } 727 }
728 int count = m_location->count(); 728 int count = m_location->count();
729 m_location->insertItem(m_currentDir ); 729 m_location->insertItem(m_currentDir );
730 m_location->setCurrentItem( count ); 730 m_location->setCurrentItem( count );
731 }; 731 };
732 m_View = new QListView(m_pseudo, "Extended view" ); 732 m_View = new QListView(m_pseudo, "Extended view" );
733 m_stack->addWidget( m_pseudo, EXTENDED ); 733 m_stack->addWidget( m_pseudo, EXTENDED );
734 m_stack->raiseWidget( EXTENDED ); 734 m_stack->raiseWidget( EXTENDED );
735 m_pseudoLayout->addWidget(m_View ); 735 m_pseudoLayout->addWidget(m_View );
736 QPEApplication::setStylusOperation( m_View->viewport(),QPEApplication::RightOnHold); 736 QPEApplication::setStylusOperation( m_View->viewport(),QPEApplication::RightOnHold);
737 // set up the stuff 737 // set up the stuff
738 // Pixmap Name Date Size mime 738 // Pixmap Name Date Size mime
739 //(m_View->header() )->hide(); 739 //(m_View->header() )->hide();
740 //m_View->setRootIsDecorated(false); 740 //m_View->setRootIsDecorated(false);
741 m_View->addColumn(" "); 741 m_View->addColumn(" ");
742 m_View->addColumn(tr("Name") ); 742 m_View->addColumn(tr("Name") );
743 m_View->addColumn(tr("Size") ); 743 m_View->addColumn(tr("Size") );
744 m_View->addColumn(tr("Date"), 60 ); 744 m_View->addColumn(tr("Date"), 60 );
745 m_View->addColumn(tr("Mime Type") ); 745 m_View->addColumn(tr("Mime Type") );
746 QHeader *header = m_View->header(); 746 QHeader *header = m_View->header();
747 header->hide(); 747 header->hide();
748 m_View->setSorting(1 ); 748 m_View->setSorting(1 );
749 // connect now 749 // connect now
750 connect(m_View, SIGNAL(selectionChanged() ), this, SLOT(slotSelectionChanged() ) ); 750 connect(m_View, SIGNAL(selectionChanged() ), this, SLOT(slotSelectionChanged() ) );
751 connect(m_View, SIGNAL(currentChanged(QListViewItem *) ), this, SLOT(slotCurrentChanged(QListViewItem * ) ) ); 751 connect(m_View, SIGNAL(currentChanged(QListViewItem *) ), this, SLOT(slotCurrentChanged(QListViewItem * ) ) );
752 connect(m_View, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint &, int) ), 752 connect(m_View, SIGNAL(mouseButtonClicked(int, QListViewItem*, const QPoint &, int) ),
753 this, SLOT(slotClicked( int, QListViewItem *, const QPoint &, int) ) ); 753 this, SLOT(slotClicked( int, QListViewItem *, const QPoint &, int) ) );
754 connect(m_View, SIGNAL(mouseButtonPressed(int, QListViewItem *, const QPoint &, int )), 754 connect(m_View, SIGNAL(mouseButtonPressed(int, QListViewItem *, const QPoint &, int )),
755 this, SLOT(slotRightButton(int, QListViewItem *, const QPoint &, int ) ) ); 755 this, SLOT(slotRightButton(int, QListViewItem *, const QPoint &, int ) ) );
756 756
757 757
758}; 758};
759/* If a item is locked depends on the mode 759/* If a item is locked depends on the mode
760 if we're in OPEN !isReadable is locked 760 if we're in OPEN !isReadable is locked
761 if we're in SAVE !isWriteable is locked 761 if we're in SAVE !isWriteable is locked
762 762
763 763
764 */ 764 */
765 765
766 766
767void OFileSelector::addFile(const QString &mime, QFileInfo *info, bool symlink ){ 767void OFileSelector::addFile(const QString &mime, QFileInfo *info, bool symlink ){
768 qWarning("Add Files" ); 768 qWarning("Add Files" );
769 if( !m_files ){ 769 if( !m_files ){
770 qWarning("not mfiles" ); 770 qWarning("not mfiles" );
771 return; 771 return;
772 } 772 }
773 773
774 MimeType type( info->filePath() ); 774 MimeType type( info->filePath() );
775 QString name; 775 QString name;
776 QString dir; 776 QString dir;