-rw-r--r-- | libopie/ofiledialog.cc | 6 | ||||
-rw-r--r-- | libopie/ofiledialog.h | 6 | ||||
-rw-r--r-- | libopie/ofileselector.cc | 118 | ||||
-rw-r--r-- | libopie/ofileselector.h | 53 |
4 files changed, 147 insertions, 36 deletions
diff --git a/libopie/ofiledialog.cc b/libopie/ofiledialog.cc index 164fadd..4783004 100644 --- a/libopie/ofiledialog.cc +++ b/libopie/ofiledialog.cc | |||
@@ -37,7 +37,7 @@ OFileDialog::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 QMap<QString,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); |
@@ -75,7 +75,7 @@ DocLnk OFileDialog::selectedDocument()const | |||
75 | QString OFileDialog::getOpenFileName(int selector, | 75 | QString OFileDialog::getOpenFileName(int selector, |
76 | const QString &startDir, | 76 | const QString &startDir, |
77 | const QString &file, | 77 | const QString &file, |
78 | const QStringList &mimes, | 78 | const MimeTypes &mimes, |
79 | QWidget *wid, | 79 | QWidget *wid, |
80 | const QString &caption ) | 80 | const QString &caption ) |
81 | { | 81 | { |
@@ -91,7 +91,7 @@ QString OFileDialog::getOpenFileName(int selector, | |||
91 | QString OFileDialog::getSaveFileName(int selector, | 91 | QString OFileDialog::getSaveFileName(int selector, |
92 | const QString &startDir, | 92 | const QString &startDir, |
93 | const QString &file, | 93 | const QString &file, |
94 | const QStringList &mimes, | 94 | const MimeTypes &mimes, |
95 | QWidget *wid, | 95 | QWidget *wid, |
96 | const QString &caption ) | 96 | const QString &caption ) |
97 | { | 97 | { |
diff --git a/libopie/ofiledialog.h b/libopie/ofiledialog.h index 40d147e..e14253c 100644 --- a/libopie/ofiledialog.h +++ b/libopie/ofiledialog.h | |||
@@ -41,7 +41,7 @@ class OFileDialog : public QDialog { | |||
41 | QWidget *, int mode, int selector, | 41 | QWidget *, int mode, int selector, |
42 | const QString &dirName, | 42 | const QString &dirName, |
43 | const QString &fileName = QString::null, | 43 | const QString &fileName = QString::null, |
44 | const QStringList &mimetypes = QStringList() ); | 44 | const MimeTypes &mimetypes = MimeTypes() ); |
45 | QString mimetype() const; | 45 | QString mimetype() const; |
46 | QString fileName() const; | 46 | QString fileName() const; |
47 | DocLnk selectedDocument()const; | 47 | DocLnk selectedDocument()const; |
@@ -50,14 +50,14 @@ class OFileDialog : public QDialog { | |||
50 | static QString getOpenFileName(int selector, | 50 | static QString getOpenFileName(int selector, |
51 | const QString& startDir = QString::null, | 51 | const QString& startDir = QString::null, |
52 | const QString &fileName = QString::null, | 52 | const QString &fileName = QString::null, |
53 | const QStringList& mimefilter = QStringList(), | 53 | const MimeTypes& mime = MimeTypes(), |
54 | QWidget *wid = 0, | 54 | QWidget *wid = 0, |
55 | const QString &caption = QString::null ); | 55 | const QString &caption = QString::null ); |
56 | 56 | ||
57 | static QString getSaveFileName(int selector, | 57 | static QString getSaveFileName(int selector, |
58 | const QString& startDir = QString::null, | 58 | const QString& startDir = QString::null, |
59 | const QString& fileName = QString::null, | 59 | const QString& fileName = QString::null, |
60 | const QStringList& mimefilter = QStringList(), | 60 | const MimeTypes& mimefilter = MimeTypes(), |
61 | QWidget *wid = 0, | 61 | QWidget *wid = 0, |
62 | const QString &caption = QString::null ); | 62 | const QString &caption = QString::null ); |
63 | 63 | ||
diff --git a/libopie/ofileselector.cc b/libopie/ofileselector.cc index 7a67ab2..6c59f89 100644 --- a/libopie/ofileselector.cc +++ b/libopie/ofileselector.cc | |||
@@ -100,16 +100,18 @@ namespace { | |||
100 | OFileSelector::OFileSelector( QWidget *wid, int mode, int selector, | 100 | OFileSelector::OFileSelector( QWidget *wid, int mode, int selector, |
101 | const QString &dirName, | 101 | const QString &dirName, |
102 | const QString &fileName, | 102 | const QString &fileName, |
103 | const QStringList &mimeTypes ) | 103 | const QMap<QString,QStringList>& mimeTypes) |
104 | : QWidget( wid, "OFileSelector") | 104 | : QWidget( wid, "OFileSelector") |
105 | { | 105 | { |
106 | m_mimetypes = mimeTypes; | 106 | m_mimetypes = mimeTypes; |
107 | if (mode == SAVE ) | ||
108 | m_name = fileName; | ||
107 | initVars(); | 109 | initVars(); |
108 | m_mode = mode; | 110 | m_mode = mode; |
109 | m_selector = selector; | 111 | m_selector = selector; |
110 | m_currentDir = dirName; | 112 | m_currentDir = dirName; |
111 | init(); | 113 | init(); |
112 | QTimer::singleShot(6*1000, this, SLOT( slotTest() ) ); | 114 | //QTimer::singleShot(6*1000, this, SLOT( slotTest() ) ); |
113 | } | 115 | } |
114 | 116 | ||
115 | OFileSelector::OFileSelector(const QString &mimeFilter, QWidget *parent, | 117 | OFileSelector::OFileSelector(const QString &mimeFilter, QWidget *parent, |
@@ -117,7 +119,10 @@ OFileSelector::OFileSelector(const QString &mimeFilter, QWidget *parent, | |||
117 | bool closeVisible ) | 119 | bool closeVisible ) |
118 | : QWidget( parent, name ) | 120 | : QWidget( parent, name ) |
119 | { | 121 | { |
120 | m_mimetypes = QStringList::split(";", mimeFilter ); | 122 | if (!mimeFilter.isEmpty() ) { |
123 | QStringList list = QStringList::split(";", mimeFilter ); | ||
124 | m_mimetypes.insert(mimeFilter, list ); | ||
125 | } | ||
121 | initVars(); | 126 | initVars(); |
122 | m_currentDir = QPEApplication::documentDir(); | 127 | m_currentDir = QPEApplication::documentDir(); |
123 | m_mode = OPEN; | 128 | m_mode = OPEN; |
@@ -135,6 +140,7 @@ OFileSelector::OFileSelector(const QString &mimeFilter, QWidget *parent, | |||
135 | OFileSelector::~OFileSelector() | 140 | OFileSelector::~OFileSelector() |
136 | { | 141 | { |
137 | 142 | ||
143 | |||
138 | } | 144 | } |
139 | 145 | ||
140 | void OFileSelector::setNewVisible( bool visible ) | 146 | void OFileSelector::setNewVisible( bool visible ) |
@@ -143,8 +149,8 @@ void OFileSelector::setNewVisible( bool visible ) | |||
143 | if( m_selector == NORMAL ){ | 149 | if( m_selector == NORMAL ){ |
144 | delete m_select; | 150 | delete m_select; |
145 | // we need to initialize but keep the selected mimetype | 151 | // we need to initialize but keep the selected mimetype |
146 | QString mime = m_mimeCheck == 0 ? QString::null : m_mimeCheck->currentText() ; | 152 | QString mime = currentMimeType(); |
147 | m_select = new FileSelector( m_autoMime ? mime : m_mimetypes.join(";") , | 153 | m_select = new FileSelector( mime , |
148 | m_stack, "fileselector", | 154 | m_stack, "fileselector", |
149 | m_shNew, m_shClose); | 155 | m_shNew, m_shClose); |
150 | connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ), | 156 | connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ), |
@@ -425,7 +431,9 @@ void OFileSelector::slotViewCheck(const QString &sel) | |||
425 | if( sel == tr("Documents" ) ){ | 431 | if( sel == tr("Documents" ) ){ |
426 | if( m_select == 0 ){ | 432 | if( m_select == 0 ){ |
427 | // autMime? fix cause now we use All and not the current | 433 | // autMime? fix cause now we use All and not the current |
428 | m_select = new FileSelector(m_autoMime ? QString::null : m_mimetypes.join(";"), | 434 | // yes currentMime fixes that for us |
435 | QString mime = currentMimeType(); | ||
436 | m_select = new FileSelector(mime, | ||
429 | m_stack, "fileselector", | 437 | m_stack, "fileselector", |
430 | FALSE, FALSE); | 438 | FALSE, FALSE); |
431 | connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ), | 439 | connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ), |
@@ -448,12 +456,43 @@ void OFileSelector::slotViewCheck(const QString &sel) | |||
448 | m_stack->raiseWidget( EXTENDED ); // same widget other QFileFilter | 456 | m_stack->raiseWidget( EXTENDED ); // same widget other QFileFilter |
449 | } | 457 | } |
450 | } | 458 | } |
459 | // not yet finished..... | ||
460 | QString OFileSelector::currentMimeType() const{ | ||
461 | QString mime; | ||
462 | QString currentText; | ||
463 | if (m_shChooser ) | ||
464 | currentText = m_mimeCheck->currentText(); | ||
465 | |||
466 | if (tr("All") == currentText ) return QString::null; | ||
467 | else if (currentText.isEmpty() ) { | ||
468 | ; | ||
469 | }else { | ||
470 | QMap<QString, QStringList>::ConstIterator it; | ||
471 | it = m_mimetypes.find( currentText ); | ||
472 | if ( it == m_mimetypes.end() ) { | ||
473 | mime = it.data().join(";"); | ||
474 | }else{ | ||
475 | mime = currentText; | ||
476 | } | ||
477 | } | ||
478 | return mime; | ||
479 | } | ||
451 | void OFileSelector::slotMimeCheck(const QString &mime) | 480 | void OFileSelector::slotMimeCheck(const QString &mime) |
452 | { | 481 | { |
453 | if( m_selector == NORMAL ){ | 482 | if( m_selector == NORMAL ){ |
454 | if( m_autoMime ){ | 483 | //if( m_autoMime ){ |
484 | QString newMimeType; | ||
485 | if (mime != tr("All") ) { | ||
486 | QMap<QString, QStringList>::Iterator it; | ||
487 | it = m_mimetypes.find(mime); | ||
488 | if ( it != m_mimetypes.end() ) { | ||
489 | newMimeType = it.data().join(";"); | ||
490 | }else{ | ||
491 | newMimeType = mime; | ||
492 | } | ||
493 | } | ||
455 | delete m_select; | 494 | delete m_select; |
456 | m_select = new FileSelector( mime == tr("All") ? QString::null : mime, | 495 | m_select = new FileSelector( newMimeType, |
457 | m_stack, "fileselector", | 496 | m_stack, "fileselector", |
458 | FALSE, FALSE); | 497 | FALSE, FALSE); |
459 | 498 | ||
@@ -463,10 +502,9 @@ void OFileSelector::slotMimeCheck(const QString &mime) | |||
463 | m_stack->addWidget( m_select, NORMAL ); | 502 | m_stack->addWidget( m_select, NORMAL ); |
464 | m_stack->raiseWidget( NORMAL ); | 503 | m_stack->raiseWidget( NORMAL ); |
465 | updateMimes(); | 504 | updateMimes(); |
466 | m_mimeCheck->clear(); | 505 | updateMimeCheck(); |
467 | m_mimeCheck->insertStringList(m_mimetypes ); | ||
468 | m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) ); | 506 | m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) ); |
469 | } | 507 | //} |
470 | }else{ // others | 508 | }else{ // others |
471 | qWarning("Mime %s", mime.latin1() ); | 509 | qWarning("Mime %s", mime.latin1() ); |
472 | if(m_shChooser ){ | 510 | if(m_shChooser ){ |
@@ -512,7 +550,15 @@ void OFileSelector::init() | |||
512 | 550 | ||
513 | m_stack = new QWidgetStack( this ); | 551 | m_stack = new QWidgetStack( this ); |
514 | if( m_selector == NORMAL ){ | 552 | if( m_selector == NORMAL ){ |
515 | m_select = new FileSelector(m_autoMime ? QString::null : m_mimetypes.join(";"), | 553 | QString mime; |
554 | if (!m_autoMime) { | ||
555 | if (!m_mimetypes.isEmpty() ) { | ||
556 | QMap<QString, QStringList>::Iterator it; | ||
557 | it = m_mimetypes.begin(); // cause we're in the init | ||
558 | mime = it.data().join(";"); | ||
559 | } | ||
560 | } | ||
561 | m_select = new FileSelector(mime, | ||
516 | m_stack, "fileselector", | 562 | m_stack, "fileselector", |
517 | FALSE, FALSE); | 563 | FALSE, FALSE); |
518 | 564 | ||
@@ -545,14 +591,14 @@ void OFileSelector::updateMimes() | |||
545 | { | 591 | { |
546 | if( m_autoMime ){ | 592 | if( m_autoMime ){ |
547 | m_mimetypes.clear(); | 593 | m_mimetypes.clear(); |
548 | m_mimetypes.append( tr("All") ); | 594 | m_mimetypes.insert( tr("All"), QString::null ); |
549 | if( m_selector == NORMAL ){ | 595 | if( m_selector == NORMAL ){ |
550 | DocLnkSet set; | 596 | DocLnkSet set; |
551 | Global::findDocuments(&set, QString::null ); | 597 | Global::findDocuments(&set, QString::null ); |
552 | QListIterator<DocLnk> dit( set.children() ); | 598 | QListIterator<DocLnk> dit( set.children() ); |
553 | for( ; dit.current(); ++dit ){ | 599 | for( ; dit.current(); ++dit ){ |
554 | if( !m_mimetypes.contains( (*dit)->type() ) ) | 600 | if( !m_mimetypes.contains( (*dit)->type() ) ) |
555 | m_mimetypes.append( (*dit)->type() ); | 601 | m_mimetypes.insert( (*dit)->type(), (*dit)->type() ); |
556 | } | 602 | } |
557 | }// else done in reparse | 603 | }// else done in reparse |
558 | } | 604 | } |
@@ -681,6 +727,7 @@ void OFileSelector::initializeName() | |||
681 | m_fnLabel = new QLabel( m_boxName ); | 727 | m_fnLabel = new QLabel( m_boxName ); |
682 | m_fnLabel->setText( tr("Name:") ); | 728 | m_fnLabel->setText( tr("Name:") ); |
683 | m_edit = new QLineEdit( m_boxName ); | 729 | m_edit = new QLineEdit( m_boxName ); |
730 | m_edit->setText( m_name ); | ||
684 | //m_boxName->addWidget( m_fnLabel ); | 731 | //m_boxName->addWidget( m_fnLabel ); |
685 | m_boxName->setMargin( 5 ); | 732 | m_boxName->setMargin( 5 ); |
686 | m_boxName->setSpacing( 8 ); | 733 | m_boxName->setSpacing( 8 ); |
@@ -713,6 +760,24 @@ void OFileSelector::initializeYes() | |||
713 | this, SLOT( slotCancel() ) ); | 760 | this, SLOT( slotCancel() ) ); |
714 | } | 761 | } |
715 | } | 762 | } |
763 | /* | ||
764 | * OK m_mimeCheck is a QComboBox we now want to fill | ||
765 | * out that combobox | ||
766 | * if automime we need to update the mimetypes | ||
767 | */ | ||
768 | void OFileSelector::updateMimeCheck() { | ||
769 | m_mimeCheck->clear(); | ||
770 | if (m_autoMime ) { | ||
771 | //m_mimeCheck->insertItem( tr("All") ); | ||
772 | updateMimes(); | ||
773 | } | ||
774 | |||
775 | QMap<QString, QStringList>::Iterator it; | ||
776 | for (it = m_mimetypes.begin(); it != m_mimetypes.end(); ++it ) { | ||
777 | m_mimeCheck->insertItem( it.key() ); | ||
778 | } | ||
779 | } | ||
780 | |||
716 | void OFileSelector::initializeChooser() | 781 | void OFileSelector::initializeChooser() |
717 | { | 782 | { |
718 | if( m_boxView == 0 ){ | 783 | if( m_boxView == 0 ){ |
@@ -725,12 +790,8 @@ void OFileSelector::initializeChooser() | |||
725 | m_viewCheck->insertItem( tr("Documents") ); | 790 | m_viewCheck->insertItem( tr("Documents") ); |
726 | m_viewCheck->insertItem( tr("Files") ); | 791 | m_viewCheck->insertItem( tr("Files") ); |
727 | m_viewCheck->insertItem( tr("All Files") ); | 792 | m_viewCheck->insertItem( tr("All Files") ); |
728 | if(!m_autoMime ) | 793 | updateMimeCheck(); |
729 | m_mimeCheck->insertItem(m_mimetypes.join(",") ); | 794 | |
730 | else{ | ||
731 | updateMimes(); | ||
732 | m_mimeCheck->insertStringList( m_mimetypes ); | ||
733 | } | ||
734 | connect( m_viewCheck, SIGNAL( activated(const QString & ) ), | 795 | connect( m_viewCheck, SIGNAL( activated(const QString & ) ), |
735 | this, SLOT( slotViewCheck(const QString & ) ) ); | 796 | this, SLOT( slotViewCheck(const QString & ) ) ); |
736 | connect( m_mimeCheck, SIGNAL( activated(const QString & ) ), | 797 | connect( m_mimeCheck, SIGNAL( activated(const QString & ) ), |
@@ -876,7 +937,12 @@ bool OFileSelector::compliesMime( const QString &path, const QString &mime ) | |||
876 | return true; | 937 | return true; |
877 | return false; | 938 | return false; |
878 | } | 939 | } |
940 | /* check if the mimetype in mime | ||
941 | * complies with the one which is current | ||
942 | */ | ||
943 | bool OFileSelector::compliesMime( const QString& mime ) { | ||
879 | 944 | ||
945 | } | ||
880 | void OFileSelector::slotFileSelected( const QString &string ) | 946 | void OFileSelector::slotFileSelected( const QString &string ) |
881 | { | 947 | { |
882 | if( m_shLne ) | 948 | if( m_shLne ) |
@@ -1050,22 +1116,22 @@ void OFileSelector::reparse() | |||
1050 | MimeType type( fi->absFilePath() ); | 1116 | MimeType type( fi->absFilePath() ); |
1051 | if( !m_mimetypes.contains( type.id() ) ){ | 1117 | if( !m_mimetypes.contains( type.id() ) ){ |
1052 | //qWarning("Type %s", type.id().latin1() ); | 1118 | //qWarning("Type %s", type.id().latin1() ); |
1053 | m_mimetypes.append( type.id() ); | 1119 | m_mimetypes.insert( type.id(), type.id() ); |
1054 | } | 1120 | } |
1055 | 1121 | ||
1056 | ++it; | 1122 | ++it; |
1057 | } | 1123 | } |
1058 | // add them to the chooser | 1124 | // add them to the chooser |
1059 | m_mimeCheck->insertItem( tr("All") ); | 1125 | updateMimeCheck(); |
1060 | m_mimeCheck->insertStringList( m_mimetypes ); | ||
1061 | m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currentMimeType ) ); | 1126 | m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currentMimeType ) ); |
1062 | currentMimeType = m_mimeCheck->currentText(); | 1127 | currentMimeType = m_mimeCheck->currentText(); |
1063 | } | 1128 | } |
1064 | }else { // no autoMime | 1129 | }else { // no autoMime |
1065 | currentMimeType = m_mimetypes.join(";"); | 1130 | // let the mimetype be set from out side the m_mimeCheck FEATURE |
1131 | |||
1066 | if( m_shChooser ){ | 1132 | if( m_shChooser ){ |
1067 | m_mimeCheck->clear(); | 1133 | currentMimeType = m_mimeCheck->currentText(); |
1068 | m_mimeCheck->insertItem(m_mimetypes.join(",") ); | 1134 | updateMimeCheck(); |
1069 | } | 1135 | } |
1070 | } | 1136 | } |
1071 | // now we got our mimetypes we can add the files | 1137 | // now we got our mimetypes we can add the files |
diff --git a/libopie/ofileselector.h b/libopie/ofileselector.h index 47697b9..f2d5f84 100644 --- a/libopie/ofileselector.h +++ b/libopie/ofileselector.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | This is based on code and idea of | 2 | This is based on code and ideas of |
3 | L. J. Potter ljp@llornkcor.com | 3 | L. J. Potter ljp@llornkcor.com |
4 | Thanks a lot | 4 | Thanks a lot |
5 | 5 | ||
@@ -43,6 +43,7 @@ | |||
43 | 43 | ||
44 | #include <qpe/applnk.h> | 44 | #include <qpe/applnk.h> |
45 | #include <qlistview.h> | 45 | #include <qlistview.h> |
46 | |||
46 | /** This is OPIEs FileDialog Widget. You can use it | 47 | /** This is OPIEs FileDialog Widget. You can use it |
47 | * as a dropin replacement of the fileselector and | 48 | * as a dropin replacement of the fileselector and |
48 | * or use any of the new features. | 49 | * or use any of the new features. |
@@ -66,20 +67,53 @@ class QFileInfo; | |||
66 | class QHBox; | 67 | class QHBox; |
67 | // | 68 | // |
68 | 69 | ||
70 | typedef QMap< QString, QStringList> MimeTypes; | ||
69 | 71 | ||
70 | class OFileSelector : public QWidget { | 72 | class OFileSelector : public QWidget { |
71 | Q_OBJECT | 73 | Q_OBJECT |
72 | public: | 74 | public: |
75 | /** | ||
76 | * The mode of the file selector | ||
77 | * Either open, save, fileselector or dir browsing mode | ||
78 | * | ||
79 | */ | ||
73 | enum Mode {OPEN=1, SAVE=2, FILESELECTOR=4, DIR=8 }; | 80 | enum Mode {OPEN=1, SAVE=2, FILESELECTOR=4, DIR=8 }; |
81 | |||
82 | /** | ||
83 | * Selector. Either NORMAL for the one shipped with | ||
84 | * libqpe or EXTENDED. for the EXTENDED | ||
85 | * EXTENDED_ALL also shows 'hidden' files | ||
86 | */ | ||
74 | enum Selector{NORMAL=0, EXTENDED = 1, EXTENDED_ALL =2 }; | 87 | enum Selector{NORMAL=0, EXTENDED = 1, EXTENDED_ALL =2 }; |
88 | |||
89 | /** | ||
90 | * This is reserved for futrue views | ||
91 | */ | ||
75 | enum View { DIRS = 1, FILES = 2, TREE = 4, ICON = 8 }; | 92 | enum View { DIRS = 1, FILES = 2, TREE = 4, ICON = 8 }; |
76 | 93 | ||
94 | /** | ||
95 | * A c'tor which should be used for advanced mode | ||
96 | * @param wid the parent | ||
97 | * @param mode the Mode of the Selector | ||
98 | * @param selector the current View of the Selector | ||
99 | * @param dirName in which dir to start | ||
100 | * @param fileName a proposed filename | ||
101 | * @param mimetypes A list of mimetypes \ | ||
102 | * QString is for a identifier name like "Text files" | ||
103 | * the coresponding QStringList is used for the mimetypes | ||
104 | * if empty it'll fill the list of mimetypes depending | ||
105 | * on the content of the current directory | ||
106 | */ | ||
107 | |||
77 | OFileSelector(QWidget *wid, int mode, int selector, | 108 | OFileSelector(QWidget *wid, int mode, int selector, |
78 | const QString &dirName, | 109 | const QString &dirName, |
79 | const QString &fileName = QString::null, | 110 | const QString &fileName = QString::null, |
80 | const QStringList &mimetypes = QStringList() ); | 111 | const MimeTypes &mimetypes = MimeTypes() ); |
81 | 112 | ||
82 | 113 | ||
114 | /** | ||
115 | * This is a QPE compatible c'tor | ||
116 | */ | ||
83 | OFileSelector(const QString &mimeFilter, QWidget *parent, | 117 | OFileSelector(const QString &mimeFilter, QWidget *parent, |
84 | const char *name, bool newVisible = TRUE, | 118 | const char *name, bool newVisible = TRUE, |
85 | bool closeVisible = FALSE ); | 119 | bool closeVisible = FALSE ); |
@@ -190,7 +224,8 @@ class OFileSelector : public QWidget { | |||
190 | 224 | ||
191 | QString m_currentDir; | 225 | QString m_currentDir; |
192 | QString m_name; | 226 | QString m_name; |
193 | QStringList m_mimetypes; | 227 | // QStringList m_mimetypes; |
228 | QMap<QString, QStringList> m_mimetypes; | ||
194 | 229 | ||
195 | FileSelector *m_select; | 230 | FileSelector *m_select; |
196 | QWidgetStack *m_stack; | 231 | QWidgetStack *m_stack; |
@@ -232,8 +267,18 @@ class OFileSelector : public QWidget { | |||
232 | void initializeListView(); | 267 | void initializeListView(); |
233 | void initializePerm(); | 268 | void initializePerm(); |
234 | void initPics(); | 269 | void initPics(); |
235 | bool compliesMime(const QString &path, const QString &mime); | 270 | bool compliesMime(const QString &path, |
271 | const QString &mime); | ||
272 | bool compliesMime(const QString& mime ); | ||
273 | /** | ||
274 | * Updates the QComboBox with the current mimetypes | ||
275 | */ | ||
276 | void updateMimeCheck(); | ||
236 | 277 | ||
278 | /** | ||
279 | * Returns the current mimetype | ||
280 | */ | ||
281 | QString currentMimeType()const; | ||
237 | class OFileSelectorPrivate; | 282 | class OFileSelectorPrivate; |
238 | OFileSelectorPrivate *d; | 283 | OFileSelectorPrivate *d; |
239 | static QMap<QString,QPixmap> *m_pixmaps; | 284 | static QMap<QString,QPixmap> *m_pixmaps; |