summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp22
-rw-r--r--core/apps/textedit/fileBrowser.h5
-rw-r--r--core/apps/textedit/textedit.cpp2
-rw-r--r--core/apps/textedit/textedit.h3
4 files changed, 23 insertions, 9 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index e103bcb..7a3a703 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -6,16 +6,17 @@
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
+#define QTOPIA_INTERNAL_MIMEEXT
#include "fileBrowser.h"
//#include "inputDialog.h"
#include <qpe/config.h>
#include <qpe/resource.h>
#include <qpe/fileselector.h>
#include <qpe/qpeapplication.h>
#include <qpe/menubutton.h>
@@ -38,23 +39,32 @@
#include <stdlib.h>
static int u_id = 1;
static int get_unique_id()
{
return u_id++;
}
-fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter )
+fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString mimeFilter )
: QDialog( parent, name, modal, fl )
{
if ( !name )
setName( "fileBrowser" );
setCaption(tr( name ) );
- filterStr = filter;
+ mimeType = mimeFilter;
+ MimeType mt( mimeType);
+ if( mt.extension().isEmpty())
+ filterStr = "*";
+ else
+ filterStr = "*."+ mt.extension();
+// qDebug("description "+mt.description());
+// qDebug( "id "+mt.id());
+// qDebug("extension "+mt.extension());
+
// channel = new QCopChannel( "QPE/fileDialog", this );
// connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
// this, SLOT(receive(const QCString&, const QByteArray&)) );
QGridLayout *layout = new QGridLayout( this );
layout->setSpacing( 4 );
layout->setMargin( 4 );
@@ -74,34 +84,32 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton");
cdUpButton ->setMinimumSize( QSize( 20, 20 ) );
cdUpButton ->setMaximumSize( QSize( 20, 20 ) );
connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
cdUpButton ->setFlat(TRUE);
layout->addMultiCellWidget( cdUpButton, 0, 0, 5, 5 );
-
docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
docButton->setMinimumSize( QSize( 20, 20 ) );
docButton->setMaximumSize( QSize( 20, 20 ) );
connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
docButton->setFlat(TRUE);
layout->addMultiCellWidget( docButton, 0, 0, 6, 6 );
homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
homeButton->setMinimumSize( QSize( 20, 20 ) );
homeButton->setMaximumSize( QSize( 20, 20 ) );
connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
homeButton->setFlat(TRUE);
layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 );
FileStack = new QWidgetStack( this );
-
ListView = new QListView( this, "ListView" );
// ListView->setMinimumSize( QSize( 100, 25 ) );
ListView->addColumn( tr( "Name" ) );
ListView->setColumnWidth(0,120);
ListView->setSorting( 2, FALSE);
ListView->addColumn( tr( "Size" ) );
ListView->setColumnWidth(1,-1);
ListView->addColumn( "Date",-1);
@@ -113,17 +121,17 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold);
connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
FileStack->addWidget( ListView, get_unique_id() );
-mimeType="text/*";
+
fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy
// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 );
SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
SelectionCombo->insertItem( tr( "Documents" ) );
@@ -148,16 +156,20 @@ mimeType="text/*";
populateList();
move(0,15);
}
fileBrowser::~fileBrowser()
{
}
+void fileBrowser::setMimeType(const QString &type) {
+ mimeType = type;
+}
+
void fileBrowser::setFileView( int selection )
{
SelectionCombo->setCurrentItem( selection );
selectionChanged( SelectionCombo->currentText() );
}
void fileBrowser::populateList()
{
diff --git a/core/apps/textedit/fileBrowser.h b/core/apps/textedit/fileBrowser.h
index 77ac166..1138d80 100644
--- a/core/apps/textedit/fileBrowser.h
+++ b/core/apps/textedit/fileBrowser.h
@@ -47,29 +47,30 @@ class QRegExp;
class fileBrowser : public QDialog
{
Q_OBJECT
public:
fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0);
~fileBrowser();
- QString selectedFileName, mimeType;
+ QString selectedFileName;
QFile file;
QStringList fileList;
QComboBox *SelectionCombo;
public slots:
void setFileView( int );
+ void setMimeType(const QString &);
private:
// QDict<void> mimes;
QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton, *cdUpButton;
QListView* ListView;
QLabel *dirLabel;
- QString filterStr;
+ QString filterStr, mimeType;
QDir currentDir;
QStringList dirPathStringList;
QListViewItem * item;
QComboBox *dirPathCombo;
MenuButton *typemb;
QWidgetStack *FileStack;
FileSelector *fileSelector;
QRegExp tf;
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index ecebe12..d28ece8 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -488,17 +488,17 @@ void TextEdit::fileNew()
if( !bFromDocView ) {
saveAs();
}
newFile(DocLnk());
}
void TextEdit::fileOpen()
{
- browseForFiles=new fileBrowser(this,"Open File",TRUE,0, "*");
+ browseForFiles=new fileBrowser(this,"Open File",TRUE,0, "text/*"); //
browseForFiles->setFileView( viewSelection );
browseForFiles->showMaximized();
if( browseForFiles->exec() != -1 ) {
QString selFile = browseForFiles->selectedFileName;
QStringList fileList = browseForFiles->fileList;
qDebug(selFile);
QStringList::ConstIterator f;
QString fileTemp;
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index 70cf068..af69518 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -47,17 +47,18 @@ class QPopupMenu;
class TextEdit : public QMainWindow
{
Q_OBJECT
public:
TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
~TextEdit();
- QPopupMenu *font;
+
+ QPopupMenu *font;
QAction *nStart;
bool edited, edited1;
void openFile( const QString & );
public slots:
void editorChanged();
protected:
void closeEvent( QCloseEvent *e );