summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp35
-rw-r--r--core/apps/textedit/fileBrowser.h3
2 files changed, 28 insertions, 10 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index 7a3a703..8c942a1 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -152,6 +152,7 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
currentDir.setPath(QDir::currentDirPath());
currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All);
+ currentDir.setNameFilter(filterStr);
populateList();
move(0,15);
@@ -161,10 +162,6 @@ fileBrowser::~fileBrowser()
{
}
-void fileBrowser::setMimeType(const QString &type) {
- mimeType = type;
-}
-
void fileBrowser::setFileView( int selection )
{
SelectionCombo->setCurrentItem( selection );
@@ -179,7 +176,6 @@ void fileBrowser::populateList()
currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
currentDir.setMatchAllDirs(TRUE);
- currentDir.setNameFilter(filterStr);
// currentDir.setNameFilter("*.txt;*.etx");
QString fileL, fileS, fileDate;
const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
@@ -386,7 +382,7 @@ void fileBrowser::showListMenu(QListViewItem *item) {
m.insertItem( tr( "Change Directory" ), this, SLOT( doCd() ));
else
m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() ));
- m.insertItem( tr( "Rescan" ), this, SLOT( populateList()() ));
+ m.insertItem( tr( "Rescan" ), this, SLOT( populateList() ));
m.insertItem( tr( "Rename" ), this, SLOT( localRename() ));
m.insertSeparator();
m.insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
@@ -481,7 +477,29 @@ void fileBrowser::updateMimeTypeMenu() {
void fileBrowser::showType(const QString &t) {
qDebug(t);
- mimeType = t+"/*";
+ if(t.find("All",0,TRUE) != -1) {
+ filterStr = "*";
+ } else {
+ QStringList list = mimetypes.grep( t,TRUE);
+ QString ext;
+ for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) {
+ mimeType =(*it);
+ MimeType mt( mimeType);
+ qDebug("mime "+mimeType);
+// qDebug("description "+mt.description());
+// qDebug( "id "+mt.id());
+ qDebug("extension "+mt.extension());
+ if( mt.extension().isEmpty())
+ filterStr = "*";
+ else
+ filterStr = "*."+ mt.extension()+" ";
+// printf( "%s \n", (*it).latin1() );
+ }
+ }
+ currentDir.setNameFilter(filterStr);
+
+ populateList();
+ update();
// if(fileSelector) {
// disconnect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
// delete fileSelector;
@@ -491,7 +509,6 @@ void fileBrowser::showType(const QString &t) {
// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
// connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
// fileSelector->reread();
- repaint();
// if ( t == tr("All") ) {
// icons->setTypeFilter("",TRUE);
// } else {
@@ -501,6 +518,7 @@ void fileBrowser::showType(const QString &t) {
}
QStringList fileBrowser::getMimeTypes() {
+
QStringList r;
AppLnkSet apps( QPEApplication::qpeDir() + "apps" );
QFile file( QPEApplication::qpeDir()+"etc/available.mime");
@@ -512,6 +530,7 @@ QStringList fileBrowser::getMimeTypes() {
QStringList::ConstIterator f;
for ( f = maj.begin(); f != maj.end(); f++ ) {
QString temp = *f;
+ mimetypes << temp;
int sl = temp.find('/');
if (sl >= 0) {
QString k = temp.left(sl);
diff --git a/core/apps/textedit/fileBrowser.h b/core/apps/textedit/fileBrowser.h
index 1138d80..339483f 100644
--- a/core/apps/textedit/fileBrowser.h
+++ b/core/apps/textedit/fileBrowser.h
@@ -58,7 +58,6 @@ public:
QComboBox *SelectionCombo;
public slots:
void setFileView( int );
- void setMimeType(const QString &);
private:
// QDict<void> mimes;
@@ -67,7 +66,7 @@ private:
QLabel *dirLabel;
QString filterStr, mimeType;
QDir currentDir;
- QStringList dirPathStringList;
+ QStringList dirPathStringList, mimetypes;
QListViewItem * item;
QComboBox *dirPathCombo;
MenuButton *typemb;