author | llornkcor <llornkcor> | 2003-02-28 17:23:19 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-02-28 17:23:19 (UTC) |
commit | a5a5a25bee2596608906ae44cdad45bf89276385 (patch) (side-by-side diff) | |
tree | a618cc62fceb34b0aa9a1f7a9d9bb744c57c5460 | |
parent | 81cbb2d97b4f0cd7eef56536d791434856d7ae8d (diff) | |
download | opie-a5a5a25bee2596608906ae44cdad45bf89276385.zip opie-a5a5a25bee2596608906ae44cdad45bf89276385.tar.gz opie-a5a5a25bee2596608906ae44cdad45bf89276385.tar.bz2 |
moved xmp to resource, and added goto line number
-rw-r--r-- | core/apps/textedit/resource.h | 104 | ||||
-rw-r--r-- | core/apps/textedit/textedit.cpp | 130 | ||||
-rw-r--r-- | core/apps/textedit/textedit.h | 182 | ||||
-rw-r--r-- | core/apps/textedit/textedit.pro | 6 |
4 files changed, 231 insertions, 191 deletions
diff --git a/core/apps/textedit/resource.h b/core/apps/textedit/resource.h new file mode 100644 index 0000000..7a22f01 --- a/dev/null +++ b/core/apps/textedit/resource.h @@ -0,0 +1,104 @@ +#ifndef RESOURCE_H +#define RESOURCE_H + +#include <qpixmap.h> + +/* XPM */ +static char * filesave_xpm[] = { + "16 16 78 1", + " c None", + ". c #343434", + "+ c #A0A0A0", + "@ c #565656", + "# c #9E9E9E", + "$ c #525252", + "% c #929292", + "& c #676767", + "* c #848484", + "= c #666666", + "- c #D8D8D8", + "; c #FFFFFF", + "> c #DBDBDB", + ", c #636363", + "' c #989898", + ") c #2D2D2D", + "! c #909090", + "~ c #AEAEAE", + "{ c #EAEAEA", + "] c #575757", + "^ c #585858", + "/ c #8A8A8A", + "( c #828282", + "_ c #6F6F6F", + ": c #C9C9C9", + "< c #050505", + "[ c #292929", + "} c #777777", + "| c #616161", + "1 c #3A3A3A", + "2 c #BEBEBE", + "3 c #2C2C2C", + "4 c #7C7C7C", + "5 c #F6F6F6", + "6 c #FCFCFC", + "7 c #6B6B6B", + "8 c #959595", + "9 c #4F4F4F", + "0 c #808080", + "a c #767676", + "b c #818181", + "c c #B8B8B8", + "d c #FBFBFB", + "e c #F9F9F9", + "f c #CCCCCC", + "g c #030303", + "h c #737373", + "i c #7A7A7A", + "j c #7E7E7E", + "k c #6A6A6A", + "l c #FAFAFA", + "m c #505050", + "n c #9D9D9D", + "o c #333333", + "p c #7B7B7B", + "q c #787878", + "r c #696969", + "s c #494949", + "t c #555555", + "u c #949494", + "v c #E6E6E6", + "w c #424242", + "x c #515151", + "y c #535353", + "z c #3E3E3E", + "A c #D4D4D4", + "B c #0C0C0C", + "C c #353535", + "D c #474747", + "E c #ECECEC", + "F c #919191", + "G c #7D7D7D", + "H c #000000", + "I c #404040", + "J c #858585", + "K c #323232", + "L c #D0D0D0", + "M c #1C1C1C", + " ...+ ", + " @#$%&..+ ", + " .*=-;;>,..+ ", + " ')!~;;;;;;{]..", + " ^/(-;;;;;;;_:<", + " [}|;;;;;;;{12$", + " #34-55;;;;678$+", + " 90ab=c;dd;e1fg ", + " [ahij((kbl0mn$ ", + " op^q^^7r&]s/$+ ", + "@btu;vbwxy]zAB ", + "CzDEvEv;;DssF$ ", + "G.H{E{E{IxsJ$+ ", + " +...vEKxzLM ", + " +...z]n$ ", + " +... "}; + +#endif diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index f571511..b81f3b4 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp @@ -10,195 +10,97 @@ ** packaging of this file. ** **********************************************************************/ // changes added by L. J. Potter Sun 02-17-2002 21:31:31 #include "textedit.h" #include "filePermissions.h" #include <opie/ofileselector.h> #include <opie/ofiledialog.h> #include <opie/ofontselector.h> #include <qpe/fontdatabase.h> #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 <qpoint.h> #include <qtextstream.h> #include <qdatetime.h> #include <qclipboard.h> #include <qstringlist.h> #include <qaction.h> #include <qcolordialog.h> #include <qfileinfo.h> #include <qlineedit.h> #include <qmessagebox.h> #include <qobjectlist.h> #include <qpopupmenu.h> #include <qspinbox.h> #include <qtoolbutton.h> #include <qwidgetstack.h> #include <qcheckbox.h> #include <qcombo.h> #include <qlayout.h> #include <qapplication.h> #include <qtimer.h> #include <qdir.h> #include <unistd.h> #include <sys/stat.h> #include <stdlib.h> //getenv - -/* XPM */ -static char * filesave_xpm[] = { -"16 16 78 1", -" c None", -". c #343434", -"+ c #A0A0A0", -"@ c #565656", -"# c #9E9E9E", -"$ c #525252", -"% c #929292", -"& c #676767", -"* c #848484", -"= c #666666", -"- c #D8D8D8", -"; c #FFFFFF", -"> c #DBDBDB", -", c #636363", -"' c #989898", -") c #2D2D2D", -"! c #909090", -"~ c #AEAEAE", -"{ c #EAEAEA", -"] c #575757", -"^ c #585858", -"/ c #8A8A8A", -"( c #828282", -"_ c #6F6F6F", -": c #C9C9C9", -"< c #050505", -"[ c #292929", -"} c #777777", -"| c #616161", -"1 c #3A3A3A", -"2 c #BEBEBE", -"3 c #2C2C2C", -"4 c #7C7C7C", -"5 c #F6F6F6", -"6 c #FCFCFC", -"7 c #6B6B6B", -"8 c #959595", -"9 c #4F4F4F", -"0 c #808080", -"a c #767676", -"b c #818181", -"c c #B8B8B8", -"d c #FBFBFB", -"e c #F9F9F9", -"f c #CCCCCC", -"g c #030303", -"h c #737373", -"i c #7A7A7A", -"j c #7E7E7E", -"k c #6A6A6A", -"l c #FAFAFA", -"m c #505050", -"n c #9D9D9D", -"o c #333333", -"p c #7B7B7B", -"q c #787878", -"r c #696969", -"s c #494949", -"t c #555555", -"u c #949494", -"v c #E6E6E6", -"w c #424242", -"x c #515151", -"y c #535353", -"z c #3E3E3E", -"A c #D4D4D4", -"B c #0C0C0C", -"C c #353535", -"D c #474747", -"E c #ECECEC", -"F c #919191", -"G c #7D7D7D", -"H c #000000", -"I c #404040", -"J c #858585", -"K c #323232", -"L c #D0D0D0", -"M c #1C1C1C", -" ...+ ", -" @#$%&..+ ", -" .*=-;;>,..+ ", -" ')!~;;;;;;{]..", -" ^/(-;;;;;;;_:<", -" [}|;;;;;;;{12$", -" #34-55;;;;678$+", -" 90ab=c;dd;e1fg ", -" [ahij((kbl0mn$ ", -" op^q^^7r&]s/$+ ", -"@btu;vbwxy]zAB ", -"CzDEvEv;;DssF$ ", -"G.H{E{E{IxsJ$+ ", -" +...vEKxzLM ", -" +...z]n$ ", -" +... "}; - +#include "resource.h" #if QT_VERSION < 300 class QpeEditor : public QMultiLineEdit { public: QpeEditor( QWidget *parent, const char * name = 0 ) : QMultiLineEdit( parent, name ) { clearTableFlags(); setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); } void find( const QString &txt, bool caseSensitive, bool backwards ); protected: bool markIt; int line1, line2, col1, col2; void mousePressEvent( QMouseEvent * ); void mouseReleaseEvent( QMouseEvent * ); //public slots: /* signals: void notFound(); void searchWrapped(); */ 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; @@ -308,96 +210,101 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) a->addTo( bar ); a->addTo( file ); a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); file->insertSeparator(); a->addTo( bar ); a->addTo( file ); a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) ); a->addTo( file ); a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); a->addTo( editBar ); a->addTo( edit ); a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) ); a->addTo( editBar ); a->addTo( edit ); a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); a->addTo( editBar ); a->addTo( edit ); #ifndef QT_NO_CLIPBOARD a = new QAction( tr( "Insert Time and Date" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editPasteTimeDate() ) ); a->addTo( edit ); #endif a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) ); edit->insertSeparator(); a->addTo( bar ); a->addTo( edit ); + a = new QAction( tr( "Goto Line..." ), Resource::loadPixmap( "find" ), + QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( gotoLine() ) ); + a->addTo( edit ); + zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 ); connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); zin->addTo( font ); zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 ); connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); zout->addTo( font ); font->insertSeparator(); font->insertItem(tr("Font"), this, SLOT(changeFont()) ); font->insertSeparator(); font->insertItem(tr("Advanced Features"), advancedMenu); 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( advancedMenu); 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( advancedMenu ); nStart->setEnabled(false); nAdvanced = new QAction( tr("Prompt on Exit"), QString::null, 0, this, 0 ); connect( nAdvanced, SIGNAL( toggled(bool) ), this, SLOT( doPrompt(bool) ) ); nAdvanced->setToggleAction(true); nAdvanced->addTo( advancedMenu ); 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); desktopAction->addTo( advancedMenu); filePermAction = new QAction( tr("File Permissions"), QString::null, 0, this, 0 ); connect( filePermAction, SIGNAL( toggled(bool) ), @@ -1215,48 +1122,73 @@ int TextEdit::savePrompt() return 0; } void TextEdit::timerCrank() { if(featureAutoSave && edited1) { if(currentFileName.isEmpty()) { currentFileName = QDir::homeDirPath()+"/textedit.tmp"; saveAs(); } else { // qDebug("autosave"); save(); } setTimer(); } } void TextEdit::doTimer(bool b) { Config cfg("TextEdit"); cfg.setGroup ( "View" ); cfg.writeEntry ( "autosave", b); featureAutoSave = b; nAutoSave->setOn(b); if(b) { // qDebug("doTimer true"); setTimer(); } // else // qDebug("doTimer false"); } void TextEdit::setTimer() { if(featureAutoSave) { // qDebug("setting autosave"); QTimer *timer = new QTimer(this ); connect( timer, SIGNAL(timeout()), this, SLOT(timerCrank()) ); timer->start( 300000, true); //5 minutes } } + +void TextEdit::gotoLine() { + + QWidget *d = QApplication::desktop(); + gotoEdit = new QLineEdit( 0, "Goto line"); + + gotoEdit->move( (d->width()/2) - ( gotoEdit->width()/2) , (d->height()/2) - (gotoEdit->height()/2)); + gotoEdit->setFrame(true); + gotoEdit->show(); + connect (gotoEdit,SIGNAL(returnPressed()), this, SLOT(doGoto())); +} + +void TextEdit::doGoto() { + QString number = gotoEdit->text(); + gotoEdit->hide(); + if(gotoEdit) delete gotoEdit; + bool ok; + int lineNumber = number.toInt(&ok, 10); + if(editor->numLines() < lineNumber) + QMessageBox::message(tr("Text Edit"),tr("Not enough lines")); + else + { + editor->setCursorPosition(lineNumber, 0, false); + } +} diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h index 643ea68..e0cbea2 100644 --- a/core/apps/textedit/textedit.h +++ b/core/apps/textedit/textedit.h @@ -1,138 +1,142 @@ /********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of Qtopia Environment. -** -** 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. -** -** 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. -** -**********************************************************************/ + ** Copyright (C) 2000 Trolltech AS. All rights reserved. + ** + ** This file is part of Qtopia Environment. + ** + ** 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. + ** + ** 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. + ** + **********************************************************************/ // additions made by L.J. Potter Sun 02-17-2002 22:27:46 #ifndef TEXTEDIT_H #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; class QToolButton; class QPopupMenu; class QToolBar; class QLineEdit; class QAction; class FileSelector; class QpeEditor; class QPopupMenu; class QTimer; class TextEdit : public QMainWindow { - Q_OBJECT + Q_OBJECT public: - TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); - ~TextEdit(); + TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); + ~TextEdit(); protected: - QPopupMenu *font; - QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction, *nAutoSave; - bool edited, edited1; - void openFile( const QString & ); - QCopChannel * channel; - - bool featureAutoSave; - void closeEvent( QCloseEvent *e ); - void doSearchBar(); - int savePrompt(); - void setTimer(); + QPopupMenu *font; + QAction *nStart, *nFileDlgOpt, *nAdvanced, *desktopAction, *filePermAction, *searchBarAction, *nAutoSave; + bool edited, edited1; + void openFile( const QString & ); + QCopChannel * channel; + + bool featureAutoSave; + void closeEvent( QCloseEvent *e ); + void doSearchBar(); + int savePrompt(); + void setTimer(); private slots: - void editorChanged(); - void receive(const QCString&, const QByteArray&); - void timerCrank(); - void doTimer(bool); - void editPasteTimeDate(); - void doPrompt(bool); - void doDesktop(bool); - void doFilePerms(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(); - - void newFile( const DocLnk & ); - void openFile( const DocLnk & ); - void showEditTools(); - - void zoomIn(); - void zoomOut(); - void setBold(bool y); - void setItalic(bool y); - void setWordWrap(bool y); - void setSearchBar(bool); + void editorChanged(); + void receive(const QCString&, const QByteArray&); + void timerCrank(); + void doTimer(bool); + void editPasteTimeDate(); + void doPrompt(bool); + void doDesktop(bool); + void doFilePerms(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 gotoLine(); + void doGoto(); + + + void editCut(); + void editCopy(); + void editPaste(); + void editFind(); + void editDelete(); + + void findNext(); + void findClose(); + + void search(); + void accept(); + + void newFile( const DocLnk & ); + void openFile( const DocLnk & ); + void showEditTools(); + + void zoomIn(); + void zoomOut(); + void setBold(bool y); + void setItalic(bool y); + void setWordWrap(bool y); + void setSearchBar(bool); private: - void openDotFile(const QString &); - void colorChanged( const QColor &c ); - void clear(); - void updateCaption( const QString &name=QString::null ); - void setFontSize(int sz, bool round_down_not_up); + void openDotFile(const QString &); + 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; - bool fromSetDocument; - QpeEditor* editor; - QToolBar *menu, *editBar, *searchBar; - QPopupMenu *advancedMenu; - QLineEdit *searchEdit; - DocLnk *doc; - bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar, startWithNew; - bool bFromDocView; + bool fromSetDocument; + QpeEditor* editor; + QToolBar *menu, *editBar, *searchBar; + QPopupMenu *advancedMenu; + QLineEdit *gotoEdit; + QLineEdit *searchEdit; + DocLnk *doc; + bool fileIs, useAdvancedFeatures, promptExit, openDesktop, filePerms, useSearchBar, startWithNew; + bool bFromDocView; int viewSelection; - QAction *zin, *zout; - QString currentFileName; + QAction *zin, *zout; + QString currentFileName; }; #endif diff --git a/core/apps/textedit/textedit.pro b/core/apps/textedit/textedit.pro index f5e16a0..233dd67 100644 --- a/core/apps/textedit/textedit.pro +++ b/core/apps/textedit/textedit.pro @@ -1,30 +1,30 @@ TEMPLATE = app CONFIG += qt warn_on release DESTDIR = $(OPIEDIR)/bin -HEADERS = textedit.h filePermissions.h +HEADERS = textedit.h filePermissions.h resource.h SOURCES = main.cpp textedit.cpp filePermissions.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -lopie TARGET = textedit TRANSLATIONS = ../../../i18n/de/textedit.ts \ - ../../../i18n/da/textedit.ts \ - ../../../i18n/xx/textedit.ts \ + ../../../i18n/da/textedit.ts \ + ../../../i18n/xx/textedit.ts \ ../../../i18n/en/textedit.ts \ ../../../i18n/es/textedit.ts \ ../../../i18n/fr/textedit.ts \ ../../../i18n/hu/textedit.ts \ ../../../i18n/ja/textedit.ts \ ../../../i18n/ko/textedit.ts \ ../../../i18n/no/textedit.ts \ ../../../i18n/pl/textedit.ts \ ../../../i18n/pt/textedit.ts \ ../../../i18n/pt_BR/textedit.ts \ ../../../i18n/sl/textedit.ts \ ../../../i18n/zh_CN/textedit.ts \ ../../../i18n/zh_TW/textedit.ts include ( $(OPIEDIR)/include.pro ) |