author | llornkcor <llornkcor> | 2002-04-10 19:08:30 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-04-10 19:08:30 (UTC) |
commit | 11d754ffa429875b526c49f125d8a844c5cda3d8 (patch) (side-by-side diff) | |
tree | 4b2fa1f980e62dad5a0ae465c95eb627df32cdd9 | |
parent | 5504a71f3e65673a3eea23051d0043f2b483276b (diff) | |
download | opie-11d754ffa429875b526c49f125d8a844c5cda3d8.zip opie-11d754ffa429875b526c49f125d8a844c5cda3d8.tar.gz opie-11d754ffa429875b526c49f125d8a844c5cda3d8.tar.bz2 |
bug fix
-rw-r--r-- | core/apps/textedit/fileBrowser.cpp | 28 | ||||
-rw-r--r-- | core/apps/textedit/textedit.cpp | 99 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 7 |
3 files changed, 73 insertions, 61 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp index bc99348..f322513 100644 --- a/core/apps/textedit/fileBrowser.cpp +++ b/core/apps/textedit/fileBrowser.cpp @@ -43,17 +43,17 @@ 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( tr("fileBrowser") ); + 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() ); @@ -115,31 +115,31 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags 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( tr("Date"),-1); + ListView->addColumn( "Date",-1); ListView->setColumnWidthMode(0,QListView::Manual); ListView->setColumnAlignment(1,QListView::AlignRight); ListView->setColumnAlignment(2,QListView::AlignRight); ListView->setAllColumnsShowFocus( TRUE ); 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/plain"; 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" ); @@ -343,24 +343,24 @@ void fileBrowser::docButtonPushed() { currentDir.cd( current, TRUE); populateList(); update(); } void fileBrowser::selectionChanged( const QString &select ) { - if ( select == tr("Documents")) { + if ( select == "Documents") { FileStack->raiseWidget( fileSelector ); dirPathCombo->hide(); cdUpButton->hide(); docButton->hide(); homeButton->hide(); } else { - if ( select == tr("All files") ) + if ( select == "All files" ) currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All); else currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); populateList(); update(); dirPathCombo->show(); cdUpButton->show(); @@ -407,60 +407,60 @@ void fileBrowser::showListMenu(QListViewItem *item) { } void fileBrowser::doCd() { listClicked( ListView->currentItem()); } void fileBrowser::makDir() { InputDialog *fileDlg; - fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); + fileDlg = new InputDialog(this,"Make Directory",TRUE, 0); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString filename = fileDlg->LineEdit1->text(); qDebug("Make dir"); currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); } populateList(); } void fileBrowser::localRename() { QString curFile = ListView->currentItem()->text(0); InputDialog *fileDlg; - fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0); + fileDlg = new InputDialog(this,"Rename",TRUE, 0); fileDlg->setTextEdit((const QString &) curFile); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString oldname = currentDir.canonicalPath() + "/" + curFile; QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist"; if( rename(oldname.latin1(), newName.latin1())== -1) - QMessageBox::message(tr("Note"),tr("Could not rename")); + QMessageBox::message("Note","Could not rename"); } populateList(); } void fileBrowser::localDelete() { QString f = ListView->currentItem()->text(0); if(QDir(f).exists() ) { - switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+ - tr(" ?\nIt must be empty"),tr("Yes"),tr("No"),0,0,1) ) { + switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+ + " ?\nIt must be empty","Yes","No",0,0,1) ) { case 0: { f=currentDir.canonicalPath()+"/"+f; QString cmd="rmdir "+f; system( cmd.latin1()); populateList(); } break; case 1: // exit break; }; } else { - switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f - +" ?",tr("Yes"),tr("No"),0,0,1) ) { + switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f + +" ?","Yes","No",0,0,1) ) { case 0: { f=currentDir.canonicalPath()+"/"+f; QString cmd="rm "+f; system( cmd.latin1()); populateList(); } break; case 1: @@ -488,17 +488,17 @@ void fileBrowser::updateMimeTypeMenu() { // typemb->select(prev); connect(typemb, SIGNAL(selected(const QString&)), this, SLOT(showType(const QString&))); } void fileBrowser::showType(const QString &t) { qDebug(t); - if(t.find(tr("All"),0,TRUE) != -1) { + 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); @@ -600,17 +600,17 @@ void fileBrowser::fillCombo(const QString ¤tPath) { } } InputDialog::InputDialog( QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) { if ( !name ) - setName( tr("InputDialog") ); + setName( "InputDialog" ); resize( 234, 50 ); setMaximumSize( QSize( 240, 50 ) ); setCaption( tr(name ) ); LineEdit1 = new QLineEdit( this, "LineEdit1" ); LineEdit1->setGeometry( QRect( 10, 10, 216, 22 ) ); } diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 6804918..943fecd 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -30,16 +30,17 @@ #include <qpe/global.h> #include <qpe/fileselector.h> #include <qpe/applnk.h> #include <qpe/resource.h> #include <qpe/config.h> #include <qpe/qpeapplication.h> #include <qpe/qpemenubar.h> #include <qpe/qpetoolbar.h> +#include <qpe/qcopenvelope_qws.h> //#include <qpe/finddialog.h> #include <qstringlist.h> #include <qaction.h> #include <qcolordialog.h> #include <qfileinfo.h> #include <qlineedit.h> #include <qmessagebox.h> @@ -233,16 +234,20 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) : QMainWindow( parent, name, f ), bFromDocView( FALSE ) { doc = 0; edited=FALSE; edited1=FALSE; setToolBarsMovable( FALSE ); connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); + channel = new QCopChannel( "QPE/Application/textedit", this ); + connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), + this, SLOT(receive(const QCString&, const QByteArray&)) ); + setIcon( Resource::loadPixmap( "TextEditor" ) ); QPEToolBar *bar = new QPEToolBar( this ); bar->setHorizontalStretchable( TRUE ); menu = bar; QPEMenuBar *mb = new QPEMenuBar( bar ); QPopupMenu *file = new QPopupMenu( this ); @@ -392,23 +397,23 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); defaultFont = fdb.font(family,style,i_size,charSet); editor->setFont( defaultFont); wa->setOn(wrap); updateCaption(); - cfg.setGroup("View"); - if(cfg.readEntry("startNew","TRUE") == "TRUE") { - nStart->setOn(TRUE); - fileNew(); - } else { - fileOpen(); - } + cfg.setGroup("View"); + if(cfg.readEntry("startNew","TRUE") == "TRUE") { + nStart->setOn(TRUE); + fileNew(); + } else { + fileOpen(); + } viewSelection = cfg.readNumEntry( "FileView", 0 ); } void TextEdit::cleanUp() { // save(); Config cfg("TextEdit"); cfg.setGroup("View"); @@ -480,27 +485,29 @@ void TextEdit::setWordWrap(bool y) { bool state = editor->edited(); editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); editor->setEdited( state ); } void TextEdit::fileNew() { - if( !bFromDocView ) { - saveAs(); - } +// if( !bFromDocView ) { +// saveAs(); +// } newFile(DocLnk()); } void TextEdit::fileOpen() { - browseForFiles=new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); // + 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; @@ -613,67 +620,65 @@ void TextEdit::search() void TextEdit::newFile( const DocLnk &f ) { DocLnk nf = f; nf.setType("text/plain"); clear(); setWState (WState_Reserved1 ); editor->setFocus(); doc = new DocLnk(nf); + currentFileName = "Unnamed"; qDebug("newFile "+currentFileName); - updateCaption(currentFileName); + updateCaption( currentFileName); +// editor->setEdited( FALSE); } void TextEdit::openFile( const QString &f ) { - bFromDocView = TRUE; +// bFromDocView = TRUE; DocLnk nf; nf.setType("text/plain"); nf.setFile(f); currentFileName=f; QFileInfo fi( currentFileName); nf.setName(fi.baseName()); qDebug("openFile string"+currentFileName); openFile(nf); showEditTools(); - // Show filename in caption + // Show filename in caption QString name = f; int sep = name.findRev( '/' ); if ( sep > 0 ) - name = name.mid( sep+1 ); + name = name.mid( sep+1 ); updateCaption( name ); } void TextEdit::openFile( const DocLnk &f ) { // clear(); - bFromDocView = TRUE; +// bFromDocView = TRUE; FileManager fm; QString txt; currentFileName=f.name(); qDebug("openFile doclnk " + currentFileName); if ( !fm.loadFile( f, txt ) ) { - // ####### could be a new file + // ####### could be a new file qDebug( "Cannot open file" ); - - //return; } - - fileNew(); +// fileNew(); if ( doc ) - delete doc; + delete doc; doc = new DocLnk(f); editor->setText(txt); editor->setEdited( FALSE); edited1=FALSE; edited=FALSE; - qDebug("openFile doclnk "+currentFileName); doc->setName(currentFileName); updateCaption(); } void TextEdit::showEditTools() { // if ( !doc ) // close(); @@ -686,19 +691,19 @@ void TextEdit::showEditTools() setWState (WState_Reserved1 ); } /*! unprompted save */ bool TextEdit::save() { QString file = doc->file(); - qDebug(file); + qDebug("saver file "+file); QString name= doc->name(); - qDebug(name); + qDebug("File named "+name); QString rt = editor->text(); if( !rt.isEmpty() ) { if(name.isEmpty()) { saveAs(); } else { currentFileName= name ; qDebug("saveFile "+currentFileName); @@ -726,33 +731,32 @@ bool TextEdit::save() return false; } /*! prompted save */ bool TextEdit::saveAs() { // qDebug("saveAsFile "+currentFileName); - - // case of nothing to save... /// there's always something to save -// if ( !doc )//|| !bFromDocView) -// { -// qDebug("no doc"); -// return true; -// } + // case of nothing to save... + if ( !doc )//|| !bFromDocView) + { + qDebug("no doc"); + return true; + } if ( !editor->edited() ) { delete doc; doc = 0; return true; } QString rt = editor->text(); qDebug(currentFileName); - if( currentFileName.isEmpty() || currentFileName == tr("Unnamed")) { + if( currentFileName.isEmpty() || currentFileName == tr("Unnamed") || currentFileName == tr("Text Editor")) { qDebug("do silly TT filename thing"); if ( doc->name().isEmpty() ) { QString pt = rt.simplifyWhiteSpace(); int i = pt.find( ' ' ); QString docname = pt; if ( i > 0 ) docname = pt.left( i ); // remove "." at the beginning @@ -809,17 +813,17 @@ bool TextEdit::saveAs() edited1=FALSE; edited=TRUE; if(caption().left(1)=="*") setCaption(caption().right(caption().length()-1)); if(fileSaveDlg) delete fileSaveDlg; return true; -} +} //end saveAs void TextEdit::clear() { delete doc; doc = 0; editor->clear(); } @@ -830,51 +834,48 @@ void TextEdit::updateCaption( const QString &name ) else { QString s = name; if ( s.isNull() ) s = doc->name(); if ( s.isEmpty() ) { s = tr( "Unnamed" ); currentFileName=s; } - + if(s.left(1) == "/") + s = s.right(s.length()-1); setCaption( s + " - " + tr("Text Editor") ); } } void TextEdit::setDocument(const QString& fileref) { bFromDocView = TRUE; - qDebug("setDocument "+fileref); - bFromDocView = TRUE; if(fileref.find(".desktop",0,TRUE) == -1) { - openFile(fileref); + openFile(fileref); } else { - openFile(DocLnk(fileref)); + qDebug("is desktop file"); + openFile(DocLnk(fileref)); } editor->setEdited(TRUE); edited1=FALSE; edited=TRUE; doSearchBar(); } void TextEdit::closeEvent( QCloseEvent *e ) { bFromDocView = FALSE; e->accept(); } void TextEdit::accept() { - QString file = doc->file(); - if (file.find("_.txt",0,TRUE) ==-1) - save(); - else { - QFile(file).remove(); - } + //if(caption() !="Unnamed") + if(edited1) + saveAs(); exit(0); } void TextEdit::changeFont() { FontDatabase fdb; QFont defaultFont=editor->font(); QFontInfo fontInfo(defaultFont); @@ -929,8 +930,16 @@ void TextEdit::changeStartConfig( bool b ) { void TextEdit::editorChanged() { if(editor->edited() && edited && !edited1) { setCaption( "*"+caption()); edited1=TRUE; } edited=TRUE; } + +void TextEdit::receive(const QCString&msg, const QByteArray&) { + qDebug("QCop "+msg); + if ( msg == "setDocument(QString)" ) { + qDebug("bugger all"); + } + +} diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index af69518..61fa2a0 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h @@ -23,16 +23,19 @@ #define TEXTEDIT_H #define QTEXTEDIT_OPEN_API #include "fileBrowser.h" #include "fileSaver.h" #include <qpe/filemanager.h> +#include <qpe/qcopenvelope_qws.h> + +#include <opie/ofileselector.h> #include <qmainwindow.h> #include <qmultilineedit.h> #include <qlist.h> #include <qmap.h> class QAction; class QWidgetStack; @@ -52,19 +55,20 @@ class TextEdit : public QMainWindow public: TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); ~TextEdit(); QPopupMenu *font; QAction *nStart; 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(); void fileNew(); void fileRevert(); @@ -101,17 +105,16 @@ private: void colorChanged( const QColor &c ); void clear(); void updateCaption( const QString &name=QString::null ); void setFontSize(int sz, bool round_down_not_up); private: fileSaver *fileSaveDlg; fileBrowser *browseForFiles; - QpeEditor* editor; QToolBar *menu, *editBar, *searchBar; QLineEdit *searchEdit; DocLnk *doc; bool searchVisible; bool bFromDocView; int viewSelection; QAction *zin, *zout; |