summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2004-04-05 13:30:36 (UTC)
committer mickeyl <mickeyl>2004-04-05 13:30:36 (UTC)
commit743adf3ed3032feb15e71002613a4643d059aa09 (patch) (unidiff)
treeda8c0549515f694775a1cd169cdc5abe615a3847
parentb136b4d55c810c35c54b18b435aa4172b7f6b9fe (diff)
downloadopie-743adf3ed3032feb15e71002613a4643d059aa09.zip
opie-743adf3ed3032feb15e71002613a4643d059aa09.tar.gz
opie-743adf3ed3032feb15e71002613a4643d059aa09.tar.bz2
convert helpbrowser, taboapp and textedit to Opie debugging framework
qcop and embeddedkonsole needs more work. the diagnostics part uses printf
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/helpbrowser/helpbrowser.cpp103
-rw-r--r--core/apps/taboapp/main.cpp48
-rw-r--r--core/apps/textedit/filePermissions.cpp2
-rw-r--r--core/apps/textedit/textedit.cpp83
4 files changed, 122 insertions, 114 deletions
diff --git a/core/apps/helpbrowser/helpbrowser.cpp b/core/apps/helpbrowser/helpbrowser.cpp
index 336d9fb..cbb4059 100644
--- a/core/apps/helpbrowser/helpbrowser.cpp
+++ b/core/apps/helpbrowser/helpbrowser.cpp
@@ -1,228 +1,229 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#define QTOPIA_INTERNAL_LANGLIST 21#define QTOPIA_INTERNAL_LANGLIST
22 22
23#include "helpbrowser.h" 23#include "helpbrowser.h"
24#include "magictextbrowser.h"
24 25
26/* OPIE */
27#include <opie2/odebug.h>
25#include <qpe/qpeapplication.h> 28#include <qpe/qpeapplication.h>
26#include <qpe/resource.h> 29#include <qpe/resource.h>
30using namespace Opie::Core;
27 31
32/* QT */
28#include <qmenubar.h> 33#include <qmenubar.h>
29#include <qtoolbar.h> 34#include <qtoolbar.h>
30#include <qpe/qcopenvelope_qws.h> 35#include <qpe/qcopenvelope_qws.h>
31#include <qfileinfo.h> 36#include <qfileinfo.h>
32#include <qaction.h> 37#include <qaction.h>
33 38
34#include <cctype>
35
36#include "magictextbrowser.h"
37
38HelpBrowser::HelpBrowser( QWidget* parent, const char *name, WFlags f ) 39HelpBrowser::HelpBrowser( QWidget* parent, const char *name, WFlags f )
39 : QMainWindow( parent, name, f ), 40 : QMainWindow( parent, name, f ),
40 selectedURL() 41 selectedURL()
41{ 42{
42 init( "index.html" ); 43 init( "index.html" );
43} 44}
44 45
45 46
46 47
47void HelpBrowser::init( const QString& _home ) 48void HelpBrowser::init( const QString& _home )
48{ 49{
49 setIcon( Resource::loadPixmap( "HelpBrowser" ) ); 50 setIcon( Resource::loadPixmap( "HelpBrowser" ) );
50 setBackgroundMode( PaletteButton ); 51 setBackgroundMode( PaletteButton );
51 52
52 browser = new MagicTextBrowser( this ); 53 browser = new MagicTextBrowser( this );
53 browser->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 54 browser->setFrameStyle( QFrame::Panel | QFrame::Sunken );
54 connect( browser, SIGNAL( textChanged() ), 55 connect( browser, SIGNAL( textChanged() ),
55 this, SLOT( textChanged() ) ); 56 this, SLOT( textChanged() ) );
56 57
57 setCentralWidget( browser ); 58 setCentralWidget( browser );
58 setToolBarsMovable( FALSE ); 59 setToolBarsMovable( FALSE );
59 60
60 if ( !_home.isEmpty() ) 61 if ( !_home.isEmpty() )
61 browser->setSource( _home ); 62 browser->setSource( _home );
62 63
63 QToolBar* toolbar = new QToolBar( this ); 64 QToolBar* toolbar = new QToolBar( this );
64 toolbar->setHorizontalStretchable( TRUE ); 65 toolbar->setHorizontalStretchable( TRUE );
65 QMenuBar *menu = new QMenuBar( toolbar ); 66 QMenuBar *menu = new QMenuBar( toolbar );
66 67
67 toolbar = new QToolBar( this ); 68 toolbar = new QToolBar( this );
68 // addToolBar( toolbar, "Toolbar"); 69 // addToolBar( toolbar, "Toolbar");
69 70
70 QPopupMenu* go = new QPopupMenu( this ); 71 QPopupMenu* go = new QPopupMenu( this );
71 backAction = new QAction( tr( "Backward" ), Resource::loadIconSet( "back" ), QString::null, 0, this, 0 ); 72 backAction = new QAction( tr( "Backward" ), Resource::loadIconSet( "back" ), QString::null, 0, this, 0 );
72 connect( backAction, SIGNAL( activated() ), browser, SLOT( backward() ) ); 73 connect( backAction, SIGNAL( activated() ), browser, SLOT( backward() ) );
73 connect( browser, SIGNAL( backwardAvailable(bool) ), 74 connect( browser, SIGNAL( backwardAvailable(bool) ),
74 backAction, SLOT( setEnabled(bool) ) ); 75 backAction, SLOT( setEnabled(bool) ) );
75 backAction->addTo( go ); 76 backAction->addTo( go );
76 backAction->addTo( toolbar ); 77 backAction->addTo( toolbar );
77 backAction->setEnabled( FALSE ); 78 backAction->setEnabled( FALSE );
78 79
79 forwardAction = new QAction( tr( "Forward" ), Resource::loadIconSet( "forward" ), QString::null, 0, this, 0 ); 80 forwardAction = new QAction( tr( "Forward" ), Resource::loadIconSet( "forward" ), QString::null, 0, this, 0 );
80 connect( forwardAction, SIGNAL( activated() ), browser, SLOT( forward() ) ); 81 connect( forwardAction, SIGNAL( activated() ), browser, SLOT( forward() ) );
81 connect( browser, SIGNAL( forwardAvailable(bool) ), 82 connect( browser, SIGNAL( forwardAvailable(bool) ),
82 forwardAction, SLOT( setEnabled(bool) ) ); 83 forwardAction, SLOT( setEnabled(bool) ) );
83 forwardAction->addTo( go ); 84 forwardAction->addTo( go );
84 forwardAction->addTo( toolbar ); 85 forwardAction->addTo( toolbar );
85 forwardAction->setEnabled( FALSE ); 86 forwardAction->setEnabled( FALSE );
86 87
87 QAction *a = new QAction( tr( "Home" ), Resource::loadIconSet( "home" ), QString::null, 0, this, 0 ); 88 QAction *a = new QAction( tr( "Home" ), Resource::loadIconSet( "home" ), QString::null, 0, this, 0 );
88 connect( a, SIGNAL( activated() ), browser, SLOT( home() ) ); 89 connect( a, SIGNAL( activated() ), browser, SLOT( home() ) );
89 a->addTo( go ); 90 a->addTo( go );
90 a->addTo( toolbar ); 91 a->addTo( toolbar );
91 92
92 bookm = new QPopupMenu( this ); 93 bookm = new QPopupMenu( this );
93 bookm->insertItem( tr( "Add Bookmark" ), this, SLOT( addBookmark() ) ); 94 bookm->insertItem( tr( "Add Bookmark" ), this, SLOT( addBookmark() ) );
94 bookm->insertItem( tr( "Remove from Bookmarks" ), this, SLOT( removeBookmark() ) ); 95 bookm->insertItem( tr( "Remove from Bookmarks" ), this, SLOT( removeBookmark() ) );
95 bookm->insertSeparator(); 96 bookm->insertSeparator();
96 connect( bookm, SIGNAL( activated(int) ), 97 connect( bookm, SIGNAL( activated(int) ),
97 this, SLOT( bookmChosen(int) ) ); 98 this, SLOT( bookmChosen(int) ) );
98 99
99 readBookmarks(); 100 readBookmarks();
100 101
101 menu->insertItem( tr("Go"), go ); 102 menu->insertItem( tr("Go"), go );
102 menu->insertItem( tr( "Bookmarks" ), bookm ); 103 menu->insertItem( tr( "Bookmarks" ), bookm );
103 104
104 resize( 240, 300 ); 105 resize( 240, 300 );
105 browser->setFocus(); 106 browser->setFocus();
106 browser->setFrameStyle( QFrame::NoFrame ); 107 browser->setFrameStyle( QFrame::NoFrame );
107 108
108#if !defined(QT_NO_COP) 109#if !defined(QT_NO_COP)
109 QCopChannel *addressChannel = new QCopChannel("QPE/HelpBrowser" , this ); 110 QCopChannel *addressChannel = new QCopChannel("QPE/HelpBrowser" , this );
110 connect (addressChannel, SIGNAL( received(const QCString&,const QByteArray&)), 111 connect (addressChannel, SIGNAL( received(const QCString&,const QByteArray&)),
111 this, SLOT ( appMessage(const QCString&,const QByteArray&) ) ); 112 this, SLOT ( appMessage(const QCString&,const QByteArray&) ) );
112#endif 113#endif
113 114
114 connect( qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)), 115 connect( qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)),
115 this, SLOT(appMessage(const QCString&,const QByteArray&)) ); 116 this, SLOT(appMessage(const QCString&,const QByteArray&)) );
116} 117}
117 118
118void HelpBrowser::appMessage(const QCString& msg, const QByteArray& data) 119void HelpBrowser::appMessage(const QCString& msg, const QByteArray& data)
119{ 120{
120 qDebug("reached appMessage"); 121 odebug << "reached appMessage" << oendl;
121 if ( msg == "showFile(QString)" ) { 122 if ( msg == "showFile(QString)" ) {
122 QDataStream ds(data,IO_ReadOnly); 123 QDataStream ds(data,IO_ReadOnly);
123 QString fn; 124 QString fn;
124 ds >> fn; 125 ds >> fn;
125 setDocument( fn ); 126 setDocument( fn );
126 127
127 QPEApplication::setKeepRunning(); 128 QPEApplication::setKeepRunning();
128 129
129 showMaximized(); 130 showMaximized();
130 setActiveWindow(); 131 setActiveWindow();
131 raise(); 132 raise();
132 } 133 }
133} 134}
134 135
135void HelpBrowser::setDocument( const QString &doc ) 136void HelpBrowser::setDocument( const QString &doc )
136{ 137{
137 if ( !doc.isEmpty() ) 138 if ( !doc.isEmpty() )
138 browser->setSource( doc ); 139 browser->setSource( doc );
139 raise(); 140 raise();
140} 141}
141 142
142 143
143void HelpBrowser::textChanged() 144void HelpBrowser::textChanged()
144{ 145{
145 if ( browser->documentTitle().isNull() ) 146 if ( browser->documentTitle().isNull() )
146 setCaption( tr("Help Browser") ); 147 setCaption( tr("Help Browser") );
147 else 148 else
148 setCaption( browser->documentTitle() ) ; 149 setCaption( browser->documentTitle() ) ;
149 150
150 selectedURL = caption(); 151 selectedURL = caption();
151} 152}
152 153
153HelpBrowser::~HelpBrowser() 154HelpBrowser::~HelpBrowser()
154{ 155{
155 QStringList bookmarks; 156 QStringList bookmarks;
156 QMap<int, Bookmark>::Iterator it2 = mBookmarks.begin(); 157 QMap<int, Bookmark>::Iterator it2 = mBookmarks.begin();
157 for ( ; it2 != mBookmarks.end(); ++it2 ) 158 for ( ; it2 != mBookmarks.end(); ++it2 )
158 bookmarks.append( (*it2).name + "=" + (*it2).file ); 159 bookmarks.append( (*it2).name + "=" + (*it2).file );
159 160
160 QFile f2( Global::applicationFileName("helpbrowser", "bookmarks") ); 161 QFile f2( Global::applicationFileName("helpbrowser", "bookmarks") );
161 if ( f2.open( IO_WriteOnly ) ) { 162 if ( f2.open( IO_WriteOnly ) ) {
162 QDataStream s2( &f2 ); 163 QDataStream s2( &f2 );
163 s2 << bookmarks; 164 s2 << bookmarks;
164 f2.close(); 165 f2.close();
165 } 166 }
166} 167}
167 168
168void HelpBrowser::pathSelected( const QString &_path ) 169void HelpBrowser::pathSelected( const QString &_path )
169{ 170{
170 browser->setSource( _path ); 171 browser->setSource( _path );
171} 172}
172 173
173void HelpBrowser::readBookmarks() 174void HelpBrowser::readBookmarks()
174{ 175{
175 QString file = Global::applicationFileName("helpbrowser", "bookmarks"); 176 QString file = Global::applicationFileName("helpbrowser", "bookmarks");
176 if ( QFile::exists( file ) ) { 177 if ( QFile::exists( file ) ) {
177 QStringList bookmarks; 178 QStringList bookmarks;
178 QFile f( file ); 179 QFile f( file );
179 if ( f.open( IO_ReadOnly ) ) { 180 if ( f.open( IO_ReadOnly ) ) {
180 QDataStream s( &f ); 181 QDataStream s( &f );
181 s >> bookmarks; 182 s >> bookmarks;
182 f.close(); 183 f.close();
183 } 184 }
184 QStringList::Iterator it = bookmarks.begin(); 185 QStringList::Iterator it = bookmarks.begin();
185 for ( ; it != bookmarks.end(); ++it ) { 186 for ( ; it != bookmarks.end(); ++it ) {
186 Bookmark b; 187 Bookmark b;
187 QString current = *it; 188 QString current = *it;
188 int equal = current.find( "=" ); 189 int equal = current.find( "=" );
189 if ( equal < 1 || equal == (int)current.length() - 1 ) 190 if ( equal < 1 || equal == (int)current.length() - 1 )
190 continue; 191 continue;
191 b.name = current.left( equal ); 192 b.name = current.left( equal );
192 b.file = current.mid( equal + 1 ); 193 b.file = current.mid( equal + 1 );
193 mBookmarks[ bookm->insertItem( b.name ) ] = b; 194 mBookmarks[ bookm->insertItem( b.name ) ] = b;
194 } 195 }
195 } 196 }
196} 197}
197 198
198void HelpBrowser::bookmChosen( int i ) 199void HelpBrowser::bookmChosen( int i )
199{ 200{
200 if ( mBookmarks.contains( i ) ) 201 if ( mBookmarks.contains( i ) )
201 browser->setSource( mBookmarks[ i ].file ); 202 browser->setSource( mBookmarks[ i ].file );
202} 203}
203 204
204void HelpBrowser::addBookmark() 205void HelpBrowser::addBookmark()
205{ 206{
206 Bookmark b; 207 Bookmark b;
207 b.name = browser->documentTitle(); 208 b.name = browser->documentTitle();
208 b.file = browser->source(); 209 b.file = browser->source();
209 if (b.name.isEmpty() ) { 210 if (b.name.isEmpty() ) {
210 b.name = b.file.left( b.file.length() - 5 ); // remove .html 211 b.name = b.file.left( b.file.length() - 5 ); // remove .html
211 } 212 }
212 QMap<int, Bookmark>::Iterator it; 213 QMap<int, Bookmark>::Iterator it;
213 for( it = mBookmarks.begin(); it != mBookmarks.end(); ++it ) 214 for( it = mBookmarks.begin(); it != mBookmarks.end(); ++it )
214 if ( (*it).file == b.file ) return; 215 if ( (*it).file == b.file ) return;
215 mBookmarks[ bookm->insertItem( b.name ) ] = b; 216 mBookmarks[ bookm->insertItem( b.name ) ] = b;
216} 217}
217 218
218void HelpBrowser::removeBookmark() 219void HelpBrowser::removeBookmark()
219{ 220{
220 QString file = browser->source(); 221 QString file = browser->source();
221 QMap<int, Bookmark>::Iterator it = mBookmarks.begin(); 222 QMap<int, Bookmark>::Iterator it = mBookmarks.begin();
222 for( ; it != mBookmarks.end(); ++it ) 223 for( ; it != mBookmarks.end(); ++it )
223 if ( (*it).file == file ) { 224 if ( (*it).file == file ) {
224 bookm->removeItem( it.key() ); 225 bookm->removeItem( it.key() );
225 mBookmarks.remove( it ); 226 mBookmarks.remove( it );
226 break; 227 break;
227 } 228 }
228} 229}
diff --git a/core/apps/taboapp/main.cpp b/core/apps/taboapp/main.cpp
index e46c71f..e43f118 100644
--- a/core/apps/taboapp/main.cpp
+++ b/core/apps/taboapp/main.cpp
@@ -1,53 +1,57 @@
1#include <qdir.h> 1/* OPIE */
2
3#include <qpe/qpeapplication.h>
4#include <qpe/qlibrary.h>
5#include <oappinterface.h> 2#include <oappinterface.h>
6#include <oappplugin.h> 3#include <oappplugin.h>
7 4#include <opie2/odebug.h>
8#include <opie2/otabwidget.h> 5#include <opie2/otabwidget.h>
6#include <qpe/qpeapplication.h>
7#include <qpe/qlibrary.h>
8using namespace Opie::Core;
9using namespace Opie::Ui;
10
11/* QT */
12#include <qdir.h>
9 13
10int main( int argc, char **argv ) 14int main( int argc, char **argv )
11{ 15{
12 QPEApplication a( argc, argv ); 16 QPEApplication a( argc, argv );
13 17
14 Opie::Ui::OTabWidget *tabwidget = new Opie::Ui::OTabWidget(0, "tab widget"); 18 OTabWidget *tabwidget = new OTabWidget(0, "tab widget");
15 19
16 QString path = QPEApplication::qpeDir() + "/plugins/app"; 20 QString path = QPEApplication::qpeDir() + "/plugins/app";
17 QDir dir( path, "lib*.so" ); 21 QDir dir( path, "lib*.so" );
18 22
19 QStringList list = dir.entryList(); 23 QStringList list = dir.entryList();
20 QStringList::Iterator it; 24 QStringList::Iterator it;
21 25
22 QInterfacePtr<OAppInterface> iface; 26 QInterfacePtr<OAppInterface> iface;
23 for ( it = list.begin(); it != list.end(); ++it ) { 27 for ( it = list.begin(); it != list.end(); ++it ) {
24 QLibrary *lib = new QLibrary( path + "/" + *it ); 28 QLibrary *lib = new QLibrary( path + "/" + *it );
25 29
26 qDebug( "querying: %s", QString( path + "/" + *it ).latin1() ); 30 odebug << "querying: " << QString( path + "/" + *it ) << "" << oendl;
27 if ( lib->queryInterface( IID_OAppInterface, (QUnknownInterface**)&iface ) == QS_OK ) { 31 if ( lib->queryInterface( IID_OAppInterface, (QUnknownInterface**)&iface ) == QS_OK ) {
28 qDebug( "accepted: %s", QString( path + "/" + *it ).latin1() ); 32 odebug << "accepted: " << QString( path + "/" + *it ) << "" << oendl;
29 33
30 QList<QWidget> list = iface->widgets(); 34 QList<QWidget> list = iface->widgets();
31 QWidget *widget; 35 QWidget *widget;
32 for ( widget = list.first(); widget != 0; widget = list.next() ) 36 for ( widget = list.first(); widget != 0; widget = list.next() )
33 tabwidget->addTab(widget, QString(*it), QString(*it)); 37 tabwidget->addTab(widget, QString(*it), QString(*it));
34 38
35 QString lang = getenv( "LANG" ); 39 QString lang = getenv( "LANG" );
36 if (lang.isNull()) 40 if (lang.isNull())
37 lang = "en"; 41 lang = "en";
38 QTranslator *trans = new QTranslator(qApp); 42 QTranslator *trans = new QTranslator(qApp);
39 QString type = (*it).left( (*it).find(".") ); 43 QString type = (*it).left( (*it).find(".") );
40 if (type.left(3) == "lib") 44 if (type.left(3) == "lib")
41 type = type.mid(3); 45 type = type.mid(3);
42 type = type.right( type.find("lib") ); 46 type = type.right( type.find("lib") );
43 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm"; 47 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
44 if ( trans->load( tfn )) 48 if ( trans->load( tfn ))
45 qApp->installTranslator( trans ); 49 qApp->installTranslator( trans );
46 else 50 else
47 delete trans; 51 delete trans;
48 } 52 }
49 } 53 }
50 54
51 a.showMainDocumentWidget(tabwidget); 55 a.showMainDocumentWidget(tabwidget);
52 return a.exec(); 56 return a.exec();
53} 57}
diff --git a/core/apps/textedit/filePermissions.cpp b/core/apps/textedit/filePermissions.cpp
index db353a9..a059dce 100644
--- a/core/apps/textedit/filePermissions.cpp
+++ b/core/apps/textedit/filePermissions.cpp
@@ -11,49 +11,49 @@
11** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 11** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
12** 12**
13****************************************************************************/ 13****************************************************************************/
14#include "filePermissions.h" 14#include "filePermissions.h"
15 15
16#include <qfileinfo.h> 16#include <qfileinfo.h>
17 17
18#include <qcheckbox.h> 18#include <qcheckbox.h>
19#include <qlabel.h> 19#include <qlabel.h>
20#include <qlineedit.h> 20#include <qlineedit.h>
21#include <qmessagebox.h> 21#include <qmessagebox.h>
22 22
23#include <unistd.h> 23#include <unistd.h>
24#include <sys/stat.h> 24#include <sys/stat.h>
25#include <stdlib.h> 25#include <stdlib.h>
26#include <sys/types.h> 26#include <sys/types.h>
27#include <pwd.h> 27#include <pwd.h>
28#include <grp.h> 28#include <grp.h>
29 29
30filePermissions::filePermissions( QWidget* parent, const char* name, bool modal, WFlags fl, const QString &fileName ) 30filePermissions::filePermissions( QWidget* parent, const char* name, bool modal, WFlags fl, const QString &fileName )
31 : QDialog( parent, name, modal, fl ) 31 : QDialog( parent, name, modal, fl )
32{ 32{
33 if ( !name ) 33 if ( !name )
34 setName( tr("File Permissions") ); 34 setName( tr("File Permissions") );
35// qDebug("FilePermissions "+fileName); 35// odebug << "FilePermissions "+fileName << oendl;
36 resize( 236, 210 ); 36 resize( 236, 210 );
37 setMaximumSize( QSize( 236, 210 ) ); 37 setMaximumSize( QSize( 236, 210 ) );
38 setCaption( tr( "Set File Permissions" ) ); 38 setCaption( tr( "Set File Permissions" ) );
39 39
40 TextLabel1 = new QLabel( this, "TextLabel1" ); 40 TextLabel1 = new QLabel( this, "TextLabel1" );
41 TextLabel1->setGeometry( QRect( 25, 5, 175, 20 ) ); 41 TextLabel1->setGeometry( QRect( 25, 5, 175, 20 ) );
42 TextLabel1->setText( tr( "Set file permissions for:" ) ); 42 TextLabel1->setText( tr( "Set file permissions for:" ) );
43 43
44 LineEdit1 = new QLineEdit( this, "LineEdit1" ); 44 LineEdit1 = new QLineEdit( this, "LineEdit1" );
45 LineEdit1->setGeometry( QRect( 10, 25, 218, 22 ) ); 45 LineEdit1->setGeometry( QRect( 10, 25, 218, 22 ) );
46 LineEdit1->setReadOnly(true); 46 LineEdit1->setReadOnly(true);
47 47
48 TextLabel4 = new QLabel( this, "TextLabel4" ); 48 TextLabel4 = new QLabel( this, "TextLabel4" );
49 TextLabel4->setGeometry( QRect( 5, 85, 50, 15 ) ); 49 TextLabel4->setGeometry( QRect( 5, 85, 50, 15 ) );
50 TextLabel4->setText( tr( "owner" ) ); 50 TextLabel4->setText( tr( "owner" ) );
51 51
52 TextLabel4_2 = new QLabel( this, "TextLabel4_2" ); 52 TextLabel4_2 = new QLabel( this, "TextLabel4_2" );
53 TextLabel4_2->setGeometry( QRect( 5, 105, 50, 15 ) ); 53 TextLabel4_2->setGeometry( QRect( 5, 105, 50, 15 ) );
54 TextLabel4_2->setText( tr( "group" ) ); 54 TextLabel4_2->setText( tr( "group" ) );
55 55
56 TextLabel4_3 = new QLabel( this, "TextLabel4_3" ); 56 TextLabel4_3 = new QLabel( this, "TextLabel4_3" );
57 TextLabel4_3->setGeometry( QRect( 5, 125, 50, 15 ) ); 57 TextLabel4_3->setGeometry( QRect( 5, 125, 50, 15 ) );
58 TextLabel4_3->setText( tr( "others" ) ); 58 TextLabel4_3->setText( tr( "others" ) );
59 59
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 5bb65a9..c9178a5 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -1,67 +1,70 @@
1/********************************************************************** 1/**********************************************************************
2// textedit.cpp 2// textedit.cpp
3** Copyright (C) 2000 Trolltech AS. All rights reserved. 3** Copyright (C) 2000 Trolltech AS. All rights reserved.
4** 4**
5** This file is part of Opie Environment. 5** This file is part of Opie Environment.
6** 6**
7** This file may be distributed and/or modified under the terms of the 7** This file may be distributed and/or modified under the terms of the
8** GNU General Public License version 2 as published by the Free Software 8** GNU General Public License version 2 as published by the Free Software
9** Foundation and appearing in the file LICENSE.GPL included in the 9** Foundation and appearing in the file LICENSE.GPL included in the
10** packaging of this file. 10** packaging of this file.
11** 11**
12**********************************************************************/ 12**********************************************************************/
13// changes added by L. J. Potter Sun 02-17-2002 21:31:31 13// changes added by L. J. Potter Sun 02-17-2002 21:31:31
14
14#include "textedit.h" 15#include "textedit.h"
15#include "filePermissions.h" 16#include "filePermissions.h"
16 17
17 18/* OPIE */
19#include <opie2/odebug.h>
18#include <opie2/ofileselector.h> 20#include <opie2/ofileselector.h>
19#include <opie2/ofiledialog.h> 21#include <opie2/ofiledialog.h>
20#include <opie2/ofontselector.h> 22#include <opie2/ofontselector.h>
21
22#include <qpe/resource.h> 23#include <qpe/resource.h>
23#include <qpe/config.h> 24#include <qpe/config.h>
24#include <qpe/qpeapplication.h> 25#include <qpe/qpeapplication.h>
26using namespace Opie::Core;
27using namespace Opie::Ui;
28
29/* QT */
25#include <qmenubar.h> 30#include <qmenubar.h>
26#include <qtoolbar.h> 31#include <qtoolbar.h>
27
28#include <qtextstream.h> 32#include <qtextstream.h>
29#include <qclipboard.h> 33#include <qclipboard.h>
30#include <qaction.h> 34#include <qaction.h>
31#include <qlineedit.h> 35#include <qlineedit.h>
32#include <qmessagebox.h> 36#include <qmessagebox.h>
33#include <qlayout.h> 37#include <qlayout.h>
34#include <qtimer.h> 38#include <qtimer.h>
35#include <qdir.h> 39#include <qdir.h>
40
41/* STD */
36#include <unistd.h> 42#include <unistd.h>
37#include <sys/stat.h> 43#include <sys/stat.h>
38#include <stdlib.h> //getenv 44#include <stdlib.h> //getenv
39 45
40using namespace Opie::Ui;
41
42#if QT_VERSION < 300 46#if QT_VERSION < 300
43
44class QpeEditor : public QMultiLineEdit 47class QpeEditor : public QMultiLineEdit
45{ 48{
46 49
47public: 50public:
48 QpeEditor( QWidget *parent, const char * name = 0 ) 51 QpeEditor( QWidget *parent, const char * name = 0 )
49 : QMultiLineEdit( parent, name ) { 52 : QMultiLineEdit( parent, name ) {
50 clearTableFlags(); 53 clearTableFlags();
51 setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar ); 54 setTableFlags( Tbl_vScrollBar | Tbl_autoHScrollBar );
52} 55}
53 56
54 void find( const QString &txt, bool caseSensitive, 57 void find( const QString &txt, bool caseSensitive,
55 bool backwards ); 58 bool backwards );
56protected: 59protected:
57 bool markIt; 60 bool markIt;
58 int line1, line2, col1, col2; 61 int line1, line2, col1, col2;
59 void mousePressEvent( QMouseEvent * ); 62 void mousePressEvent( QMouseEvent * );
60 void mouseReleaseEvent( QMouseEvent * ); 63 void mouseReleaseEvent( QMouseEvent * );
61 64
62//public slots: 65//public slots:
63 /* 66 /*
64signals: 67signals:
65 void notFound(); 68 void notFound();
66 void searchWrapped(); 69 void searchWrapped();
67 */ 70 */
@@ -390,49 +393,49 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
390 bool wrap = cfg. readBoolEntry ( "Wrap", true ); 393 bool wrap = cfg. readBoolEntry ( "Wrap", true );
391 wa-> setOn ( wrap ); 394 wa-> setOn ( wrap );
392 setWordWrap ( wrap ); 395 setWordWrap ( wrap );
393 396
394///////////////// 397/////////////////
395 if( qApp->argc() > 1) { 398 if( qApp->argc() > 1) {
396 currentFileName=qApp->argv()[1]; 399 currentFileName=qApp->argv()[1];
397 400
398 QFileInfo fi(currentFileName); 401 QFileInfo fi(currentFileName);
399 402
400 if(fi.baseName().left(1) == "") { 403 if(fi.baseName().left(1) == "") {
401 openDotFile(currentFileName); 404 openDotFile(currentFileName);
402 } else { 405 } else {
403 openFile(currentFileName); 406 openFile(currentFileName);
404 } 407 }
405 } else { 408 } else {
406 edited1=false; 409 edited1=false;
407 openDotFile(""); 410 openDotFile("");
408 } 411 }
409 412
410 viewSelection = cfg.readNumEntry( "FileView", 0 ); 413 viewSelection = cfg.readNumEntry( "FileView", 0 );
411} 414}
412 415
413TextEdit::~TextEdit() { 416TextEdit::~TextEdit() {
414 qWarning("textedit d'tor"); 417 owarn << "textedit d'tor" << oendl;
415 delete editor; 418 delete editor;
416} 419}
417 420
418void TextEdit::closeEvent(QCloseEvent *) { 421void TextEdit::closeEvent(QCloseEvent *) {
419 if( edited1 && promptExit) 422 if( edited1 && promptExit)
420 { 423 {
421 switch( savePrompt() ) 424 switch( savePrompt() )
422 { 425 {
423 case 1: 426 case 1:
424 { 427 {
425 saveAs(); 428 saveAs();
426 qApp->quit(); 429 qApp->quit();
427 } 430 }
428 break; 431 break;
429 432
430 case 2: 433 case 2:
431 { 434 {
432 qApp->quit(); 435 qApp->quit();
433 } 436 }
434 break; 437 break;
435 438
436 case -1: 439 case -1:
437 break; 440 break;
438 }; 441 };
@@ -625,382 +628,382 @@ void TextEdit::editFind() {
625 searchEdit->setFocus(); 628 searchEdit->setFocus();
626} 629}
627 630
628void TextEdit::findNext() { 631void TextEdit::findNext() {
629 editor->find( searchEdit->text(), false, false ); 632 editor->find( searchEdit->text(), false, false );
630 633
631} 634}
632 635
633void TextEdit::findClose() { 636void TextEdit::findClose() {
634 searchBar->hide(); 637 searchBar->hide();
635} 638}
636 639
637void TextEdit::search() { 640void TextEdit::search() {
638 editor->find( searchEdit->text(), false, false ); 641 editor->find( searchEdit->text(), false, false );
639} 642}
640 643
641void TextEdit::newFile( const DocLnk &f ) { 644void TextEdit::newFile( const DocLnk &f ) {
642 DocLnk nf = f; 645 DocLnk nf = f;
643 nf.setType("text/plain"); 646 nf.setType("text/plain");
644 clear(); 647 clear();
645 setWState (WState_Reserved1 ); 648 setWState (WState_Reserved1 );
646 editor->setFocus(); 649 editor->setFocus();
647 doc = new DocLnk(nf); 650 doc = new DocLnk(nf);
648 currentFileName = "Unnamed"; 651 currentFileName = "Unnamed";
649 qDebug("newFile "+currentFileName); 652 odebug << "newFile "+currentFileName << oendl;
650 updateCaption( currentFileName); 653 updateCaption( currentFileName);
651// editor->setEdited( false); 654// editor->setEdited( false);
652} 655}
653 656
654void TextEdit::openDotFile( const QString &f ) { 657void TextEdit::openDotFile( const QString &f ) {
655 if(!currentFileName.isEmpty()) { 658 if(!currentFileName.isEmpty()) {
656 currentFileName=f; 659 currentFileName=f;
657 660
658 qDebug("openFile dotfile " + currentFileName); 661 odebug << "openFile dotfile " + currentFileName << oendl;
659 QString txt; 662 QString txt;
660 QFile file(f); 663 QFile file(f);
661 file.open(IO_ReadWrite); 664 file.open(IO_ReadWrite);
662 QTextStream t(&file); 665 QTextStream t(&file);
663 while ( !t.atEnd()) { 666 while ( !t.atEnd()) {
664 txt+=t.readLine()+"\n"; 667 txt+=t.readLine()+"\n";
665 } 668 }
666 editor->setText(txt); 669 editor->setText(txt);
667 editor->setEdited( false); 670 editor->setEdited( false);
668 edited1=false; 671 edited1=false;
669 edited=false; 672 edited=false;
670 673
671 674
672 } 675 }
673 updateCaption( currentFileName); 676 updateCaption( currentFileName);
674} 677}
675 678
676void TextEdit::openFile( const QString &f ) { 679void TextEdit::openFile( const QString &f ) {
677 qDebug("filename is "+ f); 680 odebug << "filename is "+ f << oendl;
678 QString filer; 681 QString filer;
679 QFileInfo fi( f); 682 QFileInfo fi( f);
680// bFromDocView = true; 683// bFromDocView = true;
681 if(f.find(".desktop",0,true) != -1 && !openDesktop ) 684 if(f.find(".desktop",0,true) != -1 && !openDesktop )
682 { 685 {
683 switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Text Editor has detected<BR>you selected a <B>.desktop</B>file.<BR>Open<B>.desktop</B> file or <B>linked</B> file?"),tr(".desktop File"),tr("Linked Document"),0,1,1) ) 686 switch ( QMessageBox::warning(this,tr("Text Editor"),tr("Text Editor has detected<BR>you selected a <B>.desktop</B>file.<BR>Open<B>.desktop</B> file or <B>linked</B> file?"),tr(".desktop File"),tr("Linked Document"),0,1,1) )
684 { 687 {
685 case 0: //desktop 688 case 0: //desktop
686 filer = f; 689 filer = f;
687 break; 690 break;
688 case 1: //linked 691 case 1: //linked
689 DocLnk sf(f); 692 DocLnk sf(f);
690 filer = sf.file(); 693 filer = sf.file();
691 break; 694 break;
692 }; 695 };
693 } 696 }
694 else if(fi.baseName().left(1) == "") 697 else if(fi.baseName().left(1) == "")
695 { 698 {
696 qDebug("opening dotfile"); 699 odebug << "opening dotfile" << oendl;
697 currentFileName=f; 700 currentFileName=f;
698 openDotFile(currentFileName); 701 openDotFile(currentFileName);
699 return; 702 return;
700 } 703 }
701 /* 704 /*
702 * The problem is a file where Config(f).isValid() and it does not 705 * The problem is a file where Config(f).isValid() and it does not
703 * end with .desktop will be treated as desktop file 706 * end with .desktop will be treated as desktop file
704 */ 707 */
705 else if (f.find(".desktop",0,true) != -1 ) 708 else if (f.find(".desktop",0,true) != -1 )
706 { 709 {
707 DocLnk sf(f); 710 DocLnk sf(f);
708 filer = sf.file(); 711 filer = sf.file();
709 if(filer.right(1) == "/") 712 if(filer.right(1) == "/")
710 filer = f; 713 filer = f;
711 714
712 } 715 }
713 else 716 else
714 filer = f; 717 filer = f;
715 718
716 DocLnk nf; 719 DocLnk nf;
717 nf.setType("text/plain"); 720 nf.setType("text/plain");
718 nf.setFile(filer); 721 nf.setFile(filer);
719 currentFileName=filer; 722 currentFileName=filer;
720 723
721 nf.setName(fi.baseName()); 724 nf.setName(fi.baseName());
722 openFile(nf); 725 openFile(nf);
723 726
724 qDebug("openFile string "+currentFileName); 727 odebug << "openFile string "+currentFileName << oendl;
725 728
726 showEditTools(); 729 showEditTools();
727 // Show filename in caption 730 // Show filename in caption
728 QString name = filer; 731 QString name = filer;
729 int sep = name.findRev( '/' ); 732 int sep = name.findRev( '/' );
730 if ( sep > 0 ) 733 if ( sep > 0 )
731 name = name.mid( sep+1 ); 734 name = name.mid( sep+1 );
732 updateCaption( name ); 735 updateCaption( name );
733} 736}
734 737
735void TextEdit::openFile( const DocLnk &f ) { 738void TextEdit::openFile( const DocLnk &f ) {
736// clear(); 739// clear();
737// bFromDocView = true; 740// bFromDocView = true;
738 FileManager fm; 741 FileManager fm;
739 QString txt; 742 QString txt;
740 currentFileName=f.file(); 743 currentFileName=f.file();
741 qDebug("openFile doclnk " + currentFileName); 744 odebug << "openFile doclnk " + currentFileName << oendl;
742 if ( !fm.loadFile( f, txt ) ) { 745 if ( !fm.loadFile( f, txt ) ) {
743 // ####### could be a new file 746 // ####### could be a new file
744 qDebug( "Cannot open file" ); 747 odebug << "Cannot open file" << oendl;
745 } 748 }
746// fileNew(); 749// fileNew();
747 if ( doc ) 750 if ( doc )
748 delete doc; 751 delete doc;
749 doc = new DocLnk(f); 752 doc = new DocLnk(f);
750 editor->setText(txt); 753 editor->setText(txt);
751 editor->setEdited( false); 754 editor->setEdited( false);
752 edited1=false; 755 edited1=false;
753 edited=false; 756 edited=false;
754 757
755 doc->setName(currentFileName); 758 doc->setName(currentFileName);
756 updateCaption(); 759 updateCaption();
757 setTimer(); 760 setTimer();
758} 761}
759 762
760void TextEdit::showEditTools() { 763void TextEdit::showEditTools() {
761 menu->show(); 764 menu->show();
762 editBar->show(); 765 editBar->show();
763 if(!useSearchBar) 766 if(!useSearchBar)
764 searchBar->hide(); 767 searchBar->hide();
765 else 768 else
766 searchBar->show(); 769 searchBar->show();
767 setWState (WState_Reserved1 ); 770 setWState (WState_Reserved1 );
768} 771}
769 772
770/*! 773/*!
771 unprompted save */ 774 unprompted save */
772bool TextEdit::save() { 775bool TextEdit::save() {
773 qDebug("saveAsFile " + currentFileName); 776 odebug << "saveAsFile " + currentFileName << oendl;
774 if(currentFileName.isEmpty()) { 777 if(currentFileName.isEmpty()) {
775 saveAs(); 778 saveAs();
776 return false; 779 return false;
777 } 780 }
778 781
779 QString file = doc->file(); 782 QString file = doc->file();
780 qDebug("saver file "+file); 783 odebug << "saver file "+file << oendl;
781 QString name= doc->name(); 784 QString name= doc->name();
782 qDebug("File named "+name); 785 odebug << "File named "+name << oendl;
783 QString rt = editor->text(); 786 QString rt = editor->text();
784 if( !rt.isEmpty() ) { 787 if( !rt.isEmpty() ) {
785 if(name.isEmpty()) { 788 if(name.isEmpty()) {
786 saveAs(); 789 saveAs();
787 } else { 790 } else {
788 currentFileName= name ; 791 currentFileName= name ;
789 qDebug("saveFile "+currentFileName); 792 odebug << "saveFile "+currentFileName << oendl;
790 793
791 struct stat buf; 794 struct stat buf;
792 mode_t mode; 795 mode_t mode;
793 stat(file.latin1(), &buf); 796 stat(file.latin1(), &buf);
794 mode = buf.st_mode; 797 mode = buf.st_mode;
795 798
796 if(!fileIs) { 799 if(!fileIs) {
797 doc->setName( name); 800 doc->setName( name);
798 FileManager fm; 801 FileManager fm;
799 if ( !fm.saveFile( *doc, rt ) ) { 802 if ( !fm.saveFile( *doc, rt ) ) {
800 QMessageBox::message(tr("Text Edit"),tr("Save Failed")); 803 QMessageBox::message(tr("Text Edit"),tr("Save Failed"));
801 return false; 804 return false;
802 } 805 }
803 } else { 806 } else {
804 qDebug("regular save file"); 807 odebug << "regular save file" << oendl;
805 QFile f(file); 808 QFile f(file);
806 if( f.open(IO_WriteOnly)) { 809 if( f.open(IO_WriteOnly)) {
807 QCString crt = rt.utf8(); 810 QCString crt = rt.utf8();
808 f.writeBlock(crt,crt.length()); 811 f.writeBlock(crt,crt.length());
809 } else { 812 } else {
810 QMessageBox::message(tr("Text Edit"),tr("Write Failed")); 813 QMessageBox::message(tr("Text Edit"),tr("Write Failed"));
811 return false; 814 return false;
812 } 815 }
813 816
814 } 817 }
815 editor->setEdited( false); 818 editor->setEdited( false);
816 edited1=false; 819 edited1=false;
817 edited=false; 820 edited=false;
818 if(caption().left(1)=="*") 821 if(caption().left(1)=="*")
819 setCaption(caption().right(caption().length()-1)); 822 setCaption(caption().right(caption().length()-1));
820 823
821 824
822 chmod( file.latin1(), mode); 825 chmod( file.latin1(), mode);
823 } 826 }
824 return true; 827 return true;
825 } 828 }
826 return false; 829 return false;
827} 830}
828 831
829/*! 832/*!
830 prompted save */ 833 prompted save */
831bool TextEdit::saveAs() { 834bool TextEdit::saveAs() {
832 835
833 if(caption() == tr("Text Editor")) 836 if(caption() == tr("Text Editor"))
834 return false; 837 return false;
835 qDebug("saveAsFile " + currentFileName); 838 odebug << "saveAsFile " + currentFileName << oendl;
836 // case of nothing to save... 839 // case of nothing to save...
837// if ( !doc && !currentFileName.isEmpty()) { 840// if ( !doc && !currentFileName.isEmpty()) {
838// //|| !bFromDocView) 841// //|| !bFromDocView)
839// qDebug("no doc"); 842// odebug << "no doc" << oendl;
840// return true; 843// return true;
841// } 844// }
842// if ( !editor->edited() ) { 845// if ( !editor->edited() ) {
843// delete doc; 846// delete doc;
844// doc = 0; 847// doc = 0;
845// return true; 848// return true;
846// } 849// }
847 850
848 QString rt = editor->text(); 851 QString rt = editor->text();
849 qDebug(currentFileName); 852 odebug << currentFileName << oendl;
850 853
851 if( currentFileName.isEmpty() 854 if( currentFileName.isEmpty()
852 || currentFileName == tr("Unnamed") 855 || currentFileName == tr("Unnamed")
853 || currentFileName == tr("Text Editor")) { 856 || currentFileName == tr("Text Editor")) {
854 qDebug("do silly TT filename thing"); 857 odebug << "do silly TT filename thing" << oendl;
855// if ( doc && doc->name().isEmpty() ) { 858// if ( doc && doc->name().isEmpty() ) {
856 QString pt = rt.simplifyWhiteSpace(); 859 QString pt = rt.simplifyWhiteSpace();
857 int i = pt.find( ' ' ); 860 int i = pt.find( ' ' );
858 QString docname = pt; 861 QString docname = pt;
859 if ( i > 0 ) 862 if ( i > 0 )
860 docname = pt.left( i ); 863 docname = pt.left( i );
861 // remove "." at the beginning 864 // remove "." at the beginning
862 while( docname.startsWith( "." ) ) 865 while( docname.startsWith( "." ) )
863 docname = docname.mid( 1 ); 866 docname = docname.mid( 1 );
864 docname.replace( QRegExp("/"), "_" ); 867 docname.replace( QRegExp("/"), "_" );
865 // cut the length. filenames longer than that 868 // cut the length. filenames longer than that
866 //don't make sense and something goes wrong when they get too long. 869 //don't make sense and something goes wrong when they get too long.
867 if ( docname.length() > 40 ) 870 if ( docname.length() > 40 )
868 docname = docname.left(40); 871 docname = docname.left(40);
869 if ( docname.isEmpty() ) 872 if ( docname.isEmpty() )
870 docname = tr("Unnamed"); 873 docname = tr("Unnamed");
871 if(doc) doc->setName(docname); 874 if(doc) doc->setName(docname);
872 currentFileName=docname; 875 currentFileName=docname;
873// } 876// }
874// else 877// else
875// qDebug("hmmmmmm"); 878// odebug << "hmmmmmm" << oendl;
876 } 879 }
877 880
878 881
879 QMap<QString, QStringList> map; 882 QMap<QString, QStringList> map;
880 map.insert(tr("All"), QStringList() ); 883 map.insert(tr("All"), QStringList() );
881 QStringList text; 884 QStringList text;
882 text << "text/*"; 885 text << "text/*";
883 map.insert(tr("Text"), text ); 886 map.insert(tr("Text"), text );
884 text << "*"; 887 text << "*";
885 map.insert(tr("All"), text ); 888 map.insert(tr("All"), text );
886 889
887 QFileInfo cuFi( currentFileName); 890 QFileInfo cuFi( currentFileName);
888 QString filee = cuFi.fileName(); 891 QString filee = cuFi.fileName();
889 QString dire = cuFi.dirPath(); 892 QString dire = cuFi.dirPath();
890 if(dire==".") 893 if(dire==".")
891 dire = QPEApplication::documentDir(); 894 dire = QPEApplication::documentDir();
892 QString str; 895 QString str;
893 if( !featureAutoSave) { 896 if( !featureAutoSave) {
894 str = OFileDialog::getSaveFileName( 2, 897 str = OFileDialog::getSaveFileName( 2,
895 dire, 898 dire,
896 filee, map); 899 filee, map);
897 } else 900 } else
898 str=currentFileName; 901 str=currentFileName;
899 902
900 if(!str.isEmpty()) { 903 if(!str.isEmpty()) {
901 QString fileNm=str; 904 QString fileNm=str;
902 905
903 qDebug("saving filename "+fileNm); 906 odebug << "saving filename "+fileNm << oendl;
904 QFileInfo fi(fileNm); 907 QFileInfo fi(fileNm);
905 currentFileName=fi.fileName(); 908 currentFileName=fi.fileName();
906 if(doc) 909 if(doc)
907// QString file = doc->file(); 910// QString file = doc->file();
908// doc->removeFiles(); 911// doc->removeFiles();
909 delete doc; 912 delete doc;
910 DocLnk nf; 913 DocLnk nf;
911 nf.setType("text/plain"); 914 nf.setType("text/plain");
912 nf.setFile( fileNm); 915 nf.setFile( fileNm);
913 doc = new DocLnk(nf); 916 doc = new DocLnk(nf);
914// editor->setText(rt); 917// editor->setText(rt);
915 qDebug("Saving file as "+currentFileName); 918 odebug << "Saving file as "+currentFileName << oendl;
916 doc->setName( currentFileName); 919 doc->setName( currentFileName);
917 updateCaption( currentFileName); 920 updateCaption( currentFileName);
918 921
919 FileManager fm; 922 FileManager fm;
920 if ( !fm.saveFile( *doc, rt ) ) { 923 if ( !fm.saveFile( *doc, rt ) ) {
921 QMessageBox::message(tr("Text Edit"),tr("Save Failed")); 924 QMessageBox::message(tr("Text Edit"),tr("Save Failed"));
922 return false; 925 return false;
923 } 926 }
924 927
925 if( filePerms ) { 928 if( filePerms ) {
926 filePermissions *filePerm; 929 filePermissions *filePerm;
927 filePerm = new filePermissions(this, 930 filePerm = new filePermissions(this,
928 tr("Permissions"),true, 931 tr("Permissions"),true,
929 0,(const QString &)fileNm); 932 0,(const QString &)fileNm);
930 QPEApplication::execDialog( filePerm ); 933 QPEApplication::execDialog( filePerm );
931 934
932 if( filePerm) 935 if( filePerm)
933 delete filePerm; 936 delete filePerm;
934 } 937 }
935// } 938// }
936 editor->setEdited( false); 939 editor->setEdited( false);
937 edited1 = false; 940 edited1 = false;
938 edited = false; 941 edited = false;
939 if(caption().left(1)=="*") 942 if(caption().left(1)=="*")
940 setCaption(caption().right(caption().length()-1)); 943 setCaption(caption().right(caption().length()-1));
941 944
942 return true; 945 return true;
943 } 946 }
944 qDebug("returning false"); 947 odebug << "returning false" << oendl;
945 return false; 948 return false;
946} //end saveAs 949} //end saveAs
947 950
948void TextEdit::clear() { 951void TextEdit::clear() {
949 delete doc; 952 delete doc;
950 doc = 0; 953 doc = 0;
951 editor->clear(); 954 editor->clear();
952} 955}
953 956
954void TextEdit::updateCaption( const QString &name ) { 957void TextEdit::updateCaption( const QString &name ) {
955 958
956 if ( name.isEmpty() ) 959 if ( name.isEmpty() )
957 setCaption( tr("Text Editor") ); 960 setCaption( tr("Text Editor") );
958 else { 961 else {
959 QString s = name; 962 QString s = name;
960 if ( s.isNull() ) 963 if ( s.isNull() )
961 s = doc->name(); 964 s = doc->name();
962 if ( s.isEmpty() ) { 965 if ( s.isEmpty() ) {
963 s = tr( "Unnamed" ); 966 s = tr( "Unnamed" );
964 currentFileName=s; 967 currentFileName=s;
965 } 968 }
966// if(s.left(1) == "/") 969// if(s.left(1) == "/")
967// s = s.right(s.length()-1); 970// s = s.right(s.length()-1);
968 setCaption( tr("%1 - Text Editor").arg( s ) ); 971 setCaption( tr("%1 - Text Editor").arg( s ) );
969 } 972 }
970} 973}
971 974
972void TextEdit::setDocument(const QString& fileref) { 975void TextEdit::setDocument(const QString& fileref) {
973 if(fileref != "Unnamed") { 976 if(fileref != "Unnamed") {
974 currentFileName=fileref; 977 currentFileName=fileref;
975 qDebug("setDocument"); 978 odebug << "setDocument" << oendl;
976 QFileInfo fi(currentFileName); 979 QFileInfo fi(currentFileName);
977 qDebug("basename:"+fi.baseName()+": current filenmame "+currentFileName); 980 odebug << "basename:"+fi.baseName()+": current filenmame "+currentFileName << oendl;
978 if( (fi.baseName().left(1)).isEmpty() ) { 981 if( (fi.baseName().left(1)).isEmpty() ) {
979 openDotFile(currentFileName); 982 openDotFile(currentFileName);
980 983
981 } else { 984 } else {
982 qDebug("setDoc open"); 985 odebug << "setDoc open" << oendl;
983 bFromDocView = true; 986 bFromDocView = true;
984 openFile(fileref); 987 openFile(fileref);
985 editor->setEdited(true); 988 editor->setEdited(true);
986 edited1=false; 989 edited1=false;
987 edited=true; 990 edited=true;
988 // fromSetDocument=false; 991 // fromSetDocument=false;
989 // doSearchBar(); 992 // doSearchBar();
990 } 993 }
991 } 994 }
992 updateCaption( currentFileName); 995 updateCaption( currentFileName);
993} 996}
994 997
995void TextEdit::changeFont() { 998void TextEdit::changeFont() {
996 QDialog *d = new QDialog ( this, "FontDialog", true ); 999 QDialog *d = new QDialog ( this, "FontDialog", true );
997 d-> setCaption ( tr( "Choose font" )); 1000 d-> setCaption ( tr( "Choose font" ));
998 QBoxLayout *lay = new QVBoxLayout ( d ); 1001 QBoxLayout *lay = new QVBoxLayout ( d );
999 OFontSelector *ofs = new OFontSelector ( true, d ); 1002 OFontSelector *ofs = new OFontSelector ( true, d );
1000 lay-> addWidget ( ofs ); 1003 lay-> addWidget ( ofs );
1001 ofs-> setSelectedFont ( editor-> font ( )); 1004 ofs-> setSelectedFont ( editor-> font ( ));
1002 1005
1003 if ( QPEApplication::execDialog( d ) == QDialog::Accepted ) 1006 if ( QPEApplication::execDialog( d ) == QDialog::Accepted )
1004 editor-> setFont ( ofs-> selectedFont ( )); 1007 editor-> setFont ( ofs-> selectedFont ( ));
1005 delete d; 1008 delete d;
1006 1009
@@ -1013,60 +1016,60 @@ void TextEdit::editDelete() {
1013 "<B>irreversable!</B>"), 1016 "<B>irreversable!</B>"),
1014 tr("Yes"),tr("No"),0,0,1) ) { 1017 tr("Yes"),tr("No"),0,0,1) ) {
1015 case 0: 1018 case 0:
1016 if(doc) { 1019 if(doc) {
1017 doc->removeFiles(); 1020 doc->removeFiles();
1018 clear(); 1021 clear();
1019 setCaption( tr("Text Editor") ); 1022 setCaption( tr("Text Editor") );
1020 } 1023 }
1021 break; 1024 break;
1022 case 1: 1025 case 1:
1023 // exit 1026 // exit
1024 break; 1027 break;
1025 }; 1028 };
1026} 1029}
1027 1030
1028void TextEdit::changeStartConfig( bool b ) { 1031void TextEdit::changeStartConfig( bool b ) {
1029 startWithNew=b; 1032 startWithNew=b;
1030 Config cfg("TextEdit"); 1033 Config cfg("TextEdit");
1031 cfg.setGroup("View"); 1034 cfg.setGroup("View");
1032 cfg.writeEntry("startNew",b); 1035 cfg.writeEntry("startNew",b);
1033 update(); 1036 update();
1034} 1037}
1035 1038
1036void TextEdit::editorChanged() { 1039void TextEdit::editorChanged() {
1037// qDebug("editor changed"); 1040// odebug << "editor changed" << oendl;
1038 if( /*editor->edited() &&*/ /*edited && */!edited1) { 1041 if( /*editor->edited() &&*/ /*edited && */!edited1) {
1039 setCaption( "*"+caption()); 1042 setCaption( "*"+caption());
1040 edited1=true; 1043 edited1=true;
1041 } 1044 }
1042 edited=true; 1045 edited=true;
1043} 1046}
1044 1047
1045void TextEdit::receive(const QCString&msg, const QByteArray &) { 1048void TextEdit::receive(const QCString&msg, const QByteArray &) {
1046 qDebug("QCop "+msg); 1049 odebug << "QCop "+msg << oendl;
1047 if ( msg == "setDocument(QString)" ) { 1050 if ( msg == "setDocument(QString)" ) {
1048 qDebug("bugger all"); 1051 odebug << "bugger all" << oendl;
1049 1052
1050 } 1053 }
1051 1054
1052} 1055}
1053 1056
1054void TextEdit::doAbout() { 1057void TextEdit::doAbout() {
1055 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>" 1058 QMessageBox::about(0,tr("Text Edit"),tr("Text Edit is copyright<BR>"
1056 "2000 Trolltech AS, and<BR>" 1059 "2000 Trolltech AS, and<BR>"
1057 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>" 1060 "2002 by <B>L. J. Potter <BR>llornkcor@handhelds.org</B><BR>"
1058 "and is licensed under the GPL")); 1061 "and is licensed under the GPL"));
1059} 1062}
1060 1063
1061void TextEdit::doPrompt(bool b) { 1064void TextEdit::doPrompt(bool b) {
1062 promptExit=b; 1065 promptExit=b;
1063 Config cfg("TextEdit"); 1066 Config cfg("TextEdit");
1064 cfg.setGroup ( "View" ); 1067 cfg.setGroup ( "View" );
1065 cfg.writeEntry ( "PromptExit", b); 1068 cfg.writeEntry ( "PromptExit", b);
1066} 1069}
1067 1070
1068void TextEdit::doDesktop(bool b) { 1071void TextEdit::doDesktop(bool b) {
1069 openDesktop=b; 1072 openDesktop=b;
1070 Config cfg("TextEdit"); 1073 Config cfg("TextEdit");
1071 cfg.setGroup ( "View" ); 1074 cfg.setGroup ( "View" );
1072 cfg.writeEntry ( "OpenDesktop", b); 1075 cfg.writeEntry ( "OpenDesktop", b);
@@ -1108,76 +1111,76 @@ int TextEdit::savePrompt()
1108 } 1111 }
1109 break; 1112 break;
1110 1113
1111 case 2: 1114 case 2:
1112 { 1115 {
1113 return -1; 1116 return -1;
1114 } 1117 }
1115 break; 1118 break;
1116 }; 1119 };
1117 1120
1118 return 0; 1121 return 0;
1119} 1122}
1120 1123
1121void TextEdit::timerCrank() 1124void TextEdit::timerCrank()
1122{ 1125{
1123 if(featureAutoSave && edited1) 1126 if(featureAutoSave && edited1)
1124 { 1127 {
1125 if(currentFileName.isEmpty()) 1128 if(currentFileName.isEmpty())
1126 { 1129 {
1127 currentFileName = QDir::homeDirPath()+"/textedit.tmp"; 1130 currentFileName = QDir::homeDirPath()+"/textedit.tmp";
1128 saveAs(); 1131 saveAs();
1129 } 1132 }
1130 else 1133 else
1131 { 1134 {
1132// qDebug("autosave"); 1135// odebug << "autosave" << oendl;
1133 save(); 1136 save();
1134 } 1137 }
1135 setTimer(); 1138 setTimer();
1136 } 1139 }
1137} 1140}
1138 1141
1139void TextEdit::doTimer(bool b) 1142void TextEdit::doTimer(bool b)
1140{ 1143{
1141 Config cfg("TextEdit"); 1144 Config cfg("TextEdit");
1142 cfg.setGroup ( "View" ); 1145 cfg.setGroup ( "View" );
1143 cfg.writeEntry ( "autosave", b); 1146 cfg.writeEntry ( "autosave", b);
1144 featureAutoSave = b; 1147 featureAutoSave = b;
1145 nAutoSave->setOn(b); 1148 nAutoSave->setOn(b);
1146 if(b) 1149 if(b)
1147 { 1150 {
1148// qDebug("doTimer true"); 1151// odebug << "doTimer true" << oendl;
1149 setTimer(); 1152 setTimer();
1150 } 1153 }
1151// else 1154// else
1152// qDebug("doTimer false"); 1155// odebug << "doTimer false" << oendl;
1153} 1156}
1154 1157
1155void TextEdit::setTimer() 1158void TextEdit::setTimer()
1156{ 1159{
1157if(featureAutoSave) 1160if(featureAutoSave)
1158 { 1161 {
1159// qDebug("setting autosave"); 1162// odebug << "setting autosave" << oendl;
1160 QTimer *timer = new QTimer(this ); 1163 QTimer *timer = new QTimer(this );
1161 connect( timer, SIGNAL(timeout()), this, SLOT(timerCrank()) ); 1164 connect( timer, SIGNAL(timeout()), this, SLOT(timerCrank()) );
1162 timer->start( 300000, true); //5 minutes 1165 timer->start( 300000, true); //5 minutes
1163 } 1166 }
1164} 1167}
1165 1168
1166void TextEdit::gotoLine() { 1169void TextEdit::gotoLine() {
1167 if( editor->length() < 1) 1170 if( editor->length() < 1)
1168 return; 1171 return;
1169 QWidget *d = QApplication::desktop(); 1172 QWidget *d = QApplication::desktop();
1170 gotoEdit = new QLineEdit( 0, "Goto line"); 1173 gotoEdit = new QLineEdit( 0, "Goto line");
1171 1174
1172 gotoEdit->move( (d->width()/2) - ( gotoEdit->width()/2) , (d->height()/2) - (gotoEdit->height()/2)); 1175 gotoEdit->move( (d->width()/2) - ( gotoEdit->width()/2) , (d->height()/2) - (gotoEdit->height()/2));
1173 gotoEdit->setFrame(true); 1176 gotoEdit->setFrame(true);
1174 gotoEdit->show(); 1177 gotoEdit->show();
1175 connect (gotoEdit,SIGNAL(returnPressed()), this, SLOT(doGoto())); 1178 connect (gotoEdit,SIGNAL(returnPressed()), this, SLOT(doGoto()));
1176} 1179}
1177 1180
1178void TextEdit::doGoto() { 1181void TextEdit::doGoto() {
1179 QString number = gotoEdit->text(); 1182 QString number = gotoEdit->text();
1180 gotoEdit->hide(); 1183 gotoEdit->hide();
1181 1184
1182 if(gotoEdit) { 1185 if(gotoEdit) {
1183 delete gotoEdit; 1186 delete gotoEdit;