-rw-r--r-- | core/apps/textedit/fileBrowser.cpp | 59 | ||||
-rw-r--r-- | core/apps/textedit/textedit.cpp | 75 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 2 |
3 files changed, 77 insertions, 59 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp index f322513..fced326 100644 --- a/core/apps/textedit/fileBrowser.cpp +++ b/core/apps/textedit/fileBrowser.cpp @@ -2,25 +2,25 @@ ** copyright 2001 ljp ljp@llornkcor.com ** Created: Fri Dec 14 08:16:46 2001 ** ** This file may be distributed and/or modified under the terms of the ** 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 +#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> #include <qpe/mimetype.h> #include <qdict.h> #include <qwidgetstack.h> @@ -41,42 +41,48 @@ 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 mimeFilter ) : QDialog( parent, name, modal, fl ) { if ( !name ) setName( "fileBrowser" ); setCaption(tr( name ) ); -// mimeType = mimeFilter; -// MimeType mt( mimeType); -// if( mt.extension().isEmpty()) -// QStringList filterList; -// filterList=QStringList::split(";",mimeFilter,FALSE); -// for ( QStringList::Iterator it = filterList.begin(); it != filterList.end(); ++it ) { -// printf( "%s \n", (*it).latin1() ); -// } - filterStr = mimeFilter.right(mimeFilter.length() - mimeFilter.find("/",0,TRUE) - 1);// "*"; +// getMimeTypes(); + + mimeType = mimeFilter; + MimeType mt( mimeType); + + if( mt.extension().isEmpty()) { + + QStringList filterList; + filterList=QStringList::split(";",mimeFilter,FALSE); + + for ( QStringList::Iterator it = filterList.begin(); it != filterList.end(); ++it ) { + printf( "%s \n", (*it).latin1() ); + } + + filterStr = mimeFilter.right(mimeFilter.length() - mimeFilter.find("/",0,TRUE) - 1);// "*"; - qDebug(filterStr); -// else -// filterStr = "*."+ mt.extension(); + qDebug(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 ); dirPathCombo = new QComboBox( FALSE, this, "dirPathCombo" ); dirPathCombo->setEditable(TRUE); connect( dirPathCombo, SIGNAL( activated( const QString & ) ), @@ -225,25 +231,25 @@ void fileBrowser::populateList() pm = Resource::loadPixmap( "locked" ); else { MimeType mt(fi->filePath()); pm=mt.pixmap();// sets the pixmap for the mimetype if(pm.isNull()) pm = Resource::loadPixmap( "UnknownDocument-14" ); item->setPixmap( 0,pm); } } if( fileL.find("->",0,TRUE) != -1) { // overlay link image pm= Resource::loadPixmap( "folder" ); - QPixmap lnk = Resource::loadPixmap( "symlink" ); + QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); QPainter painter( &pm ); painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); pm.setMask( pm.createHeuristicMask( FALSE ) ); item->setPixmap( 0, pm); } } isDir=FALSE; ++it; // } } ListView->setSorting( 3, FALSE); QString currentPath = currentDir.canonicalPath(); @@ -483,41 +489,43 @@ void fileBrowser::updateMimeTypeMenu() { types << "--"; types += getMimeTypes(); prev = typemb->currentText(); typemb->clear(); typemb->insertItems(types); // typemb->select(prev); connect(typemb, SIGNAL(selected(const QString&)), this, SLOT(showType(const QString&))); } void fileBrowser::showType(const QString &t) { - qDebug(t); +// qDebug("Show type "+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()) + 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()+" "; + 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; // } // fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy @@ -537,28 +545,29 @@ QStringList fileBrowser::getMimeTypes() { QStringList r; AppLnkSet apps( QPEApplication::qpeDir() + "apps" ); QFile file( QPEApplication::qpeDir()+"etc/available.mime"); file.open( IO_WriteOnly|IO_Truncate);//) for ( QListIterator<AppLnk> it( apps.children() ); it.current(); ++it ) { AppLnk* l; l = it.current(); QStringList maj = l->mimeTypes(); QStringList::ConstIterator f; for ( f = maj.begin(); f != maj.end(); f++ ) { QString temp = *f; + qDebug("type "+temp); mimetypes << temp; int sl = temp.find('/'); if (sl >= 0) { - QString k = temp.left(sl); + QString k = temp;//.left(sl); if( r.grep(k,TRUE).isEmpty() ) { r << k; k+="\n"; file.writeBlock( k.latin1(), k.length()); } } } } r.sort(); file.close(); return r; } diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 18402d4..84888c1 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -492,57 +492,66 @@ void TextEdit::setWordWrap(bool y) } void TextEdit::fileNew() { // if( !bFromDocView ) { // saveAs(); // } newFile(DocLnk()); } void TextEdit::fileOpen() { - QString str = OFileDialog::getOpenFileName(1,"/","", QStringList() , this ); - if(!str.isEmpty() ) - openFile( str ); -// browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); // -// browseForFiles->setFileView( viewSelection ); -// browseForFiles->showMaximized(); -// // if( result != -1 ) - -// if( browseForFiles->exec() != -1 ) { -// QString selFile = browseForFiles->selectedFileName; -// QStringList fileList = browseForFiles->fileList; -// qDebug(selFile); -// QStringList::ConstIterator f; -// QString fileTemp; -// for ( f = fileList.begin(); f != fileList.end(); f++ ) { -// fileTemp = *f; -// fileTemp.right( fileTemp.length()-5); -// QString fileName = fileTemp; -// if( fileName != "Unnamed" || fileName != "Empty Text" ) { -// currentFileName = fileName; -// qDebug("please open "+currentFileName); -// openFile(str ); -// } -// } -// viewSelection = browseForFiles->SelectionCombo->currentItem(); -// } -// delete browseForFiles; -// editor->setEdited( FALSE); -// edited1=FALSE; -// edited=FALSE; -// if(caption().left(1)=="*") -// setCaption(caption().right(caption().length()-1)); -// doSearchBar(); + Config cfg("TextEdit"); + cfg.setGroup("View"); + bool b=FALSE; + if(cfg.readEntry("useOldFileDialog") == "TRUE") + b=TRUE; + if(!b) { + QString str = OFileDialog::getOpenFileName( 1,"/","", "text/plain", this ); + if(!str.isEmpty() ) + openFile( str ); + } else { + QString str; + browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); // + browseForFiles->setFileView( viewSelection ); + browseForFiles->showMaximized(); +// if( result != -1 ) + + if( browseForFiles->exec() != -1 ) { + QString selFile = browseForFiles->selectedFileName; + QStringList fileList = browseForFiles->fileList; + qDebug(selFile); + QStringList::ConstIterator f; + QString fileTemp; + for ( f = fileList.begin(); f != fileList.end(); f++ ) { + fileTemp = *f; + fileTemp.right( fileTemp.length()-5); + QString fileName = fileTemp; + if( fileName != "Unnamed" || fileName != "Empty Text" ) { + currentFileName = fileName; + qDebug("please open "+currentFileName); + openFile(str ); + } + } + viewSelection = browseForFiles->SelectionCombo->currentItem(); + } + delete browseForFiles; + editor->setEdited( FALSE); + edited1=FALSE; + edited=FALSE; + if(caption().left(1)=="*") + setCaption(caption().right(caption().length()-1)); + doSearchBar(); + } } void TextEdit::doSearchBar() { Config cfg("TextEdit"); cfg.setGroup("View"); if(cfg.readEntry("SearchBar","Closed") != "Opened") searchBar->hide(); } #if 0 void TextEdit::slotFind() diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index 61fa2a0..edc6fe3 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h @@ -48,25 +48,25 @@ class FileSelector; class QpeEditor; class QPopupMenu; class TextEdit : public QMainWindow { Q_OBJECT public: TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); ~TextEdit(); QPopupMenu *font; - QAction *nStart; + QAction *nStart, *nFileDlgOpt; bool edited, edited1; void openFile( const QString & ); QCopChannel * channel; public slots: void editorChanged(); void receive(const QCString&, const QByteArray&); protected: void closeEvent( QCloseEvent *e ); void doSearchBar(); private slots: void setDocument(const QString&); void changeFont(); |