author | llornkcor <llornkcor> | 2002-07-20 03:00:42 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-07-20 03:00:42 (UTC) |
commit | c42e3e2485c545beedd482115927bff7d1bf65a2 (patch) (side-by-side diff) | |
tree | 9b82c86631917d5ae66d9307c6b5e44237c1ecc9 | |
parent | 8256eec0103a50f80905e71891904a4267754559 (diff) | |
download | opie-c42e3e2485c545beedd482115927bff7d1bf65a2.zip opie-c42e3e2485c545beedd482115927bff7d1bf65a2.tar.gz opie-c42e3e2485c545beedd482115927bff7d1bf65a2.tar.bz2 |
added 'Advanced Features for prompting for .desktop files and permissions on saving
-rw-r--r-- | core/apps/textedit/textedit.cpp | 24 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 5 |
2 files changed, 23 insertions, 6 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index b276cbb..0af18da 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -321,54 +321,63 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) connect( ba, SIGNAL( toggled(bool) ), this, SLOT( setBold(bool) ) ); ba->setToggleAction(TRUE); ba->addTo( font ); QAction *ia = new QAction( tr("Italic"), QString::null, 0, this, 0 ); connect( ia, SIGNAL( toggled(bool) ), this, SLOT( setItalic(bool) ) ); ia->setToggleAction(TRUE); ia->addTo( font ); ba->setOn(defb); ia->setOn(defi); font->insertSeparator(); #endif QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 ); connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) ); wa->setToggleAction(TRUE); wa->addTo( font ); font->insertSeparator(); font->insertItem(tr("Font"), this, SLOT(changeFont()) ); font->insertSeparator(); + nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 ); connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) ); nStart->setToggleAction(TRUE); nStart->addTo( font ); + + nAdvanced = new QAction( tr("Advanced features"), QString::null, 0, this, 0 ); + connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doAdvanced(bool) ) ); + nAdvanced->setToggleAction(TRUE); + nAdvanced->addTo( font ); + if(cfg.readBoolEntry("AdvancedFeatures")) + nAdvanced->setOn(TRUE); font->insertSeparator(); - font->insertItem(tr("About"), this, SLOT( doAbout()) ); + + font->insertItem(tr("About"), this, SLOT( doAbout()) ); mb->insertItem( tr( "File" ), file ); mb->insertItem( tr( "Edit" ), edit ); mb->insertItem( tr( "View" ), font ); searchBar = new QPEToolBar(this); addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); searchBar->setHorizontalStretchable( TRUE ); searchEdit = new QLineEdit( searchBar, "searchEdit" ); searchBar->setStretchableWidget( searchEdit ); connect( searchEdit, SIGNAL( textChanged( const QString & ) ), this, SLOT( search() ) ); a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); a->addTo( searchBar ); a->addTo( edit ); a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); a->addTo( searchBar ); @@ -602,49 +611,49 @@ void TextEdit::findClose() void TextEdit::search() { editor->find( searchEdit->text(), FALSE, FALSE ); } 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); // editor->setEdited( FALSE); } void TextEdit::openFile( const QString &f ) { qDebug("filename is "+ f); QString filer; // bFromDocView = TRUE; - if(f.find(".desktop",0,TRUE) != -1) { + if(f.find(".desktop",0,TRUE) != -1 && useAdvancedFeatures) { switch ( QMessageBox::warning(this,tr("Text Editor"), tr("Text Editor has detected\n you selected a .desktop file.\nOpen .desktop file or linked file?"), tr(".desktop File"),tr("Linked Document"),0,1,1) ) { case 0: filer = f; break; case 1: DocLnk sf(f); filer = sf.file(); break; } } else { filer = f; fileIs = TRUE; } DocLnk nf; nf.setType("text/plain"); nf.setFile(filer); currentFileName=filer; QFileInfo fi( currentFileName); nf.setName(fi.baseName()); qDebug("openFile string "+currentFileName); @@ -802,56 +811,56 @@ bool TextEdit::saveAs() if(!str.isEmpty() ) { QString fileNm=str; qDebug("saving filename "+fileNm); QFileInfo fi(fileNm); currentFileName=fi.fileName(); if(doc) { // QString file = doc->file(); // doc->removeFiles(); delete doc; DocLnk nf; nf.setType("text/plain"); nf.setFile( fileNm); doc = new DocLnk(nf); // editor->setText(rt); // qDebug("openFile doclnk "+currentFileName); doc->setName( currentFileName); updateCaption( currentFileName); FileManager fm; if ( !fm.saveFile( *doc, rt ) ) { return false; } -// if( fileSaveDlg->filePermCheck->isChecked() ) { + if( useAdvancedFfeatures ) { filePermissions *filePerm; filePerm = new filePermissions(this, tr("Permissions"),true,0,(const QString &)fileNm); filePerm->exec(); if( filePerm) delete filePerm; -// } + } } } editor->setEdited(TRUE); edited1=FALSE; edited=TRUE; if(caption().left(1)=="*") setCaption(caption().right(caption().length()-1)); return true; } //end saveAs void TextEdit::clear() { delete doc; doc = 0; editor->clear(); } void TextEdit::updateCaption( const QString &name ) { if ( !doc ) setCaption( tr("Text Editor") ); else { QString s = name; @@ -945,24 +954,31 @@ void TextEdit::changeStartConfig( bool b ) { update(); } 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"); } } void TextEdit::doAbout() { QMessageBox::about(0,"Text Edit","Text Edit is copyright\n" "2000 Trolltech AS, and\n" "2002 by L.J.Potter \nljp@llornkcor.com\n" "and is licensed under the GPL"); } + +void TextEdit::doAdvanced(bool b) { + useAdvancedFeatures=b; + Config cfg("TextEdit"); + cfg.setGroup("View"); + cfg.writeEntry("AdvancedFeatures",b); +} diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index 764d852..aec6427 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h @@ -36,60 +36,61 @@ #include <qmultilineedit.h> #include <qlist.h> #include <qmap.h> class QAction; class QWidgetStack; class QToolButton; class QPopupMenu; class QToolBar; class QLineEdit; class QAction; 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, *nFileDlgOpt; + QAction *nStart, *nFileDlgOpt, *nAdvanced; bool edited, edited1; void openFile( const QString & ); QCopChannel * channel; public slots: void editorChanged(); void receive(const QCString&, const QByteArray&); protected: - bool fileIs; + bool fileIs, useAdvancedFeatures; void closeEvent( QCloseEvent *e ); void doSearchBar(); private slots: + void doAdvanced(bool); void doAbout(); void setDocument(const QString&); void changeFont(); void fileNew(); void fileRevert(); void fileOpen(); void changeStartConfig(bool); bool save(); bool saveAs(); void cleanUp(); void editCut(); void editCopy(); void editPaste(); void editFind(); void editDelete(); void findNext(); void findClose(); void search(); void accept(); |