summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-07-20 03:00:42 (UTC)
committer llornkcor <llornkcor>2002-07-20 03:00:42 (UTC)
commitc42e3e2485c545beedd482115927bff7d1bf65a2 (patch) (side-by-side diff)
tree9b82c86631917d5ae66d9307c6b5e44237c1ecc9
parent8256eec0103a50f80905e71891904a4267754559 (diff)
downloadopie-c42e3e2485c545beedd482115927bff7d1bf65a2.zip
opie-c42e3e2485c545beedd482115927bff7d1bf65a2.tar.gz
opie-c42e3e2485c545beedd482115927bff7d1bf65a2.tar.bz2
added 'Advanced Features for prompting for .desktop files and permissions on saving
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/textedit.cpp24
-rw-r--r--core/apps/textedit/textedit.h5
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();