author | llornkcor <llornkcor> | 2002-12-20 22:55:01 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-12-20 22:55:01 (UTC) |
commit | 48efd0d81aad0c3d0a64baabbc46fde593eb086c (patch) (side-by-side diff) | |
tree | fbf4aa16a389770f065f48e9888e1cd292f81a9f | |
parent | 3e67f4998a4957420d7f890268dc5f816e142468 (diff) | |
download | opie-48efd0d81aad0c3d0a64baabbc46fde593eb086c.zip opie-48efd0d81aad0c3d0a64baabbc46fde593eb086c.tar.gz opie-48efd0d81aad0c3d0a64baabbc46fde593eb086c.tar.bz2 |
sic workaround hack for now. fixes bug #569
-rw-r--r-- | core/apps/textedit/textedit.cpp | 163 |
1 files changed, 102 insertions, 61 deletions
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index 4f4f994..dc0d61b 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -1,5 +1,6 @@ /********************************************************************** +// textedit.cpp ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** -** This file is part of Qtopia Environment. +** This file is part of Opie Environment. ** @@ -10,21 +11,7 @@ ** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** **********************************************************************/ // changes added by L. J. Potter Sun 02-17-2002 21:31:31 -/* - useAdvancedfeatures = - 1) do not prompt on cancel, even if text is edited. - 2) prompt user is .desktop file - 3) prompt user for File Permissions on saveAs - */ #include "textedit.h" #include "filePermissions.h" -//#include "fontDialog.h" + @@ -45,2 +32,3 @@ +#include <qpoint.h> #include <qtextstream.h> @@ -171,8 +159,8 @@ class QpeEditor : public QMultiLineEdit { - // Q_OBJECT + public: QpeEditor( QWidget *parent, const char * name = 0 ) - : QMultiLineEdit( parent, name ) { - clearTableFlags(); - setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); + : QMultiLineEdit( parent, name ) { + clearTableFlags(); + setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); } @@ -181,2 +169,8 @@ public: bool backwards ); +protected: + bool markIt; + int line1, line2, col1, col2; + void mousePressEvent( QMouseEvent * ); + void mouseReleaseEvent( QMouseEvent * ); + //public slots: @@ -192,2 +186,34 @@ private: +void QpeEditor::mousePressEvent( QMouseEvent *e ) { + switch(e->button()) { + case RightButton: + { //rediculous workaround for qt popup menu + //and the hold right click mechanism + this->setSelection( line1, col1, line2, col2); + QMultiLineEdit::mousePressEvent( e ); + markIt = false; + } + break; + default: + { + if(!markIt) { + int line, col; + this->getCursorPosition(&line, &col); + line1=line2=line; + col1=col2=col; + } + QMultiLineEdit::mousePressEvent( e ); + } + break; + }; +} + +void QpeEditor::mouseReleaseEvent( QMouseEvent * ) { + if(this->hasMarkedText()) { + markIt = true; + this->getMarkedRegion( &line1, &col1, &line2, & col2 ); + } else { + markIt = false; + } +} @@ -270,3 +296,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); + QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) ); @@ -275,3 +302,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); @@ -280,3 +308,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); + a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); @@ -286,3 +315,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); + a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) ); @@ -290,3 +320,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); @@ -295,3 +326,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) ); @@ -300,3 +332,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); @@ -307,3 +340,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) #ifndef QT_NO_CLIPBOARD - a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) ); @@ -312,3 +346,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) ); @@ -328,3 +363,3 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) font->insertSeparator(); -// font->insertSeparator(); + font->insertItem(tr("Font"), this, SLOT(changeFont()) ); @@ -334,4 +369,6 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 ); - connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) ); + QAction *wa = new QAction( tr("Wrap lines"), + QString::null, 0, this, 0 ); + connect( wa, SIGNAL( toggled(bool) ), + this, SLOT( setWordWrap(bool) ) ); wa->setToggleAction(true); @@ -339,4 +376,6 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 ); - connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) ); + 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); @@ -345,4 +384,6 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - nAdvanced = new QAction( tr("Prompt on Exit"), QString::null, 0, this, 0 ); - connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doPrompt(bool) ) ); + nAdvanced = new QAction( tr("Prompt on Exit"), + QString::null, 0, this, 0 ); + connect( nAdvanced, SIGNAL( toggled(bool) ), + this, SLOT( doPrompt(bool) ) ); nAdvanced->setToggleAction(true); @@ -350,4 +391,6 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - desktopAction = new QAction( tr("Always open linked file"), QString::null, 0, this, 0 ); - connect( desktopAction, SIGNAL( toggled(bool) ), this, SLOT( doDesktop(bool) ) ); + desktopAction = new QAction( tr("Always open linked file"), + QString::null, 0, this, 0 ); + connect( desktopAction, SIGNAL( toggled(bool) ), + this, SLOT( doDesktop(bool) ) ); desktopAction->setToggleAction(true); @@ -355,4 +398,6 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - filePermAction = new QAction( tr("File Permissions"), QString::null, 0, this, 0 ); - connect( filePermAction, SIGNAL( toggled(bool) ), this, SLOT( doFilePerms(bool) ) ); + filePermAction = new QAction( tr("File Permissions"), + QString::null, 0, this, 0 ); + connect( filePermAction, SIGNAL( toggled(bool) ), + this, SLOT( doFilePerms(bool) ) ); filePermAction->setToggleAction(true); @@ -360,4 +405,6 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - searchBarAction = new QAction( tr("Search Bar Open"), QString::null, 0, this, 0 ); - connect( searchBarAction, SIGNAL( toggled(bool) ), this, SLOT( setSearchBar(bool) ) ); + searchBarAction = new QAction( tr("Search Bar Open"), + QString::null, 0, this, 0 ); + connect( searchBarAction, SIGNAL( toggled(bool) ), + this, SLOT( setSearchBar(bool) ) ); searchBarAction->setToggleAction(true); @@ -384,3 +431,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); @@ -389,3 +437,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) - a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); @@ -394,3 +443,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) edit->insertSeparator(); - a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); + a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), + QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); @@ -403,3 +453,5 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); - connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); + connect( editor, SIGNAL( textChanged() ), + this, SLOT( editorChanged() ) ); + QPEApplication::setStylusOperation( editor, QPEApplication::RightOnHold); @@ -451,10 +503,3 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) edited1=false; - -// if(startWithNew ) { openDotFile(""); -// fileNew(); -// } -// else { -// fileOpen(); -// } } @@ -462,3 +507,2 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) viewSelection = cfg.readNumEntry( "FileView", 0 ); -// setCaption(tr("Text Editor")); } @@ -466,3 +510,4 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) TextEdit::~TextEdit() { -// qDebug("destr"); + qWarning("textedit d'tor"); + delete editor; } @@ -470,3 +515,2 @@ TextEdit::~TextEdit() { void TextEdit::closeEvent(QCloseEvent *) { -// qDebug("closing here"); if( edited1 && promptExit) @@ -477,3 +521,2 @@ void TextEdit::closeEvent(QCloseEvent *) { void TextEdit::cleanUp() { -// qDebug("cleanUp");// save(); @@ -501,3 +544,2 @@ void TextEdit::cleanUp() { void TextEdit::accept() { -// qDebug("accept"); if( edited1) @@ -792,3 +834,3 @@ bool TextEdit::save() { saveAs(); - return; + return false; } @@ -1055,3 +1097,3 @@ void TextEdit::editorChanged() { -void TextEdit::receive(const QCString&msg, const QByteArray &data) { +void TextEdit::receive(const QCString&msg, const QByteArray &) { qDebug("QCop "+msg); @@ -1100,2 +1142 @@ void TextEdit::editPasteTimeDate() { } - |