summaryrefslogtreecommitdiff
authorzecke <zecke>2002-04-12 13:07:35 (UTC)
committer zecke <zecke>2002-04-12 13:07:35 (UTC)
commit3973cf42c778055ab81a9ee254eaf8829464f936 (patch) (unidiff)
tree4ae4fc512c9e37657ea9f4e05f28d1ea57a855d3
parentc1c9ac64f7f4871642d645ac1da1a2f36853ccb2 (diff)
downloadopie-3973cf42c778055ab81a9ee254eaf8829464f936.zip
opie-3973cf42c778055ab81a9ee254eaf8829464f936.tar.gz
opie-3973cf42c778055ab81a9ee254eaf8829464f936.tar.bz2
Add OFileDialog to the .pro
OFileDialog is now working resize it when not used by the static methods OFileSelector some bugfixes. Some bugs are not yet fixed (the switching from views can segfault )
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/libopie.pro4
-rw-r--r--libopie/ofiledialog.cc14
-rw-r--r--libopie/ofileselector.cc40
3 files changed, 20 insertions, 38 deletions
diff --git a/libopie/libopie.pro b/libopie/libopie.pro
index 4ba2836..3c8da78 100644
--- a/libopie/libopie.pro
+++ b/libopie/libopie.pro
@@ -1,8 +1,8 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qte warn_on release 2CONFIG += qte warn_on release
3 HEADERS = ofileselector.h tododb.h todoevent.h todoresource.h todovcalresource.h xmltree.h oconfig.h 3 HEADERS = ofileselector.h ofiledialog.h tododb.h todoevent.h todoresource.h todovcalresource.h xmltree.h oconfig.h
4 SOURCES = ofileselector.cc xmltree.cc tododb.cpp todoevent.cpp todovcalresource.cpp oconfig.cpp 4 SOURCES = ofileselector.cc ofiledialog.cc xmltree.cc tododb.cpp todoevent.cpp todovcalresource.cpp oconfig.cpp
5 TARGET = opie 5 TARGET = opie
6INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
7DESTDIR = $(QTDIR)/lib$(PROJMAK) 7DESTDIR = $(QTDIR)/lib$(PROJMAK)
8#VERSION = 1.0.0 \ No newline at end of file 8#VERSION = 1.0.0 \ No newline at end of file
diff --git a/libopie/ofiledialog.cc b/libopie/ofiledialog.cc
index 92b0d0a..164fadd 100644
--- a/libopie/ofiledialog.cc
+++ b/libopie/ofiledialog.cc
@@ -27,84 +27,90 @@
27*/ 27*/
28 28
29#include <qpe/applnk.h> 29#include <qpe/applnk.h>
30#include <qstring.h> 30#include <qstring.h>
31#include <qapplication.h> 31#include <qapplication.h>
32#include <qlayout.h> 32#include <qlayout.h>
33 33
34#include "ofiledialog.h" 34#include "ofiledialog.h"
35 35
36OFileDialog::OFileDialog(const QString &caption, 36OFileDialog::OFileDialog(const QString &caption,
37 QWidget *wid, int mode, int selector, 37 QWidget *wid, int mode, int selector,
38 const QString &dirName, 38 const QString &dirName,
39 const QString &fileName, 39 const QString &fileName,
40 const QStringList &mimetypes ) 40 const QStringList &mimetypes )
41 : QDialog( wid, "OFileDialog", true ) 41 : QDialog( wid, "OFileDialog", true )
42{ 42{
43 QVBoxLayout *lay = new QVBoxLayout(this); 43 // QVBoxLayout *lay = new QVBoxLayout(this);
44 44 //showMaximized();
45 file = new OFileSelector(0 , mode, selector, 45 QVBoxLayout *lay = new QVBoxLayout(this );
46 file = new OFileSelector(this , mode, selector,
46 dirName, fileName, 47 dirName, fileName,
47 mimetypes ); 48 mimetypes );
48 lay->addWidget( file ); 49 lay->addWidget( file );
50
51 //lay->addWidget( file );
49 //showFullScreen(); 52 //showFullScreen();
50 setCaption( caption.isEmpty() ? tr("FileDialog") : caption ); 53 setCaption( caption.isEmpty() ? tr("FileDialog") : caption );
51 connect(file, SIGNAL(fileSelected(const QString&) ), 54 connect(file, SIGNAL(fileSelected(const QString&) ),
52 this, SLOT(slotFileSelected(const QString&) ) ); 55 this, SLOT(slotFileSelected(const QString&) ) );
53 56
54 connect(file, SIGNAL(dirSelected(const QString &) ), 57 connect(file, SIGNAL(dirSelected(const QString &) ),
55 this, SLOT(slotDirSelected(const QString &) ) ); 58 this, SLOT(slotDirSelected(const QString &) ) );
56 showMaximized(); 59
60
57 file->setYesCancelVisible( false ); // relayout 61 file->setYesCancelVisible( false ); // relayout
58} 62}
59QString OFileDialog::mimetype()const 63QString OFileDialog::mimetype()const
60{ 64{
61 return QString::null; 65 return QString::null;
62} 66}
63QString OFileDialog::fileName()const 67QString OFileDialog::fileName()const
64{ 68{
65 return file->selectedName(); 69 return file->selectedName();
66} 70}
67DocLnk OFileDialog::selectedDocument()const 71DocLnk OFileDialog::selectedDocument()const
68{ 72{
69 return file->selectedDocument(); 73 return file->selectedDocument();
70} 74}
71QString OFileDialog::getOpenFileName(int selector, 75QString OFileDialog::getOpenFileName(int selector,
72 const QString &startDir, 76 const QString &startDir,
73 const QString &file, 77 const QString &file,
74 const QStringList &mimes, 78 const QStringList &mimes,
75 QWidget *wid, 79 QWidget *wid,
76 const QString &caption ) 80 const QString &caption )
77{ 81{
78 QString ret; 82 QString ret;
79 OFileDialog dlg( caption.isEmpty() ? tr("Open") : caption, 83 OFileDialog dlg( caption.isEmpty() ? tr("Open") : caption,
80 wid, OFileSelector::OPEN, selector, startDir, file, mimes); 84 wid, OFileSelector::OPEN, selector, startDir, file, mimes);
85 dlg.showMaximized();
81 if( dlg.exec() ) 86 if( dlg.exec() )
82 ret = dlg.fileName(); 87 ret = dlg.fileName();
83 88
84 return ret; 89 return ret;
85} 90}
86QString OFileDialog::getSaveFileName(int selector, 91QString OFileDialog::getSaveFileName(int selector,
87 const QString &startDir, 92 const QString &startDir,
88 const QString &file, 93 const QString &file,
89 const QStringList &mimes, 94 const QStringList &mimes,
90 QWidget *wid, 95 QWidget *wid,
91 const QString &caption ) 96 const QString &caption )
92{ 97{
93 QString ret; 98 QString ret;
94 OFileDialog dlg( caption.isEmpty() ? tr("Save") : caption, 99 OFileDialog dlg( caption.isEmpty() ? tr("Save") : caption,
95 wid, OFileSelector::SAVE, selector, startDir, file, mimes); 100 wid, OFileSelector::SAVE, selector, startDir, file, mimes);
101 dlg.showMaximized();
96 if( dlg.exec() ) 102 if( dlg.exec() )
97 ret = dlg.fileName(); 103 ret = dlg.fileName();
98 104
99 return ret; 105 return ret;
100} 106}
101 107
102void OFileDialog::slotFileSelected(const QString & ) 108void OFileDialog::slotFileSelected(const QString & )
103{ 109{
104 accept(); 110 accept();
105} 111}
106void OFileDialog::slotDirSelected(const QString & ) 112void OFileDialog::slotDirSelected(const QString & )
107{ 113{
108 // if mode 114 // if mode
109 //accept(); 115 //accept();
110} 116}
diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc
index c3a3514..7451c1b 100644
--- a/libopie/ofileselector.cc
+++ b/libopie/ofileselector.cc
@@ -66,34 +66,34 @@ 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;
74 } 74 }
75 75
76}; 76};
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 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
98 m_location = 0; 98 m_location = 0;
99 m_homeButton = 0; 99 m_homeButton = 0;
@@ -181,32 +181,33 @@ void OFileSelector::delItems()
181} 181}
182void OFileSelector::init() 182void OFileSelector::init()
183{ 183{
184 184
185 m_stack = new QWidgetStack(this, "wstack" ); 185 m_stack = new QWidgetStack(this, "wstack" );
186 if( m_selector == NORMAL ){ 186 if( m_selector == NORMAL ){
187 QString currMime; 187 QString currMime;
188 if( m_mimeCheck != 0 ) 188 if( m_mimeCheck != 0 )
189 currMime = m_mimeCheck->currentText(); 189 currMime = m_mimeCheck->currentText();
190 190
191 updateMimes(); 191 updateMimes();
192 m_select = new FileSelector( currMime == "All" ? QString::null : currMime , m_stack, "fileselector", FALSE, FALSE ); 192 m_select = new FileSelector( currMime == "All" ? QString::null : currMime , m_stack, "fileselector", FALSE, FALSE );
193 m_stack->addWidget(m_select, NORMAL ); 193 m_stack->addWidget(m_select, NORMAL );
194 m_lay->addWidget(m_stack ); 194 m_lay->addWidget(m_stack );
195 m_stack->raiseWidget(NORMAL ); 195 m_stack->raiseWidget(NORMAL );
196 connect(m_select, SIGNAL(fileSelected( const DocLnk &) ), this, SLOT(slotFileBridgeSelected(const DocLnk &) ) ); 196 connect(m_select, SIGNAL(fileSelected( const DocLnk &) ), this, SLOT(slotFileBridgeSelected(const DocLnk &) ) );
197 m_pseudoLayout = 0l;
197 }else { 198 }else {
198 initializeListView(); 199 initializeListView();
199 } 200 }
200 201
201 if(m_shLne ){ 202 if(m_shLne ){
202 initializeName(); 203 initializeName();
203 } 204 }
204 205
205 if(m_shPerm ){ 206 if(m_shPerm ){
206 m_checkPerm = new QCheckBox(tr("Set Permission"), this, "Permission" ); 207 m_checkPerm = new QCheckBox(tr("Set Permission"), this, "Permission" );
207 m_checkPerm->setChecked( false ); 208 m_checkPerm->setChecked( false );
208 m_lay->addWidget(m_checkPerm ); 209 m_lay->addWidget(m_checkPerm );
209 } 210 }
210 211
211 if( m_shChooser ) 212 if( m_shChooser )
212 initializeChooser(); 213 initializeChooser();
@@ -582,101 +583,75 @@ void OFileSelector::slotMimeCheck(const QString &view ){
582 583
583void OFileSelector::slotViewCheck(const QString &view ){ 584void OFileSelector::slotViewCheck(const QString &view ){
584 qWarning("changed: show %s", view.latin1() ); 585 qWarning("changed: show %s", view.latin1() );
585 // if the current view is the one 586 // if the current view is the one
586 QString currMime = m_mimeCheck->currentText(); 587 QString currMime = m_mimeCheck->currentText();
587 if( view == QString::fromLatin1("Documents") ){ 588 if( view == QString::fromLatin1("Documents") ){
588 // get the mimetype now 589 // get the mimetype now
589 // check if we're the current widget and return 590 // check if we're the current widget and return
590 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 :(
591 delete m_View; 592 delete m_View;
592 delete m_boxToolbar; 593 delete m_boxToolbar;
593 delete m_homeButton; 594 delete m_homeButton;
594 delete m_docButton; 595 delete m_docButton;
595 delete m_location; 596 delete m_location;
596 delete m_up; 597 delete m_up;
597 delete m_pseudo; 598 delete m_pseudo;
598 delete m_pseudoLayout; 599 if(m_pseudoLayout!=0 )
600 delete m_pseudoLayout;
599 } 601 }
600 m_View = 0; 602 m_View = 0;
601 m_boxToolbar = 0; 603 m_boxToolbar = 0;
602 m_homeButton = 0; 604 m_homeButton = 0;
603 m_docButton = 0; 605 m_docButton = 0;
604 m_location = 0; 606 m_location = 0;
605 m_up = 0; 607 m_up = 0;
606 m_pseudo = 0; 608 m_pseudo = 0;
607 m_pseudoLayout = 0; 609 m_pseudoLayout = 0;
608 610
609 delete m_select; 611 delete m_select;
610 m_select = new FileSelector( currMime == "All" ? QString::null : currMime, 612 m_select = new FileSelector( currMime == "All" ? QString::null : currMime,
611 m_stack,"fileselector", FALSE, FALSE ); 613 m_stack,"fileselector", FALSE, FALSE );
612 m_stack->addWidget( m_select, NORMAL ); 614 m_stack->addWidget( m_select, NORMAL );
613 m_mimeCheck->clear(); 615 m_mimeCheck->clear();
614 m_selector = NORMAL; 616 m_selector = NORMAL;
615 updateMimes(); 617 updateMimes();
616 m_mimeCheck->insertStringList( m_mimetypes ); 618 m_mimeCheck->insertStringList( m_mimetypes );
617 m_stack->raiseWidget( NORMAL ); 619 m_stack->raiseWidget( NORMAL );
618 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 &) ) );
619 621
620 }else if(view == QString::fromLatin1("Files") ){ 622 }else if(view == QString::fromLatin1("Files") ){
621 // remove from the stack 623 // remove from the stack
622 delete m_select; 624 delete m_select;
623 m_select = 0; 625 m_select = 0;
624 delete m_View; 626 delete m_View;
625 m_View = 0; 627 m_View = 0;
626 628
627 delete m_boxToolbar; 629
628 delete m_homeButton;
629 delete m_docButton;
630 delete m_location;
631 delete m_up;
632 delete m_pseudo;
633 delete m_pseudoLayout;
634 m_boxToolbar = 0;
635 m_homeButton = 0;
636 m_docButton = 0;
637 m_location = 0;
638 m_up = 0;
639 m_pseudo = 0;
640 m_pseudoLayout = 0;
641 630
642 m_selector = EXTENDED; 631 m_selector = EXTENDED;
643 // create the ListView or IconView 632 // create the ListView or IconView
644 initializeListView(); 633 initializeListView();
645 634
646 reparse(); 635 reparse();
647 }else if(view == QString::fromLatin1("All Files") ) { 636 }else if(view == QString::fromLatin1("All Files") ) {
648 // remove from the stack 637 // remove from the stack
649 delete m_select; 638 delete m_select;
650 m_select = 0; 639 m_select = 0;
651 delete m_View; 640 delete m_View;
652 m_View = 0; 641 m_View = 0;
653 delete m_boxToolbar;
654 delete m_homeButton;
655 delete m_docButton;
656 delete m_location;
657 delete m_up;
658 delete m_pseudo;
659 delete m_pseudoLayout;
660 m_boxToolbar = 0;
661 m_homeButton = 0;
662 m_docButton = 0;
663 m_location = 0;
664 m_up = 0;
665 m_pseudo = 0;
666 m_pseudoLayout = 0;
667 642
668 m_selector = EXTENDED_ALL; 643 m_selector = EXTENDED_ALL;
669 initializeListView(); 644 initializeListView();
670 reparse(); 645 reparse();
671 }; 646 };
672}; 647};
673 648
674 649
675void OFileSelector::updateMimes() // lets check which mode is active 650void OFileSelector::updateMimes() // lets check which mode is active
676 // check the current dir for items then 651 // check the current dir for items then
677{ 652{
678 m_mimetypes.clear(); 653 m_mimetypes.clear();
679 m_mimetypes.append("All" ); 654 m_mimetypes.append("All" );
680 if( m_selector == NORMAL ){ 655 if( m_selector == NORMAL ){
681 DocLnkSet set; 656 DocLnkSet set;
682 Global::findDocuments(&set, QString::null ); 657 Global::findDocuments(&set, QString::null );
@@ -688,33 +663,34 @@ void OFileSelector::updateMimes() // lets check which mode is active
688 }else{ 663 }else{
689 // should be allreday updatet 664 // should be allreday updatet
690 ; 665 ;
691 } 666 }
692}; 667};
693void OFileSelector::initializeListView() 668void OFileSelector::initializeListView()
694{ 669{
695 // just to make sure but clean it up better FIXME 670 // just to make sure but clean it up better FIXME
696 delete m_View; 671 delete m_View;
697 m_View = 0; 672 m_View = 0;
698 delete m_boxToolbar; 673 delete m_boxToolbar;
699 delete m_homeButton; 674 delete m_homeButton;
700 delete m_docButton; 675 delete m_docButton;
701 delete m_location; 676 delete m_location;
702 delete m_up; 677 delete m_up;
703 delete m_pseudo; 678 delete m_pseudo;
704 delete m_pseudoLayout; 679 if(m_pseudoLayout!=0 ) // why did you overload malloc
680 delete m_pseudoLayout;
705 m_boxToolbar = 0; 681 m_boxToolbar = 0;
706 m_homeButton = 0; 682 m_homeButton = 0;
707 m_docButton = 0; 683 m_docButton = 0;
708 m_location = 0; 684 m_location = 0;
709 m_up = 0; 685 m_up = 0;
710 m_pseudo = 0; 686 m_pseudo = 0;
711 m_pseudoLayout = 0; 687 m_pseudoLayout = 0;
712 // time for the toolbar 688 // time for the toolbar
713 m_pseudo = new QWidget(m_stack, "Pseudo Widget"); 689 m_pseudo = new QWidget(m_stack, "Pseudo Widget");
714 m_pseudoLayout = new QVBoxLayout(m_pseudo ); 690 m_pseudoLayout = new QVBoxLayout(m_pseudo );
715 if(m_shTool ){ 691 if(m_shTool ){
716 m_boxToolbar = new QHBoxLayout( ); 692 m_boxToolbar = new QHBoxLayout( );
717 m_boxToolbar->setAutoAdd( true ); 693 m_boxToolbar->setAutoAdd( true );
718 m_location = new QComboBox(m_pseudo ); 694 m_location = new QComboBox(m_pseudo );
719 695
720 m_up = new QPushButton(Resource::loadIconSet("up"),"", m_pseudo,"cdUpButton"); 696 m_up = new QPushButton(Resource::loadIconSet("up"),"", m_pseudo,"cdUpButton");